maint-guide-1.2.32/0000755000000000000000000000000012262527566010705 5ustar maint-guide-1.2.32/common.ent0000644000000000000000000002717712255311641012706 0ustar maint-guide-1.2.32/Makefile0000644000000000000000000003123312256550103012331 0ustar ####################################################################### # Build maint-guide # vim: set ts=8: ####################################################################### ### key adjustable parameters ####################################################################### # base file name excluding file extension MANUAL := maint-guide # languages translated with PO files LANGPO := ca de es fr it ja ru zh-cn zh-tw # languages to skip generation of PDF files NOPDF := zh-cn zh-tw # languages to build document LANGALL = en $(LANGPO) VERSION := "GIT: $(shell LC_ALL=C date -u +'%F %T %Z')" ifndef TMPDIR TMPDIR := $(CURDIR)/tmp endif # Change $(DRAFTMODE) from "yes" to "maybe" when this document # should go into production mode #DRAFTMODE := yes DRAFTMODE := maybe export DRAFTMODE ####################################################################### ### basic constant parameters ####################################################################### # Directories (no trailing slash) DXSL := xslt DBIN := bin DDOC := doc DPO := po DIMG := /usr/share/xml/docbook/stylesheet/nwalsh/images # Program name and option XLINT := xmllint --format XPNO := xsltproc --novalid --nonet XPINC := xsltproc --novalid --nonet --xinclude # The threshold should be 80 if translation is completed. THRESHOLD:= 0 TRANSLATE:= po4a-translate -M utf-8 --format docbook --keep $(THRESHOLD) -v GETTEXT := po4a-gettextize -M utf-8 -L utf-8 --format docbook UPDATEPO:= msgmerge --update --previous MSGATTR := msgattrib MSGCAT := msgcat DBLATEX := dblatex # English source files DOCS := $(shell ls $(DDOC)/*) # source XML inclusion files (excluding version.ent) ENT_STAT:= common.ent $(addsuffix .ent, $(addprefix $(DPO)/, $(LANGPO))) ENT_ALL := $(ENT_STAT) version.ent # source PO files for all languages (build prcess requires these) SRC_PO := $(addsuffix .po, $(addprefix $(DPO)/, $(LANGPO))) # source XML files for all languages (build prcess requires these) SRC_XML := $(addsuffix .xml, $(addprefix $(MANUAL)., $(LANGALL))) ####################################################################### # Used as $(call check-command, , ) define check-command set -e; if ! which $(1) >/dev/null; then \ echo "Missing command: $(1), install package: $(2)"; \ false; \ fi endef ####################################################################### # $ make all # build all ####################################################################### .PHONY: all # set LANGPO to limit language to speed up build all: css html txt pdf epub ####################################################################### # $ make test # build html for testing (for Translator) ####################################################################### .PHONY: test test: html css ####################################################################### # $ make publish # build html text from EN.XML/PO for DDP ####################################################################### .PHONY: package # $(PUBLISHDIR) is set to be: /org/www.debian.org/www/doc/manuals for master-www publish: -mkdir -p $(PUBLISHDIR)/$(MANUAL) $(MAKE) css html txt "TMPDIR=$(PUBLISHDIR)/$(MANUAL)" ####################################################################### # $ make clean # clean files ready for tar ####################################################################### .PHONY: clean clean: -rm -f $(MANUAL).en.xml -rm -f *.swp *~ *.tmp -rm -f $(DPO)/*~ $(DPO)/*.mo $(DPO)/*.po.* -rm -rf $(TMPDIR) -rm -f $(addsuffix .xml, $(addprefix $(MANUAL)., $(LANGPO) en)) -rm -f version.ent ####################################################################### # $ make distclean # clean files to reset EN.XML/ENT/POT ####################################################################### .PHONY: distclean distclean: clean -rm -f $(DDOC)/*~ -rm -f $(DPO)/*.pot -rm -f fuzzy.log ############################################################################## # Version file preparations ############################################################################## # version from debian/changelog # if for www-master directly building from subversion source version.ent: $(DOCS) echo "" > version.ent echo "" >> version.ent ####################################################################### # $ make po # update all PO from EN.XML ####################################################################### .PHONY: po pot pot: $(DPO)/templates.pot po: $(SRC_PO) # Do not record line number to avoid useless diff in po/*.po files: --no-location # Do not update templates.pot if contents are the same as before; -I '^"POT-Creation-Date:' $(DPO)/templates.pot: $(MANUAL).en.xml FORCE @$(call check-command, po4a-gettextize, po4a) @$(call check-command, msgcat, gettext) $(GETTEXT) -m $(MANUAL).en.xml | $(MSGCAT) --no-location -o $(DPO)/templates.pot.new - if diff -I '^"POT-Creation-Date:' -q $(DPO)/templates.pot $(DPO)/templates.pot.new ; then \ echo "Don't update templates.pot" ;\ touch $(DPO)/templates.pot ;\ rm -f $(DPO)/templates.pot.new ;\ else \ echo "Update templates.pot" ;\ mv -f $(DPO)/templates.pot.new $(DPO)/templates.pot ;\ fi : > fuzzy.log # Always update $(DPO)/%.po: $(DPO)/templates.pot FORCE @$(call check-command, msgmerge, gettext) $(UPDATEPO) $(DPO)/$*.po $(DPO)/templates.pot MESS1="no-obsolete $* `$(MSGATTR) --no-obsolete $(DPO)/$*.po |grep ^msgid |sed 1d|wc -l`";\ MESS2="untranslated $* `$(MSGATTR) --untranslated $(DPO)/$*.po |grep ^msgid |sed 1d|wc -l`";\ MESS3="fuzzy $* `$(MSGATTR) --fuzzy $(DPO)/$*.po |grep ^msgid |sed 1d|wc -l`";\ echo "$$MESS1" >>fuzzy.log ; \ echo "$$MESS2" >>fuzzy.log ; \ echo "$$MESS3" >>fuzzy.log ; \ echo "" >>fuzzy.log FORCE: ####################################################################### # $ make wrap # wrap all PO ####################################################################### .PHONY: wrap nowrap wip wrap: @$(call check-command, msgcat, gettext) for XX in $(foreach LX, $(LANGPO), $(DPO)/$(LX).po); do \ $(MSGCAT) -o $$XX $$XX ;\ done nowrap: @$(call check-command, msgcat, gettext) for XX in $(foreach LX, $(LANGPO), $(DPO)/$(LX).po); do \ $(MSGCAT) -o $$XX --no-wrap $$XX ;\ done wip: @$(call check-command, msgattrib, gettext) for XX in $(foreach LX, $(LANGPO), $(DPO)/$(LX).po); do \ $(MSGATTR) -o $$XX.fuzz --fuzzy $$XX ;\ $(MSGATTR) -o $$XX.untr --untranslated $$XX ;\ done ####################################################################### # $ make xml # update all *.xml (EN.XML ...) from DOCS /ENT/PO/ADD ####################################################################### .PHONY: xml xml: $(SRC_XML) $(MANUAL).en.xml: $(DOCS) : > $@ for i in $(DOCS) ; do cat $$i >> $@ ; done $(MANUAL).%.xml: $(DPO)/%.po $(MANUAL).en.xml @$(call check-command, po4a-translate, po4a) @$(call check-command, msgcat, gettext) if [ -f $(DPO)/$*.add ]; then \ $(TRANSLATE) -m $(MANUAL).en.xml -a $(DPO)/$*.add -p $(DPO)/$*.po -l $(MANUAL).$*.xml ;\ else \ $(TRANSLATE) -m $(MANUAL).en.xml -p $(DPO)/$*.po -l $(MANUAL).$*.xml ;\ fi sed -i -e 's/$(DPO)\/en\.ent/$(DPO)\/$*.ent/' $@ ####################################################################### # $ make css # update CSS and DIMG in $(TMPDIR) ####################################################################### .PHONY: css css: -rm -rf $(TMPDIR)/images mkdir -p $(TMPDIR)/images cp -f $(DXSL)/$(MANUAL).css $(TMPDIR)/$(MANUAL).css echo "AddCharset UTF-8 .txt" > $(TMPDIR)/.htaccess cd $(DIMG) ; cp caution.png home.gif important.png next.gif note.png prev.gif tip.png up.gif warning.png $(TMPDIR)/images ####################################################################### # $ make html # update all HTML in $(TMPDIR) ####################################################################### .PHONY: html html: $(foreach LX, $(LANGALL), $(TMPDIR)/index.$(LX).html) $(TMPDIR)/index.%.html: $(MANUAL).%.xml $(ENT_ALL) @$(call check-command, xsltproc, xsltproc) -mkdir -p $(TMPDIR) $(XPINC) --stringparam base.dir $(TMPDIR)/ \ --stringparam html.ext .$*.html \ $(DXSL)/style-html.xsl $< ####################################################################### # $ make txt # update all Plain TEXT in $(TMPDIR) ####################################################################### .PHONY: txt txt: $(foreach LX, $(LANGALL), $(TMPDIR)/$(MANUAL).$(LX).txt) # txt.xsl provides work around for hidden URL links by appending them explicitly. $(TMPDIR)/$(MANUAL).%.txt: $(MANUAL).%.xml $(ENT_ALL) @$(call check-command, w3m, w3m) @$(call check-command, xsltproc, xsltproc) -mkdir -p $(TMPDIR) @test -n "`which w3m`" || { echo "ERROR: w3m not found. Please install the w3m package." ; false ; } $(XPINC) $(DXSL)/style-txt.xsl $< | \ LC_ALL=en_US.UTF-8 w3m -o display_charset=UTF-8 -cols 70 -dump -no-graph -T text/html > $@ ####################################################################### # $ make pdf # update all PDF in $(TMPDIR) ####################################################################### .PHONY: pdf pdf: $(foreach LX, $(LANGALL), $(TMPDIR)/$(MANUAL).$(LX).pdf) $(foreach LX, $(NOPDF), $(TMPDIR)/$(MANUAL).$(LX).pdf): -mkdir -p $(TMPDIR) echo "PDF generation skipped." >$@ # dblatex.xsl provide work around for hidden URL links by appending them explicitly. $(TMPDIR)/$(MANUAL).%.pdf: $(MANUAL).%.xml $(ENT_ALL) @$(call check-command, dblatex, dblatex) @$(call check-command, xsltproc, xsltproc) -mkdir -p $(TMPDIR)/pdf-$* @test -n "`which $(DBLATEX)`" || { echo "ERROR: dblatex not found. Please install the dblatex package." ; false ; } export TEXINPUTS=".:"; \ export TMPDIR="$(TMPDIR)/pdf-$*"; \ $(XPINC) $(DXSL)/dblatex.xsl $< | \ $(DBLATEX) --style=native \ --debug \ --backend=xetex \ --xsl-user=$(DXSL)/user_param.xsl \ --xsl-user=$(DXSL)/xetex_param.xsl \ --param=draft.mode=$(DRAFTMODE) \ --param=lingua=$* \ --output=$@ - || { echo "OMG!!!!!! XXX_CHECK_XXX ... Do not worry ..."; true ; } ####################################################################### # $ make tex # update all TeX source in $(TMPDIR) ####################################################################### .PHONY: tex tex: $(foreach LX, $(LANGALL), $(TMPDIR)/$(MANUAL).$(LX).tex) # dblatex.xsl provide work around for hidden URL links by appending them explicitly. $(TMPDIR)/$(MANUAL).%.tex: $(MANUAL).%.xml $(ENT_ALL) -mkdir -p $(TMPDIR)/tex-$* @test -n "`which $(DBLATEX)`" || { echo "ERROR: dblatex not found. Please install the dblatex package." ; false ; } export TEXINPUTS=".:"; \ export TMPDIR="$(TMPDIR)/tex-$*"; \ $(XPINC) $(DXSL)/dblatex.xsl $< | \ $(DBLATEX) --style=native \ --debug \ --type=tex \ --backend=xetex \ --xsl-user=$(DXSL)/user_param.xsl \ --xsl-user=$(DXSL)/xetex_param.xsl \ --param=draft.mode=$(DRAFTMODE) \ --param=lingua=$* \ --output=$@ - || { echo "OMG!!!!!! XXX_CHECK_XXX ... Do not worry ..."; true ; } ####################################################################### # $ make epub # update all epub in $(TMPDIR) ####################################################################### .PHONY: epub epub: $(foreach LX, $(LANGALL), $(TMPDIR)/$(MANUAL).$(LX).epub) $(TMPDIR)/$(MANUAL).%.epub: $(MANUAL).%.xml $(ENT_ALL) @$(call check-command, xsltproc, xsltproc) -mkdir -p $(TMPDIR)/epub-$*/ cd $(TMPDIR)/epub-$*/ ; $(XPINC) $(CURDIR)/$(DXSL)/style-epub.xsl $(CURDIR)/$< cp -f $(DXSL)/mimetype $(TMPDIR)/epub-$*/mimetype cp -f $(DXSL)/$(MANUAL).css $(TMPDIR)/epub-$*/OEBPS/$(MANUAL).css cp -f $(DXSL)/debian-openlogo.png $(TMPDIR)/epub-$*/OEBPS/debian-openlogo.png cd $(TMPDIR)/epub-$*/ ; zip -r $@ ./ ####################################################################### ### Utility targets ####################################################################### ####################################################################### # $ make rsync # export build result to http://people.debian.org/~osamu/$(MANUAL)/ ####################################################################### .PHONY: rsync rsync: all -rm -rf $(TMPDIR)/pdf-* -rm -rf $(TMPDIR)/tex-* -rm -rf $(TMPDIR)/epub-* cp -f fuzzy.log $(TMPDIR)/ rsync -avz $(TMPDIR)/ osamu@people.debian.org:public_html/$(MANUAL)/ ####################################################################### # $ make url # check duplicate URL references ####################################################################### .PHONY: url url: $(MANUAL).en.xml @echo "----- Duplicate URL references (start) -----" -sed -ne "/^<\!ENTITY/s/<\!ENTITY \([^ ]*\) .*$$/\" \1 \"/p" < $< | uniq -d | xargs -n 1 grep $< -e | grep -e "^<\!ENTITY" @echo "----- Duplicate URL references (end) -----" maint-guide-1.2.32/fuzzy.log0000644000000000000000000000110012262517732012561 0ustar no-obsolete ca 1162 untranslated ca 0 fuzzy ca 0 no-obsolete de 1162 untranslated de 22 fuzzy de 0 no-obsolete es 1162 untranslated es 0 fuzzy es 0 no-obsolete fr 1162 untranslated fr 0 fuzzy fr 0 no-obsolete it 1162 untranslated it 0 fuzzy it 0 no-obsolete ja 1162 untranslated ja 0 fuzzy ja 0 no-obsolete ru 1162 untranslated ru 0 fuzzy ru 0 no-obsolete zh-cn 1162 untranslated zh-cn 241 fuzzy zh-cn 589 no-obsolete zh-tw 1162 untranslated zh-tw 268 fuzzy zh-tw 609 maint-guide-1.2.32/doc/0000755000000000000000000000000012262271601011434 5ustar maint-guide-1.2.32/doc/02_overview.xml0000644000000000000000000010446112256550103014333 0ustar First steps Let's start by creating a package of your own (or, even better, adopting an existing one).
Debian package building workflow If you are making a Debian package with an upstream program, the typical workflow of Debian package building involves generating several specifically named files for each step as follows. Get a copy of the upstream software, usually in a compressed tar format. package-version.tar.gz Add Debian-specific packaging modifications to the upstream program under the debian directory, and create a non-native source package (that is, the set of input files used for Debian package building) in 3.0 (quilt) format. package_version.orig.tar.gz package_version-revision.debian.tar.gz For the older style of non-native Debian source packages in 1.0 format, package_version-revision.diff.gz is used instead. package_version-revision.dsc Build Debian binary packages, which are ordinary installable package files in .deb format (or .udeb format, used by the Debian Installer) from the Debian source package. package_version-revision_arch.deb Please note that the character separating package and version was changed from - (hyphen) in the tarball name to _ (underscore) in the Debian package filenames. In the file names above, replace the package part with the package name, the version part with the upstream version, the revision part with the Debian revision, and the arch part with the package architecture, as defined in the Debian Policy Manual. See 5.6.1 "Source", 5.6.7 "Package", and 5.6.12 "Version". The package architecture follows the Debian Policy Manual, 5.6.8 "Architecture" and is automatically assigned by the package build process. If instead you are making a Debian-specific package with no upstream, the typical workflow of Debian package building is simpler. Create a native Debian source package in the 3.0 (native) format using a single compressed tar file in which all files are included. package_version.tar.gz package_version.dsc Build Debian binary packages from the native Debian source package. package_version_arch.deb Each step of this outline is explained with detailed examples in later sections.
Choose your program You have probably chosen the package you want to create. The first thing you need to do is check if the package is in the distribution archive already by using the following. the aptitude command the Debian packages web page the Debian Package Tracking System web page If the package already exists, well, install it! :-) If it happens to be orphaned (that is, if its maintainer is set to Debian QA Group), you may be able to pick it up if it's still available. You may also adopt a package whose maintainer has filed a Request for Adoption (RFA). See Debian Developer's Reference 5.9.5. "Adopting a package". There are several package ownership status resources. Work-Needing and Prospective Packages Debian Bug report logs: Bugs in pseudo-package wnpp in unstable Debian Packages that Need Lovin' Browse wnpp bugs based on debtags As a side note, it's important to point out that Debian already has packages for most kinds of programs, and the number of packages already in the Debian archive is much larger than that of contributors with upload rights. Thus, contributions to packages already in the archive are far more appreciated (and more likely to receive sponsorship) by other developers Having said that, there will of course always be new programs that are worth packaging. . You can contribute in various ways. taking over orphaned, yet actively used, packages joining packaging teams triaging bugs of very popular packages preparing QA or NMU uploads If you are able to adopt the package, get the sources (with something like apt-get source packagename) and examine them. This document unfortunately doesn't include comprehensive information about adopting packages. Thankfully you shouldn't have a hard time figuring out how the package works since someone has already done the initial setup for you. Keep reading, though; a lot of the advice below will still be applicable for your case. If the package is new, and you decide you'd like to see it in Debian, proceed as follows: First, you must know that the program works, and have tried it for some time to confirm its usefulness. You must check that no one else is already working on the package on the Work-Needing and Prospective Packages site. If no one else is working on it, file an ITP (Intent To Package) bug report to the wnpp pseudo-package using reportbug. If someone's already on it, contact them if you feel you need to. If not - find another interesting program that nobody is maintaining. The software must have a license. For the main section, Debian Policy requires it to be fully compliant with the Debian Free Software Guidelines (DFSG) and not to require a package outside of main for compilation or execution. This is the desired case. For the contrib section, it must comply with the DFSG but it may require a package outside of main for compilation or execution. For the non-free section, it may be non-compliant with the DFSG but it must be distributable. If you are unsure about where it should go, post the license text on debian-legal@lists.debian.org and ask for advice. The program should not introduce security and maintenance concerns to the Debian system. The program should be well documented and its code needs to be understandable (i.e. not obfuscated). You should contact the program's author(s) to check if they agree with packaging it and are amicable to Debian. It is important to be able to consult with the author(s) in case of any problems with the program, so don't try to package unmaintained software. The program certainly should not run setuid root, or even better, it shouldn't need to be setuid or setgid to anything. The program should not be a daemon, or go in an */sbin directory, or open a port as root. Of course, the last one is just a safety measures, and intended to save you from enraging users if you do something wrong in some setuid daemon... When you gain more experience in packaging, you'll be able to package such software. As a new maintainer, you are encouraged to get some experience in packaging with easier packages and discouraged from creating complicated packages. Simple packages single binary package, arch = all (collection of data such as wallpaper graphics) single binary package, arch = all (executables written in an interpreted language such as POSIX shell) Intermediate complexity packages single binary package, arch = any (ELF binary executables compiled from languages such as C and C++) multiple binary packages, arch = any + all (packages for ELF binary executables + documentation) upstream source in a format other than tar.gz or tar.bz2 upstream source containing undistributable contents High complexity packages interpreter module package used by other packages generic ELF library package used by other packages multiple binary packages including an ELF library package source package with multiple upstream sources kernel module packages kernel patch packages any package with non-trivial maintainer scripts Packaging high complexity packages is not too hard, but it requires a bit more knowledge. You should seek specific guidance for every complex feature. For example, some languages have their own sub-policy documents: Perl policy Python policy Java policy There is another old Latin saying: fabricando fit faber (practice makes perfect). It is highly recommended to practice and experiment with all the steps of Debian packaging with simple packages while reading this tutorial. A trivial upstream tarball hello-sh-1.0.tar.gz created as followings may offer a good starting point.Do not worry about the missing Makefile. You can install the hello command by simply using debhelper as in , or by modifying the upstream source to add a new Makefile with the install target as in . $ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0 $ cat > hello <<EOF #!/bin/sh # (C) 2011 Foo Bar, GPL2+ echo "Hello!" EOF $ chmod 755 hello $ cd .. $ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0
Get the program, and try it out So the first thing to do is to find and download the original source code. Presumably you already have the source file that you picked up at the author's homepage. Sources for free Unix programs usually come in tar+gzip format with the extension .tar.gz, tar+bzip2 format with the extension .tar.bz2, or tar+xz format with the extension .tar.xz. These usually contain a directory called package-version with all the sources inside. If the latest version of the source is available through a VCS such as Git, Subversion, or CVS, you need to get it with git clone, svn co, or cvs co and repack it into tar+gzip format yourself by using the --exclude-vcs option. If your program's source comes as some other sort of archive (for instance, the filename ends in .Z or .zip You can identify the archive format using the file command when the file extension is not enough. ), you should also unpack it with the appropriate tools and repack it. If your program's source comes with some contents which do not comply with DFSG, you should also unpack it to remove such contents and repack it with a modified upstream version containing dfsg. As an example, I'll use a program called gentoo, a GTK+ file manager. This program is already packaged. The current version uses Autotools as its build structure and is substantially different from the following examples, which were based on version 0.9.12. Create a subdirectory under your home directory named debian or deb or anything you find appropriate (e.g. just ~/gentoo would do fine in this case). Place the downloaded archive in it, and extract it (with tar xzf gentoo-0.9.12.tar.gz). Make sure there are no warning messages, even irrelevant ones, because other people's unpacking tools may or may not ignore these anomalies, so they may have problems unpacking them. Your shell command line may look something like this: $ mkdir ~/gentoo ; cd ~/gentoo $ wget http://www.example.org/gentoo-0.9.12.tar.gz $ tar xvzf gentoo-0.9.12.tar.gz $ ls -F gentoo-0.9.12/ gentoo-0.9.12.tar.gz Now you have another subdirectory, called gentoo-0.9.12. Change to that directory and thoroughly read the provided documentation. Usually there are files named README*, INSTALL*, *.lsm or *.html. You must find instructions on how to compile and install the program (most probably they'll assume you want to install to the /usr/local/bin directory; you won't be doing that, but more on that later in ). You should start packaging with a completely clean (pristine) source directory, or simply with freshly unpacked sources.
Simple build systems Simple programs usually come with a Makefile and can be compiled just by invoking make. Many modern programs come with a script configure which when executed creates a Makefile customized for your system. Some of them support make check, which runs included self-tests. Installation to the destination directories is usually done with make install. Now try to compile and run your program, to make sure it works properly and doesn't break something else while it's installing or running. Also, you can usually run make clean (or better make distclean) to clean up the build directory. Sometimes there's even a make uninstall which can be used to remove all the installed files.
Popular portable build systems A lot of free software programs are written in the C and C++ languages. Many of these use Autotools or CMake to make them portable across different platforms. These build tools need to be used to generate the Makefile and other required source files first. Then, such programs are built using the usual make; make install. Autotools is the GNU build system comprising Autoconf, Automake, Libtool, and gettext. You can recognize such sources by the configure.ac, Makefile.am, and Makefile.in files. Autotools is too big to deal in this small tutorial. This section is meant to provide keywords and references only. Please make sure to read the Autotools Tutorial and the local copy of &autotools-readme;, if you need to use it. The first step of the Autotools workflow is usually that upstream runs autoreconf -i -f in the source directory and distributes the generated files along with the source. configure.ac-----+-> autoreconf -+-> configure Makefile.am -----+ | +-> Makefile.in src/Makefile.am -+ | +-> src/Makefile.in | +-> config.h.in automake aclocal aclocal.m4 autoheader Editing configure.ac and Makefile.am files requires some knowledge of autoconf and automake. See info autoconf and info automake. The second step of the Autotools workflow is usually that the user obtains this distributed source and runs ./configure && make in the source directory to compile the program into an executable command binary. Makefile.in -----+ +-> Makefile -----+-> make -> binary src/Makefile.in -+-> ./configure -+-> src/Makefile -+ config.h.in -----+ +-> config.h -----+ | config.status -+ config.guess --+ You can change many things in the Makefile; for instance you can change the default location for file installation using the option ./configure --prefix=/usr. Although it is not required, updating the configure and other files with autoreconf -i -f may improve the compatibility of the source. You can automate this by using dh-autoreconf package. See . CMake is an alternative build system. You can recognize such sources by the CMakeLists.txt file.
Package name and version If the upstream source comes as gentoo-0.9.12.tar.gz, you can take gentoo as the (source) package name and 0.9.12 as the upstream version. These are used in the debian/changelog file described later in , too. Although this simple approach works most of the times, you may need to adjust package name and upstream version by renaming the upstream source to follow Debian Policy and existing convention. You must choose the package name to consist only of lower case letters (a-z), digits (0-9), plus (+) and minus (-) signs, and periods (.). It must be at least two characters long, must start with an alphanumeric character, and must not be the same as existing ones. It is a good idea to keep its length within 30 characters. The default package name field length of aptitude is 30. For more than 90% of packages, the package name is less than 24 characters. If upstream uses some generic term such as test-suite for its name, it is a good idea to rename it to identify its contents explicitly and avoid namespace pollution. If you follow the Debian Developer's Reference 5.1. "New packages", the ITP process will usually catch this kind of issues. You should choose the upstream version to consist only of alphanumerics (0-9A-Za-z), plus (+), tildes (~), and periods (.). It must start with a digit (0-9). This stricter rule should help you avoid confusing file names. It is good idea to keep its length within 8 characters if possible. The default version field length of aptitude is 10. The Debian revision with preceding hyphen usually consumes 2. For more than 80% of packages, the upstream version is less than 8 characters and the Debian revision is less than 2 characters. For more than 90% of packages, the upstream version is less than 10 characters and the Debian revision is less than 3 characters. If upstream does not use a normal versioning scheme such as 2.30.32 but uses some kind of date such as 11Apr29, a random codename string, or a VCS hash value as part of the version, make sure to remove them from the upstream version. Such information can be recorded in the debian/changelog file. If you need to invent a version string, use the YYYYMMDD format such as 20110429 as upstream version. This ensures that dpkg interprets later versions correctly as upgrades. If you need to ensure smooth transition to the normal version scheme such as 0.1 in future, use the 0~YYMMDD format such as 0~110429 as upstream version, instead. Version strings Version strings may be upstream version (version), Debian revision (revision), or version (version-revision). See for how the Debian revision is incremented. can be compared using dpkg 1 as follows. $ dpkg --compare-versions ver1 op ver2 The version comparison rule can be summarized as: Strings are compared from the head to the tail. Letters are larger than digits. Numbers are compared as integers. Letters are compared in ASCII code order. There are special rules for period (.), plus (+), and tilde (~) characters, as follows. 0.0 < 0.5 < 0.10 < 0.99 < 1 < 1.0~rc1 < 1.0 < 1.0+b1 < 1.0+nmu1 < 1.1 < 2.0 One tricky case occurs when upstream releases gentoo-0.9.12-ReleaseCandidate-99.tar.gz as the pre-release of gentoo-0.9.12.tar.gz. You need to make sure that the upgrade works properly by renaming the upstream source to gentoo-0.9.12~rc99.tar.gz.
Setting up <command>dh_make</command> Set up the shell environment variables $DEBEMAIL and $DEBFULLNAME so that various Debian maintenance tools recognize your email address and name to use for packages. The following text assumes you are using Bash as your login shell. If you use some other login shell such as Z shell, use their corresponding configuration files instead of ~/.bashrc. $ cat >>~/.bashrc <<EOF DEBEMAIL="your.email.address@example.org" DEBFULLNAME="Firstname Lastname" export DEBEMAIL DEBFULLNAME EOF $ . ~/.bashrc
Initial non-native Debian package Normal Debian packages are non-native Debian packages made from upstream programs. If you wish to create a non-native Debian package of an upstream source gentoo-0.9.12.tar.gz, you can create an initial non-native Debian package for it by issuing the dh_make command as follows. $ cd ~/gentoo $ wget http://example.org/gentoo-0.9.12.tar.gz $ tar -xvzf gentoo-0.9.12.tar.gz $ cd gentoo-0.9.12 $ dh_make -f ../gentoo-0.9.12.tar.gz Of course, replace the filename with the name of your original source archive. If the upstream source provides the debian directory and its contents, run the dh_make command with the extra option --addmissing. The new source 3.0 (quilt) format is robust enough not to break even for these packages. You may need to update the contents provided by the upstream for your Debian package. See dh_make 8 for details. You should see some output asking you what sort of package you want to create. Gentoo is a single binary package - it creates only one binary package, i.e, one .deb file - so we will select the first option (with the s key), check the information on the screen, and confirm by pressing ENTER. There are several choices here: s for Single binary package, i for arch-Independent package, m for Multiple binary packages, l for Library package, k for Kernel module package, n for kernel patch package, and b for cdbs package. This document focuses on the use of the dh command (from the package debhelper) to create a single binary package, but also touches on how to use it for arch-independent or multiple binary packages. The package cdbs offers an alternative packaging script infrastructure to the dh command and is outside the scope of this document. This execution of dh_make creates a copy of the upstream tarball as gentoo_0.9.12.orig.tar.gz in the parent directory to accommodate the creation of the non-native Debian source package with the name debian.tar.gz later. $ cd ~/gentoo ; ls -F gentoo-0.9.12/ gentoo-0.9.12.tar.gz gentoo_0.9.12.orig.tar.gz Please note two key features of this filename gentoo_0.9.12.orig.tar.gz: Package name and version are separated by the character _ (underscore). The string .orig is inserted before the .tar.gz. You should also notice that many template files are created in the source under the debian directory. These will be explained in and . You should also understand that packaging cannot be a fully automated process. You will need to modify the upstream source for Debian (see ). After this, you need to use the proper methods for building Debian packages (), testing them (), and uploading them (). All the steps will be explained. If you accidentally erased some template files while working on them, you can recover them by running dh_make with the --addmissing option again in a Debian package source tree. Updating an existing package may get complicated since it may be using older techniques. While learning the basics, please stick to creating a fresh package; further explanations are given in . Please note that the source file does not need to contain any build system discussed in and . It could be just a collection of graphical data etc. Installation of files may be carried out using only debhelper configuration files such as debian/install (see ).
Initial native Debian package If a package contains source files you are only maintaining for Debian, possibly only for local use, it may be simpler to create it as a Debian native package. If you have source files in ~/mypackage-1.0, you can create an initial native Debian package for it by issuing the dh_make command as follows. $ cd ~/mypackage-1.0 $ dh_make --native Then the debian directory and its contents are created just like . This does not create a tarball since this is a native Debian package. But that is the only difference. The rest of the packaging activities are practically the same.
maint-guide-1.2.32/doc/99_bookend.xml0000644000000000000000000000001112255575137014125 0ustar maint-guide-1.2.32/doc/03_modify.xml0000644000000000000000000003520612262271601013755 0ustar Modifying the source Please note that there isn't space here to go into all the details of fixing upstream sources, but here are some basic steps and problems people often run across.
Setting up <command>quilt</command> The program quilt offers a basic method for recording modifications to the upstream source for Debian packaging. It's useful to have a slightly customized default, so let's create an alias dquilt for Debian packaging by adding the following lines to ~/.bashrc. The second line provides the same shell completion feature of the quilt command to the dquilt command. alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg" complete -F _quilt_completion $_quilt_complete_opt dquilt Then let's create ~/.quiltrc-dpkg as follows. d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then # if in Debian packaging tree with unset $QUILT_PATCHES QUILT_PATCHES="debian/patches" QUILT_PATCH_OPTS="--reject-format=unified" QUILT_DIFF_ARGS="-p ab --no-timestamps --no-index --color=auto" QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index" QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33" if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi fi See quilt 1 and &quilt-pdf; on how to use quilt.
Fixing upstream bugs Let's assume you find an error in the upstream Makefile as follows where install: gentoo should have been install: gentoo-target. install: gentoo install ./gentoo $(BIN) install icons/* $(ICONS) install gentoorc-example $(HOME)/.gentoorc Let's fix this and record it with the dquilt command as fix-gentoo-target.patch. The debian/patches directory should exist now if you ran dh_make as described before. This example operation creates it just in case you are updating an existing package. $ mkdir debian/patches $ dquilt new fix-gentoo-target.patch $ dquilt add Makefile You change the Makefile file as follows. install: gentoo-target install ./gentoo $(BIN) install icons/* $(ICONS) install gentoorc-example $(HOME)/.gentoorc Ask dquilt to generate the patch to create debian/patches/fix-gentoo-target.patch and add its description following DEP-3: Patch Tagging Guidelines. $ dquilt refresh $ dquilt header -e ... describe patch
Installation of files to their destination Most third-party software installs itself in the /usr/local directory hierarchy. On Debian this is reserved for private use by the system administrator, so packages must not use directories such as /usr/local/bin but should instead use system directories such as /usr/bin, obeying the Filesystem Hierarchy Standard (FHS). Normally, make 1 is used to automate building the program, and executing make install installs programs directly to the desired destination (following the install target in the Makefile). In order for Debian to provide pre-built installable packages, it modifies the build system to install programs into a file tree image created under a temporary directory instead of the actual destination. These two differences between normal program installation on one hand and the Debian packaging system on the other can be transparently addressed by the debhelper package through the dh_auto_configure and dh_auto_install commands if the following conditions are met. The Makefile must follow GNU conventions and support the $(DESTDIR) variable. See GNU Coding Standards: 7.2.4 DESTDIR: Support for Staged Installs. The source must follow the Filesystem Hierarchy Standard (FHS). Programs that use GNU autoconf follow the GNU conventions automatically, so they can be trivial to package. On the basis of this and other heuristics, it is estimated that the debhelper package will work for about 90% of packages without making any intrusive changes to their build system. So packaging is not as complicated as it may seem. If you need to make changes in the Makefile, you should be careful to support the $(DESTDIR) variable. Although it is unset by default, the $(DESTDIR) variable is prepended to each file path used for the program installation. The packaging script will set $(DESTDIR) to the temporary directory. For a source package generating a single binary package, the temporary directory used by the dh_auto_install command will be set to debian/package. For a source package generating multiple binary packages, the dh_auto_install command uses debian/tmp as the temporary directory while the dh_install command with the help of debian/package-1.install and debian/package-2.install files will split the contents of debian/tmp into debian/package-1 and debian/package-2 temporary directories, to create package-1_*.deb and package-2_*.deb binary packages. Everything that is contained in the temporary directory will be installed on users' systems when they install your package; the only difference is that dpkg will be installing the files to paths relative to the root directory rather than your working directory. Bear in mind that even though your program installs in debian/package, it still needs to behave correctly when installed from the .deb package under the root directory. So you must not allow the build system to hardcode strings like /home/me/deb/package-version/usr/share/package into files in the package. Here's the relevant part of gentoo's Makefile This is just an example to show what a Makefile should look like. If the Makefile is created by the ./configure command, the correct way to fix this kind of Makefile is to execute ./configure from the dh_auto_configure command with default options including --prefix=/usr. : # Where to put executable commands on 'make install'? BIN = /usr/local/bin # Where to put icons on 'make install'? ICONS = /usr/local/share/gentoo We see that the files are set to install under /usr/local. As explained above, that directory hierarchy is reserved for local use on Debian, so change those paths to: # Where to put executable commands on 'make install'? BIN = $(DESTDIR)/usr/bin # Where to put icons on 'make install'? ICONS = $(DESTDIR)/usr/share/gentoo The exact locations that should be used for binaries, icons, documentation, etc. are specified in the Filesystem Hierarchy Standard (FHS). You should browse through it and read the sections relevant to your package. So, we should install executable commands in /usr/bin instead of /usr/local/bin, the manual page in /usr/share/man/man1 instead of /usr/local/man/man1, and so on. Notice how there's no manual page mentioned in gentoo's Makefile, but since Debian Policy requires that every program has one, we'll make one later and install it in /usr/share/man/man1. Some programs don't use Makefile variables to define paths such as these. This means you might have to edit some real C sources in order to fix them to use the right locations. But where to search, and exactly what for? You can find this out by issuing: $ grep -nr --include='*.[c|h]' -e 'usr/local/lib' . grep will run recursively through the source tree and tell you the filename and the line number for all matches. Edit those files and in those lines replace usr/local/lib with usr/lib. This can be done automatically as follows: $ sed -i -e 's#usr/local/lib#usr/lib#g' \ $(find . -type f -name '*.[c|h]') If you want to confirm each substitution instead, this can be done interactively as follows: $ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \ $(find . -type f -name '*.[c|h]') Next you should find the install target (searching for the line that starts with install: will usually work) and rename all references to directories other than ones defined at the top of the Makefile. Originally, gentoo's install target said: install: gentoo-target install ./gentoo $(BIN) install icons/* $(ICONS) install gentoorc-example $(HOME)/.gentoorc Let's fix this upstream bug and record it with the dquilt command as debian/patches/install.patch. $ dquilt new install.patch $ dquilt add Makefile In your editor, change this for the Debian package as follows: install: gentoo-target install -d $(BIN) $(ICONS) $(DESTDIR)/etc install ./gentoo $(BIN) install -m644 icons/* $(ICONS) install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc You'll have noticed that there's now an install -d command before the other commands in the rule. The original Makefile didn't have it because usually /usr/local/bin and other directories already exist on the system where you are running make install. However, since we will be installing into a newly created private directory tree, we will have to create each and every one of those directories. We can also add in other things at the end of the rule, like the installation of additional documentation that the upstream authors sometimes omit: install -d $(DESTDIR)/usr/share/doc/gentoo/html cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html Check carefully, and if everything is okay, ask dquilt to generate the patch to create debian/patches/install.patch and add its description. $ dquilt refresh $ dquilt header -e ... describe patch Now you have a series of patches. Upstream bug fix: debian/patches/fix-gentoo-target.patch Debian specific packaging modification: debian/patches/install.patch Whenever you make changes that are not specific to the Debian package such as debian/patches/fix-gentoo-target.patch, be sure to send them to the upstream maintainer so they can be included in the next version of the program and be useful to everyone else. Also remember to avoid making your fixes specific to Debian or Linux - or even Unix! Make them portable. This will make your fixes much easier to apply. Note that you don't have to send the debian/* files upstream.
Differing libraries There is one other common problem: libraries are often different from platform to platform. For example, a Makefile can contain a reference to a library which doesn't exist on the Debian system. In that case, we need to change it to a library which does exist in Debian, and serves the same purpose. Let's assume a line in your program's Makefile (or Makefile.in) as the following. LIBS = -lfoo -lbar If your program doesn't compile since the foo library doesn't exist and its equivalent is provided by the foo2 library on the Debian system, you can fix this build problem as debian/patches/foo2.patch by changing foo into foo2.If there are API changes from the foo library to the foo2 library, required changes to the source code need to be made to match the new API. $ dquilt new foo2.patch $ dquilt add Makefile $ sed -i -e 's/-lfoo/-lfoo2/g' Makefile $ dquilt refresh $ dquilt header -e ... describe patch
maint-guide-1.2.32/doc/06_build.xml0000644000000000000000000005422012255575713013602 0ustar Building the package We should now be ready to build the package.
Complete (re)build In order to perform a complete (re)build of a package properly, you need to make sure you have installed the build-essential package, packages listed in the Build-Depends field (see ), and packages listed in the Build-Depends-indep field (see ). Then you issue the following command in the source directory: $ dpkg-buildpackage This will do everything to make full binary and source packages for you. It will: clean the source tree (debian/rules clean) build the source package (dpkg-source -b) build the program (debian/rules build) build binary packages (fakeroot debian/rules binary) sign the source .dsc file, using gpg create and sign the upload .changes file, using dpkg-genchanges and gpg The only input that will be required of you is your GPG secret pass phrase, twice. This GPG key must be signed by a Debian developer to get connected to the web of trust and must be registered to the Debian keyring. This enables your uploaded packages to be accepted to the Debian archives. See Creating a new GPG key and Debian Wiki on Keysigning. If you are building Debian packages only for your own local use, you can skip promptings for the GPG signatures on the .dsc file and the .changes file like this: $ dpkg-buildpackage -us -uc For a non-native Debian package, e.g., gentoo, you will see the following files in the parent directory (~/gentoo) after building packages: gentoo_0.9.12.orig.tar.gz This is the original upstream source code tarball, merely renamed to the above so that it adheres to the Debian standard. Note that this was created initially by the dh_make -f ../gentoo-0.9.12.tar.gz. gentoo_0.9.12-1.dsc This is a summary of the contents of the source code. The file is generated from your control file, and is used when unpacking the source with dpkg-source 1 . This file is GPG signed, so that people can be sure that it's really yours. gentoo_0.9.12-1.debian.tar.gz This compressed tarball contains your debian directory contents. Each and every addition you made to the original source code is stored as a quilt patch in debian/patches. If someone else wants to re-create your package from scratch, they can easily do so using the above three files. The extraction procedure is trivial: just copy the three files somewhere else and run dpkg-source -x gentoo_0.9.12-1.dsc. You can avoid applying quilt patches in the 3.0 (quilt) source format at the end of the extraction with the --skip-patches option. Alternatively, you can run dquilt pop -a after normal operation. gentoo_0.9.12-1_i386.deb This is your completed binary package. You can use dpkg to install and remove this just like any other package. gentoo_0.9.12-1_i386.changes This file describes all the changes made in the current package revision; it is used by the Debian FTP archive maintenance programs to install the binary and source packages. It is partly generated from the changelog file and the .dsc file. This file is GPG signed, so that people can be sure that it's really yours. As you keep working on the package, its behavior will change and new features will be added. People downloading your package can look at this file and quickly see what has changed. Debian archive maintenance programs will also post the contents of this file to the debian-devel-changes@lists.debian.org mailing list. The long strings of numbers in the .dsc and .changes files are SHA1/SHA256 checksums for the files mentioned. Anyone downloading your files can test them with sha1sum 1 or sha256sum 1 and if the numbers don't match, they'll know the file is corrupt or has been tampered with. For a native Debian package, e.g., mypackage, you will see the following files in the parent directory after building packages: mypackage_1.0.tar.gz This is the source code tarball created from the mypackage-1.0 directory by the dpkg-source command. (Its suffix is not orig.tar.gz.) mypackage_1.0.dsc This is a summary of the contents of the source code as in the non-native Debian package. (There is no Debian revision.) mypackage_1.0_i386.deb This is your completed binary package as in the non-native Debian package. (There is no Debian revision.) mypackage_1.0_i386.changes This file describes all the changes made in the current package version as in the non-native Debian package. (There is no Debian revision.)
Autobuilder Debian supports many ports with the autobuilder network running buildd daemons on computers of many different architectures. Although you do not need to do this yourself, you should be aware of what will happen to your packages. Let's look into roughly how they rebuild your packages for multiple architectures. The actual autobuilder system involves much more complicated schemes than the one documented here. Such details are beyond the scope of this document. For Architecture: any packages, the autobuilder system performs a rebuild. It ensures the installation of the build-essential package, and packages listed in the Build-Depends field (see ). Then it issues the following command in the source directory: $ dpkg-buildpackage -B This will do everything to make architecture dependent binary packages on another architecture. It will: clean the source tree (debian/rules clean) build the program (debian/rules build) build architecture dependent binary packages (fakeroot debian/rules binary-arch) sign the source .dsc file, using gpg create and sign the upload .changes file, using dpkg-genchanges and gpg This is why you see your package for other architectures. Although packages listed in the Build-Depends-Indep field are required to be installed for our normal packaging work (see ), they are not required to be installed for the autobuilder system since it builds only architecture dependent binary packages. Unlike under the pbuilder package, the chroot environment under the sbuild package used by the autobuilder system does not enforce the use of a minimal system and may have many leftover packages installed. This distinction between normal packaging and autobuilding procedures is what dictates whether you should record such required packages in the Build-Depends or Build-Depends-Indep fields of the debian/control file (see ).
<command>debuild</command> command You can automate the dpkg-buildpackage command's package build process further with the debuild command. See debuild 1 . Customization of the debuild command can be done through /etc/devscripts.conf or ~/.devscripts. I would suggest at least the following items: DEBSIGN_KEYID=Your_GPG_keyID DEBUILD_LINTIAN_OPTS="-i -I --show-overrides" With these, packages are signed by your specified GPG key ID (good for sponsoring packages) and checked in detail by the lintian command. Cleaning the source and rebuilding the package from your user account is as simple as: $ debuild Here, if you are building Debian packages only for your own local use, you can skip promptings for the GPG signatures on the .dsc file and the .changes file like this: $ debuild -us -uc You can clean the source tree as simply as: $ debuild clean
<systemitem role="package">pbuilder</systemitem> package For a clean room (chroot) build environment to verify the build dependencies, the pbuilder package is very useful. Since the pbuilder package is still evolving, you should check the actual configuration situation by consulting the latest official documentation. This ensures a clean build from the source under the sid auto-builder for different architectures and avoids a severity serious FTBFS (Fails To Build From Source) bug which is always in the RC (release critical) category. See for more on Debian package auto-building. Let's customize the pbuilder package as follows: setting the /var/cache/pbuilder/result directory writable by your user account. creating a directory, e.g. /var/cache/pbuilder/hooks, writable by the user, to place hook scripts in. configuring ~/.pbuilderrc or /etc/pbuilderrc to include the following. AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes} HOOKDIR=/var/cache/pbuilder/hooks This will allow you to sign generated packages with your secret GPG key in the ~/.gnupg/ directory. First let's initialize the local pbuilder chroot system as follows. $ sudo pbuilder create If you already have a completed source package, issue the following commands in the directory where the foo.orig.tar.gz, foo.debian.tar.gz, and foo.dsc files exist to update the local pbuilder chroot system and to build binary packages in it. $ sudo pbuilder --update $ sudo pbuilder --build foo_version.dsc The newly built packages without the GPG signatures will be located in /var/cache/pbuilder/result/ with non-root ownership. The GPG signatures on the .dsc file and the .changes file can be generated as: $ cd /var/cache/pbuilder/result/ $ debsign foo_version.dsc $ debsign foo_version_arch.changes If you have an updated source tree but have not generated the matching source package, issue the following commands in the source directory where the debian directory exists, instead. $ sudo pbuilder --update $ pdebuild Here, if you are building Debian packages only for your local use, you can skip promptings for the GPG signatures on the .dsc file and the .changes file as: $ AUTO_DEBSIGN=no pdebuild You can log into its chroot environment with the pbuilder --login --save-after-login command and configure it as you wish. This environment can be saved by leaving its shell prompt with ^D (Control-D). The latest version of the lintian command can be executed in the chroot environment using the hook script /var/cache/pbuilder/hooks/B90lintian configured as follows. This assumes HOOKDIR=/var/cache/pbuilder/hooks. You can find many examples of hook scripts in the /usr/share/doc/pbuilder/examples directory. #!/bin/sh set -e install_packages() { apt-get -y --force-yes install "$@" } install_packages lintian echo "+++ lintian output +++" su -c "lintian -i -I --show-overrides /tmp/buildd/*.changes" - pbuilder # use this version if you don't want lintian to fail the build #su -c "lintian -i -I --show-overrides /tmp/buildd/*.changes; :" - pbuilder echo "+++ end of lintian output +++" You need to have access to the latest sid environment to build packages properly for sid. In practice, sid may be experiencing issues which makes it undesirable for you to migrate your whole system. The pbuilder package can help you to cope with this kind of situation. You may need to update your stable packages after their release for stable-proposed-updates, stable/updates, etc. There are some restrictions for such updates of your stable package. For such occasions, the fact you may be running a sid system is not a good enough excuse for failing to update them promptly. The pbuilder package can help you to access environments of almost any Debian derivative distribution of the same architecture. See , pdebuild 1 , pbuilderrc 5 , and pbuilder 8 .
<command>git-buildpackage</command> command and similars If your upstream uses a source code management system (VCS) See Version control systems for more. to maintain their code, you should consider using it as well. This makes merging and cherry-picking upstream patches much easier. There are several specialized wrapper script packages for Debian package building for each VCS. git-buildpackage: a suite to help with Debian packages in Git repositories. svn-buildpackage: helper programs to maintain Debian packages with Subversion. cvs-buildpackage: a set of Debian package scripts for CVS source trees. Use of git-buildpackage is becoming quite popular for Debian Developers to manage Debian packages with the Git server on alioth.debian.org. Debian wiki Alioth documents how to use the alioth.debian.org service. This package offers many commands to automate packaging activities. git-import-dsc 1 : import previous Debian package to a Git repository. git-import-orig 1 : import new upstream tar to a Git repository. git-dch 1 : generate the Debian changelog from Git commit messages. git-buildpackage 1 : build Debian packages from a Git repository. git-pbuilder 1 : build Debian packages from a Git repository using pbuilder/cowbuilder. These commands use 3 branches to track packaging activity. main for Debian package source tree. upstream for upstream source tree. pristine-tar for upstream tarball generated by the --pristine-tar option.The --pristine-tar option invokes the pristine-tar command which can regenerate an exact copy of a pristine upstream tarball using only a small binary delta file and the contents of the tarball, which are typically kept in an upstream branch in the VCS. You can configure git-buildpackage with ~/.gbp.conf. See gbp.conf 5 . Here are some web resources available for advanced audiences. Building Debian Packages with git-buildpackage (&git-buildpackage-doc;) debian packages in git Using Git for Debian Packaging git-dpm: Debian packages in Git manager Using TopGit to generate quilt series for Debian packaging
Quick rebuild With a large package, you may not want to rebuild from scratch every time while you're tuning details in debian/rules. For testing purposes, you can make a .deb file without rebuilding the upstream sources like this Environment variables which are normally configured to proper values are not set by this method. Never create real packages to be uploaded using this quick method. : $ fakeroot debian/rules binary Or simply do the following to see if it builds or not: $ fakeroot debian/rules build Once you are finished with your tuning, remember to rebuild following the proper procedure. You may not be able to upload correctly if you try to upload .deb files built this way.
maint-guide-1.2.32/doc/05_dother.xml0000644000000000000000000011555112255575137013774 0ustar Other files under the <filename>debian</filename> directory To control most of what debhelper does while building the package, you put optional configuration files under the debian directory. This chapter will provide an overview of what each of these does and its format. Please read the Debian Policy Manual and Debian Developer's Reference for guidelines for packaging. The dh_make command will create some template configuration files under the debian directory. Most of them come with filenames suffixed by .ex. Some of them come with filenames prefixed by the binary package name such as package. Take a look at all of them. In this chapter, files in the debian directory are referred to without the leading debian/ for simplicity whenever the meaning is obvious. Some template configuration files for debhelper may not be created by the dh_make command. In such cases, you need to create them with an editor. If you wish or need to activate any of these, please do the following: rename template files by removing the .ex or .EX suffix if they have one; rename the configuration files to use the actual binary package name in place of package; modify template file contents to suit your needs; remove template files which you do not need; modify the control file (see ), if necessary; modify the rules file (see ), if necessary. Any debhelper configuration files without a package prefix, such as install, apply to the first binary package. When there are many binary packages, their configurations can be specified by prefixing their name to their configuration filenames such as package-1.install, package-2.install, etc.
<filename>README.Debian</filename> Any extra details or discrepancies between the original package and your Debian version should be documented here. dh_make created a default one; this is what it looks like: gentoo for Debian ----------------- <possible notes regarding this package - if none, delete this file> -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100 If you have nothing to be documented, remove this file. See dh_installdocs 1 .
<filename>compat</filename> The compat file defines the debhelper compatibility level. Currently, you should set it to the debhelper v9 as follows: $ echo 9 > debian/compat
<filename>conffiles</filename> One of the most annoying things about software is when you spend a great deal of time and effort customizing a program, only to have an upgrade stomp all over your changes. Debian solves this problem by marking such configuration files as conffiles. See dpkg 1 and Debian Policy Manual, "D.2.5 Conffiles". When you upgrade a package, you'll be asked whether you want to keep your old configuration files or not. dh_installdeb 1 automatically flags any files under the /etc directory as conffiles, so if your program only has conffiles there you do not need to specify them in this file. For most package types, the only place conffiles should ever be is under /etc, and so this file doesn't need to exist. If your program uses configuration files but also rewrites them on its own, it's best not to make them conffiles because dpkg will then prompt users to verify the changes all the time. If the program you're packaging requires every user to modify the configuration files in the /etc directory, there are two popular ways to arrange for them to not be conffiles, keeping dpkg quiet. Create a symlink under the /etc directory pointing to a file under the /var directory generated by the maintainer scripts. Create a file generated by the maintainer scripts under the /etc directory. For information on maintainer scripts, see .
<filename><replaceable>package</replaceable>.cron.*</filename> If your package requires regularly scheduled tasks to operate properly, you can use these files to set that up. You can set up regular tasks that either happen hourly, daily, weekly, or monthly, or alternatively happen at any other time that you wish. The filenames are: package.cron.hourly - Installed as /etc/cron.hourly/package; run once an hour. package.cron.daily - Installed as /etc/cron.daily/package; run once a day. package.cron.weekly - Installed as /etc/cron.weekly/package; run once a week. package.cron.monthly - Installed as /etc/cron.monthly/package: run once a month. package.cron.d - Installed as /etc/cron.d/package: for any other time. Most of these files are shell scripts, with the exception of package.cron.d which follows the format of crontab 5 . No explicit cron.* file is needed to set up log rotation; for that, see dh_installlogrotate 1 and logrotate8.
<filename>dirs</filename> This file specifies any directories which we need but which are not created by the normal installation procedure (make install DESTDIR=... invoked by dh_auto_install). This generally means there is a problem with the Makefile. Files listed in an install file don't need their directories created first. See . It is best to try to run the installation first and only use this if you run into trouble. There is no preceding slash on the directory names listed in the dirs file.
<filename><replaceable>package</replaceable>.doc-base</filename> If your package has documentation other than manual and info pages, you should use the doc-base file to register it, so the user can find it with e.g. dhelp 1 , dwww 1 , or doccentral 1 . This usually includes HTML, PS and PDF files, shipped in /usr/share/doc/packagename/. This is what gentoo's doc-base file gentoo.doc-base looks like: Document: gentoo Title: Gentoo Manual Author: Emil Brink Abstract: This manual describes what Gentoo is, and how it can be used. Section: File Management Format: HTML Index: /usr/share/doc/gentoo/html/index.html Files: /usr/share/doc/gentoo/html/*.html For information on the file format, see install-docs 8 and the Debian doc-base Manual at the local copy &doc-base; provided by the doc-base package. For more details on installing additional documentation, look in .
<filename>docs</filename> This file specifies the file names of documentation files we can have dh_installdocs 1 install into the temporary directory for us. By default, it will include all existing files in the top-level source directory that are called BUGS, README*, TODO etc. For gentoo, some other files are also included: BUGS CONFIG-CHANGES CREDITS NEWS README README.gtkrc TODO
<filename>emacsen-*</filename> If your package supplies Emacs files that can be bytecompiled at package installation time, you can use these files to set it up. They are installed into the temporary directory by dh_installemacsen 1 . If you don't need these, remove them.
<filename><replaceable>package</replaceable>.examples</filename> The dh_installexamples 1 command installs files and directories listed in this file as example files.
<filename><replaceable>package</replaceable>.init</filename> and <filename><replaceable>package</replaceable>.default</filename> If your package is a daemon that needs to be run at system start-up, you've obviously disregarded my initial recommendation, haven't you? :-) The package.init file is installed as the /etc/init.d/package script which starts and stops the daemon. Its fairly generic skeleton template is provided by the dh_make command as init.d.ex. You'll likely have to rename and edit it, a lot, while making sure to provide Linux Standard Base (LSB) compliant headers. It gets installed into the temporary directory by dh_installinit 1 . The package.default file will be installed as /etc/default/package. This file sets defaults that are sourced by the init script. This package.default file is most often used to disable running a daemon, or to set some default flags or timeouts. If your init script has certain configurable features, you can set them in the package.default file, instead of in the init script itself. If your upstream program provides a file for the init script, you can either use it or not. If you don't use their init script then create a new one in package.init. However if the upstream init script looks fine and installs in the right place you still need to set up the rc* symlinks. To do this you will need to override dh_installinit in the rules file with the following lines: override_dh_installinit: dh_installinit --onlyscripts If you don't need this, remove the files.
<filename>install</filename> If there are files that need to be installed into your package but your standard make install won't do it, put the filenames and destinations into this install file. They are installed by dh_install 1 . This replaces the deprecated dh_movefiles 1 command which is configured by the files file. You should first check there is not a more specific tool to use. For example, documents should be in the docs file and not in this one. This install file has one line per file installed, with the name of the file (relative to the top build directory) then a space then the installation directory (relative to the install directory). One example of where this is used is if a binary src/bar is left uninstalled; the install file might look like: src/bar usr/bin This means when this package is installed, there will be an executable command /usr/bin/bar. Alternatively, this install can have the name of the file only without the installation directory when the relative directory path does not change. This format is usually used for a large package that splits the output of its build into multiple binary packages using package-1.install, package-2.install, etc. The dh_install command will fall back to looking in debian/tmp for files, if it doesn't find them in the current directory (or wherever you've told it to look using --sourcedir).
<filename><replaceable>package</replaceable>.info</filename> If your package has info pages, you should install them using dh_installinfo 1 by listing them in a package.info file.
<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</filename> If lintian reports an erroneous diagnostic for a case where Debian policy allows exceptions to some rule, you can use package.lintian-overrides or source/lintian-overrides to quieten it. Please read Lintian User's Manual (&lintian-doc;) and refrain from abusing this. package.lintian-overrides is for the binary package named package and is installed into usr/share/lintian/overrides/package by the dh_lintian command. source/lintian-overrides is for the source package. This is not installed.
<filename>manpage.*</filename> Your program(s) should have a manual page. If they don't, you should create them. The dh_make command creates some template files for manual pages. These need to be copied and edited for each command missing its manual page. Please make sure to remove unused templates.
<filename>manpage.1.ex</filename> Manual pages are normally written in nroff 1 . The manpage.1.ex template is written in nroff, too. See the man 7 manual page for a brief description of how to edit such a file. The final manual page file name should give the name of the program it is documenting, so we will rename it from manpage to gentoo. The file name also includes .1 as the first suffix, which means it's a manual page for a user command. Be sure to verify that this section is indeed the correct one. Here's a short list of manual page sections: Section Description Notes 1 User command Executable commands or scripts 2 System calls Functions provided by the kernel 3 Library calls Functions within system libraries 4 Special files Usually found in /dev 5 File formats E.g. /etc/passwd's format 6 Games Games or other frivolous programs 7 Macro packages Such as man macros 8 System administration Programs typically only run by root 9 Kernel routines Non-standard calls and internals So gentoo's man page should be called gentoo.1. If there was no gentoo.1 man page in the original source, you should create it by renaming the manpage.1.ex template to gentoo.1 and editing it using information from the example and from the upstream docs. You can use the help2man command to generate a man page out of the --help and --version output of each program, too. Note that help2man's placeholder man page will claim that more detailed documentation is available in the info system. If the command is missing an info page, you should manually edit the man page created by the help2man command.
<filename>manpage.sgml.ex</filename> If on the other hand you prefer writing SGML instead of nroff, you can use the manpage.sgml.ex template. If you do this, you have to: rename the file to something like gentoo.sgml. install the docbook-to-man package add docbook-to-man to the Build-Depends line in the control file add an override_dh_auto_build target to your rules file: override_dh_auto_build: docbook-to-man debian/gentoo.sgml > debian/gentoo.1 dh_auto_build
<filename>manpage.xml.ex</filename> If you prefer XML over SGML, you can use the manpage.xml.ex template. If you do this, you have to: rename the source file to something like gentoo.1.xml install the docbook-xsl package and an XSLT processor like xsltproc (recommended) add the docbook-xsl, docbook-xml, and xsltproc packages to the Build-Depends line in the control file add an override_dh_auto_build target to your rules file: override_dh_auto_build: xsltproc --nonet \ --param make.year.ranges 1 \ --param make.single.year.ranges 1 \ --param man.charmap.use.subset 0 \ -o debian/ \ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\ debian/gentoo.1.xml dh_auto_build
<filename><replaceable>package</replaceable>.manpages</filename> If your package has manual pages, you should install them using dh_installman 1 by listing them in a package.manpages file. To install docs/gentoo.1 as a manpage for the gentoo package, create a gentoo.manpages file as follows. docs/gentoo.1
<filename>NEWS</filename> The dh_installchangelogs 1 command installs this.
<filename>{pre,post}{inst,rm}</filename> These postinst, preinst, postrm, and prerm files Despite this use of the bash shorthand expression {pre,post}{inst,rm} to indicate these filenames, you should use pure POSIX syntax for these maintainer scripts for compatibility with dash as the system shell. are called maintainer scripts. They are scripts which are put in the control area of the package and run by dpkg when your package is installed, upgraded, or removed. As a novice maintainer, you should avoid any manual editing of maintainer scripts because they are problematic. For more information refer to the Debian Policy Manual, 6 "Package maintainer scripts and installation procedure", and take a look at the example files provided by dh_make. If you did not listen to me and have created custom maintainer scripts for a package, you should make sure to test them not only for install and upgrade but also for remove and purge. Upgrades to the new version should be silent and non-intrusive (existing users should not notice the upgrade except by discovering that old bugs have been fixed and perhaps that there are new features). When the upgrade is necessarily intrusive (eg., config files scattered through various home directories with totally different structure), you may consider as the last resort switching the package to a safe fallback state (e.g., disabling a service) and providing the proper documentation required by policy (README.Debian and NEWS.Debian). Don't bother the user with debconf notes invoked from these maintainer scripts for upgrades. The ucf package provides a conffile-like handling infrastructure to preserve user changes for files that may not be labeled as conffiles such as those managed by the maintainer scripts. This should minimize issues associated with them. These maintainer scripts are among the Debian enhancements that explain why people choose Debian. You must be very careful not to turn them into a source of annoyance.
<filename><replaceable>package</replaceable>.symbols</filename> Packaging of library is not easy for a novice maintainer and should be avoided. Having said it, if your package has libraries, you should have debian/package.symbols files. See .
<filename>TODO</filename> The dh_installdocs 1 command installs this.
<filename>watch</filename> The watch file format is documented in the uscan 1 manpage. The watch file configures the uscan program (in the devscripts package) to watch the site where you originally got the source from. This is also used by the Debian External Health Status (DEHS) service. Here are its contents: # watch control file for uscan version=3 &sf-net;/gentoo/gentoo-(.+)\.tar\.gz debian uupdate Normally with a watch file, the URL at &sf-net;/gentoo is downloaded and searched for links of the form <a href=...>. The basename (just the part after the final /) of each linked URL is compared against the Perl regular expression pattern (see perlre 1 ) gentoo-(.+)\.tar\.gz. Out of the files that match, the one with the greatest version number is downloaded and the uupdate program is run to create an updated source tree. Although this is true for other sites, the SourceForge download service at is an exception. When the watch file has an URL matching the Perl regexp ^http://sf\.net/, the uscan program replaces it with &qa-do;watch/sf.php/ and then applies this rule. The URL redirector service at is designed to offer a stable redirect service to the desired file for any watch pattern of the form &sf-net;/project/tar-name-(.+)\.tar\.gz. This solves issues related to periodically changing SourceForge URLs.
<filename>source/format</filename> In the debian/source/format file, there should be a single line indicating the desired format for the source package (check dpkg-source 1 for an exhaustive list). After squeeze, it should say either: 3.0 (native) for Debian native packages or 3.0 (quilt) for everything else. The newer 3.0 (quilt) source format records modifications in a quilt patch series within debian/patches. Those changes are then automatically applied during extraction of the source package. See DebSrc3.0 for a summary on the switch to the new 3.0 (quilt) and 3.0 (native) source formats. The Debian modifications are simply stored in a debian.tar.gz archive containing all files under the debian directory. This new format supports inclusion of binary files such as PNG icons by the package maintainer without requiring tricks. Actually, this new format also supports multiple upstream tarballs and more compression methods. These are beyond the scope of this document. When dpkg-source extracts a source package in 3.0 (quilt) source format, it automatically applies all patches listed in debian/patches/series. You can avoid applying patches at the end of the extraction with the --skip-patches option.
<filename>source/local-options</filename> When you want to manage Debian packaging activities under a VCS, you typically create one branch (e.g. upstream) tracking the upstream source and another branch (e.g. typically master for Git) tracking the Debian package. For the latter, you usually want to have unpatched upstream source with your debian/* files for the Debian packaging to ease merging of the new upstream source. After you build a package, the source is normally left patched. You need to unpatch it manually by running dquilt pop -a before committing to the master branch. You can automate this by adding the optional debian/source/local-options file containing unapply-patches. This file is not included in the generated source package and changes the local build behavior only. This file may contain abort-on-upstream-changes, too (see dpkg-source 1 ). unapply-patches abort-on-upstream-changes
<filename>source/options</filename> The autogenerated files in the source tree can be quite annoying for packaging since they generate meaningless large patch files. There are custom modules such as dh_autoreconf to ease this problem as described in . You can provide a Perl regular expression to the --extend-diff-ignore option argument of dpkg-source1 to ignore changes made to the autogenerated files while creating the source package. As a general solution to address this problem of the autogenerated files, you can store such a dpkg-source option argument in the source/options file of the source package. The following will skip creating patch files for config.sub, config.guess, and Makefile. extend-diff-ignore = "(^|/)(config\.sub|config\.guess|Makefile)$"
<filename>patches/*</filename> The old 1.0 source format created a single large diff.gz file containing package maintenance files in debian and patch files for the source. Such a package is a bit cumbersome to inspect and understand for each source tree modification later. This is not so nice. The newer 3.0 (quilt) source format stores patches in debian/patches/* files using the quilt command. These patches and other package data which are all contained under the debian directory are packaged as the debian.tar.gz file. Since the dpkg-source command can handle quilt formatted patch data in the 3.0 (quilt) source without the quilt package, it does not need a Build-Depends on quilt. Several methods of patch set maintenance have been proposed and are in use for Debian packages. The quilt system is the preferred maintenance system in use. Others include dpatch, dbs, and cdbs. Many of these keep such patches as debian/patches/* files. The quilt command is explained in quilt 1 . It records modifications to the source as a stack of -p1 patch files in the debian/patches directory and the source tree is untouched outside of the debian directory. The order of these patches is recorded in the debian/patches/series file. You can apply (=push), un-apply (=pop), and refresh patches easily. If you are asking a sponsor to upload your package, this kind of clear separation and documentation of your changes is very important to expedite the package review by your sponsor. For , we created three patches in debian/patches. Since Debian patches are located in debian/patches, please make sure to set up the dquilt command properly as described in . When anyone (including yourself) provides a patch foo.patch to the source later, modifying a 3.0 (quilt) source package is quite simple: $ dpkg-source -x gentoo_0.9.12.dsc $ cd gentoo-0.9.12 $ dquilt import ../foo.patch $ dquilt push $ dquilt refresh $ dquilt header -e ... describe patch The patches stored in the newer 3.0 (quilt) source format must be fuzz free. You can ensure this with dquilt pop -a; while dquilt push; do dquilt refresh; done.
maint-guide-1.2.32/doc/00_bookstart.xml0000644000000000000000000000531212255575137014503 0ustar %trans; %common; %version; ]> Debian New Maintainers' Guide Josip Rodin joy-mg@debian.org original contents Osamu Aoki osamu@debian.org updated contents &othercredit; version &docversion; &docisodate; 1998-2002 Josip Rodin 2005-2013 Osamu Aoki 2010 Craig Small 2010 Raphaël Hertzog This document may be used under the terms the GNU General Public License version 2 or higher. This document was made using these two documents as examples: Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar Vyas. The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe. maint-guide-1.2.32/doc/07_check.xml0000644000000000000000000002241412255575137013561 0ustar Checking the package for errors There are some techniques you should know for checking a package for errors before uploading it to the public archives. It's also a good idea to carry out testing on a machine other than your own. You must watch closely for any warnings or errors for all the tests described here.
Suspicious changes If you find a new autogenerated patch file such as debian-changes-* in the debian/patches directory after building your non-native Debian package in 3.0 (quilt) format, chances are you changed some files by accident or the build script modified the upstream source. If it is your mistake, fix it. If it is caused by the build script, fix the root cause with dh-autoreconf as in or work around it with source/options as in .
Verifying a package's installation You must test your package for whether it installs without problem. The debi 1 command helps you to test installing all the generated binary packages. $ sudo debi gentoo_0.9.12-1_i386.changes To prevent installation problem on different systems, you must make sure that there are no filenames conflicting with other existing packages, using the Contents-i386 file downloaded from the Debian archive. The apt-file command may be handy for this task. If there are collisions, please take action to avoid this real problem, whether by renaming the file, moving a common file to a separate package that multiple packages can depend on, using the alternatives mechanism (see update-alternatives 1) in coordination with the maintainers of other affected packages, or declaring a Conflicts relationship in the debian/control file.
Verifying a package's maintainer scripts All maintainer scripts (that is, preinst, prerm, postinst, and postrm files) are hard to write correctly unless they are auto-generated by the debhelper programs. So do not use them if you are a novice maintainer (see ). If the package makes use of these non-trivial maintainer scripts, be sure to test not only for install but also for remove, purge, and upgrade processes. Many maintainer script bugs show up when packages are removed or purged. Use the dpkg command as follows to test them. $ sudo dpkg -r gentoo $ sudo dpkg -P gentoo $ sudo dpkg -i gentoo_version-revision_i386.deb This should be done with sequences such as the following. install the previous version (if needed). upgrade it from the previous version. downgrade it back to the previous version (optional). purge it. install the new package. remove it. install it again. purge it. If this is your first package, you should create dummy packages with different versions to test your package in advance to prevent future problems. Bear in mind that if your package has previously been released in Debian, people will often be upgrading to your package from the version that was in the last Debian release. Remember to test upgrades from that version too. Although downgrading is not officially supported, supporting it is a friendly gesture.
Using <systemitem role="package">lintian</systemitem> Run lintian 1 on your .changes file. The lintian command runs many test scripts to check for many common packaging errors. You do not need to provide the lintian option -i -I --show-overrides if you customized /etc/devscripts.conf or ~/.devscripts as described in . $ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes Of course, replace the filename with the name of the .changes file generated for your package. The output of the lintian command uses the following flags. E: for error; a sure policy violation or packaging error. W: for warning; a possible policy violation or packaging error. I: for info; information on certain aspects of packaging. N: for note; a detailed message to help your debugging. O: for overridden; a message overridden by the lintian-overrides files but displayed by the --show-overrides option. When you see warnings, tune the package to avoid them or verify that the warnings are spurious. If spurious, set up lintian-overrides files as described in . Note that you can build the package with dpkg-buildpackage and run lintian on it in one command, if you use debuild 1 or pdebuild 1 .
The <command>debc</command> command You can list files in the binary Debian package with the debc 1 command. $ debc package.changes
The <command>debdiff</command> command You can compare file contents in two source Debian packages with the debdiff 1 command. $ debdiff old-package.dsc new-package.dsc You can also compare file lists in two sets of binary Debian packages with the debdiff 1 command. $ debdiff old-package.changes new-package.changes These are useful to identify what has been changed in the source packages and to check for inadvertent changes made when updating binary packages, such as unintentionally misplacing or removing files.
The <command>interdiff</command> command You can compare two diff.gz files with the interdiff 1 command. This is useful for verifying that no inadvertent changes were made to the source by the maintainer when updating packages in the old 1.0 source format. $ interdiff -z old-package.diff.gz new-package.diff.gz The new 3.0 source format stores changes in multiple patch files as described in . You can trace changes of each debian/patches/* file using interdiff, too.
The <command>mc</command> command Many of these file inspection operations can be made into an intuitive process by using a file manager like mc 1 which will let you browse not only the contents of *.deb package files but also *.udeb, *.debian.tar.gz, *.diff.gz, and *.orig.tar.gz files. Be on the lookout for extra unneeded files or zero length files, both in the binary and source package. Often cruft doesn't get cleaned up properly; adjust your rules file to compensate for this.
maint-guide-1.2.32/doc/08_update.xml0000644000000000000000000004414612255575137013775 0ustar Updating the package After you release a package, you will soon need to update it.
New Debian revision Let's say that a bug report was filed against your package as #654321, and it describes a problem that you can solve. Here's what you need to do to create a new Debian revision of the package. If this is to be recorded as a new patch, do the following. dquilt new bugname.patch to set the patch name; dquilt add buggy-file to declare the file to be modified; Correct the problem in the package source for the upstream bug; dquilt refresh to record it to bugname.patch; dquilt header -e to add its description; If this is to update an existing patch, do the following. dquilt pop foo.patch to recall the existing foo.patch; Correct the problem in the old foo.patch; dquilt refresh to update foo.patch; dquilt header -e to update its description; while dquilt push; do dquilt refresh; done to apply all patches while removing fuzz; Add a new revision at the top of the Debian changelog file, for example with dch -i, or explicitly with dch -v version-revision and then insert the comments using your preferred editor. To get the date in the required format, use LANG=C date -R. Include a short description of the bug and the solution in the changelog entry, followed by Closes: #654321. That way, the bug report will be automagically closed by the archive maintenance software the moment your package gets accepted into the Debian archive. Repeat what you did in the above to fix more bugs while updating the Debian changelog file with dch as needed. Repeat what you did in and . Once you are satisfied, you should change the distribution value in changelog from UNRELEASED to the target distribution value unstable (or even experimental).If you use the dch -r command to make this last change, please make sure to save the changelog file explicitly by the editor. Upload the package as . The difference is that this time, the original source archive won't be included, as it hasn't been changed and it already exists in the Debian archive. One tricky case can occur when you make a local package to experiment with the packaging before uploading the normal version to the official archive, e.g., 1.0.1-1. For smoother upgrades, it is a good idea to create a changelog entry with a version string as 1.0.1-1~rc1. You may unclutter changelog by consolidating such local change entries into a single entry for the official package. See for the order of version strings.
Inspection of the new upstream release When preparing packages of a new upstream release for the Debian archive, you must check the new upstream release, first. Start by reading the upstream changelog, NEWS, and whatever other documentation they may have released with the new version. You can then inspect changes between the old and new upstream sources as follows, watching out for anything suspicious. $ diff -urN foo-oldversion foo-newversion Changes to some auto-generated files by Autotools such as missing, aclocal.m4, config.guess, config.h.in, config.sub, configure, depcomp, install-sh, ltmain.sh, and Makefile.in may be ignored. You may delete them before running diff on the source for inspection.
New upstream release If a package foo is properly packaged in the newer 3.0 (native) or 3.0 (quilt) formats, packaging a new upstream version is essentially moving the old debian directory to the new source. This can be done by running tar xvzf /path/to/foo_oldversion.debian.tar.gz in the new extracted source. If a package foo is packaged in the old 1.0 format, this can be done by running zcat /path/to/foo_oldversion.diff.gz|patch -p1 in the new extracted source, instead. Of course, you need to do some obvious chores. Create a copy of the upstream source as the foo_newversion.orig.tar.gz file. Update the Debian changelog file with dch -v newversion-1. Add an entry with New upstream release. Describe concisely the changes in the new upstream release that fix reported bugs and close those bugs by adding Closes: #bug_number. Describe concisely the changes to the new upstream release by the maintainer that fix reported bugs and close those bugs by adding Closes: #bug_number. while dquilt push; do dquilt refresh; done to apply all patches while removing fuzz. If the patch/merge did not apply cleanly, inspect the situation (clues are left in .rej files). If a patch you applied to the source was integrated into the upstream source, dquilt delete to remove it. If a patch you applied to the source conflicted with new changes in the upstream source, dquilt push -f to apply old patches while forcing rejects as baz.rej. Edit the baz file manually to bring about the intended effect of baz.rej. dquilt refresh to update the patch. Continue as usual with while dquilt push; do dquilt refresh; done. This process can be automated using the uupdate 1 command as follows: $ apt-get source foo ... dpkg-source: info: extracting foo in foo-oldversion dpkg-source: info: unpacking foo_oldversion.orig.tar.gz dpkg-source: info: applying foo_oldversion-1.debian.tar.gz $ ls -F foo-oldversion/ foo_oldversion-1.debian.tar.gz foo_oldversion-1.dsc foo_oldversion.orig.tar.gz $ wget http://example.org/foo/foo-newversion.tar.gz $ cd foo-oldversion $ uupdate -v newversion ../foo-newversion.tar.gz $ cd ../foo-newversion $ while dquilt push; do dquilt refresh; done $ dch ... document changes made If you set up a debian/watch file as described in , you can skip the wget command. You simply run uscan 1 in the foo-oldversion directory instead of the uupdate command. This will automagically look for the updated source, download it, and run the uupdate command. If the uscan command downloads the updated source but it does not run the uupdate command, you should correct the debian/watch file to have debian uupdate at the end of the URL. You can release this updated source by repeating what you did in , , and .
Updating the packaging style Updating the package style is not a required activity for the update of a package. However, doing so lets you use the full capabilities of the modern debhelper system and the 3.0 source format. If your sponsor or other maintainers object to updating the existing packaging style, don't bother arguing. There are more important things to do. If you need to recreate deleted template files for any reason, you can run dh_make again in the same Debian package source tree with the --addmissing option. Then edit them appropriately. If the package has not been updated to use the debhelper v7+ dh syntax for the debian/rules file, update it to use dh. Update the debian/control file accordingly. If you want to update the rules file created with the Makefile inclusion mechanism of the Common Debian Build System (cdbs) to the dh syntax, see the following to understand its DEB_* configuration variables. local copy of &cdbs-doc; The Common Debian Build System (CDBS), FOSDEM 2009 If you have a 1.0 source package without the foo.diff.gz file, you can update it to the newer 3.0 (native) source format by creating debian/source/format with 3.0 (native). The rest of the debian/* files can just be copied. If you have a 1.0 source package with the foo.diff.gz file, you can update it to the newer 3.0 (quilt) source format by creating debian/source/format with 3.0 (quilt). The rest of the debian/* files can just be copied. Import the big.diff file generated by the command filterdiff -z -x '*/debian/*' foo.diff.gz > big.diff to your quilt system, if needed. You can split big.diff into many small incremental patches using the splitdiff command. If it was packaged using another patch system such as dpatch, dbs, or cdbs with -p0, -p1, or -p2, convert it to the quilt command using deb3 at . If it was packaged with the dh command with the --with quilt option or with the dh_quilt_patch and dh_quilt_unpatch commands, remove these and make it use the newer 3.0 (native) source format. You should check DEP - Debian Enhancement Proposals and adopt ACCEPTED proposals. You need to do the other tasks described in , too.
UTF-8 conversion If upstream documents are encoded in old encoding schemes, converting them to UTF-8 is a good idea. Use iconv 1 to convert encodings of plain text files. iconv -f latin1 -t utf8 foo_in.txt > foo_out.txt Use w3m 1 to convert from HTML files to UTF-8 plain text files. When you do this, make sure to execute it under UTF-8 locale. LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \ -cols 70 -dump -no-graph -T text/html \ < foo_in.html > foo_out.txt
Reminders for updating packages Here are few reminders for updating packages. Preserve old changelog entries (sounds obvious, but there have been cases of people typing dch when they should have typed dch -i.) Existing Debian changes need to be reevaluated; throw away stuff that upstream has incorporated (in one form or another) and remember to keep stuff that hasn't been incorporated by upstream, unless there is a compelling reason not to. If any changes were made to the build system (hopefully you'd know from inspecting upstream changes) then update the debian/rules and debian/control build dependencies if necessary. Check the Debian Bug Tracking System (BTS) to see if someone has provided patches to bugs that are currently open. Check the contents of the .changes file to make sure you are uploading to the correct distribution, the proper bug closures are listed in the Closes field, the Maintainer and Changed-By fields match, the file is GPG-signed, etc.
maint-guide-1.2.32/doc/10_appendix.xml0000644000000000000000000004746712255575137014325 0ustar Advanced packaging Here are some hints and pointers for advanced packaging topics which you are most likely to deal with. You are strongly advised to read all the references suggested here.
Shared libraries Before packaging shared libraries, you should read the following primary references in detail. Debian Policy Manual, 8 "Shared libraries" Debian Policy Manual, 9.1.1 "File System Structure" Debian Policy Manual, 10.2 "Libraries" Here are some oversimplified hints for you to get started. Shared libraries are ELF object files containing compiled code. Shared libraries are distributed as *.so files. (Neither *.a files nor *.la files) Shared libraries are mainly used to share common codes among multiple executables with the ld mechanism. Shared libraries are sometimes used to provide multiple plugins to an executable with the dlopen mechanism. Shared libraries export symbols which represent compiled objects such as variables, functions, and classes; and enables access to them from the linked executables. The SONAME of a shared library libfoo.so.1: objdump -p libfoo.so.1 | grep SONAME Alternatively: readelf -d libfoo.so.1 | grep SONAME The SONAME of a shared library usually matches the library file name (but not always). The SONAME of shared libraries linked to /usr/bin/foo: objdump -p /usr/bin/foo | grep NEEDED Alternatively: readelf -d libfoo.so.1 | grep NEEDED libfoo1: the library package for the shared library libfoo.so.1 with the SONAME ABI version 1.See Debian Policy Manual, 8.1 "Run-time shared libraries". The package maintainer scripts of the library package must call ldconfig under the specific circumstances to create the necessary symbolic links for the SONAME.See Debian Policy Manual, 8.1.1 "ldconfig". libfoo1-dbg: the debugging symbols package which contains the debugging symbols for the shared library package libfoo1. libfoo-dev: the development package which contains the header files etc. for the shared library libfoo.so.1.See Debian Policy Manual, 8.3 "Static libraries" and Debian Policy Manual, 8.4 "Development files". Debian package should not contain *.la Libtool archive files in general.See Debian wiki ReleaseGoals/LAFileRemoval. Debian package should not use RPATH in general.See Debian wiki RpathIssue. Although it is somewhat outdated and is only a secondary reference, Debian Library Packaging Guide may still be useful.
Managing <filename>debian/<replaceable>package</replaceable>.symbols</filename> When you package a shared library, you should create debian/package.symbols file to manage the minimal version associated to each symbol for backward-compatible ABI changes under the same SONAME of the library for the same shared library package name.Backward-incompatible ABI changes normally require you to update the SONAME of the library and the shared library package name to new ones. You should read the following primary references in detail. Debian Policy Manual, 8.6.3 "The symbols system"For C++ libraries and other cases where tracking individual symbols is too difficult, follow Debian Policy Manual, 8.6.4 "The shlibs system", instead. dh_makeshlibs 1 dpkg-gensymbols 1 dpkg-shlibdeps 1 deb-symbols 5 Here is a rough example to create the libfoo1 package to the upstream version 1.3 with the proper debian/libfoo1.symbols file. Prepare the skeleton debianized source tree using the upstream libfoo-1.3.tar.gz file. If this is the first packaging of the libfoo1 package, create the debian/libfoo1.symbols file with empty content. If the previous upstream version 1.2 was packaged as the libfoo1 package with the proper debian/libfoo1.symbols in its source package, use it again. If the previous upstream version 1.2 was not packaged with the debian/libfoo1.symbols, create it as the symbols file from all available binary packages of the same shared library package name containing the same SONAME of the library, for example, versions 1.1-1 and 1.2-1. All previous versions of Debian packages are available at http://snapshot.debian.org/. The Debian revision is dropped from the version to make it easier to backport the package: 1.1 << 1.1-1~bpo70+1 << 1.1-1 and 1.2 << 1.2-1~bpo70+1 << 1.2-1 $ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1 $ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1 $ : > symbols $ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols $ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols Make trial builds of the source tree with tools such as debuild and pdebuild. (If this fails due to missing symbols etc., there were some backward-incompatible ABI changes which require you to bump the shared library package name to something like libfoo1a and you should start over again.) $ cd libfoo-1.3 $ debuild ... dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ... see diff output below --- debian/libfoo1.symbols (libfoo1_1.3-1_amd64) +++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900 @@ -127,6 +127,7 @@ foo_get_name@Base 1.1 foo_get_longname@Base 1.2 foo_get_type@Base 1.1 + foo_get_longtype@Base 1.3-1 foo_get_symbol@Base 1.1 foo_get_rank@Base 1.1 foo_new@Base 1.1 ... If you see the diff printed by the dpkg-gensymbols as above, extract the updated proper symbols file from the generated binary package of the shared library. The Debian revision is dropped from the version to make it easier to backport the package: 1.3 << 1.3-1~bpo70+1 << 1.3-1 $ cd .. $ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp $ sed -e 's/1\.3-1/1\.3/' libfoo1-tmp/DEBIAN/symbols \ >libfoo-1.3/debian/libfoo1.symbols Build release packages with tools such as debuild and pdebuild. $ cd libfoo-1.3 $ debuild clean $ debuild ... In addition to the above examples, we need to check the ABI compatibility further and bump versions for some symbols manually as needed. See Debian Policy Manual, 8.6.2 "Shared library ABI changes". Although it is only a secondary reference, Debian wiki UsingSymbolsFiles and its linked web pages may be useful.
Multiarch The multiarch feature introduced to Debian wheezy integrates support for cross-architecture installation of binary packages (particularly i386<->amd64, but also other combinations) in dpkg and apt. You should read the following references in detail. Ubuntu wiki MultiarchSpec (upstream) Debian wiki Multiarch/Implementation (Debian situation) It uses the triplet such as i386-linux-gnu and x86_64-linux-gnu for the install path of shared libraries. The actual triplet path is dynamically set into $(DEB_HOST_MULTIARCH) value by dpkg-architecture 1 for each build. For example, the path to install multiarch libraries are changed as follows.Old special purpose library paths such as /lib32/ and /lib64/ are not used any more. Old path i386 multiarch path amd64 multiarch path /lib/ /lib/i386-linux-gnu/ /lib/x86_64-linux-gnu/ /usr/lib/ /usr/lib/i386-linux-gnu/ /usr/lib/x86_64-linux-gnu/ Here are some typical multiarch package split scenario examples for the followings: a library source libfoo-1.tar.gz a tool source bar-1.tar.gz written in a compiled language a tool source baz-1.tar.gz written in an interpreted language Package Architecture: Multi-Arch: Package content libfoo1 any same the shared library, co-installable libfoo1-dbg any same the shared library debug symbols, co-installable libfoo-dev any same the shared library header files etc., co-installable libfoo-tools any foreign the run-time support programs, not co-installable libfoo-doc all foreign the shared library documentation files bar any foreign the compiled program files, not co-installable bar-doc all foreign the documentation files for the program baz all foreign the interpreted program files Please note that the development package should contain a symlink for the associated shared library without a version number. E.g.: /usr/lib/x86_64-linux-gnu/libfoo.so -> libfoo.so.1
Building a shared library package You can build a Debian library package enabling the multiarch support using dh 1 as follows. Update debian/control. Add Build-Depends: debhelper (>=9) for the source package section. Add Pre-Depends: ${misc:Pre-Depends} for each shared library binary package. Add Multi-Arch: stanza for each binary package section. Set debian/compat to "9". Adjust the path from the normal /usr/lib/ to the multiarch /usr/lib/$(DEB_HOST_MULTIARCH)/ for all packaging scripts. Call DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) in debian/rules to set DEB_HOST_MULTIARCH variable, first. Replace /usr/lib/ with /usr/lib/$(DEB_HOST_MULTIARCH)/ in debian/rules. If ./configure is used in the part of override_dh_auto_configure target in debian/rules, make sure to replace it with dh_auto_configure -- . Alternatively, you can add --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) and --libexecdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) arguments to ./configure. Please note that --libexecdir specifies the default path to install executable programs run by other programs rather than by users. Its Autotools default is /usr/libexec/ but its Debian default is /usr/lib/. Replace all occurrences of /usr/lib/ with /usr/lib/*/ in debian/foo.install files. Generate files like debian/foo.links from debian/foo.links.in dynamically by adding a script to override_dh_auto_configure target in debian/rules. override_dh_auto_configure: dh_auto_configure sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \ debian/foo.links.in > debian/foo.links Please make sure to verify that the shared library package contains only the expected files, and that your -dev package still works. All files installed simultaneously as the multiarch package to the same file path should have exactly the same file content. You must be careful on differences generated by the data byte order and by the compression algorithm.
maint-guide-1.2.32/doc/04_dreq.xml0000644000000000000000000014513612255575137013443 0ustar Required files under the <filename>debian</filename> directory There is a new subdirectory under the program's source directory, called debian. There are a number of files in this directory that we should edit in order to customize the behavior of the package. The most important of them are control, changelog, copyright, and rules, which are required for all packages. In this chapter, files in the debian directory are referred to without the leading debian/ for simplicity whenever the meaning is obvious.
<filename>control</filename> This file contains various values which dpkg, dselect, apt-get, apt-cache, aptitude, and other package management tools will use to manage the package. It is defined by the Debian Policy Manual, 5 "Control files and their fields". Here is the control file dh_make created for us: 1 Source: gentoo 2 Section: unknown 3 Priority: extra 4 Maintainer: Josip Rodin <joy-mg@debian.org> 5 Build-Depends: debhelper (>=9) 6 Standards-Version: 3.9.4 7 Homepage: <insert the upstream URL, if relevant> 8 9 Package: gentoo 10 Architecture: any 11 Depends: ${shlibs:Depends}, ${misc:Depends} 12 Description: <insert up to 60 chars description> 13 <insert long description, indented with spaces> (I've added the line numbers.) Lines 1-7 are the control information for the source package. Lines 9-13 are the control information for the binary package. Line 1 is the name of the source package. Line 2 is the section of the distribution the source package goes into. As you may have noticed, the Debian archive is divided into multiple areas: main (the free software), non-free (the not really free software) and contrib (free software that depends on non-free software). Each of these is divided into sections that classify packages into rough categories. So we have admin for administrator-only programs, devel for programmer tools, doc for documentation, libs for libraries, mail for email readers and daemons, net for network apps and daemons, x11 for X11 programs that don't fit anywhere else, and many more. See Debian Policy Manual, 2.4 "Sections" and List of sections in sid. Let's change it then to x11. (A main/ prefix is implied so we can omit it.) Line 3 describes how important it is that the user installs this package. See Debian Policy Manual, 2.5 "Priorities". The optional priority will usually work for new packages that do not conflict with others claiming required, important, or standard priority. The extra priority will usually work for new packages that conflict with others with non-extra priorities. Section and priority are used by front-ends like aptitude when they sort packages and select defaults. Once you upload the package to Debian, the value of these two fields can be overridden by the archive maintainers, in which case you will be notified by email. As this is a normal priority package and doesn't conflict with anything else, we will change the priority to optional. Line 4 is the name and email address of the maintainer. Make sure that this field includes a valid To header for email, because after you upload it, the bug tracking system will use it to deliver bug emails to you. Avoid using commas, ampersands, or parentheses. Line 5 includes the list of packages required to build your package as the Build-Depends field. You can also have the Build-Depends-Indep field as an additional line, here. See Debian Policy Manual, 7.7 "Relationships between source and binary packages - Build-Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep". Some packages like gcc and make which are required by the build-essential package are implied. If you need to have other tools to build your package, you should add them to these fields. Multiple entries are separated with commas; read on for the explanation of binary package dependencies to find out more about the syntax of these lines. For all packages packaged with the dh command in the debian/rules file, you must have debhelper (>=9) in the Build-Depends field to satisfy the Debian Policy requirement for the clean target. Source packages which have binary packages with Architecture: any are rebuilt by the autobuilder. Since this autobuilder procedure installs only the packages listed in the Build-Depends field before running debian/rules build (see ), the Build-Depends field needs to list practically all the required packages and Build-Depends-Indep is rarely used. For source packages with binary packages all of which are Architecture: all, the Build-Depends-Indep field may list all the required packages unless they are already listed in the Build-Depends field to satisfy the Debian Policy requirement for the clean target. If you are not sure which one should be used, use the Build-Depends field to be on the safe side. This somewhat strange situation is a feature well documented in the Debian Policy Manual, Footnotes 55. This is not due to the use of the dh command in the debian/rules file but due to how the dpkg-buildpackage works. The same situation applies to the auto build system for Ubuntu. To find out what packages your package needs to be built run the command: $ dpkg-depcheck -d ./configure To manually find exact build dependencies for /usr/bin/foo, execute $ objdump -p /usr/bin/foo | grep NEEDED and for each library listed, e.g., libfoo.so.6, execute $ dpkg -S libfoo.so.6 Then just take the -dev version of every package as a Build-Depends entry. If you use ldd for this purpose, it will report indirect lib dependencies as well, resulting in the problem of excessive build dependencies. gentoo also happens to require xlibs-dev, libgtk1.2-dev and libglib1.2-dev to build, so we'll add them here next to debhelper. Line 6 is the version of the Debian Policy Manual standards this package follows, the one you read while making your package. On line 7 you can put the URL of the software's upstream homepage. Line 9 is the name of the binary package. This is usually the same as the name of the source package, but it doesn't necessarily have to be that way. Line 10 describes the architectures the binary package can be compiled for. This value is usually one of the following depending on the type of the binary package. See Debian Policy Manual, 5.6.8 "Architecture" for exact details. Architecture: any The generated binary package is an architecture dependent one usually in a compiled language. Architecture: all The generated binary package is an architecture independent one usually consisting of text, images, or scripts in an interpreted language. We leave line 10 as is since this is written in C. dpkg-gencontrol1 will fill in the appropriate architecture value for any machine this source package gets compiled on. If your package is architecture independent (for example, a shell or Perl script, or a document), change this to all, and read later in about using the binary-indep rule instead of binary-arch for building the package. Line 11 shows one of the most powerful features of the Debian packaging system. Packages can relate to each other in various ways. Apart from Depends, other relationship fields are Recommends, Suggests, Pre-Depends, Breaks, Conflicts, Provides, and Replaces. The package management tools usually behave the same way when dealing with these relations; if not, it will be explained. (See dpkg 8 , dselect 8 , apt 8 , aptitude 1 , etc.) Here is a simplified description of package relationships. See Debian Policy Manual, 7 "Declaring relationships between packages". Depends The package will not be installed unless the packages it depends on are installed. Use this if your program absolutely will not run (or will cause severe breakage) unless a particular package is present. Recommends Use this for packages that are not strictly necessary but are typically used with your program. When a user installs your program, all front-ends will probably prompt them to install the recommended packages. aptitude and apt-get install recommended packages along with your package by default (but the user can disable this behavior). dpkg will ignore this field. Suggests Use this for packages which will work nicely with your program but are not at all necessary. When a user installs your program, they will probably not be prompted to install suggested packages. aptitude can be configured to install suggested packages along with your package but this is not its default. dpkg and apt-get will ignore this field. Pre-Depends This is stronger than Depends. The package will not be installed unless the packages it pre-depends on are installed and correctly configured. Use this very sparingly and only after discussing it on the debian-devel@lists.debian.org mailing list. Read: don't use it at all. :-) Conflicts The package will not be installed until all the packages it conflicts with have been removed. Use this if your program absolutely will not run or will cause severe problems if a particular package is present. Breaks When installed the package will break all the listed packages. Normally a Breaks entry specifies that it applies to versions earlier than a certain value. The resolution is generally to use higher-level package management tools to upgrade the listed packages. Provides For some types of packages where there are multiple alternatives virtual names have been defined. You can get the full list in the virtual-package-names-list.txt.gz file. Use this if your program provides a function of an existing virtual package. Replaces Use this when your program replaces files from another package, or completely replaces another package (used in conjunction with Conflicts). Files from the named packages will be overwritten with the files from your package. All these fields have uniform syntax. They are a list of package names separated by commas. These package names may also be lists of alternative package names, separated by vertical bar symbols | (pipe symbols). The fields may restrict their applicability to particular versions of each named package. The restriction of each individual package is listed in parentheses after its name, and should contain a relation from the list below followed by a version number value. The relations allowed are: <<, <=, =, >=, and >> for strictly lower, lower or equal, exactly equal, greater or equal, and strictly greater, respectively. For example, Depends: foo (>= 1.2), libbar1 (= 1.3.4) Conflicts: baz Recommends: libbaz4 (>> 4.0.7) Suggests: quux Replaces: quux (<< 5), quux-foo (<= 7.6) The last feature you need to know about is ${shlibs:Depends}, ${perl:Depends}, ${misc:Depends}, etc. dh_shlibdeps 1 calculates shared library dependencies for binary packages. It generates a list of ELF executables and shared libraries it has found for each binary package. This list is used for substituting ${shlibs:Depends}. dh_perl 1 calculates Perl dependencies. It generates a list of a dependencies on perl or perlapi for each binary package. This list is used for substituting ${perl:Depends}. Some debhelper commands may cause the generated package to depend on some additional packages. All such commands generate a list of required packages for each binary package. This list is used for substituting ${misc:Depends}. dh_gencontrol 1 generates DEBIAN/control for each binary package while substituting ${shlibs:Depends}, ${perl:Depends}, ${misc:Depends}, etc. Having said all that, we can leave the Depends field exactly as it is now, and insert another line after it saying Suggests: file, because gentoo can use some features provided by the file package. Line 9 is the Homepage URL. Let's assume this to be at . Line 12 is the short description. Terminals are conventionally 80 columns wide so this shouldn't be longer than about 60 characters. I'll change it to fully GUI-configurable, two-pane X file manager. Line 13 is where the long description goes. This should be a paragraph which gives more details about the package. Column 1 of each line should be empty. There must be no blank lines, but you can put a single . (dot) in a column to simulate that. Also, there must be no more than one blank line after the long description. These descriptions are in English. Translations of these descriptions are provided by The Debian Description Translation Project - DDTP. We can insert Vcs-* fields to document the Version Control System (VCS) location between lines 6 and 7. See Debian Developer's Reference, 6.2.5. "Version Control System location". Let's assume that the gentoo package has its VCS located in the Debian Alioth Git Service at git://git.debian.org/git/collab-maint/gentoo.git. Finally, here is the updated control file: 1 Source: gentoo 2 Section: x11 3 Priority: optional 4 Maintainer: Josip Rodin <joy-mg@debian.org> 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev 6 Standards-Version: 3.9.4 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git 9 Homepage: &gentoo; 10 11 Package: gentoo 12 Architecture: any 13 Depends: ${shlibs:Depends}, ${misc:Depends} 14 Suggests: file 15 Description: fully GUI-configurable, two-pane X file manager 16 gentoo is a two-pane file manager for the X Window System. gentoo lets the 17 user do (almost) all of the configuration and customizing from within the 18 program itself. If you still prefer to hand-edit configuration files, 19 they're fairly easy to work with since they are written in an XML format. 20 . 21 gentoo features a fairly complex and powerful file identification system, 22 coupled to an object-oriented style system, which together give you a lot 23 of control over how files of different types are displayed and acted upon. 24 Additionally, over a hundred pixmap images are available for use in file 25 type descriptions. 26 . 29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit 30 for its interface. (I've added the line numbers.)
<filename>changelog</filename> This is a required file, which has a special format described in Debian Policy Manual, 4.4 "debian/changelog". This format is used by dpkg and other programs to obtain the version number, revision, distribution, and urgency of your package. For you, it is also important, since it is good to have documented all changes you have done. It will help people downloading your package to see whether there are issues with the package that they should know about. It will be saved as /usr/share/doc/gentoo/changelog.Debian.gz in the binary package. dh_make created a default one, and this is what it looks like: 1 gentoo (0.9.12-1) unstable; urgency=low 2 3 * Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP> 4 5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100 6 (I've added the line numbers.) Line 1 is the package name, version, distribution, and urgency. The name must match the source package name; distribution should be unstable, and urgency shouldn't be changed to anything higher than low. :-) Lines 3-5 are a log entry, where you document changes made in this package revision (not the upstream changes - there is a special file for that purpose, created by the upstream authors, which you will later install as /usr/share/doc/gentoo/changelog.gz). Let's assume your ITP (Intent To Package) bug report number was 12345. New lines must be inserted just below the uppermost line that begins with * (asterisk). You can do it with dch 1 , or manually with a text editor. In order to prevent a package being accidentally uploaded before completing the package, it is good idea to change the distribution value to an invalid distribution value UNRELEASED. You will end up with something like this: 1 gentoo (0.9.12-1) UNRELEASED; urgency=low 2 3 * Initial Release. Closes: #12345 4 * This is my first Debian package. 5 * Adjusted the Makefile to fix $(DESTDIR) problems. 6 7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100 8 (I've added the line numbers.) Once you are satisfied with all the changes and documented them in changelog, you should change the distribution value from UNRELEASED to the target distribution value unstable (or even experimental). If you use the dch -r command to make this last change, please make sure to save the changelog file explicitly by the editor. You can read more about updating the changelog file later in .
<filename>rules</filename> Now we need to take a look at the exact rules which dpkg-buildpackage 1 will use to actually create the package. This file is in fact another Makefile, but different from the one(s) in the upstream source. Unlike other files in debian, this one is marked as executable.
Targets of the <filename>rules</filename> file Every rules file, like any other Makefile, consists of several rules, each of which defines a target and how it is carried out. You can start learning how to write Makefile from Debian Reference, 12.2. "Make". The full documentation is available as or as the make-doc package in the non-free archive area. A new rule begins with its target declaration in the first column. The following lines beginning with the TAB code (ASCII 9) specify the recipe for carrying out that target. Empty lines and lines beginning with # (hash) are treated as comments and ignored. Debian Policy Manual, 4.9 "Main building script: debian/rules" explains the details. A rule that you want to execute is invoked by its target name as a command line argument. For example, debian/rules build and fakeroot make -f debian/rules binary execute rules for build and binary targets respectively. Here is a simplified explanation of the targets: clean target: to clean all compiled, generated, and useless files in the build-tree. (Required) build target: to build the source into compiled programs and formatted documents in the build-tree. (Required) build-arch target: to build the source into arch-dependent compiled programs in the build-tree. (Required) build-indep target: to build the source into arch-independent formatted documents in the build-tree. (Required) install target: to install files into a file tree for each binary package under the debian directory. If defined, binary* targets effectively depend on this target. (Optional) binary target: to create all binary packages (effectively a combination of binary-arch and binary-indep targets). (Required) This target is used by dpkg-buildpackage as in . binary-arch target: to create arch-dependent (Architecture: any) binary packages in the parent directory. (Required) This target is used by dpkg-buildpackage -B as in . binary-indep target: to create arch-independent (Architecture: all) binary packages in the parent directory. (Required) This target is used by dpkg-buildpackage -A. get-orig-source target: to obtain the most recent version of the original source package from an upstream archive. (Optional) You are probably overwhelmed by now, but things are much simpler upon examination of the rules file that dh_make gives us as a default.
Default <filename>rules</filename> file Newer dh_make generates a very simple but powerful default rules file using the dh command: 1 #!/usr/bin/make -f 2 # -*- makefile -*- 3 # Sample debian/rules that uses debhelper. 4 # This file was originally written by Joey Hess and Craig Small. 5 # As a special exception, when this file is copied by dh-make into a 6 # dh-make output file, you may use that output file without restriction. 7 # This special exception was added by Craig Small in version 0.37 of dh-make. 8 9 # Uncomment this to turn on verbose mode. 10 #export DH_VERBOSE=1 11 12 %: 13 dh $@ (I've added the line numbers. In the actual rules file, the leading spaces are a TAB code.) You are probably familiar with lines like line 1 from shell and Perl scripts. It tells the operating system that this file is to be processed with /usr/bin/make. Line 10 can be uncommented to set the DH_VERBOSE variable to 1, so that the dh command outputs which dh_* commands it is executing. You can also add a line export DH_OPTIONS=-v here, so that each dh_* command outputs which commands it is executing. This helps you to understand exactly what is going on behind this simple rules file and to debug its problems. This new dh is designed to form a core part of the debhelper tools, and not to hide anything from you. Lines 12 and 13 are where all the work is done with an implicit rule using the pattern rule. The percent sign means "any targets", which then call a single program, dh, with the target name. This uses the new debhelper v7+ features. Its design concepts are explained in Not Your Grandpa's Debhelper presented at DebConf9 by the debhelper upstream. Under lenny, dh_make created a much more complicated rules file with explicit rules and many dh_* scripts listed for each one, most of which are now unnecessary (and show the package's age). The new dh command is simpler and frees us from doing the routine work "manually". You still have full power to customize the process with override_dh_* targets. See . It is based only on the debhelper package and does not obfuscate the package building process as the cdbs package tends to. The dh command is a wrapper script which runs appropriate sequences of dh_* programs depending on its argument. You can verify the actual sequences of dh_* programs invoked for a given target without really running them by invoking dh --no-act target or debian/rules -- '--no-act target'. debian/rules clean runs dh clean, which in turn runs the following: dh_testdir dh_auto_clean dh_clean debian/rules build runs dh build; which in turn runs the following: dh_testdir dh_auto_configure dh_auto_build dh_auto_test fakeroot debian/rules binary runs fakeroot dh binary; which in turn runs the followingThe following example assumes your debian/compat has a value equal or more than 9 to avoid invoking any python support commands automatically. : dh_testroot dh_prep dh_installdirs dh_auto_install dh_install dh_installdocs dh_installchangelogs dh_installexamples dh_installman dh_installcatalogs dh_installcron dh_installdebconf dh_installemacsen dh_installifupdown dh_installinfo dh_installinit dh_installmenu dh_installmime dh_installmodules dh_installlogcheck dh_installlogrotate dh_installpam dh_installppp dh_installudev dh_installwm dh_installxfonts dh_bugfiles dh_lintian dh_gconf dh_icons dh_perl dh_usrlocal dh_link dh_compress dh_fixperms dh_strip dh_makeshlibs dh_shlibdeps dh_installdeb dh_gencontrol dh_md5sums dh_builddeb fakeroot debian/rules binary-arch runs fakeroot dh binary-arch; which in turn runs the same sequence as fakeroot dh binary but with the -a option appended for each command. fakeroot debian/rules binary-indep runs fakeroot dh binary-indep; which in turn runs almost the same sequence as fakeroot dh binary but excluding dh_strip, dh_makeshlibs, and dh_shlibdeps with the -i option appended for each remaining command. The functions of dh_* commands are largely self-evident from their names. For complete information on what all these dh_* scripts do exactly, and what their other options are, please read their respective manual pages and the debhelper documentation. There are a few notable ones that are worth giving (over)simplified explanations here assuming a typical build environment based on a Makefile. These commands support other build environments such as setup.py which can be listed by executing dh_auto_build --list in a package source directory. dh_auto_clean usually executes the following if a Makefile exists with the distclean target. It actually looks for the first available target in the Makefile out of distclean, realclean, or clean, and executes that. make distclean dh_auto_configure usually executes the following if ./configure exists (arguments abbreviated for readability). ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ... dh_auto_build usually executes the following to execute the first target of Makefile if it exists. make dh_auto_test usually executes the following if a Makefile exists with the test target. It actually looks for the first available target in the Makefile out of test or check, and executes that. make test dh_auto_install usually executes the following if a Makefile exists with the install target (line folded for readability). make install \ DESTDIR=/path/to/package_version-revision/debian/package All targets which require the fakeroot command will contain dh_testroot, which exits with an error if you are not using this command to pretend to be root. The important part to know about the rules file created by dh_make is that it is just a suggestion. It will work for most packages but for more complicated ones, don't be afraid to customize it to fit your needs. Although install is not a required target, it is supported. fakeroot dh install behaves like fakeroot dh binary but stops after dh_fixperms.
Customization of <filename>rules</filename> file There are many ways to customize the rules file created with the new dh command. The dh $@ command can be customized as follows. If a package installs the /usr/share/perl5/Debian/Debhelper/Sequence/custom_name.pm file, you should activate its customization function by dh $@ --with custom-name. Add support for the dh_python2 command. (The best choice for Python.) Use of the dh_python2 command is preferred over use of dh_pysupport or dh_pycentral commands. Do not use the dh_python command. Include the python package in Build-Depends. Use dh $@ --with python2. This handles Python modules using the python framework. Add support for the dh_pysupport command. (deprecated) Include the python-support package in Build-Depends. Use dh $@ --with pysupport. This handles Python modules using the python-support framework. Add support for the dh_pycentral command. (deprecated) Include the python-central package in Build-Depends. Use dh $@ --with python-central instead. This also deactivates the dh_pysupport command. This handles Python modules using the python-central framework. Add support for the dh_installtex command. Include the tex-common package in Build-Depends. Use dh $@ --with tex instead. This registers Type 1 fonts, hyphenation patterns, and formats with TeX. Add support for the dh_quilt_patch and dh_quilt_unpatch commands. Include the quilt package in Build-Depends. Use dh $@ --with quilt instead. This applies and un-applies patches to the upstream source from files in the debian/patches directory for a source package in the 1.0 format. This is not needed if you use the new 3.0 (quilt) source package format. Add support for the dh_dkms command. Include the dkms package in Build-Depends. Use dh $@ --with dkms instead. This correctly handles DKMS usage by kernel module packages. Add support for the dh_autotools-dev_updateconfig and dh_autotools-dev_restoreconfig commands. Include the autotools-dev package in Build-Depends. Use dh $@ --with autotools-dev instead. This updates and restores config.sub and config.guess. Add support for the dh_autoreconf and dh_autoreconf_clean commands. Include the dh-autoreconf package in Build-Depends. Use dh $@ --with autoreconf instead. This updates the GNU Build System files and restores them after the build. Add support for the dh_girepository command. Includes the gobject-introspection package in Build-Depends. Use dh $@ --with gir instead. This computes dependencies for packages shipping GObject introspection data and generates the ${gir:Depends} substitution variable for the package dependency. Add support for the bash completion feature. Includes the bash-completion package in Build-Depends. Use dh $@ --with bash-completion instead. This installs bash completions using a configuration file at debian/package.bash-completion. Many dh_* commands invoked by the new dh command can be customized by the corresponding configuration files in the debian directory. See and the manpage of each command for the customization of such features. You may need to run dh_* commands invoked via the new dh with added arguments, or to run additional commands with them, or to skip them. For such cases, you create an override_dh_foo target with its rule in the rules file defining an override_dh_foo target for the dh_foo command you want to change. It basically says run me instead. Under lenny, if you wanted to change the behavior of a dh_* script you found the relevant line in the rules file and adjusted it. Please note that the dh_auto_* commands tend to do more than what has been discussed in this (over)simplified explanation to take care of all the corner cases. It is a bad idea to use override_dh_* targets to substitute simplified equivalent commands (except for the override_dh_auto_clean target) since it may bypass such smart debhelper features. So, for instance, if you want to store system configuration data in the /etc/gentoo directory instead of the usual /etc directory for the recent gentoo package using Autotools, you can override the default --sysconfig=/etc argument given by the dh_auto_configure command to the ./configure command by the following. override_dh_auto_configure: dh_auto_configure -- --sysconfig=/etc/gentoo The arguments given after -- are appended to the default arguments of the auto-executed program to override them. Using the dh_auto_configure command is better than directly invoking the ./configure command here since it will only override the --sysconfig argument and retains any other, benign arguments to the ./configure command. If the Makefile in the source for gentoo requires you to specify build as its target to build it dh_auto_build without any arguments will execute the first target in the Makefile. , you create an override_dh_auto_build target to enable this. override_dh_auto_build: dh_auto_build -- build This ensures $(MAKE) is run with all the default arguments given by the dh_auto_build command plus the build argument. If the Makefile in the source for gentoo requires you to specify the packageclean target to clean it for the Debian package instead of using distclean or clean targets, you can create an override_dh_auto_clean target to enable thit. override_dh_auto_clean: $(MAKE) packageclean If the Makefile in the source for gentoo contains a test target which you do not want to run for the Debian package building process, you can use an empty override_dh_auto_test target to skip it. override_dh_auto_test: If gentoo has an unusual upstream changelog file called FIXES, dh_installchangelogs will not install that file by default. The dh_installchangelogs command requires FIXES as its argument to install it. The debian/changelog and debian/NEWS files are always automatically installed. The upstream changelog is found by converting filenames to lower case and matching them against changelog, changes, changelog.txt, and changes.txt. override_dh_installchangelogs: dh_installchangelogs FIXES When you use the new dh command, use of explicit targets such as the ones listed in , other than the get-orig-source target, may make it difficult to understand their exact effects. Please limit explicit targets to override_dh_* targets and completely independent ones, if possible.
maint-guide-1.2.32/doc/01_start.xml0000644000000000000000000005240212256550103013616 0ustar Getting started The Right Way This document tries to describe the building of a Debian package to ordinary Debian users and prospective developers. It uses fairly non-technical language, and it's well covered with working examples. There is an old Latin saying: Longum iter est per praecepta, breve et efficax per exempla (It's a long way by the rules, but short and efficient with examples). This document has been updated for the Debian &base-release; release. The document assumes you are using a &base-release; or newer system. If you need to follow this text in an older system (including an older Ubuntu system etc.), you must install backported dpkg and debhelper packages, at least. One of the things that makes Debian such a top-notch distribution is its package system. While there is a vast quantity of software already in the Debian format, sometimes you need to install software that isn't. You may be wondering how you can make your own packages; and perhaps you think it is a very difficult task. Well, if you are a real novice on Linux, it is hard, but if you were a rookie, you wouldn't be reading this document now :-) You do need to know a little about Unix programming but you certainly don't need to be a wizard. You can learn about the basic handling of a Debian system from the Debian Reference. It contains some pointers to learn about Unix programming, too. One thing is certain, though: to properly create and maintain Debian packages takes many hours. Make no mistake, for our system to work the maintainers need to be both technically competent and diligent. If you need some help on packaging, please read . Newer versions of this document should always be available online at and in the maint-guide package. The translations may be available in packages such as maint-guide-es. Please note that this documentation may be slightly outdated. Since this is a tutorial, I choose to explain each detailed step for some important topics. Some of them may look irrelevant to you. Please be patient. I have also intentionally skipped some corner cases and provided only pointers to keep this document simple.
Social dynamics of Debian Here are some observations of Debian's social dynamics, presented in the hope that it will prepare you for interactions with Debian. We all are volunteers. You cannot impose on others what to do. You should be motivated to do things by yourself. Friendly cooperation is the driving force. Your contribution should not overstrain others. Your contribution is valuable only when others appreciate it. Debian is not your school where you get automatic attention of teachers. You should be able to learn many things by yourself. Attention from other volunteers is a very scarce resource. Debian is constantly improving. You are expected to make high quality packages. You should adapt yourself to change. There are several types of people interacting around Debian with different roles. upstream author: the person who made the original program. upstream maintainer: the person who currently maintains the program. maintainer: the person making the Debian package of the program. sponsor: a person who helps maintainers to upload packages to the official Debian package archive (after checking their contents). mentor: a person who helps novice maintainers with packaging etc. Debian Developer (DD): a member of the Debian project with full upload rights to the official Debian package archive. Debian Maintainer (DM): a person with limited upload rights to the official Debian package archive. Please note that you cannot become an official Debian Developer (DD) overnight, because it takes more than technical skill. Please do not be discouraged by this. If it is useful to others, you can still upload your package either as a maintainer through a sponsor or as a Debian Maintainer. Please note that you do not need to create any new package to become an official Debian Developer. Contributing to the existing packages can provide a path to becoming an official Debian Developer too. There are many packages waiting for good maintainers (see ). Since we focus only on technical aspects of packaging in this document, please refer to the following to learn how Debian functions and how you can get involved. Debian: 17 years of Free Software, "do-ocracy", and democracy (Introductory slides) How can you help Debian? (official) The Debian GNU/Linux FAQ, Chapter 13 - "Contributing to the Debian Project" (semi-official) Debian Wiki, HelpDebian (supplemental) Debian New Member site (official) Debian Mentors FAQ (supplemental)
Programs needed for development Before you start anything, you should make sure that you have properly installed some additional packages needed for development. Note that the list doesn't contain any packages marked essential or required - we expect that you have those installed already. The following packages come with the standard Debian installation, so you probably have them already (along with any additional packages they depend on). Still, you should check it with aptitude show package or with dpkg -s package. The most important package to install on your development system is the build-essential package. Once you try to install that, it will pull in other packages required to have a basic build environment. For some types of packages, that is all you will require; however, there is another set of packages that while not essential for all package builds are useful to have installed or may be required by your package: autoconf, automake, and autotools-dev - many newer programs use configure scripts and Makefile files preprocessed with the help of programs like these (see info autoconf, info automake). autotools-dev keeps up-to-date versions of certain auto files and has documentation about the best way to use those files. debhelper and dh-make - dh-make is necessary to create the skeleton of our example package, and it will use some of the debhelper tools for creating packages. They are not essential for this purpose, but are highly recommended for new maintainers. It makes the whole process very much easier to start, and to control afterwards. (See dh_make 8 , debhelper 1 .) There are also some more specialized but similar packages such as dh-make-perl, dh-make-php, etc. devscripts - this package contains some useful scripts that can be helpful for maintainers, but they are also not necessary for building packages. Packages recommended and suggested by this package are worth looking into. (See &devscripts-readme;.) fakeroot - this utility lets you emulate being root which is necessary for some parts of the build process. (See fakeroot 1 .) file - this handy program can determine what type a file is. (See file 1 .) gfortran - the GNU Fortran 95 compiler, necessary if your program is written in Fortran. (See gfortran 1 .) git - this package provides a popular version control system designed to handle very large projects with speed and efficiency; it is used for many high profile open source projects, most notably the Linux kernel. (See git 1 , git Manual (&git-doc;).) gnupg - a tool that enables you to digitally sign packages. This is especially important if you want to distribute it to other people, and you will certainly be doing that when your work gets included in the Debian distribution. (See gpg 1 .) gpc - the GNU Pascal compiler, necessary if your program is written in Pascal. Worthy of note here is fp-compiler, the Free Pascal Compiler, which is also good at this task. (See gpc 1 , ppc386 1 .) lintian - this is the Debian package checker, which can let you know of any common mistakes after you build the package, and explains the errors found. (See lintian 1 , Lintian User's Manual.) patch - this very useful utility will take a file containing a difference listing (produced by the diff program) and apply it to the original file, producing a patched version. (See patch 1 .) patchutils - this package contains some utilities to work with patches such as the lsdiff, interdiff and filterdiff commands. pbuilder - this package contains programs which are used for creating and maintaining chroot environment. Building Debian package in this chroot environment verifies the proper build dependency and avoid FTBFS (Fails To Build From Source) bugs. (see pbuilder 8 and pdebuild 1 ) perl - Perl is one of the most used interpreted scripting languages on today's Unix-like systems, often referred to as Unix's Swiss Army Chainsaw. (See perl 1 .) python - Python is another of the most used interpreted scripting languages on the Debian system, combining remarkable power with very clear syntax. (See python 1 .) quilt - this package helps you to manage large numbers of patches by keeping track of the changes each patch makes. Patches can be applied, un-applied, refreshed, and more. (See quilt 1, and &quilt-pdf;.) xutils-dev - some programs, usually those made for X11, also use these programs to generate Makefile files from sets of macro functions. (See imake 1 , xmkmf 1 .) The short descriptions that are given above only serve to introduce you to what each package does. Before continuing please read the documentation of each relevant program including ones installed through the package dependency such as make, at least, for the standard usage. It may seem like heavy going now, but later on you'll be very glad you read it. If you have specific questions later, I would suggest re-reading the documents mentioned above.
Documentation needed for development The following is the very important documentation which you should read along with this document: debian-policy - the Debian Policy Manual includes explanations of the structure and contents of the Debian archive, several OS design issues, the Filesystem Hierarchy Standard (FHS, which says where each file and directory should be), etc. For you, the most important thing is that it describes requirements that each package must satisfy to be included in the distribution. (See the local copies of &policy-pdf; and &fhs-pdf;.) developers-reference - the Debian Developer's Reference describes all matters not specifically about the technical details of packaging, like the structure of the archive, how to rename, orphan, or adopt packages, how to do NMUs, how to manage bugs, best packaging practices, when and where to upload etc. (See the local copy of &developers-refpdf;.) The following is the important documentation which you should read along with this document: Autotools Tutorial provides a very good tutorial for the GNU Build System known as the GNU Autotools whose most important components are Autoconf, Automake, Libtool, and gettext. gnu-standards - this package contains two pieces of documentation from the GNU project: GNU Coding Standards, and Information for Maintainers of GNU Software. Although Debian does not require these to be followed, these are still helpful as guidelines and common sense. (See the local copies of &gnu-standard-pdf; and &gnu-maintainer-pdf;.) If this document contradicts any of the documents mentioned above, they are correct. Please file a bug report on the maint-guide package using reportbug. The following is an alternative tutorial documentation which you may read along with this document: Debian Packaging Tutorial
Where to ask for help Before you decide to ask your question in some public place, please read the fine documentation. files in /usr/share/doc/package for all pertinent packages contents of man command for all pertinent commands contents of info command for all pertinent commands contents of debian-mentors@lists.debian.org mailing list archive contents of debian-devel@lists.debian.org mailing list archive You can use web search engines more effectively by including search strings such as site:lists.debian.org to limit the domain. Making a small test package is a good way to learn details of packaging. Inspecting existing well maintained packages is the best way to learn how other people make packages. If you still have questions about packaging that you couldn't find answers to in the available documentation and web resources, you can ask them interactively. debian-mentors@lists.debian.org mailing list. (This mailing list is for the novice.) debian-devel@lists.debian.org mailing list. (This mailing list is for the expert.) IRC such as #debian-mentors. The more experienced Debian developers will gladly help you, if you ask properly after making your required efforts. When you receive a bug report (yes, actual bug reports!), you will know that it is time for you to dig into the Debian Bug Tracking System and read the documentation there, to be able to deal with the reports efficiently. I highly recommend reading the Debian Developer's Reference, 5.8. "Handling bugs". Even if it all worked well, it's time to start praying. Why? Because in just a few hours (or days) users from all around the world will start to use your package, and if you made some critical error you'll get mailbombed by numerous angry Debian users... Just kidding. :-) Relax and be ready for bug reports, because there is a lot more work to be done before your package will be fully in line with Debian policies and its best practice guidelines (once again, read the real documentation for details). Good luck!
maint-guide-1.2.32/doc/09_upload.xml0000644000000000000000000001273312255575137013775 0ustar Uploading the package Now that you have tested your new package thoroughly, you want to release it to a public archive to share it.
Uploading to the Debian archive Once you become an official developer, See . you can upload the package to the Debian archive. There are publicly accessible archives such as which work almost the same way as the Debian archive and provide an upload area for non-DDs. You can set up an equivalent archive by yourself using the tools listed at . So this section is useful for non-DDs, too. You can do this manually, but it's easier to use the existing automated tools, like dupload 1 or dput 1 . We'll describe how it's done with dupload. The dput package seems to come with more features and to be becoming more popular than the dupload package. It uses the file /etc/dput for its global configuration and the file ~/.dput.cf for per-user configuration. It supports Ubuntu-related services out-of-the-box, too. First you have to set up dupload's config file. You can either edit the system-wide /etc/dupload.conf file, or have your own ~/.dupload.conf file override the few things you want to change. You can read the dupload.conf 5 manual page to understand what each of these options means. The $default_host option determines which of the upload queues will be used by default. anonymous-ftp-master is the primary one, but it's possible that you will want to use another one. See Debian Developer's Reference 5.6. "Uploading a package". While connected to the Internet, you can upload your package as follows: $ dupload gentoo_0.9.12-1_i386.changes dupload checks that the SHA1/SHA256 file checksums match those listed in the .changes file. If they do not match, it will warn you to rebuild it as described in so it can be properly uploaded. If you encounter an upload problem at , you can fix this by manually uploading a GPG-signed *.commands file to there with ftp. See . Alternatively, you can use the dcut command from the dput package. For example, using hello.commands: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Uploader: Foo Bar <Foo.Bar@example.org> Commands: rm hello_1.0-1_i386.deb mv hello_1.0-1.dsx hello_1.0-1.dsc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) [...] -----END PGP SIGNATURE-----
Including <filename>orig.tar.gz</filename> for upload When you first upload the package to the archive, you need to include the original orig.tar.gz source, too. If the Debian revision number of this package is neither 1 nor 0, you must provide the dpkg-buildpackage option -sa. For the dpkg-buildpackage command: $ dpkg-buildpackage -sa For the debuild command: $ debuild -sa For the pdebuild command: $ pdebuild --debbuildopts -sa On the other hand, the -sd option will force the exclusion of the original orig.tar.gz source.
Skipped uploads If you created multiple entries in debian/changelog by skipping uploads, you must create a proper *_.changes file which includes all changes from the last upload. This can be done by specifying the dpkg-buildpackage option -v with the version, e.g., 1.2. For the dpkg-buildpackage command: $ dpkg-buildpackage -v1.2 For the debuild command: $ debuild -v1.2 For the pdebuild command: $ pdebuild --debbuildopts "-v1.2"
maint-guide-1.2.32/Credits0000755000000000000000000001001612255311641012211 0ustar #!/bin/sh sed -n -e "s/^@.* <\([^ ]*@[^ ]*\)>.*$/\1, /p" < (Original author) - Osamu Aoki (Care taker and recent author) - Craig Small (Major help for squeeze version) - Raphaël Hertzog (Major help for squeeze version) ============================================================================= Notable Contributions: ============================================================================= - Jaldhar Vyas - Will Lowe - Christophe Le Bars - Frédéric Dumont - Zygo Blaxell - James R. Van Zandt ============================================================================= TRANSLATOR's LIST ============================================================================= This is the list of the translators who contributed to translation activities. They are the ones who provided very precise review of the original English text and also provided good improvements to the original text. The package maintainer understands that the person with ** are the currently active ones who cordinate translation of this document. If you find any descrepancy from the reality, let the package maintainer know the situation to update this list. * Catalan: @ Innocent De Marchi ,2010 @ Debian Catalan l10n team * German: @ Tobias Quathamer , 2010 ** - Frank Lichtenheld - Erik Schanze , 2005. - Eduard Bloch , 2000, 2003, 2004. @ Debian German l10n team * Spanish: @ Javier Fernández-Sanguino Peña , 2003-2010 ** - Innocent De Marchi ,2010 - David Martinez @ Debian Spanish l10n team * French: @ David Prévot , 2010 ** - Frédéric Dumont , 1999-2005. - Mohammed Adnène Trojette , 2005. - Paul Wise @ Debian French l10n team * Italian: @ Calogero Lo Leggio , 2010 ** @ Jacopo Reggiani , 2010. * Japanese : - 八田真行, Masayuki Hatta - 佐野武俊, Taketoshi Sano @ Satoru KURASHIKI ** - Takeshi Abe @ debian-doc@debian.or.jp * Korean: (outdated and removed.) ! 류창우 ! 양유성 * Polish: (outdated and removed.) ! Paweł Tęcza ! Pawel Tecza @ Marcin Owsiany @ Wojciech Zaręba * Portuguese: (outdated and removed.) ! Mahdi ! Priscilla Pimenta * Russian: (outdated and removed.) @ Михаил Соболев ! Алексей Выскубов * Chinese (zh_CN): @ Aron Xu - 李凌, Ling Li * 郑原真, @ Chinese (simplified) * Chinese (zh_TW): [ Note: This is now created by the automatic conversion from zh_CN to zh_TW using the external opencc program and the internal cn2tw.sed script.] Chinese (zh_TW) conversion by: @ 陳侃如 - 青木修 (I do not speak chinese.) EOF maint-guide-1.2.32/script/0000755000000000000000000000000012255311641012174 5ustar maint-guide-1.2.32/script/cn2tw.sed0000644000000000000000000000317512255311641013734 0ustar # Run this after opencc autoconversion, sed script shoule be run in this order: # doc content substitution s/簡體/繁體/g s/maint-guide-zh-cn/maint-guide-zh-tw/g # opencc bug work around s/在綫/在線/g s/發布里/發佈裏/g s/綫索/線索/g s/裏麵/裡面/g # idiom conversion # Left: string auto-converted from zh_CN to zh_TW with opencc # Right: better string to use under zh_TW # manually sorted list with longer one first etc. s/軟件包/套件/g s/軟件/軟體/g s/二進制包/二進位套件/g s/二進制/二進位/g s/源代碼包/原始碼套件/g s/源代碼/原始碼/g s/歸檔文件/壓縮檔/g s/文件/檔案/g s/文檔/文件/g s/內核模塊/核心模組/g s/內核補丁/核心補丁/g s/內核/核心/g # auto sorted list "sort" s/下劃綫/底線/g s/主頁/首頁/g s/代碼/程式碼/g s/信息/訊息/g s/分發/散佈/g s/刷新/更新/g s/半角/半形/g s/卸載/反安裝/g s/參看/參考/g s/圖標/圖示/g s/屏幕/螢幕/g s/操作系統/作業系統/g s/擴展名/副檔名/g s/數字簽名/數位簽章/g s/示例/範例/g s/社區/社群/g s/程序/程式/g s/老板本/舊版本/g s/自檢/自身測試/g s/解包/解壓縮/g s/解釋型/解譯型/g s/配置/設定/g # One character ones which needs to be careful s/棧/堆疊/g s/宏/巨集/g # Special exclusion rules s/\([^區]\)域/\1欄位/g s/\([^倉]\)庫/\1函式庫/g # formatting fix only for maint-guide table s/3 函數函式庫調用 系統函式庫提供的函數/3 函數函式庫調用 系統函式庫提供的函數/ s/7 巨集包 例如 man 巨集/7 巨集包 例如 man 巨集/ maint-guide-1.2.32/xslt/0000755000000000000000000000000012262527717011675 5ustar maint-guide-1.2.32/xslt/debian-openlogo.png0000644000000000000000000007201512255575137015453 0ustar PNG  IHDR]gbKGD pHYs  tIME  ' ; IDATxwUI2I.ҋ"*6@D, X *(TDEI2s?·Lv󻮷If9yNy1@A'  2 А>r  L1B BrI8Mbt$pBǞʝpCo Q ν*f*\eRnBȐ;L:D=),¿ùļr9_i.0e3AFClBB\f+J^ ҁQT Rfjn N8WxZ;!aPVP`=*3J3l[kaFQ F!4E DŜ(N{f x8Q|pdYZUk,` X1an#(;w_7Ӻ7sÑ[CԨAx۾lAg<EAm=`~RIpЀ`xeh"kfsAGpKm &GCޠi? z=& N/AF(ol{׋Fy286"G Dمn1 &ˀjhz/Fv‘U61#^ B^MABp*=_FMsUHZ4NwI`~`Ncg0A NqAaѷAHr2-fkp[ 7)28'F^ иF]  x4v's 0^ !jf? euމFqD鏐;z@ "]2N~׿uM f";,0^"] T '~ EbČ!A0^׉4!@A:Izn9Dvv'PD>5ѓ A2q| ˯{" hNjČQI92Y;J,0^"IM| B=(xd e+QO#~-fw~BMr4 HQ|Ҿq8dFă ~vnśQw8-5 p0v]1?4IQ$$ABx3 #߁iN񛧞lFĈ[40 {^xpd6hґ ! c` }8xdG˝oCY̡GD( foD2f9u(ya APB8%(U:m+ IW\R!:RB.㗍Rc% jôڟ9P`CBy^2܎ﷃ$qf!8g ;س 2u9 $h 8ywLG[9F ^UYl5 7@ҲIEmêHd a?A49Q/d j`8rJpP`CW/ kI 2"){{^4Dm8$~>r 97p{$/H@@3vw $ṏHB5VֆIv$.=I 2_u.Nl#͎m\\E`,)k^-gL/ Y=`N\6oCmSc/AqZ 荐;FP.M@_/jjTlHs=5 q.jV_ ߗg Х uM#@7"膋MF9Ⱥi0oɊ \K)<q:c; c|jELW>5?N)BT(!8pHR`߅b ?@fÆSÑLQp8NWz?FsoBl/HH@9:Dxz_Gq'bľ~?&F $Q:8y0mкp'T]ӑqc9Gau,RBsqϧ(aEGS5 ۏb~ǦՠmRj7@yCy%3}̣Y 59hbÑ9ڴ8.˜2NtOF|(oG}剴8*>XC1)`0ۅS\AZ̈́ʹ,C ʔK]#-aCYA!Q>}1cfs*=x}0A1Rg+8~ A/өTDC4-=@ f]x5Fн-{ff,X~{"j3@!;!xsCqQ໨Zg!)YL $AP>c$!Ɂhg]FAxDcagRmAɋ_PCQ oa#?}:W'$Rc'9 =5E G<,H4̃PwTՠ$<ˉZ>>5E ɑ!W 1hMh"1Qb;rM/^}E:3h( ΢ʦ N9y^'d7;>QDѓQ#Q_d]9UkG\6Ŀ"@@4*qCTY|{1IBE4?p(e&xPH?0̃hRE"(d"j 2Fmv0ܠϖ\^lĝMbZ/.hvɈ~@Ɏ+@Ow  ƼC3|l*SP㐁xEq! WF}1!u %#| mRb^ҿ T+5xw% pd{<$FBwQ>I̫6w4<*欦!R "ޟ-bQLr jHIj,wa@ʚ|Mz $)(d[sZ>8Vտy) =iSc >1eӿ!Q/6M;9AsE"e+&j(oHRMྗB"b4T-L C.ҡ\:0vT^$SC~C9`U L a߄Ϙ -w ޠt0>%2RԲ7 K@ӷ!nH[p7~VlH0 \}pT@>w\ Ȍ tjY2}-ex=b^J &TVEJ^ ڸԬ5kvx- )sՇ̃{b^ߨz5AbY'-7P[zfMdF4E(|b?^ kz{$D'@^4j☰t%wkS;}:2qQ@±]7 r =: i3$80NªE.ϞbsMcqZҁO4n,/8h㐺q* NQQ5 p} |e !@W/zwTD`ȸ[kA GAޣP$Wv_WB pU^=D;sjBxQ_z|h[!d+"2d^HבD@~ ]˲ٽ)嘗3A VzڲdBoA"(D?j9,~Pv3>}thM iDC鴥޹@gaކAK4th>/B"l˟Cz& 80 E-1tIZߜAS`^Wm`&%8:c$AF' a޲[Q"YC𡔏(yKX@f!! i5N=ma^;"G FޮΎYm+kw ~mmzjV@@n.^[V=nRhѼ9VD݄²1+Ӗ"1UAl^"š~BNßt;`^hJSXG]xK88QHޠpAJ ;#ѣzT} qo=ȱMvEæz;w=Lk)3yBSX.Cl7:ZOhԆ3emtNMW3 U_"Y "]IDȀ XPjT|pTc*?Lq8N#-Eu=y~l%=#d }dޅW|T~N~La=9v hc1dzޥYAka‡Ft}Ut Y(}KV+x{˒ o?'T6 5{Q!Qx_o9e|{%@l0jw @chsS1Ɏlݑ@?4(P$+w@~& T|S<) 6K5(z#շK'zK5zX.-l;z:EG fP)dļ2HvΩPvHNp=2v^搁SE[Y|&Hu$_$@ @lS ;ʒ ryc~psȈ|j:"QЦ2 6π65p:qè^Ll IkEG{A~(2wGta`p"x@'PNC!ȱ6UHL;}88ooX4^ !W!"wk7i\ǴwĿtS }:9O~awNuq@ܻ,9hSc!"q&M.;UKa5(~SH{p d1SwCҒgMi^Ig}k |z:M _ bDrщP u$;xW]X#3mpxہBȭWB/zvcu.(q?p#;3E".NGP.$d$Tt@雍4nKꇲEԥh'HxWv_) s#@ _9~SFWņH,:0vz0A@Lէ?u?gU43CFku'ꃤ&ɾ MA~MlH+,jx< >#bT_$MBCJ bZvskCE|@.ArZBD0 2yw@׿) y\7Lc AR= l3!GH\9~X=H^< EԢM$PE:9zGA "qU$xW:֪8^%ZdG=d ޡbZ;mH7UAS`sɊ>oԓXD-b$J9lܧU~w ا#Qb{ݣLYCH35H2RtS$ LE{>WaA█p E @D-x׌|t` D)BC͌ qn ;Hriի-YI@WvM)Z0uv{08 !=U ufЊV ?Bニt I'b$2]xIE& SKQw~@rP2E߽ !9_{3A$T|N3"n GIudǿλA 'TK=r{jl2E̛}Ulx&Jeb_2mM1fB0hbHp_282i|j (,`F`#56n.<ILp+8g36" :_{2=8w*8-y#^+ ]F"iIRTyNN:- }gH%Sf ;F&(u՛C:g{{vAƩ>}l{Nxs* fCƟ=3Ȯg!W&EtCQb@gs b-":= Kpvy%N ߤè^A#eɌ/.pk: y@:W* m8060k#N璸d ;h(9+o+\nj`}bټ"e&=adiݳoP6T~ `uՋ77yp\c-D!.zB*„kI@Ns NRWV &Ϻ<0 k~ NҪ,w+mjYTX"4F.‰ڽD`S1gxaΩ[k|XFPDTPé0S%c \ ~ژ ]#7QtCxFIn_5lb!pp'%!7eX[I-9^ OH0#!ʅ h=W v]o20!DPhOѶqkj`s'/|q69ZE;a#z RVM;{Ih Q]k AQq Ľ\Hi͟?v.WQqG>HVD>`~k;AtSy$;25Є1՞ULb#E"i^ K|37Tٌo! KFigq%d *<,גDe$do'9O~ߊV6샊1OGXV PhWSl?9u>UK lhO5obimp"bTss 8 Qo$)CL@@I+Z=̫$΃d J}O׍x ߹ C*w," !!6tP@.n^Sy</1=[6;N曏݁UYYF;.,Ѵi44#Qlj`zi;juG&B_Q?PpoF 6لُ SY[2/G As;7GvJUQb>/"gKHXO~ߒDn]$D|*V zd f>PLM4, q'1'`EȭWBDZ֣pHX~ݏ>22 7eӿ'6`'#c6­V{AB2I**- Vqo<#"1mHY`ٲe358R''fꠛB%(GyH߮P.1 t#Uȱ|GD=;q@$~ u _J]HnrK@<"3e[\ [1"%7\Vf^X#jI}[zim7eUQ}!;j_ Be>]8M?{}lWL“0N*61xg>3ECI]z{kzϵ$<еO (ç7 AP$&Q1-p 0!*L:#+lqŋ)y"Ѷk`?O")Vn yODzuɂ;f#)הs8akb(4 f w/7fP>z4csMR} CB6%L#x`w>nZ7t Q5&lvA)CZ"dHhb Ws(zD<5pлuSq?308A uݫMw%Iw]pn-w* ;͛X܎IB[5ُpIzG&.K7b;²͕]I:B\vd?ҩKO Do?Y!eՋՔsV!3E۟DClߩKs2FuQ*Q0;GLt{-PҤ^ #q4AX8ܰ(@a$Efo'YN+tUȫ/ΜRWAψ4nJ^eR47%`p#3~ HFF¼1Ejܴ-` Y*oO6Lv/u֥#qn'[E#P{қP<4 hdF/3:%]@L ϯ!w,h""4(xxNѦBF܈]x 8؏e>xQl`aAmoxm'd EȀU-!AL"Y!V CAP.gm팛9ܞoEgi5mU"zo=mҶ Õk?c4 $.u@[$[pO:짐-/KrQd/AvD8QcqpH9eo~^7l Ih}P3aC{d &:/$+Ą vHh"ZxbdT~s(e\ qHOQ$R^A2ca6W$+ZyigvLQ$Fd :3攡kH֓YU7HOJ^:%S/*4Z>8]=vqe䃉(\S3~l̘ۛ5,pU$@1 m c N|f ңŚ(~S|k#|I9:>?R+ʐg#gW|.~ԕxSdE e  0QDZ Wr@i: "K**358aCBS D #kРz,5ӆ(||>RVXkY<@S2|]$2?cVѴ,dFl~V; ¬hW=ӝ֑p!ȇХ')&+hڴm!&Yj_BX~ڋ\P5w"WD<mJ 婢$p1\XғSCƩ!"gu&U Cg,dd~2w+p,Ef06t/xZc0o܋G-zf)hS9)dd n Z{SCBz;#lX/6i͟MEo!טqõN؏i"!H( 8y 9H35T-NԢݕ8yd؏?_U HszTѺr!C5?3CWGKjuͳΒ+LgAV́{[O8݂śZüvW%N4]Sy~I72H!P3qE#', 1U :?~v&oy@1ȺrT,X!T Х'IBXB֕O{8w^G6ӾAHļz{=ӦH~9?}ͳ`|X0"ׇ7i=eE¼oT~xQQB{iHoj<;C{4m$L?~ AHx,z$}1)E78% } y5"!I5Kg| Q7W!+(жCʪkM9@82rIG׈?1S'1y8QcGxuG0'/ bhkƱl=kתWl  v)}׭f+'KPp5 N# vT1 |ʅ?y֗ٝh 1 dvwyJ S`ݑ fwOS,8q880jg`dhbЦł5iMS\bA.\V gA9,‘U Z]l]$+z Qn:HO{i4a'IK8Q-3dRu":/`I9\yЬE'i3_ƞ!K5[?]jԧ+FGQ=CP)Cx<m-־B=ydAA;H67üoԬ3zlEcEdMdGiڳ+H sY2]ٷ"CHP~:zֶ^&u_ iqg?FP|;j{. ExIy5BTv *=GVjaz!IPQ<~w]q02-oϙĞ˶vU;(,i&+2 tqzvA+\A4R2sJ^\uɌ :Q,^?qrH^1!\l3 0 08qZp::?\QW^hSzu^ iJy8aU2{>ITQ쌅s&<;R~xd_>SiN8K*2yp1-FvеM'σ #t4B iupK8qJMFQ]q)_B+H$ pGRju7hx=Me %/B߃Y; 㵝3u=ړHQǴ8ĆH\~܅Wy^`sC1B[k !xz;j8@zwi Mt.!Y7\US>Hv:-Bn#dH/}Kd *໨^;?3Hp1 'ez'J_[ l>ق1(v _s)e 6w) G4'?_PmN/$D9%d8hgNS220h#k;r8ruL8UAp Ok&D쬑O "⽕püo-8 nN2 @pu{D>9d:IN crFIHV. -8rJaٸUp@41T]xZ'"Wѡ$ A3p: j$oHx | Jtmi]5)p| 2@ bTF}}gq% O@SX^&7$/DA6F}ga Oz/0KoD3A4![KȜ24 KT5ਫ਼A1!nփ^lC SHE I{ @;~1f({ $aZ9dP*Ҟ 2("tpyFi6/@ޏNEH| v Mk c(Nt뵓$[][?xj32h* 2xѰ+_SBJ~-œ>>A=}Bީt^4t2 2@$!OD& $ ˅xш$  Db^ϫ/~S& &vay D/U8{G^# $࢐{nVtm%$8/poIl ( (䅡^,#֩$4Ad g 攽 =WH @ji3< 2@"FC '  4sxg*K$]$4Ad FmWAkJHH#`]V} ҁ:BHb3]~"z6P 3a7 K"ѨP*Ff8/leNa]G"AH4m±]iX@H {@WxmG,| sa޸ X$ IDAT  D< fSEۯ"  D42\X,N+@.5|* 2@Ձnu o&q  d4ah0Iav& $`MREw3" G%}  t"TDl{OzU#cYڅUvԻAI2@Qi, HC i|?A7^ڿ`Z ,h +Ⱦ~r-fw;p: KE N!vJU%'ju8 2B?߂)ÆA:>'Q i6&MW$¡Qw 35Dqey|&9;k$lsHYLd D VczvLJ";DB=s~G @1&GLā_" A͈_pU;@QȾ @6vouS3@''.y&fMa5S^ԫx7h] @@Ʋe?}(j"QDs ")fH? X8x?̿# ""`a;bj&dCؐkDui/APB$FMW0\^MGͪ8݌YߝaZAPBEU.F$VZ #C @@?3Uj.u0GжW? AMag2r>8NIv$.m+2 !8.MF0=t lX/{iKd Di5NY2yt-(yi19%-AJ7Ak ;dߗ,hV_PlqQ~D<ϵ# |rLGͲDgRbH0'Nz|-Ezk$G |bw"oT~K#ѤDYb\Z !:'щ ;8)k_F P$Ǘt"3^T|9_/5""iKsny4"+f$ |/FF|hb)A9p:bpDM'>߈᳑~dtd"AB`/00ތ#i>&G` !  B_AbDBhwA%")U_o/<2Cж#a h.ȕfNeo~ ^oAAE }3Jd Ds(y~AQSHv"4$(A͆S-Wrb=rb3!{7c"2Rbw;b.IhKoR(*EiBbAB@ED D%tH 5$!!H~ ){Ͻ{ws>ϳ#Μ;wwfΜɋKA[,Tr{#)^ã%H[s\ һ)܇vkLaaJ+!mQ=mz&Z]sVNWaX@RIk>qnC^]Cu,XE`rE~ VvTaaJ ,?9'!uAh`+{{=mr K(;;NW۝}0, Li"/: + 9 ik 14N':]~6+X̠v [p) ÔtiY7r%#hCS7MN6/ ߀<#4 `eOfa I o'&2, S65h;D0NmZ@ddCQ.#MjµosNȰ0 0̳ 0 0 0 ð0 0, 0 0 ð0 0, 0 0 0 0, 0 0 0 ð0 0, 0 0 ð0 0, 0 0 0 0, 0 0 0 ð0 0, 0 0 ð0 0, 0 0 0 0, 0 0 0 ð0 0, 0 0 ð0 0, 0 0 ð0 0, 0 0 0 ð0 0 0 0 ð0 0, 0 0 ð0 0, 0 0 0 ð0 0 0 0 ð0 0, 0 0 ð0 0, 0 0 0 1?^S!aýi?7Cáq v 0L  @SKTð0 S8I/AO{~ks3wz)Wg'1@F #]4ǰ5N0[nERRR?;"a0rXD#GϏ E>}\cx{ے_V{4hn8 Xz5Zl5jDPP h0ydJNE/xn$4'9ė1=67nÇ¿5mڔ[!Bh4<~Xd =zT4" )+$/"Έi6'cSbX@dGdd$֯__ߺs ٳUߖ)S0WGIXۻ"xT;Oa΃hDEEa׮]3Ȇ/ #Ǯ]pU^/^4*U ? +meH$6hE.c#^cX@fɒ%ػw/nݺׯ/*UVQx!pyܺu /_ƵkpyH_bE??*ZDx<#aƬ7:99!;;f|||8ergggу!ZYVF.7;SWq2, B{\r"7ߤu:Oܥ@8bʦOڽ17JFEbN:"d<==K߼ 6 f{lm a15+);;R㷗w Vu$Dt98=pCdX@Rre6x 0&OLfMV84jMDj'3aPaaoº#AΝ;(L ȫV-> \5_©5<R(/JKB?*zьQe%Fgrm6\8ڊaŅ;1|G"?gdQHfsڋYXL}{_67N,KH5w@<br%4t:r{j b0, rB1I *"Rc4D1OdX@dbS&e8^^^<CD vD (: V-@ZI b4k֌`"ð3›/aښ0, #aX@aHRpuue'0 áod;20$$$XL]83888l.]ݻw_/_<w֮]Q9w'|+Vv?~ٸ~:VZprrB@@-C@N>Hܾ};wD||<>|Xu(_<6l-ZVZҥ ,m߾ׯ_Gxx8"##nЗ/z-ԫW=z0:SLሊիq-dddw...Sz-4k֌l'_aaa8z(`…&-ϱc$$$QPP [[[xxx-[DjPn]k={`ѢEl+557oÇi&u3ի} ${ye#//O,]TtA yzz#FpoIWPP FՊ5kֈvN:7Ve˖I.Q~2d{k41n8)ԊV۶movuؽ{bex ݺu+VWV-1uTq a.9rD;VZ'CYrWOČ3DVVz" ۷WqQEvr45kBNGVM6I.[5 E>}֋G=2Xʼn aÆZjXwZe˖upp}"55U,^X!/~էƍ3A8k. 0f9T" +%%Ǝ;LVF"{ntE5j<-PL;vҥKHKKCvv6nܸavܹ믿wʕ+!%͛8ql6l@ll,}h۶-n޼/mmm |I/_իW7#/B5u ɒG#vRlҠA%bbbHFkqqqYi\*N:%yy_>׭[';k)رd>pAm^rl!t:qmQZ5UҥK&__b!H;w-4lؐ۷6̯WTɬݎ;&"]vU9s}yYyDӉlѨQ#رccL*  *&'*Uw1,V֯__u)u˜3gj|yuyDӉdjҗ7&w}HhgT@׮]#-׌3*EO~ 6ED͛'[_ľ}TGooozt".."_Ꟑ*M."[yWT)vvv%djY&rrr~mےڵFGaڴih߾,双ļyLTR @u7''ݺulg„ de*WQYYYaر.vЁfӦM͛7#**J\?҄hB1,SpuubU[n-VZU=CBB/Lt2~x\/znOT͛7]l,^tsNע5j$} kGL:UW^y|T}->ltGEgB]ݻwr"uZH_0i$ZtN4I߾}[|8e+̙3%Xb~ +>=34 *Wy#o>P65oixMZعw&W96=vؑ1cx_`РA&?Px{{|C\6O~#~d#?QeJB5IOO:T {={im۲2PQ!QIHIV/Dsuu5iӦ3jjMM"jGS45kHF6r;Z...oݺu?~"_M2}QzuL8ڵkm3'TTڵk25nX +++i\24s8w ϟpuuU~aaaWodR Ů/^uR`sΪ*OڵIWR۷o' K.|^zb͛7+ưa̦'OT={NjoӦMDժU%ۈ%+hF q#SԈ9o$%%W_FqF*륊̙3G֨ gΜ^&j֬NjJ+ GGGY?EohJ)矒V!F!Ɇ\!E1rHYӧO ([ʣlۖ% 7nܐl$9:C:}t/???EUJ!5`\\\P|y}2h R=^(Pf)G իWWR1ټyd3g4ɦ>Ժuw>\V[[[E}#u=*??_~駊777+6>[C^"+3-WbEe0-c H%Klll9)~vJf+++$υCS#mP-$SҬY3E#wtS9qAjs RB-aұcG2[`}QbH[:mL F4u:t@"x>́gEDSGLL"Q:"}wCj>(MuuVQ J(SlS^=U]BjFI4iDqPBUuȨi^|jٳˢǏKmEVdR KvIDAT]f͚FdcximJ q222p֭///ECMI2eO֭yJ*MQgV;%"7(qQ\|Ǐǃ=>m$ TΈ4ϟ7r?x@ %(j J*)+VÇڛ)V8@}QCk,vޝ@Onݺ02%&/' 0(ĨSQ0@KRMRԩy. =gkn޿Q4G1cp%vSP3RR#9TX6\+sNG iiiȝAnb)!РAsGbk9ӚCחŃ1L@-Yx,i=L˺uЮ];vcxAr\!=)O\^)))F gXxt*YXlٲ>|;vĔQJ<1oLu25j0r7feVT. ԍ%·Ν;]ɲP30w\n̥M@rXYz4жlҬRy+\#R'%%o%px{{RVɉĘÍ7$ 1|X[[Uy Fby8v올e5CJPp`ٙ^ݔ1vl6Y}FBek N*o"mx c*(FsQ!gvzשSa֭m :l.ի+zv}RRdT3LB5{Xgu֍Ni>WDmDGGKa.tC%늖911:{Ŏ@vK[Ț=l{)ZW~)ZfRjcN$$$(vǏsS {'G %111&mKll,7Rs^zĠt\G2t=U\|Y ?x9U/1P;7Lunŋc6u5ǑoDD7RsȊE+A1/ƞio~Wn}&y5RM{n PE+qUE5g2͓K̙3d 7n}}m@v8K,dQFdo|m b#3gdIuF O?!**Jn߾١W^dѣ(0駟$w \ՆDNSbZ{ͪ}d@#lR3tArʔ)dCy!u144:  {׮]?S6q"04Q, Fɧ9ׯOjs֬Y!qqq}6mBz8p&N=L|7u'N$<޽xUFb'//=YG/իW1p@շ!sO?M6%k.|W0f>:WXXȆ?$$$HYf i4m۶%5j(DGGիdQrd= >~H9cԩS_ȝ-[k׮8Øݻw/LZ {hBbÌo޼Ir.ԩ1`t^■P|Z~}$''K~u-ߝ1h tvٌ6?;wA`С۷l06J*&?zӦMpvv6!}Np5I66lؠʺ9rĠ<<++ +VDxx&''K.%ϝ;WZ,.g~FQFaǎEFƬ\C -V\)3mСIbb"TI&)Ξ= 7 :ҧ3^za޽lL<jReaN.]G={D&Mf͚>""Cʶ,yLS6V\(f &"!++K:N8Q 9Y|hѢs/E'NBѰaCY,~?>ߖ,Ybnbbʔ)bڴibڴi`;3gBѵkWIqww'{n}/?$)Y _U/d Fb=[_%WWWbΜ9d[-ȑ#;ܿ{zzy-U2Ν ɡ]YRMpgϞ.\̟?7ꌠ}888iL>&LmHQx6SʲnGOިɖRCʽFm߾]r|Xt)-Cv?WJ>&}ٿ\˗/Sh۶m S`Y;16mѶT^4U%Ti\ mOCر#wnTڝ%e$'jժHMM%[6WWWi)J* Y뇴4x5?aDGGOR odd$QR%K($ Yv&}Ba3V>x'''ܿ;vT/_111([lq*]\]]_aΝ/{jC7VZʕ+XhIO}U$غu+Fڴi$8::*r?~;${}?PX߱cݺu+ 'O$/"{իE:uTv"?w\aooo6V^^^bXYYfJr͛"ŤIH[XZy{?'op/, O&APΝ;'FNwʕ%>x矋Zj gϞjѣ1$$.Rӧ?v'cnj#/.\(k[ $~C#dxblݺ7F׮]n"Ƣԗ;vѣXliC7&Olԁ4WŋA;N:aѪ>kذ S UVEj+@+++ؼWӡVVVؾ};nݺ%k{MLL… `Ivʕ+ѣG?Q߿d9st*W ggghZtVVV|fddÇF] 8P֕^}UB;;KAAt:w^DGGjرϭ" ?ɓpB 7ouq6lQ >ĺuvvv\XYYaΝB-LضmqiT^͚5C6m :H_233ŋCbb".\@5j^z0`|}}U-[wptt$;-.-- ׮]N#K*ovZѣ'ݲeKI&5jz`DV׹Z{k׮F 2 '$KGVVp ̸َtQvba-sFFp 6L9)>==dPiD!&&D||<=zt:xxx@" Ze˖EI"Frr2 \setmainfont{Liberation Serif} \setsansfont{Liberation Sans} \setmonofont{Liberation Mono} \usepackage{xeCJK} \setCJKmainfont{AR PL SungtiL GB} \setCJKsansfont{WenQuanYi Zen Hei} \setCJKmonofont{WenQuanYi Zen Hei Mono} \usepackage{xeCJK} \setCJKmainfont{AR PL Mingti2L Big5} \setCJKsansfont{WenQuanYi Zen Hei} \setCJKmonofont{WenQuanYi Zen Hei Mono} \usepackage{xeCJK} \setCJKmainfont{IPAMincho} \setCJKsansfont{IPAPGothic} \setCJKmonofont{IPAGothic} \usepackage{xeCJK} \setCJKmainfont{UnBatang} \setCJKsansfont{UnDotum} \setCJKmonofont{UnDotum} maint-guide-1.2.32/xslt/style-txt.xsl0000644000000000000000000000472712255575137014415 0ustar appendix title article/appendix nop article toc,title book toc,title,figure,table,example,equation chapter title part toc,title preface toc,title qandadiv toc qandaset toc reference toc,title section toc set toc,title



   
maint-guide-1.2.32/xslt/dblatex.xsl0000644000000000000000000000272012255311641014036 0ustar ( ) maint-guide-1.2.32/xslt/style-epub.xsl0000644000000000000000000000231212262527717014514 0ustar maint-guide.css 4 maint-guide-1.2.32/xslt/style-html.xsl0000644000000000000000000000301312256311014014504 0ustar maint-guide.css index 4 maint-guide-1.2.32/xslt/user_param.xsl0000644000000000000000000000217112255575137014565 0ustar maybe 1 utf8 nohyphen colorlinks,linkcolor=blue,citecolor=blue,urlcolor=blue,pdfstartview=FitBH \input{po/.tex} maint-guide-1.2.32/xslt/maint-guide.css0000644000000000000000000000031412255575137014611 0ustar /* Cascading stylesheet for the Debian Installer Installation Guide */ /* Use grey background for examples */ pre.screen { background-color : #E0E0E0; } code.literal { background-color : #E0E0E0; } maint-guide-1.2.32/xslt/mimetype0000644000000000000000000000002412255575137013446 0ustar application/epub+zipmaint-guide-1.2.32/po/0000755000000000000000000000000012262520141011301 5ustar maint-guide-1.2.32/po/es.po0000644000000000000000000213744312262517545012304 0ustar # maint-guide translation to Spanish # Copyright (C) 2010 Software in the Public Interest # # Changes: # - Initial translation # Javier Fernández-Sanguino Peña 1999 # # # - Updates # David Martínez , 2001 # Ana Beatriz Guerrero López , 2005, 2007 # Javier Fernández-Sanguino Peña 1999-2010 # Francisco Javier Cuadrado , 2010 # Innocent De Marchi , 2010-2013 # # - Reviewers # Alexis Roda, 2001 # Santiago Vila, 2005 # Rudy Godoy, 2005 # Fernando Cerezal, 2007 # # # Traductores, si no conocen el formato PO, merece la pena leer la # documentación de gettext, especialmente las secciones dedicadas a este # formato, por ejemplo ejecutando: # info -n '(gettext)PO Files' # info -n '(gettext)Header Entry' # # Equipo de traducción al español, por favor lean antes de traducir # los siguientes documentos: # # - El proyecto de traducción de Debian al español # http://www.debian.org/intl/spanish/ # especialmente las notas y normas de traducción en # http://www.debian.org/intl/spanish/notas # # Comentarios a esta traducción: # - En esta traduccion se utiliza 'tú' en lugar de 'usted' por # ser un poco más informal de lo habitual. # # Mantener este estilo en los nuevos textos traducidos. # msgid "" msgstr "" "Project-Id-Version: maint-guide 1.116\n" "POT-Creation-Date: 2014-01-06 00:00+0900\n" "PO-Revision-Date: 2014-01-05 22:05+0100\n" "Last-Translator: Innocent De Marchi \n" "Language-Team: Debian l10n Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-POFile-SpellExtra: dhmakeshlibs Vyas localstatedir gz Automake prefix\n" "X-POFile-SpellExtra: Git debc DphLJW prerm patches icons show\n" "X-POFile-SpellExtra: Standard dhlink CURDIR Nov include dhquiltunpatch\n" "X-POFile-SpellExtra: Standards dupload handling Artistic anonymous join\n" "X-POFile-SpellExtra: SourceForge nombrepaquete devupdateconfig dhperl list\n" "X-POFile-SpellExtra: upload iter standards dep Hess gentoorc fhs Index\n" "X-POFile-SpellExtra: force portable quilt diffctx Indep GUI Makefile cron\n" "X-POFile-SpellExtra: Version licenses TuIDclaveGPG DEBFULLNAME rej index\n" "X-POFile-SpellExtra: Lowe dhinstallmenu nano indep section\n" "X-POFile-SpellExtra: overridedhautoclean Public current\n" "X-POFile-SpellExtra: dhinstallchangelogs nombrearchivo net Orphaned\n" "X-POFile-SpellExtra: aclocal dhinstalldirs Changed modify netfort path\n" "X-POFile-SpellExtra: dhauto MD all gr QUILTREFRESHARGS skip ncurse EOF xml\n" "X-POFile-SpellExtra: dhautoclean to init Intent hooks\n" "X-POFile-SpellExtra: overridedhinstallchangelogs zcat dhshlibdeps updates\n" "X-POFile-SpellExtra: gfortran Maintainer Reference quux debbuildopts\n" "X-POFile-SpellExtra: dhtestroot xsltproc personalizables compat hourly sub\n" "X-POFile-SpellExtra: installpackages version new deducirse dpatch Rapha\n" "X-POFile-SpellExtra: Uploading ranges free CMake overrides\n" "X-POFile-SpellExtra: dhinstallexamples autoreconf HOOKDIR Packaging menu\n" "X-POFile-SpellExtra: unpacking changes options EX empaquetamiento Support\n" "X-POFile-SpellExtra: apt vim bashrc href Emacs names aptitude LIBS HOME\n" "X-POFile-SpellExtra: AKA txt zip newmaint perl usr msg QUILTCOLORS\n" "X-POFile-SpellExtra: upstream type prep on stable sbin\n" "X-POFile-SpellExtra: dhinstallinit hints autobuilder mg dhinstallppp DFSG\n" "X-POFile-SpellExtra: mc libgtk setup dev cat dhautoinstall install deb\n" "X-POFile-SpellExtra: root example conf tar YB share hyphenation conffile\n" "X-POFile-SpellExtra: abort tab Policy exclude native Aoki gcc chroot gce\n" "X-POFile-SpellExtra: listarse Format lsdiff diffcctx dhinstallmime Libtool\n" "X-POFile-SpellExtra: overridedhinstallinit PGP reject Conflicts\n" "X-POFile-SpellExtra: dhinstallemacsen config UNRELEASED fp nonet Emil\n" "X-POFile-SpellExtra: gentoo objdump after Request needs Will Fail xzf inst\n" "X-POFile-SpellExtra: fi Autotools arch man mentorsFAQ manager NMUs\n" "X-POFile-SpellExtra: HiWnvJAQG defaulthost IDJVeSWmDvzMUphScg UUSRnjw\n" "X-POFile-SpellExtra: dhinstalllogcheck DESTDIR zZCbHmbvUnL mv ia tvylZkmIA\n" "X-POFile-SpellExtra: get sid GPG eLRoxlnYZd javiedx debuild MAKE bugs\n" "X-POFile-SpellExtra: diffadd maintain libglib Developer sf PNG uninstall\n" "X-POFile-SpellExtra: dhstrip ftpmasters xlib lsm devrestoreconfig\n" "X-POFile-SpellExtra: sysconfig dhinstallifupdown depcomp autocompletar\n" "X-POFile-SpellExtra: hook qItw rfakeroot pbuilderrc fix Howto LEJM ls\n" "X-POFile-SpellExtra: setgid RC policy main Tools then Jaldhar python docs\n" "X-POFile-SpellExtra: dhautoreconf devel Suggests archivobinario Filesystem\n" "X-POFile-SpellExtra: nombredepaquete Pre name changelog fully refresh\n" "X-POFile-SpellExtra: Conventions subset CMakeLists From sourcedir ej Perl\n" "X-POFile-SpellExtra: used Build year Type autoools ftp BEGIN\n" "X-POFile-SpellExtra: dsx intrusivas SGML Josip dhinstallmodules re vcs\n" "X-POFile-SpellExtra: lFpNpl rc preinst rm dsc diffhdr dirs dhinstalltex\n" "X-POFile-SpellExtra: END EK dhinstallpam pub\n" "X-POFile-SpellExtra: standard SHA RFA Architecture org bash genchanges\n" "X-POFile-SpellExtra: Hierarchy sysconfdir SIGNED Makefiles dcut nroff iFza\n" "X-POFile-SpellExtra: mkdir misc xlibs iuFcYwH shlibs dhinstallcron debdiff\n" "X-POFile-SpellExtra: gpl guess php unknown gpg makefile gpc xutils master\n" "X-POFile-SpellExtra: libfoo dhcompress packageclean shell\n" "X-POFile-SpellExtra: dhinstallcatalogs dhdkms GTK Bugs lists postrm PDF XP\n" "X-POFile-SpellExtra: LANG dpkg dhautotest grep target Craig sbuild nnnn\n" "X-POFile-SpellExtra: onlyscripts gnupg reportbug builder ITP pre Fails DM\n" "X-POFile-SpellExtra: debianizado debianizada DD BUGS Subversion Vcs\n" "X-POFile-SpellExtra: DEBSIGNKEYID null BIN lib UploadQueue longtitle sh\n" "X-POFile-SpellExtra: build unapply Package passwd urN debhelper\n" "X-POFile-SpellExtra: overridedhautobuild VCS Debmake scripts sa Autoconf\n" "X-POFile-SpellExtra: lncurses lenny dhicons doc dhinstalldeb Dynamic ONEWS\n" "X-POFile-SpellExtra: QA QUILTDIFFARGS fakeroot clean lcosas sd urgency\n" "X-POFile-SpellExtra: nombrearchivotar splitdiff Wed text maint dhpysupport\n" "X-POFile-SpellExtra: dbs Document dhinstallinfo find DKMS completion\n" "X-POFile-SpellExtra: title with dhbuilddeb patchutils Mon\n" "X-POFile-SpellExtra: announce Bash GPL topgit dh wnpp dependent Hertzog\n" "X-POFile-SpellExtra: watch compiler LGPL baz patch qa mpalmer FTBFS common\n" "X-POFile-SpellExtra: gbp release dselect debconf reference htmlnode\n" "X-POFile-SpellExtra: dhtestdir testing Apps FDL nombreparche var Priority\n" "X-POFile-SpellExtra: Source APT Adoption result Ph CHANGES\n" "X-POFile-SpellExtra: dkms dhautoreconfclean Breaks missing Debhelper\n" "X-POFile-SpellExtra: libncurses import wm dhgconf addmissing debi\n" "X-POFile-SpellExtra: tunombreyapellido joy conffiles emacsen jp packages\n" "X-POFile-SpellExtra: optional uupdate commands Osamu libbar license admin\n" "X-POFile-SpellExtra: Bc docbook delete Brink Contents LkLX Closes ch co\n" "X-POFile-SpellExtra: descomentarse Initial dhinstalludev AUTODEBSIGN cd\n" "X-POFile-SpellExtra: packaging header dancer quiltrc diff cp\n" "X-POFile-SpellExtra: archivoamodificar orig Applications monthly create py\n" "X-POFile-SpellExtra: DEBEMAIL Bug intrusiva pm bzip XSLT ncurses MESSAGE\n" "X-POFile-SpellExtra: autoheader Adjusted NMU dhautotools gnu cvs\n" "X-POFile-SpellExtra: while deps guide dhquiltpatch setuid charmap xvzf vc\n" "X-POFile-SpellExtra: DHVERBOSE CVS INSTALL in dhinstalldebconf buildd FHS\n" "X-POFile-SpellExtra: if binary author Python make lintian dhusrlocal\n" "X-POFile-SpellExtra: DEBUILDLINTIANOPTS URL html pkgs dhmd\n" "X-POFile-SpellExtra: status Handling http Rodin depcheck collab cdbs\n" "X-POFile-SpellExtra: manpages dhinstallwm dhautoconfigure IRC ab nm\n" "X-POFile-SpellExtra: framework patterns command QUILTPATCHES gzip postinst\n" "X-POFile-SpellExtra: unified dhinstallxfonts dhgencontrol proposed ldd\n" "X-POFile-SpellExtra: Release interdiff dhprep dhfixperms maintainer yes\n" "X-POFile-SpellExtra: weekly manpage Gentoo filterdiff help libbaz source\n" "X-POFile-SpellExtra: add save By bin diffhunk Tracking format libc\n" "X-POFile-SpellExtra: packagename sums cf libs like ucf dhpycentral\n" "X-POFile-SpellExtra: dhautobuild NEEDED unstable essential xsl popcon www\n" "X-POFile-SpellExtra: Management dhinstall people Section Javi System jle\n" "X-POFile-SpellExtra: export examples uscan New udeb portables tutorial tmp\n" "X-POFile-SpellExtra: for automake predepende critical pbuilder Uploader\n" "X-POFile-SpellExtra: overridedhautotest timestamps foo Replaces dch FIXES\n" "X-POFile-SpellExtra: Mentors wget bz src argdo package dhpython act gtkrc\n" "X-POFile-SpellExtra: readlink autotools CONFIG op BRiVQubXkB jxCyv dput\n" "X-POFile-SpellExtra: Provides contrib Debconf git JFaCZMJ\n" "X-POFile-SpellExtra: support ICONS jxNrgh dhclean low Ubuntu README icon\n" "X-POFile-SpellExtra: Autobuilder Commands dhinstalldocs TeX dhbugfiles\n" "X-POFile-SpellExtra: pdebuild POSIX Uploads Small squeeze buildpackage bug\n" "X-POFile-SpellExtra: dhinstallman info default lcurses sgml CREDITS\n" "X-POFile-SpellExtra: Depends diffrem ltmain devscripts distclean autoconf\n" "X-POFile-SpellExtra: ex ac DIST SIGNATURE am To intro home NEWS\n" "X-POFile-SpellExtra: sourceforge Homepage check GFNPAf Recommends dhmake\n" "X-POFile-SpellExtra: Description RTFM gettext overridedhautoconfigure nr\n" "X-POFile-SpellExtra: developers revision problems update QUILTPATCHOPTS AP\n" "X-POFile-SpellExtra: important libtool DEB Making param DHOPTIONS svn\n" "X-POFile-SpellExtra: libcurses Sequence required dhlintian daily\n" "X-POFile-SpellExtra: DEBUILDLINTIAN push hello unset and set preaecepta\n" "X-POFile-SpellExtra: Title is number mentors et any\n" "X-POFile-SpellExtra: Author\n" "X-POFile-SpellExtra: per nombredelpaquete how\n" "X-POFile-SpellExtra: mail overridedh\n" "X-POFile-SpellExtra: This iQCVAwUBNFiQSXVhJ what it Sist\n" "X-POFile-SpellExtra: mvChgnuD applying The exempla extracting efficax your\n" "X-POFile-SpellExtra: redireccionamiento versions of Longum\n" "X-POFile-SpellExtra: dhinstalllogrotate indentado the indentada my\n" "X-POFile-SpellExtra: Abstract first házlas Personalización Debianización\n" "X-POFile-SpellExtra: Veáse lmáscosas coordinándote nombremodificación\n" "X-POFile-SpellExtra: tudirecciónelectrónica personalización veáse ésto\n" "X-POFile-SpellExtra: versiónanterior Nótese nuevaversión submenú\n" "X-POFile-SpellExtra: númerodelerror antiguaversión est XML PS FTP\n" "X-POFile-SpellExtra: Windows debian HTML Raphaël Alioth Debian\n" "X-POFile-SpellExtra: restriction scratch over wsvn displayed none Re pane\n" "X-POFile-SpellExtra: touch still Oct features házlas We antiguaversión\n" "X-POFile-SpellExtra: distributed Free either lets program juandx pixmap\n" "X-POFile-SpellExtra: easy projects emil nuevaversión backport\n" "X-POFile-SpellExtra: coordinándote lmáscosas nombrearchivobinario\n" "X-POFile-SpellExtra: tudirecciónelectrónica bytescompile ésto\n" "X-POFile-SpellExtra: Personalización nombremodificación versiónanterior\n" "X-POFile-SpellExtra: intrusivo realclean personalización Veáse Nótese\n" "X-POFile-SpellExtra: Debianización nombredelaorden toolkit\n" "X-Generator: Poedit 1.5.4\n" #. type: Attribute 'lang' of: msgid "en" msgstr "es" #. type: Content of: msgid "Debian New Maintainers' Guide" msgstr "Guía del nuevo desarrollador de Debian" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Josip Rodin" msgstr "Josip Rodin" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "joy-mg@debian.org" msgstr "joy-mg@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "original contents" msgstr "contenidos originales" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Osamu Aoki" msgstr "Osamu Aoki" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "osamu@debian.org" msgstr "osamu@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "updated contents" msgstr "contenidos actualizados" #. type: Content of: <book><bookinfo><releaseinfo> msgid "version &docversion;" msgstr "versión &docversion;" #. type: Content of: <book><bookinfo> msgid "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" msgstr "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "" "This document may be used under the terms the GNU General Public License " "version 2 or higher." msgstr "" "Este documento puede utilizarse en los términos descritos en la Licencia " "Pública GNU versión 2 o posterior." #. type: Content of: <book><bookinfo><legalnotice><para> msgid "This document was made using these two documents as examples:" msgstr "Este documento se ha escrito usando estos dos documentos como ejemplo:" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." msgstr "" "«Making a Debian Package (AKA the Debmake Manual)», copyright © 1997 Jaldhar " "Vyas." #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." msgstr "" "«The New-Maintainer's Debian Packaging Howto», copyright © 1997 Will Lowe." #. type: Content of: <book><chapter><title> msgid "Getting started The Right Way" msgstr "Empezando «de la forma correcta»." #. type: Content of: <book><chapter><para> msgid "" "This document tries to describe the building of a Debian package to ordinary " "Debian users and prospective developers. It uses fairly non-technical " "language, and it's well covered with working examples. There is an old " "Latin saying: <emphasis>Longum iter est per praecepta, breve et efficax per " "exempla</emphasis> (It's a long way by the rules, but short and efficient " "with examples)." msgstr "" "Este documento tratará de describir cómo se construye un paquete Debian GNU/" "Linux para el usuario común de Debian y para futuros desarrolladores en un " "lenguaje informal, y con multitud de ejemplos. Hay un antiguo dicho romano " "que dice, «<emphasis>Longum iter est per preaecepta, breve et efficax per " "exempla!</emphasis>» (¡Es un largo camino con las reglas, pero corto y " "eficiente con ejemplos!)." #. type: Content of: <book><chapter><para><footnote><para> msgid "" "The document assumes you are using a <literal>&base-release;</literal> or " "newer system. If you need to follow this text in an older system (including " "an older Ubuntu system etc.), you must install backported <systemitem role=" "\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</" "systemitem> packages, at least." msgstr "" "El documento asume que estás utilizando la versión <literal>&base-release;</" "literal>. Si quieres utilizar este documento con una versión anterior " "(incluidas versiones anteriores de Ubuntu u otras) debes instalar (como " "mínimo) la versión «backport» de los paquetes <systemitem role=\"package" "\">dpkg</systemitem> y <systemitem role=\"package\">debhelper</systemitem>." #. type: Content of: <book><chapter><para> msgid "" "This document has been updated for the Debian <literal>&base-release;</" "literal> release. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Este documento está actualizado a la versión <literal>&base-release;</" "literal> de Debian <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><para><footnote><para> msgid "" "You can learn about the basic handling of a Debian system from the <ulink " "url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to " "learn about Unix programming, too." msgstr "" "Puedes aprender las operaciones básicas del sistema Debian en <ulink url=" "\"&debref;\">Debian Reference</ulink>. Ese documento también trata algunos " "aspectos sobre programación en UNIX." #. type: Content of: <book><chapter><para> msgid "" "One of the things that makes Debian such a top-notch distribution is its " "package system. While there is a vast quantity of software already in the " "Debian format, sometimes you need to install software that isn't. You may " "be wondering how you can make your own packages; and perhaps you think it is " "a very difficult task. Well, if you are a real novice on Linux, it is hard, " "but if you were a rookie, you wouldn't be reading this document " "now :-) You do need to know a little about Unix programming but you " "certainly don't need to be a wizard. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Una de las cosas que hace a Debian una de las distribuciones más importantes " "del mercado es su sistema de paquetes. Aunque hay una gran cantidad de " "programas disponibles en forma de paquetes de Debian, algunas veces " "necesitarás instalar programas que no están disponible en este formato. " "Puede que te preguntes cómo hacer tus propios paquetes y que pienses que " "quizás ésta es una tarea demasiado difícil. Bueno, si eres un principiante " "en GNU/Linux, sí es duro, pero si eres un novato, no deberías estar leyendo " "esto ahora mismo. :-) Necesitas saber algo sobre programación en Unix, " "pero, desde luego, no tienes que ser un maestro <placeholder type=\"footnote" "\" id=\"0\"/>." #. type: Content of: <book><chapter><para> msgid "" "One thing is certain, though: to properly create and maintain Debian " "packages takes many hours. Make no mistake, for our system to work the " "maintainers need to be both technically competent and diligent." msgstr "" "Sin embargo, hay una cosa que es verdad: para construir y mantener paquetes " "Debian adecuadamente, necesitarás muchas horas. Para que nuestro sistema " "trabaje sin errores, nuestros desarrolladores necesitan ser técnicamente " "competentes y concienzudos." #. type: Content of: <book><chapter><para> msgid "" "If you need some help on packaging, please read <xref linkend=\"helpme\"/>." msgstr "" "Si quieres información complementaria sobre cómo construir paquetes lee " "<xref linkend=\"helpme\"/>." #. type: Content of: <book><chapter><para> msgid "" "Newer versions of this document should always be available online at <ulink " "url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</" "systemitem> package. The translations may be available in packages such as " "<systemitem role=\"package\">maint-guide-es</systemitem>. Please note that " "this documentation may be slightly outdated." msgstr "" "Las nuevas versiones de este documento están en <ulink url=\"&maint-guide;\"/" "> y en el paquete <systemitem role=\"package\">maint-guide</systemitem>. Las " "traducciones pueden obtenerse en paquetes como <systemitem role=\"package" "\">maint-guide-es</systemitem>. Debe tenerse presente que las traducciones " "pueden estar desactualizadas." #. type: Content of: <book><chapter><para> msgid "" "Since this is a tutorial, I choose to explain each detailed step for some " "important topics. Some of them may look irrelevant to you. Please be " "patient. I have also intentionally skipped some corner cases and provided " "only pointers to keep this document simple." msgstr "" "Como se trata de un tutorial, he optado por explicar cada paso " "detalladamente en algunos temas importantes. Algunas explicaciones pueden " "parecerte irrelevantes. Te ruego que seas paciente. También he omitido " "intencionalmente algunos casos extremos y algunos aspectos sólo se mencionan " "con la intención de que el documento sea sencillo." #. type: Content of: <book><chapter><section><title> msgid "Social dynamics of Debian" msgstr "Dinamismo social en Debian" #. type: Content of: <book><chapter><section><para> msgid "" "Here are some observations of Debian's social dynamics, presented in the " "hope that it will prepare you for interactions with Debian." msgstr "" "Aquí explico mis observaciones sobre la dinámica social en Debian. Espero " "que esto te preparará para la interacción con Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "We all are volunteers." msgstr "Todos somos voluntarios." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You cannot impose on others what to do." msgstr "No puedes imponer a los demás lo que debe hacerse." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be motivated to do things by yourself." msgstr "Debes estar motivado para hacer las cosas por ti mismo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Friendly cooperation is the driving force." msgstr "La cooperación amistosa es la fuerza motriz." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution should not overstrain others." msgstr "Tu contribución no debe estresar a los demás." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution is valuable only when others appreciate it." msgstr "Tu contribución es valiosa sólo cuando los demás te lo agradecen.." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Debian is not your school where you get automatic attention of teachers." msgstr "" "Debian no es la escuela donde recibir atención automática de los profesores." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be able to learn many things by yourself." msgstr "Debes ser capaz de aprender muchas cosas por ti mismo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Attention from other volunteers is a very scarce resource." msgstr "La atención por parte de otros voluntarios es un recurso muy escaso." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Debian is constantly improving." msgstr "Debian está mejorando constantemente." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You are expected to make high quality packages." msgstr "Se espera que generes paquetes de alta calidad." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should adapt yourself to change." msgstr "Debes adaptarte al cambio." #. type: Content of: <book><chapter><section><para> msgid "" "There are several types of people interacting around Debian with different " "roles." msgstr "" "Se utilizan distintos nombres para referirse a los roles dentro de Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream author</emphasis>: the person who made " "the original program." msgstr "" "<emphasis role=\"strong\">autor original</emphasis> («upstream author»): " "para referirse a la persona que ha escrito el código original del programa " "(o la documentación original en el caso de paquetes de documentación)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who " "currently maintains the program." msgstr "" "<emphasis role=\"strong\">desarrollador original</emphasis> («upstream " "maintainer»): la persona que se encarga de mantener el programa (el código " "fuente) en la actualidad." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">maintainer</emphasis>: the person making the " "Debian package of the program." msgstr "" "<emphasis role=\"strong\">empaquetador (desarrollador)</emphasis> " "(«maintainer»): la persona que se encarga de construir y mantener " "actualizados paquetes para Debian (N. del t.: hay una cierta ambigüedad en " "la traducción de «maintainer» por desarrollador puesto que se puede " "confundir con la traducción de «Debian Developer», desarrollador que " "pertenece al proyecto, y de «upstream maintainer», desarrollador del " "programa original)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">sponsor</emphasis>: a person who helps maintainers " "to upload packages to the official Debian package archive (after checking " "their contents)." msgstr "" "<emphasis role=\"strong\">patrocinador</emphasis> («sponsor»): la persona " "(que debe ser un DD o DM, véase más adelante) que transfiere los paquetes " "elaborados por el desarrollador al archivo de paquetes de Debian (al " "repositorio de Debian) después de comprobar que el paquete cumple los " "requisitos exigidos." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">mentor</emphasis>: a person who helps novice " "maintainers with packaging etc." msgstr "" "<emphasis role=\"strong\">mentor</emphasis>: la persona que ayuda a los " "desarrolladores principiantes a iniciarse en la construcción y mantenimiento " "de paquetes." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): a member of the " "Debian project with full upload rights to the official Debian package " "archive." msgstr "" "<emphasis role=\"strong\">desarrollador de Debian (DD)</emphasis> («Debian " "Developer»): la persona que es miembro de Debian. Tiene permiso total para " "transferir paquetes al repositorio oficial de Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): a person with " "limited upload rights to the official Debian package archive." msgstr "" "<emphasis role=\"strong\">empaquetador de Debian (DM)</emphasis> («Debian " "Maintainer»): la persona que tiene permiso limitado para transferir paquetes " "al repositorio oficial de Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you cannot become an official <emphasis role=\"strong" "\">Debian Developer</emphasis> (DD) overnight, because it takes more than " "technical skill. Please do not be discouraged by this. If it is useful to " "others, you can still upload your package either as a <emphasis role=\"strong" "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</" "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>." msgstr "" "No puedes convertirte en <emphasis role=\"strong\">desarrollador oficial de " "Debian</emphasis> (DD) de la noche a la mañana porque hace falta algo más " "que habilidades técnicas. No te sientas desilusionado por esto. Aún puedes " "subir tu paquete, si es útil a otras personas, como <emphasis role=\"strong" "\">empaquetador</emphasis> a través de un <emphasis role=\"strong" "\">patrocinador</emphasis> o un <emphasis role=\"strong\">empaquetador de " "Debian</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you do not need to create any new package to become an " "official Debian Developer. Contributing to the existing packages can " "provide a path to becoming an official Debian Developer too. There are many " "packages waiting for good maintainers (see <xref linkend=\"choose\"/>)." msgstr "" "Ten en cuenta que no es necesario construir un paquete nuevo para poder " "convertirte en desarrollador oficial de Debian. Una opción para ser " "desarrollador oficial es contribuir al mantenimiento de los paquetes ya " "existentes en la distribución. Hay muchos paquetes esperando un buen " "responsable (véase <xref linkend=\"choose\"/> )." #. type: Content of: <book><chapter><section><para> msgid "" "Since we focus only on technical aspects of packaging in this document, " "please refer to the following to learn how Debian functions and how you can " "get involved." msgstr "" "Dado que nos concentramos sólo en los aspectos técnicos del mantenimiento de " "paquetes en este documento, consulta las siguientes referencias para " "aprender cómo funciona Debian y cómo puedes participar." # Se ha optado por dejar los títulos en el idioma original sin traducir #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (Introductory slides)" msgstr "" "<ulink url=\"&logiciellibre;\">Debian: 17 ans de logiciel libre, \"do-ocracy" "\" et démocratie</ulink> (diapositivas de introducción en Inglés en formato " "PDF)" # Se ha optado por dejar los títulos en el idioma original sin traducir #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)" msgstr "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> " "(documentación oficial)" # Se ha optado por dejar los títulos en el idioma original sin traducir #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "\"Contributing to the Debian Project\"</ulink> (semi-official)" msgstr "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "'Contributing to the Debian Project' </ulink> (documentación semi-oficial)" # Se ha optado por dejar los títulos en el idioma original sin traducir #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " "(supplemental)" msgstr "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " "(documentación complementaria)" # Se ha optado por dejar los títulos en el idioma original sin traducir #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (official)" msgstr "" "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (documentación oficial)" # Se ha optado por dejar los títulos en el idioma original sin traducir #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)" msgstr "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (documentación " "complementaria)" #. type: Content of: <book><chapter><section><title> msgid "Programs needed for development" msgstr "Programas necesarios para el desarrollo" #. type: Content of: <book><chapter><section><para> msgid "" "Before you start anything, you should make sure that you have properly " "installed some additional packages needed for development. Note that the " "list doesn't contain any packages marked <literal>essential</literal> or " "<literal>required</literal> - we expect that you have those installed " "already." msgstr "" "Antes de empezar, debes asegurarte que tienes instalados algunos paquetes " "adicionales necesarios para el desarrollo. Observa que la lista no contiene " "paquetes marcados como <literal>esencial</literal> o <literal>requerido</" "literal> - al dar por supuesto que ya los tienes instalados." #. type: Content of: <book><chapter><section><para> msgid "" "The following packages come with the standard Debian installation, so you " "probably have them already (along with any additional packages they depend " "on). Still, you should check it with <literal>aptitude show " "<replaceable>package</replaceable></literal> or with <literal>dpkg -s " "<replaceable>package</replaceable></literal>." msgstr "" "Los siguientes paquetes vienen en una instalación estándar de Debian, así " "que probablemente ya los tengas (junto con los paquetes de los que " "dependen). Aún así, deberías comprobarlo ejecutando <literal>aptitude show " "<replaceable>nombre_del_paquete</replaceable></literal> o con <literal>dpkg -" "s <replaceable>nombre_del_paquete</replaceable></literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The most important package to install on your development system is the " "<systemitem role=\"package\">build-essential</systemitem> package. Once you " "try to install that, it will <emphasis>pull in</emphasis> other packages " "required to have a basic build environment." msgstr "" "El paquete imprescindible para el desarrollo es <systemitem role=\"package" "\">build-essential</systemitem>. Al instalarlo, <emphasis>también se " "instalaran otros paquetes</emphasis> requeridos, consiguiendo una " "instalación básica para la construcción de paquetes." #. type: Content of: <book><chapter><section><para> msgid "" "For some types of packages, that is all you will require; however, there is " "another set of packages that while not essential for all package builds are " "useful to have installed or may be required by your package:" msgstr "" "Para la construcción de algunos paquetes esto seria suficiente, pero hay " "otros paquetes que, no siendo esenciales en general para la construcción de " "nuevos paquetes, puede ser útil tener instalados o, incluso, necesarios para " "el paquete que estás construyendo:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem>, and <systemitem role=\"package" "\">autotools-dev</systemitem> - many newer programs use configure scripts " "and <filename>Makefile</filename> files preprocessed with the help of " "programs like these (see <literal>info autoconf</literal>, <literal>info " "automake</literal>). <systemitem role=\"package\">autotools-dev</" "systemitem> keeps up-to-date versions of certain auto files and has " "documentation about the best way to use those files." msgstr "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem> y <systemitem role=\"package\">autotools-" "dev</systemitem> - muchos programas nuevos usan ficheros de configuración y " "ficheros <filename>Makefile</filename> que se procesan con la ayuda de " "programas como éstos (véase <literal>info autoconf</literal>, <literal>info " "automake</literal>). El paquete <systemitem role=\"package\">autotools-dev</" "systemitem> permite mantener versiones actualizadas de los archivos autoconf " "y automake y tiene documentación para usar eficientemente ese tipo de " "archivos." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "There are also some more specialized but similar packages such as " "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" "\"package\">dh-make-php</systemitem>, etc." msgstr "" "Hay varios paquetes similares pero más específicos como <systemitem role=" "\"package\">dh-make-perl</systemitem>, <systemitem role=\"package\">dh-make-" "php</systemitem>, etc." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debhelper</systemitem> and <systemitem role=" "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> is necessary to create the skeleton of our example package, and " "it will use some of the <systemitem role=\"package\">debhelper</systemitem> " "tools for creating packages. They are not essential for this purpose, but " "are <emphasis>highly</emphasis> recommended for new maintainers. It makes " "the whole process very much easier to start, and to control afterwards. " "(See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">dh-make</systemitem> y <systemitem role=" "\"package\">debhelper</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> es necesario para construir el esqueleto de nuestro paquete " "ejemplo, y se usarán algunas de las herramientas de <systemitem role=" "\"package\">debhelper</systemitem> para construir los paquetes. Aunque no " "son imprescindibles para la construcción de paquetes se recomiendan " "<emphasis>encarecidamente</emphasis> para nuevos desarrolladores. Hacen el " "proceso mucho más fácil al principio, y más fácil de controlar en el futuro " "(véase <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">devscripts</systemitem> - this package contains " "some useful scripts that can be helpful for maintainers, but they are also " "not necessary for building packages. Packages recommended and suggested by " "this package are worth looking into. (See <filename>&devscripts-readme;</" "filename>.)" msgstr "" "<systemitem role=\"package\">devscripts</systemitem> - este paquete contiene " "algunos guiones útiles para los desarrolladores, pero no son necesarios para " "construir paquetes. Vale la pena mirar los paquetes recomendados y " "sugeridos por este paquete (véase <filename>&devscripts-readme;</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you " "emulate being root which is necessary for some parts of the build process. " "(See <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">fakeroot</systemitem> - esta utilidad te " "permite emular al usuario administrador («root»), lo cual es necesario para " "ciertas partes del proceso de construcción (véase <citerefentry> " "<refentrytitle>fakeroot</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">file</systemitem> - this handy program can " "determine what type a file is. (See <citerefentry> <refentrytitle>file</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">file</systemitem> - este útil programa puede " "determinar de qué tipo es un fichero (véase <citerefentry> " "<refentrytitle>file</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " "compiler, necessary if your program is written in Fortran. (See " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gfortran</systemitem> - el compilador GNU de " "Fortran 95, necesario si el programa está escrito en Fortran (véase " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git</systemitem> - this package provides a " "popular version control system designed to handle very large projects with " "speed and efficiency; it is used for many high profile open source projects, " "most notably the Linux kernel. (See <citerefentry> <refentrytitle>git</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, git Manual " "(<filename>&git-doc;</filename>).)" msgstr "" "<systemitem role=\"package\">git</systemitem> - este paquete instala el " "popular sistema de control de versiones, diseñado para hacer el seguimiento " "de proyectos grandes con eficacia y rapidez; se utiliza para proyectos de " "código libre importantes como es el caso del núcleo («kernel») de Linux " "(véase <citerefentry> <refentrytitle>git</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> y git Manual (<filename>&git-doc;</filename>))." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to " "digitally <emphasis>sign</emphasis> packages. This is especially important " "if you want to distribute it to other people, and you will certainly be " "doing that when your work gets included in the Debian distribution. (See " "<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">gnupg</systemitem> - herramienta que te permite " "<emphasis>firmar</emphasis> digitalmente los paquetes. Esto es " "especialmente importante si quieres distribuir tu paquete a otras personas, " "y ciertamente, tendrás que hacerlo cuando tu trabajo vaya a incluirse en la " "distribución de Debian (véase <citerefentry> <refentrytitle>gpg</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " "necessary if your program is written in Pascal. Worthy of note here is " "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " "Compiler, which is also good at this task. (See <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gpc</systemitem> - el compilador GNU de Pascal, " "necesario si el programa está escrito en Pascal. Merece la pena mencionar " "aquí <systemitem role=\"package\">fp-compiler</systemitem>, un compilador " "libre de Pascal, que también es bueno en esta tarea (véase <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lintian</systemitem> - this is the Debian " "package checker, which can let you know of any common mistakes after you " "build the package, and explains the errors found. (See <citerefentry> " "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)" msgstr "" "<systemitem role=\"package\">lintian</systemitem> - este es el programa que " "comprueba los paquetes de Debian, puede indicarte muchos de los errores " "comunes después de construir un paquete, y explica los errores encontrados " "(véase <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> y <ulink url=\"&lintian-doc;\">Lintian User's " "Manual</ulink>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patch</systemitem> - this very useful utility " "will take a file containing a difference listing (produced by the " "<command>diff</command> program) and apply it to the original file, " "producing a patched version. (See <citerefentry> <refentrytitle>patch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">patch</systemitem> - esta utilidad es muy " "práctica para modificar el original de un archivo a partir de un archivo de " "diferencias (elaborado por el programa <command>diff</command>) produciendo " "un archivo parcheado (véase <citerefentry> <refentrytitle>patch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patchutils</systemitem> - this package contains " "some utilities to work with patches such as the <command>lsdiff</command>, " "<command>interdiff</command> and <command>filterdiff</command> commands." msgstr "" "<systemitem role=\"package\">patchutils</systemitem> - este paquete contiene " "programas para trabajar con los «parches» como <command>lsdiff</command>, " "<command>interdiff</command> y <command>filterdiff</command>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">pbuilder</systemitem> - this package contains " "programs which are used for creating and maintaining <command>chroot</" "command> environment. Building Debian package in this <command>chroot</" "command> environment verifies the proper build dependency and avoid FTBFS " "(Fails To Build From Source) bugs. (see <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" msgstr "" "<systemitem role=\"package\">pbuilder</systemitem> - este paquete contiene " "programas para generar y mantener entornos <command>chroot</command>. Al " "construir paquetes Debian en estos entornos <command>chroot</command> se " "verifica que las dependencias son las adecuadas y se evitan fallos al " "construir desde el código fuente (FTBFS de «Fails To Build From Source»). " "Véase <citerefentry> <refentrytitle>pbuilder</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry> y <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">perl</systemitem> - Perl is one of the most " "used interpreted scripting languages on today's Unix-like systems, often " "referred to as Unix's Swiss Army Chainsaw. (See <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">perl</systemitem> - Perl es uno de los " "lenguajes interpretados para hacer guiones (o «scripts») más usados en los " "sistemas Un*x de hoy en día, comúnmente se refiere a él como la «navaja " "suiza de Unix» (véase <citerefentry> <refentrytitle>perl</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">python</systemitem> - Python is another of the " "most used interpreted scripting languages on the Debian system, combining " "remarkable power with very clear syntax. (See <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">python</systemitem> - Python es otro de los " "lenguajes interpretados para hacer guiones (o «scripts») en Debian debido a " "la combinación de su poder y sintaxis clara (véase <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">quilt</systemitem> - this package helps you to " "manage large numbers of patches by keeping track of the changes each patch " "makes. Patches can be applied, un-applied, refreshed, and more. (See " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum></citerefentry>, and <filename>&quilt-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">quilt</systemitem> - este paquete ayuda a " "aplicar modificaciones («parches») y hacer el seguimiento de los cambios " "realizados. Aplica las modificaciones ordenadamente en pila, y es posible " "aplicar, deshacer y actualizar las modificaciones fácilmente recorriendo la " "pila (véase <citerefentry> <refentrytitle>quilt</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> y <filename>&quilt-pdf;</filename>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " "usually those made for X11, also use these programs to generate " "<filename>Makefile</filename> files from sets of macro functions. (See " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">xutils-dev</systemitem> - algunos programas, " "normalmente aquellos hechos para X11, también usan programas para generar " "<filename>Makefile</filename> ejecutando un conjunto de funciones de macro " "(véase <citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>xmkmf</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><para> msgid "" "The short descriptions that are given above only serve to introduce you to " "what each package does. Before continuing please read the documentation of " "each relevant program including ones installed through the package " "dependency such as <command>make</command>, at least, for the standard " "usage. It may seem like heavy going now, but later on you'll be " "<emphasis>very</emphasis> glad you read it. If you have specific questions " "later, I would suggest re-reading the documents mentioned above." msgstr "" "Las breves descripciones dadas anteriormente sólo sirven para introducirte a " "lo que hace cada paquete. Antes de continuar, por favor, lee la " "documentación de cada programa, al menos para su uso normal. Puede " "parecerte algo duro ahora, pero más adelante estarás <emphasis>muy</" "emphasis> contento de haberla leído." #. type: Content of: <book><chapter><section><title> msgid "Documentation needed for development" msgstr "Documentos necesarios para el desarrollo" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>very important</emphasis> documentation which " "you should read along with this document:" msgstr "" "Por último, la documentación que se indica a continuación es de " "<emphasis>gran importancia</emphasis> y debería leerse junto con este " "documento:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " "the structure and contents of the Debian archive, several OS design issues, " "the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which " "says where each file and directory should be), etc. For you, the most " "important thing is that it describes requirements that each package must " "satisfy to be included in the distribution. (See the local copies of " "<filename>&policy-pdf;</filename> and <filename>&fhs-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">debian-policy</systemitem> - el <ulink url=" "\"&debian-policy;\">manual de normas de Debian</ulink> incluye la " "descripción de la estructura y contenidos del archivo, ciertas notas sobre " "el diseño del sistema operativo, el <ulink url=\"&fhs;\">Filesystem " "Hierarchy Standard</ulink> («FHS», que explica dónde deberían estar cada " "fichero y directorio), y, lo más importante para ti, describe los requisitos " "que debe satisfacer cada paquete para ser incluido en la distribución (véase " "la copias locales en <filename>&policy-pdf;</filename> y <filename>&fhs-pdf;" "</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">developers-reference</systemitem> - the <ulink " "url=\"&developers-reference;\">Debian Developer's Reference</ulink> " "describes all matters not specifically about the technical details of " "packaging, like the structure of the archive, how to rename, orphan, or " "adopt packages, how to do NMUs, how to manage bugs, best packaging " "practices, when and where to upload etc. (See the local copy of " "<filename>&developers-refpdf;</filename>.)" msgstr "" "<systemitem role=\"package\">developers-reference</systemitem> - la <ulink " "url=\"&developers-reference;\">referencia del desarrollador de Debian</" "ulink> para todos los temas no específicamente relacionados con los detalles " "técnicos de cómo empaquetar, tales como la estructura del archivo (o " "repositorio de Debian), cómo renombrar, abandonar, adoptar paquetes, cómo " "hacer NMU («Non-Maintainer Uploads», o envíos por personas distintas del " "desarrollador), como gestionar los errores que los usuarios envían, buenas " "prácticas de empaquetado, cómo y cuando enviar los paquetes, etc. (véase la " "copia local en <filename>&developers-refpdf;</filename>)." #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>important</emphasis> documentation which you " "should read along with this document:" msgstr "" "Por último, la documentación que se indica a continuación es de " "<emphasis>gran importancia</emphasis> y debería leerse junto con este " "documento:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides a " "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " "System known as the GNU Autotools</ulink> whose most important components " "are Autoconf, Automake, Libtool, and gettext." msgstr "" "<ulink url=\"&autotools-tutorial;\">Tutorial de «Autotools»</ulink> contiene " "un tutorial muy bueno sobre <ulink url=\"&gnu-build-system;\">el sistema de " "compilación GNU conocido como «GNU Autotools»</ulink> cuyos componentes más " "importantes son «Autoconf», «Automake», «Libtool», y «gettext»" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnu-standards</systemitem> - this package " "contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-" "standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;" "\">Information for Maintainers of GNU Software</ulink>. Although Debian " "does not require these to be followed, these are still helpful as guidelines " "and common sense. (See the local copies of <filename>&gnu-standard-pdf;</" "filename> and <filename>&gnu-maintainer-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">gnu-standards</systemitem> - este paquete " "contiene dos documentos del proyecto GNU: <ulink url=\"&gnu-standard;\">«GNU " "Coding Standards»</ulink>, y <ulink url=\"&gnu-maintainer;\">«Information " "for Maintainers of GNU Software»</ulink>. Aunque no se exige su " "cumplimiento en Debian, son útiles como orientación y sentido común (véase " "las copias locales en <filename>&gnu-standard-pdf;</filename> y " "<filename>&gnu-maintainer-pdf;</filename>)." #. type: Content of: <book><chapter><section><para> msgid "" "If this document contradicts any of the documents mentioned above, they are " "correct. Please file a bug report on the <systemitem role=\"package\">maint-" "guide</systemitem> package using <command>reportbug</command>." msgstr "" "Si este documento contradice en algún aspecto a los documentos mencionados " "anteriormente, prevalecen estos últimos. Por favor, envía un informe de " "error del paquete <systemitem role=\"package\">maint-guide</systemitem> " "utilizando la orden <command>reportbug</command>." #. type: Content of: <book><chapter><section><para> msgid "" "The following is an alternative tutorial documentation which you may read " "along with this document:" msgstr "" "El siguiente documento es un tutorial alternativo que puedes leer a la vez " "que el presente documento." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" msgstr "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" #. type: Content of: <book><chapter><section><title> msgid "Where to ask for help" msgstr "Dónde pedir ayuda" #. type: Content of: <book><chapter><section><para> msgid "" "Before you decide to ask your question in some public place, please read the " "fine documentation." msgstr "" "Antes de decidirte a plantear alguna cuestión en algún lugar público, lee la " "documentación." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "files in <filename>/usr/share/doc/<replaceable>package</replaceable></" "filename> for all pertinent packages" msgstr "" "archivos en <filename>/usr/share/doc/<replaceable>package</replaceable></" "filename> para cada uno de los paquetes" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>man</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "contenidos de <literal><command>man</command> <replaceable>command</" "replaceable></literal> para todos los comandos pertinentes" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>info</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "contenidos de <literal><command>info</command> <replaceable>command</" "replaceable></literal> para todos los comandos pertinentes" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian." "org mailing list archive</ulink>" msgstr "" "contenidos de <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists." "debian.org archivo de la lista de correo</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org " "mailing list archive</ulink>" msgstr "" "contenidos de <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian." "org mailing list archive</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "You can use web search engines more effectively by including search strings " "such as <literal>site:lists.debian.org</literal> to limit the domain." msgstr "" "Considera el uso eficaz de los motores de búsqueda en la web incluyendo " "<literal>site:lists.debian.org</literal> en la cadena de búsqueda, para " "limitar el dominio." #. type: Content of: <book><chapter><section><para> msgid "" "Making a small test package is a good way to learn details of packaging. " "Inspecting existing well maintained packages is the best way to learn how " "other people make packages." msgstr "" "Construir un paquete pequeño es una buena forma de aprender los detalles del " "mantenimiento de paquetes. Inspeccionar paquetes bien mantenidos es la mejor " "forma de aprender cómo otros mantienen paquetes." #. type: Content of: <book><chapter><section><para> msgid "" "If you still have questions about packaging that you couldn't find answers " "to in the available documentation and web resources, you can ask them " "interactively." msgstr "" "Si todavía tienes preguntas acerca de la construcción de paquetes a las que " "no puedes encontrar respuesta en la documentación disponible y los recursos " "web, puedes formularlas interactivamente." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (This mailing list is for the novice.)" msgstr "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (Esta lista de correo es para los principiantes.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " "list</ulink>. (This mailing list is for the expert.)" msgstr "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " "list</ulink>. (Esta lista de correo es para expertos.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</" "literal>." msgstr "" "<ulink url=\"&irc-debian;\">IRC</ulink> tal como <literal>#debian-mentors</" "literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The more experienced Debian developers will gladly help you, if you ask " "properly after making your required efforts." msgstr "" "Los desarrolladores de Debian con más experiencia te ayudaran con gusto, si " "haces las preguntas después realizar el esfuerzo requerido." #. type: Content of: <book><chapter><section><para> msgid "" "When you receive a bug report (yes, actual bug reports!), you will know that " "it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking " "System</ulink> and read the documentation there, to be able to deal with the " "reports efficiently. I highly recommend reading the <ulink url=\"&devref-" "bug-handling;\">Debian Developer's Reference, 5.8. \"Handling bugs\"</" "ulink>." msgstr "" "Cuando recibas un aviso de fallo (sí, avisos de fallos, ¡de verdad!) sabrás " "que es el momento de indagar en el <ulink url=\"&bts;\">Sistema de " "seguimiento de fallos de Debian</ulink> y leer su documentación para poder " "tratar los informes de forma eficiente. Te recomiendo la lectura de la " "Referencia del Desarrollador, en particular el capítulo de «<ulink url=" "\"&devref-bug-handling;\">Referencia del desarrollador sección 5.8 - Manejo " "de fallos</ulink>» («Handling Bugs»)." #. type: Content of: <book><chapter><section><para> msgid "" "Even if it all worked well, it's time to start praying. Why? Because in " "just a few hours (or days) users from all around the world will start to use " "your package, and if you made some critical error you'll get mailbombed by " "numerous angry Debian users... Just kidding. :-)" msgstr "" "Aunque todo funcione bien, es el momento de cruzar los dedos. ¿Por qué? Por " "que en sólo unas horas (o días) usuarios de todo el mundo empezarán a usar " "tu paquete, y si cometiste algún error crítico centenares de usuarios " "furiosos de Debian te bombardearán con correos... sólo bromeaba :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Relax and be ready for bug reports, because there is a lot more work to be " "done before your package will be fully in line with Debian policies and its " "best practice guidelines (once again, read the <emphasis>real documentation</" "emphasis> for details). Good luck!" msgstr "" "Relájate y prepárate para recibir informes de fallos, porque hay mucho más " "trabajo que realizar antes de que tu paquete cumpla las Normas de Debian " "(una vez más lee la <emphasis>documentación real</emphasis> para más " "detalles). ¡Buena suerte!" #. type: Content of: <book><chapter><title> msgid "First steps" msgstr "Primeros pasos" #. type: Content of: <book><chapter><para> msgid "" "Let's start by creating a package of your own (or, even better, adopting an " "existing one)." msgstr "" "Vamos a construir nuestro propio paquete (o, mejor aún, adoptar un paquete " "ya existente)." #. type: Content of: <book><chapter><section><title> msgid "Debian package building workflow" msgstr "Plan de trabajo para la construcción de paquetes Debian" #. type: Content of: <book><chapter><section><para> msgid "" "If you are making a Debian package with an upstream program, the typical " "workflow of Debian package building involves generating several specifically " "named files for each step as follows." msgstr "" "Si estas construyendo un paquete Debian con las fuentes originales, el plan " "de trabajo típico implica varias etapas (en las cuales se generan archivos " "con nombres específicos) y que se explican a continuación." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Get a copy of the upstream software, usually in a compressed tar format." msgstr "" "Conseguimos las fuentes originales del programa, normalmente en un archivo " "comprimido en formato «tar»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>nombre_del_paquete</replaceable>-<replaceable>versión</" "replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add Debian-specific packaging modifications to the upstream program under " "the <filename>debian</filename> directory, and create a non-native source " "package (that is, the set of input files used for Debian package building) " "in <literal>3.0 (quilt)</literal> format." msgstr "" "Añadir las modificaciones específicas de Debian al programa original en el " "directorio <filename>debian</filename>, y construir un paquete de fuentes no " "nativo (es decir, el conjunto de archivos de entrada utilizados para la " "construcción de paquetes Debian) en formato <literal>3.0 (quilt)</literal>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig." "tar.gz" msgstr "" "<replaceable>nombre_del_paquete</replaceable>_<replaceable>versión</" "replaceable>.orig.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.debian.tar.gz" msgstr "" "<replaceable>nombre_del_paquete</replaceable>_<replaceable>versión</" "replaceable>-<replaceable>revisión</replaceable>.debian.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><footnote><para> msgid "" "For the older style of non-native Debian source packages in <literal>1.0</" "literal> format, <literal><replaceable>package</" "replaceable>_<replaceable>version</replaceable>-<replaceable>revision</" "replaceable>.diff.gz</literal> is used instead." msgstr "" "Para paquetes no nativos Debian construidos en el formato anterior " "<literal>1.0</literal>, se utiliza <literal><replaceable>nombre_del_paquete</" "replaceable>_<replaceable>versión</replaceable>-<replaceable>revisión</" "replaceable>.diff.gz</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.dsc" msgstr "" "<replaceable>nombre_del_paquete</replaceable>_<replaceable>versión</" "replaceable>-<replaceable>revisión</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Build Debian binary packages, which are ordinary installable package files " "in <literal>.deb</literal> format (or <literal>.udeb</literal> format, used " "by the Debian Installer) from the Debian source package." msgstr "" "Construimos los paquetes binarios Debian, que son archivos instalables " "ordinarios en formato <literal>.deb</literal> (o en formato <literal>.udeb</" "literal>, utilizado por el instalador de Debian), desde el paquete fuente de " "Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>nombre_del_paquete</replaceable>_<replaceable>versión</" "replaceable>-<replaceable>revisión</replaceable>_<replaceable>arquitectura</" "replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the character separating <literal><replaceable>package</" "replaceable></literal> and <literal><replaceable>version</replaceable></" "literal> was changed from <literal>-</literal> (hyphen) in the tarball name " "to <literal>_</literal> (underscore) in the Debian package filenames." msgstr "" "Fíjate que el carácter que separa <literal><replaceable>nombre_del_paquete</" "replaceable></literal> y <literal><replaceable>versión</replaceable></" "literal> se ha cambiado de <literal>-</literal> (guión) a <literal>_</" "literal> (guión bajo)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. The <emphasis role=\"strong" "\">package architecture</emphasis> follows the <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> and is " "automatically assigned by the package build process." msgstr "" "Consulta <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. La <emphasis role=\"strong" "\">arquitectura del paquete</emphasis> sigue el <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> y se " "asigna automáticamente en el proceso de compilación del paquete." #. type: Content of: <book><chapter><section><para> msgid "" "In the file names above, replace the <literal><replaceable>package</" "replaceable></literal> part with the <emphasis role=\"strong\">package name</" "emphasis>, the <literal><replaceable>version</replaceable></literal> part " "with the <emphasis role=\"strong\">upstream version</emphasis>, the " "<literal><replaceable>revision</replaceable></literal> part with the " "<emphasis role=\"strong\">Debian revision</emphasis>, and the " "<literal><replaceable>arch</replaceable></literal> part with the <emphasis " "role=\"strong\">package architecture</emphasis>, as defined in the Debian " "Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "En los nombres de archivo que siguen, " "<literal><replaceable>nombre_del_paquete</replaceable></literal> se " "substituye por el <emphasis role=\"strong\">nombre del paquete</emphasis>, " "<literal><replaceable>versión</replaceable></literal> por la <emphasis role=" "\"strong\">versión del código fuente</emphasis>, " "<literal><replaceable>revisión</replaceable></literal> por la <emphasis role=" "\"strong\">revisión Debian</emphasis>, <literal><replaceable>arquitectura</" "replaceable></literal> por la <emphasis role=\"strong\">arquitectura del " "paquete</emphasis> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "If instead you are making a Debian-specific package with no upstream, the " "typical workflow of Debian package building is simpler." msgstr "" "Si estás construyendo un paquete específico de Debian sin un programa " "original, el plan de trabajo típico es simple." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a native Debian source package in the <literal>3.0 (native)</literal> " "format using a single compressed tar file in which all files are included." msgstr "" "Generaremos un paquete fuente Debian en el formato <literal>3.0 (native)</" "literal>, utilizando un archivo comprimido en formato «tar» que incluirá " "todos los archivos." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>nombre_del_paquete</replaceable>_<replaceable>versión</" "replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" msgstr "" "<replaceable>nombre_del_paquete</replaceable>_<replaceable>versión</" "replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Build Debian binary packages from the native Debian source package." msgstr "" "Construiremos un paquete binario Debian del paquete de fuentes nativo Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>nombre_del_paquete</replaceable>_<replaceable>versión</" "replaceable>_<replaceable>arquitectura</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Each step of this outline is explained with detailed examples in later " "sections." msgstr "" "Cada paso de este esquema se explica con ejemplos detallados en secciones " "posteriores." #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "Elige el programa" #. type: Content of: <book><chapter><section><para> msgid "" "You have probably chosen the package you want to create. The first thing " "you need to do is check if the package is in the distribution archive " "already by using the following." msgstr "" "Probablemente hayas escogido ya el paquete que deseas construir. Lo primero " "que debes hacer es comprobar si el paquete está ya en el archivo de la " "distribución utilizando:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <command>aptitude</command> command" msgstr "la orden <command>aptitude</command>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page" msgstr "la página web <ulink url=\"&packages-do;\">Debian packages</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> " "web page" msgstr "" "Página web del <ulink url=\"&packages-qa-do;\">sistema de seguimiento de " "paquetes de Debian</ulink>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. " "\"Adopting a package\"</ulink>." msgstr "" "Véase <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. " "\"Adopting a package\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If the package already exists, well, install it! :-) If it happens to be " "<emphasis role=\"strong\">orphaned</emphasis> (that is, if its maintainer is " "set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>), you may be able to " "pick it up if it's still available. You may also adopt a package whose " "maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</" "emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si el paquete ya existe, ¡instálalo! :-) Si te encuentras con que el paquete " "es un paquete <emphasis role=\"strong\">huérfano</emphasis> (cuando su " "desarrollador es el <ulink url=\"&qa-do;\">Debian QA Group</ulink>, es " "decir, el grupo de calidad de Debian), puedes adoptarlo (convertirte en el " "responsable de empaquetarlo y mantenerlo) si está disponible. También puedes " "adoptar un paquete para el cual se ha emitido una «solicitud de " "adopción» (Request for Adoption o <emphasis role=\"strong\">RFA</emphasis>) " "por su desarrollador o por un DD <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "There are several package ownership status resources." msgstr "Hay varios recursos para conocer el estado de los paquetes." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" msgstr "" "<ulink url=\"&wnpp-do;\">Paquetes pendientes y futuros nuevos paquetes</" "ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" msgstr "" "<ulink url=\"&wnpp-bts;\">Registro de informes de fallos de Debian: errores " "en el paquete <systemitem role=\"package\">wnpp</systemitem> en la versíón " "<literal>unstable</literal></ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgstr "<ulink url=\"&wnpp-dn;\">Paquetes Debian que precisan cambios</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" msgstr "" "<ulink url=\"&wnpp-debtags;\">Búsqueda de errores <systemitem role=\"package" "\">wnpp</systemitem> basada en palabras clave</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Having said that, there will of course always be new programs that are worth " "packaging." msgstr "" "Dicho esto, por supuesto, hay nuevos programas que vale la pena empaquetar " "para Debian." #. type: Content of: <book><chapter><section><para> msgid "" "As a side note, it's important to point out that Debian already has packages " "for most kinds of programs, and the number of packages already in the Debian " "archive is much larger than that of contributors with upload rights. Thus, " "contributions to packages already in the archive are far more appreciated " "(and more likely to receive sponsorship) by other developers <placeholder " "type=\"footnote\" id=\"0\"/>. You can contribute in various ways." msgstr "" "A modo de nota al margen, es importante tener presente que Debian incorpora " "paquetes de un gran número de programas de todo tipo, y que la cantidad de " "paquetes disponibles en el repositorio de Debian es mucho mayor al de " "colaboradores con permiso para incorporar paquetes al repositorio. En " "consecuencia, la colaboración en el mantenimiento de paquetes que ya están " "en el repositorio se valora muy positivamente (y es más fácil conseguir " "patrocinador) por el resto de desarrolladores <placeholder type=\"footnote\" " "id=\"0\"/>. Puedes hacer esto de distintas formas." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "" "hacerte cargo de paquetes huérfanos pero que son utilizados frecuentemente " "por otros usuarios" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>" msgstr "" "incorporándote a los <ulink url=\"&teams;\">equipos de desarrolladores</" "ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "seleccionando errores de los paquetes más populares" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" msgstr "preparando <ulink url=\"&devref-nmu;\">paquetes QA o NMU</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "If you are able to adopt the package, get the sources (with something like " "<literal>apt-get source <replaceable>packagename</replaceable></literal>) " "and examine them. This document unfortunately doesn't include comprehensive " "information about adopting packages. Thankfully you shouldn't have a hard " "time figuring out how the package works since someone has already done the " "initial setup for you. Keep reading, though; a lot of the advice below will " "still be applicable for your case." msgstr "" "Si puedes adoptar el paquete, descarga las fuentes (con algo como " "<literal>apt-get source <replaceable>nombre_del_paquete</replaceable></" "literal>) y examínalas. Desgraciadamente este documento no incluye aún " "información exhaustiva sobre la adopción de paquetes. No debería ser " "difícil entender cómo funciona el paquete ya que alguien ha hecho el trabajo " "inicial por ti. Aún así es mejor que sigas leyendo, muchos de los consejos " "que se dan a continuación serán también aplicables en tu caso." #. type: Content of: <book><chapter><section><para> msgid "" "If the package is new, and you decide you'd like to see it in Debian, " "proceed as follows:" msgstr "" "Si el paquete es nuevo y decides que te gustaría verlo en Debian debes " "seguir los pasos indicados a continuación:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "First, you must know that the program works, and have tried it for some time " "to confirm its usefulness." msgstr "" "En primer lugar deberías saber cómo funciona, y haberlo utilizado durante " "algún tiempo (para confirmar su utilidad)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "You must check that no one else is already working on the package on the " "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> " "site. If no one else is working on it, file an ITP (Intent To Package) bug " "report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " "using <command>reportbug</command>. If someone's already on it, contact " "them if you feel you need to. If not - find another interesting program " "that nobody is maintaining." msgstr "" "Comprueba que no hay nadie más trabajando ya en el paquete consultando " "<ulink url=\"&wnpp-do;\">la lista de paquetes en los que se está trabajando</" "ulink>. Si nadie está ya trabajando en el empaquetado del programa, envía " "un informe de error de tipo ITP («Intent To Package», Intento de " "empaquetado) al meta-paquete <systemitem role=\"package\">wnpp</systemitem> " "utilizando el programa de comunicación de errores <command>reportbug</" "command> (accesible en el menú de herramientas del sistema). Si ya hay " "alguien trabajando en él, contacta con esa persona: es posible que podáis " "colaborar. En caso contrario, intenta encontrar otro programa interesante " "que nadie mantenga." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The software <emphasis role=\"strong\">must have a license</emphasis>." msgstr "" "El programa <emphasis role=\"strong\">debe tener una licencia</emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>main</literal> section, Debian Policy requires it <emphasis " "role=\"strong\">to be fully compliant with the Debian Free Software " "Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis " "role=\"strong\">not to require a package outside of <literal>main</literal></" "emphasis> for compilation or execution. This is the desired case." msgstr "" "Si el paquete debe pertenecer a la sección <literal>main</literal> el " "programa <emphasis role=\"strong\">debe cumplir con las Directrices de " "Debian para el software libre </emphasis>(<ulink url=\"&dfsg;\">DFSG</" "ulink>) y <emphasis role=\"strong\">no debe precisar la instalación de otro " "paquete que no pertenezca a la sección <literal>main</literal></emphasis> " "para su compilación o ejecución como requiere la directiva de Debian " "(«Debian Policy»). Es la situación deseada." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>contrib</literal> section, it must comply with the DFSG but " "it may require a package outside of <literal>main</literal> for compilation " "or execution." msgstr "" "Para paquetes de la sección <literal>contrib</literal> la licencia debe " "cumplir todos los requisitos de la DFSG pero puede precisar la instalación " "de otro paquete que no sea de la sección <literal>main</literal> para su " "compilación o ejecución." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>non-free</literal> section, it may be non-compliant with " "the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>." msgstr "" "Para paquetes de la sección <literal>non-free</literal>, no es necesario que " "la licencia cumpla todos los requisitos de la DFSG pero <emphasis role=" "\"strong\">debe permitir la distribución del programa</emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If you are unsure about where it should go, post the license text on <ulink " "url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for " "advice." msgstr "" "Si no estás seguro sobre en qué lugar debería ir, envía el texto de la " "licencia y pide consejo con un correo (en inglés) dirigido a <ulink url=" "\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The program should <emphasis role=\"strong\">not</emphasis> introduce " "security and maintenance concerns to the Debian system." msgstr "" "El programa <emphasis role=\"strong\">no</emphasis> debe ocasionar problemas " "de seguridad y/o mantenimiento en los sistemas Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should be well documented and its code needs to be " "understandable (i.e. not obfuscated)." msgstr "" "El programa debería tener una buena documentación o al menos un código " "fuente legible y claro." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "You should contact the program's author(s) to check if they agree with " "packaging it and are amicable to Debian. It is important to be able to " "consult with the author(s) in case of any problems with the program, so " "don't try to package unmaintained software." msgstr "" "Deberías contactar con el autor o autores del programa para comprobar su " "conformidad con el empaquetado. Es importante que el autor o autores sigan " "manteniendo el programa para que puedas en el futuro consultarle/s en caso " "de que haya problemas específicos. No deberías intentar empaquetar " "programas que no estén mantenidos." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program certainly should <emphasis role=\"strong\">not</emphasis> run " "setuid root, or even better, it shouldn't need to be setuid or setgid to " "anything." msgstr "" "El programa <emphasis role=\"strong\">no</emphasis> debería ejecutarse con " "«setuid root», o aún mejor: no debería ser «setuid» ni «setgid»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should not be a daemon, or go in an <filename>*/sbin</filename> " "directory, or open a port as root." msgstr "" "El programa no debería ser un demonio, o algo que vaya en los directorios " "<filename>*/sbin</filename>, o abrir un puerto como usuario administrador." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, the last one is just a safety measures, and intended to save you " "from enraging users if you do something wrong in some setuid daemon... When " "you gain more experience in packaging, you'll be able to package such " "software." msgstr "" "Por supuesto, esta lista son sólo medidas de seguridad, y con la intención " "de salvarte de usuarios enfurecidos si haces algo mal con algún demonio " "«setuid»... Cuando tengas más experiencia en empaquetar, podrás hacer este " "tipo de paquetes." #. type: Content of: <book><chapter><section><para> msgid "" "As a new maintainer, you are encouraged to get some experience in packaging " "with easier packages and discouraged from creating complicated packages." msgstr "" "Como nuevo desarrollador, es aconsejable que adquieras experiencia con la " "construcción de paquetes sencillos y se desaconseja construir paquetes " "complicados." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Simple packages" msgstr "Paquetes sencillos" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (collection of data such as wallpaper " "graphics)" msgstr "" "archivo binario único, arquitectura = todas (colección de datos como " "gráficos de fondo de pantalla)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (executables written in an interpreted " "language such as POSIX shell)" msgstr "" "archivo binario único, arquitectura = todas (ejecutables escritos en " "lenguajes interpretados como POSIX)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Intermediate complexity packages" msgstr "Paquetes de complejidad intermedia" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = any (ELF binary executables compiled from " "languages such as C and C++)" msgstr "" "paquete binario simple, arquitectura = todas (ejecutables ELF escritos en " "lenguajes compilados tales como C y C + +)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "multiple binary packages, arch = any + all (packages for ELF binary " "executables + documentation)" msgstr "" "paquete binario múltiple, arquitectura = todas y cualquiera (paquetes de " "ejecutables ELF y documentación)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "upstream source in a format other than <filename>tar.gz</filename> or " "<filename>tar.bz2</filename>" msgstr "" "paquetes en los que el formato del archivo fuente no es <filename>tar.gz</" "filename> ni <filename>tar.bz2</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "upstream source containing undistributable contents" msgstr "paquetes cuyas fuentes contienen partes que no se pueden distribuir." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "High complexity packages" msgstr "Paquetes muy complejos" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter module package used by other packages" msgstr "" "paquete de módulos de lenguaje interpretado utilizado por otros paquetes" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "generic ELF library package used by other packages" msgstr "paquetes de bibliotecas ELF genéricas utilizadas por otros paquetes" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "multiple binary packages including an ELF library package" msgstr "" "múltiples paquetes binarios incluyendo un paquete(s) de bibliotecas ELF" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "source package with multiple upstream sources" msgstr "paquetes de fuentes con múltiples originales" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel module packages" msgstr "paquetes de módulos del núcleo" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel patch packages" msgstr "paquetes de parches del núcleo," #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "any package with non-trivial maintainer scripts" msgstr "cualquier paquete de guiones de desarrollador no triviales" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging high complexity packages is not too hard, but it requires a bit " "more knowledge. You should seek specific guidance for every complex feature. " "For example, some languages have their own sub-policy documents:" msgstr "" "Construir paquetes de alta complejidad no es demasiado difícil, pero " "requiere más conocimientos. Debes buscar las orientaciones específicas para " "cada caso según su complejidad. Por ejemplo, algunos lenguajes interpretados " "tienen sus normas específicas." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>" msgstr "<ulink url=\"&policy-perl;\">Perl policy</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-python;\">Python policy</ulink>" msgstr "<ulink url=\"&policy-python;\">Normas para Python</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-java;\">Java policy</ulink>" msgstr "<ulink url=\"&policy-java;\">Normas para Java</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Do not worry about the missing <filename>Makefile</filename>. You can " "install the <command>hello</command> command by simply using " "<command>debhelper</command> as in <xref linkend=\"install\"/>, or by " "modifying the upstream source to add a new <filename>Makefile</filename> " "with the <literal>install</literal> target as in <xref linkend=\"modify\"/>." msgstr "" "No debes preocuparte por perder el <filename>Makefile</filename>. Puedes " "instalar la orden <command>hello</command> simplemente utilizando " "<command>debhelper</command> como en <xref linkend=\"install\"/>, o " "modificando las fuentes originales agregando un nuevo <filename>Makefile</" "filename> con el objetivo <literal>install</literal> como en <xref linkend=" "\"modify\"/>." # Aqui no se ha traducido «hello» intencionadamente para no tener que traducir nada del ejemplo #. type: Content of: <book><chapter><section><para> msgid "" "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " "practice and experiment with all the steps of Debian packaging with simple " "packages while reading this tutorial. A trivial upstream tarball " "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a " "good starting point.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Hay otro dicho en latín: <emphasis>Fabricando fit fabe</emphasis> (la " "práctica conduce a la perfección). Es <emphasis>muy</emphasis> recomendable " "practicar y experimentar todos los pasos de la construcción de paquetes " "Debian con paquetes simples mientras se lee este tutorial. Un simple archivo " "<filename>hello-sh-1.0.tar.gz</filename> generado como en el ejemplo será " "un buen punto de partida <placeholder type=\"footnote\" id=\"0\"/>. " #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" msgstr "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "Obtén el programa y pruébalo" #. type: Content of: <book><chapter><section><para> msgid "" "So the first thing to do is to find and download the original source code. " "Presumably you already have the source file that you picked up at the " "author's homepage. Sources for free Unix programs usually come in " "<command>tar</command>+<command>gzip</command> format with the extension " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> format with the extension <filename>.tar.bz2</filename>, or " "<command>tar</command>+<command>xz</command> format with the extension " "<filename>.tar.xz</filename>. These usually contain a directory called " "<filename><replaceable>package</replaceable>-<replaceable>version</" "replaceable></filename> with all the sources inside." msgstr "" "Lo primero que debes hacer es encontrar y descargar el código fuente " "original. A partir de este punto se da por supuesto que ya tienes el código " "fuente que obtuviste de la página del autor. Las fuentes de los programas " "libres de Unix (y GNU/Linux) generalmente vienen en formato <command>tar</" "command>+<command>gzip</command>, con extensión <filename>.tar.gz</filename> " "o en formato <command>tar</command>+<command>bzip2</command> con extensión " "<filename>.tar.bz2</filename>, y generalmente contienen un subdirectorio " "llamado <filename><replaceable>programa</replaceable>-<replaceable>versión</" "replaceable></filename> con todas las fuentes en él." #. type: Content of: <book><chapter><section><para> msgid "" "If the latest version of the source is available through a VCS such as Git, " "Subversion, or CVS, you need to get it with <literal>git clone</literal>, " "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into " "<command>tar</command>+<command>gzip</command> format yourself by using the " "<literal>--exclude-vcs</literal> option." msgstr "" "Si la última versión del código fuente se puede obtener de un sistema VCS " "del tipo Git, Subversion o un repositorio CVS, puedes descargarlo ejecutando " "«<literal>git clone</literal>», «<literal>cvs co</literal>» o «<literal>svn " "co</literal>» y, a continuación comprimiéndolo en un archivo con formato " "<command>tar</command>+<command>gzip</command> ejecutando la opción " "«<literal>--exclude-vcs</literal>»." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can identify the archive format using the <command>file</command> " "command when the file extension is not enough." msgstr "" "Puedes identificar el formato de archivo utilizando la herramienta " "<command>file</command> cuando no es suficiente con la extensión de fichero." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes as some other sort of archive (for instance, " "the filename ends in <filename>.Z</filename> or <filename>.zip</" "filename><placeholder type=\"footnote\" id=\"0\"/>), you should also unpack " "it with the appropriate tools and repack it." msgstr "" "Si tu programa viene en otro tipo de archivo (por ejemplo, el fichero " "termina en <filename>.Z</filename> o <filename>.zip</filename><placeholder " "type=\"footnote\" id=\"0\"/>), descomprímelo con las herramientas adecuadas " "y reconstrúyelo de nuevo." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes with some contents which do not comply with " "DFSG, you should also unpack it to remove such contents and repack it with a " "modified upstream version containing <literal>dfsg</literal>." msgstr "" "Si el código fuente del programa viene con algunos contenidos que no cumplan " "con las DFSG, debes descomprimirlo para eliminar dichos contenidos y volver " "a comprimirlo modificando el código de versión original añadiendo " "<literal>dfsg</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This program is already packaged. The <ulink url=\"&gentoo-package;" "\">current version</ulink> uses Autotools as its build structure and is " "substantially different from the following examples, which were based on " "version 0.9.12." msgstr "" "Ten en cuenta que el programa ya ha sido empaquetado previamente. La <ulink " "url=\"&gentoo-package;\">versión actual</ulink> utiliza las «Autotools» en " "su construcción y ha cambiado sustancialmente de la versión 0.9.12 que se " "utiliza en los ejemplos mostrados a continuación." #. type: Content of: <book><chapter><section><para> msgid "" "As an example, I'll use a program called <command>gentoo</command>, a GTK+ " "file manager. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Como ejemplo, usaré el programa conocido como <command>gentoo</command>, un " "gestor de ficheros de X11 en GTK+ <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Create a subdirectory under your home directory named <filename>debian</" "filename> or <filename>deb</filename> or anything you find appropriate (e." "g. just <filename>~/gentoo</filename> would do fine in this case). Place " "the downloaded archive in it, and extract it (with <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " "tools may or may not ignore these anomalies, so they may have problems " "unpacking them. Your shell command line may look something like this:" msgstr "" "Crea un subdirectorio en tu directorio personal llamado <filename>debian</" "filename> o <filename>deb</filename> o lo que creas apropiado (por ejemplo " "<filename>~/gentoo/</filename> estaría bien en este caso). Mueve a él el " "archivo que has descargado, y descomprímelo de la siguiente forma: " "<literal>tar xzf gentoo-0.9.12.tar.gz</literal>. Asegúrate de que no hay " "errores, incluso errores <emphasis>irrelevantes</emphasis>, porque es muy " "probable que haya problemas al desempaquetarlo en sistemas de otras " "personas, cuyas herramientas de desempaquetado puede que no ignoren estas " "anomalías. En el terminal de órdenes, deberías ver lo siguiente." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Now you have another subdirectory, called <filename>gentoo-0.9.12</" "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " "read the provided documentation. Usually there are files named " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> or <filename>*.html</filename>. You must find instructions " "on how to compile and install the program (most probably they'll assume you " "want to install to the <filename>/usr/local/bin</filename> directory; you " "won't be doing that, but more on that later in <xref linkend=\"destdir\"/>)." msgstr "" "Ahora tienes otro subdirectorio, con el nombre <filename>gentoo-0.9.12</" "filename>. Accede a ese directorio y lee <emphasis>atentamente</emphasis> la " "documentación. Habitualmente encontrarás archivos con el nombre " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> o <filename>*.html</filename>. Deberías encontrar " "instrucciones sobre cómo compilar e instalar el programa (probablemente se " "asumirá que la instalación será en el directorio <filename>/usr/local/bin</" "filename>, aunque tú no lo harás eso, como se explica más adelante en <xref " "linkend=\"destdir\"/> )." #. type: Content of: <book><chapter><section><para> msgid "" "You should start packaging with a completely clean (pristine) source " "directory, or simply with freshly unpacked sources." msgstr "" "Deberías empezar a construir tu paquete en un directorio de fuentes " "completamente limpio, o simplemente con las fuentes recién desempaquetadas." #. type: Content of: <book><chapter><section><title> msgid "Simple build systems" msgstr "Métodos de compilación simple" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Many modern programs come with a script <filename>configure</filename> which " "when executed creates a <filename>Makefile</filename> customized for your " "system." msgstr "" "Muchos programas modernos vienen con un guión <filename>configure</filename> " "que genera un archivo <filename>Makefile</filename> personalizado para el " "sistema en uso." #. type: Content of: <book><chapter><section><para> msgid "" "Simple programs usually come with a <filename>Makefile</filename> and can be " "compiled just by invoking <literal>make</literal>.<placeholder type=" "\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, " "which runs included self-tests. Installation to the destination directories " "is usually done with <literal>make install</literal>." msgstr "" "Los programas sencillos incluyen un fichero <filename>Makefile</filename> y " "pueden (generalmente) compilarse con «<literal>make</literal>»<placeholder " "type=\"footnote\" id=\"0\"/>. Algunos de ellos soportan <literal>make " "check</literal>, esta orden ejecuta las comprobaciones automáticas que estén " "definidas. Generalmente se instalarán en sus directorios de destino " "ejecutando <literal>make install</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Now try to compile and run your program, to make sure it works properly and " "doesn't break something else while it's installing or running." msgstr "" "Ahora intenta compilar y ejecutar el programa, para asegurarte que funciona " "bien y que no genera errores en el sistema mientras está instalándose o " "ejecutándose." #. type: Content of: <book><chapter><section><para> msgid "" "Also, you can usually run <literal>make clean</literal> (or better " "<literal>make distclean</literal>) to clean up the build directory. " "Sometimes there's even a <literal>make uninstall</literal> which can be used " "to remove all the installed files." msgstr "" "También, generalmente, puedes ejecutar <literal>make clean</literal> (o " "mejor <literal>make distclean</literal>) para limpiar el directorio donde se " "compila el programa. A veces hay incluso un <literal>make uninstall</" "literal> que se puede utilizar para borrar todos los archivos instalados." #. type: Content of: <book><chapter><section><title> msgid "Popular portable build systems" msgstr "Métodos de compilación portables populares" #. type: Content of: <book><chapter><section><para> msgid "" "A lot of free software programs are written in the <ulink url=\"&c-program;" "\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these " "use Autotools or CMake to make them portable across different platforms. " "These build tools need to be used to generate the <filename>Makefile</" "filename> and other required source files first. Then, such programs are " "built using the usual <literal>make; make install</literal>." msgstr "" "Buena parte de los programas libres están escritos en lenguaje <ulink url=" "\"&c-program;\">C</ulink> y <ulink url=\"&cxx;\">C++</ulink>. Muchos " "utilizan las «Autotools» y «CMake» para compilar en diferentes plataformas. " "Estas herramientas se utilizan para generar un archivo <filename>Makefile</" "filename> y otros archivos necesarios para la compilación. Así, muchos " "programas se compilan ejecutando «<literal>make; make install</literal>»." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Autotools is too big to deal in this small tutorial. This section is meant " "to provide keywords and references only. Please make sure to read the " "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and the local " "copy of <filename>&autotools-readme;</filename>, if you need to use it." msgstr "" "«Autotools» es demasiado complejo para explicarlo en este pequeño tutorial. " "Esta sección tiene por objeto proporcionar sólo los conceptos clave y " "referencias. Sin falta, lee el <ulink url=\"&autotools-tutorial;" "\">Tutorial de «Autotools»</ulink> y <filename>&autotools-readme;</filename> " "si debes utilizar «Autotools»." #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> is the GNU build system " "comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, " "and <ulink url=\"&gettext;\">gettext</ulink>. You can recognize such " "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" "filename>, and <filename>Makefile.in</filename> files. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&gnu-build-system;\">Las Autotools</ulink> son el sistema de " "compilación GNU e incluyen <ulink url=\"&autoconf;\">Autoconf</ulink>, " "<ulink url=\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;" "\">Libtool</ulink> y <ulink url=\"&gettext;\">gettext</ulink>. Confirmarás " "que el programa utiliza las autoools por la presencia de los archivos " "<filename>configure.ac</filename>, <filename>Makefile.am</filename>, y " "<filename>Makefile.in</filename> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "The first step of the Autotools workflow is usually that upstream runs " "<literal>autoreconf -i -f</literal> in the source directory and distributes " "the generated files along with the source." msgstr "" "El primer paso en el uso de «Autotools» es la ejecución por parte del autor " "de la orden <literal>autoreconf -i -f</literal> la cual genera, a partir de " "los archivos fuente (a la izquierda del gráfico) los archivos que utilizará " "la orden «configure» (a la derecha del gráfico)." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" msgstr "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" #. type: Content of: <book><chapter><section><para> msgid "" "Editing <filename>configure.ac</filename> and <filename>Makefile.am</" "filename> files requires some knowledge of <command>autoconf</command> and " "<command>automake</command>. See <literal>info autoconf</literal> and " "<literal>info automake</literal>." msgstr "" "La edición de los archivos <filename>configure.ac</filename> y " "<filename>Makefile.am</filename> requiere conocer el funcionamiento de " "<command>autoconf</command> y <command>automake</command>. Véase " "«<literal>info autoconf</literal>» y «<literal>info automake</" "literal>» (ejecutando las órdenes en el terminal)." #. type: Content of: <book><chapter><section><para> msgid "" "The second step of the Autotools workflow is usually that the user obtains " "this distributed source and runs <literal>./configure && make</" "literal> in the source directory to compile the program into an executable " "command <command><replaceable>binary</replaceable></command>." msgstr "" "El segundo paso en el uso de «Autotools« es la ejecución de «<literal>./" "configure && make</literal>» en el directorio del código fuente para " "compilar el programa generando un archivo <command><replaceable>binario</" "replaceable></command>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" msgstr "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can change many things in the <filename>Makefile</filename>; for " "instance you can change the default location for file installation using the " "option <literal>./configure --prefix=/usr</literal>." msgstr "" "Puedes hacer cambios en el archivo <filename>Makefile</filename>, por " "ejemplo cambiando el directorio de instalación predeterminado usando las " "opciones de la orden ejecutando: <command>./configure --prefix=/usr</" "command>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can automate this by using <systemitem role=\"package\">dh-autoreconf</" "systemitem> package. See <xref linkend=\"customrules\"/>." msgstr "" "Añade el paquete <systemitem role=\"package\">dh-autoreconf</systemitem> en " "el campo <literal>Build-Depends</literal>. Véase <xref linkend=\"customrules" "\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Although it is not required, updating the <filename>configure</filename> and " "other files with <literal>autoreconf -i -f</literal> may improve the " "compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Aunque no es necesario, la actualización del archivo <filename>configure</" "filename> y de otros archivos con la orden <literal>autoreconf -i -f</" "literal> es la mejor manera para mejorar la compatibilidad del código fuente " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You " "can recognize such sources by the <filename>CMakeLists.txt</filename> file." msgstr "" "<ulink url=\"&cmake;\">CMake</ulink> es un sistema de compilación " "alternativo. La presencia del archivo <filename>CMakeLists.txt</filename> te " "indicará que se utiliza esta opción para compilar el programa." #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "Nombre del paquete y versión" #. type: Content of: <book><chapter><section><para> msgid "" "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " "you can take <literal>gentoo</literal> as the (source) <emphasis role=" "\"strong\">package name</emphasis> and <literal>0.9.12</literal> as the " "<emphasis role=\"strong\">upstream version</emphasis>. These are used in " "the <filename>debian/changelog</filename> file described later in <xref " "linkend=\"changelog\"/>, too." msgstr "" "Si el código original se presenta como <filename>gentoo-0.9.12.tar.gz</" "filename>, puedes poner como <emphasis role=\"strong\">nombre del paquete</" "emphasis> <literal>gentoo</literal> y como <emphasis role=\"strong\">versión " "original</emphasis> <literal>0.9.12</literal>. Estas referencias se utilizan " "en el archivo <filename>debian/changelog</filename> descrito más adelante en " "<xref linkend=\"changelog\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Although this simple approach works most of the times, you may need to " "adjust <emphasis role=\"strong\">package name</emphasis> and <emphasis role=" "\"strong\">upstream version</emphasis> by renaming the upstream source to " "follow Debian Policy and existing convention." msgstr "" "Aunque este enfoque simple es útil la mayoría de las veces, es posible que " "debas cambiar el <emphasis role=\"strong\">nombre del paquete</emphasis> y " "la <emphasis role=\"strong\">versión original</emphasis> renombrando las " "fuentes originales para seguir las normas de Debian y las convenciones " "actuales." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default package name field length of <command>aptitude</command> is 30. " "For more than 90% of packages, the package name is less than 24 characters." msgstr "" "La longitud predeterminada del nombre del paquete en la orden " "<command>aptitude</command> es 30. En más del 90% de los paquetes, la " "longitud del nombre del paquete es inferior a 24 caracteres." #. type: Content of: <book><chapter><section><para> msgid "" "You must choose the <emphasis role=\"strong\">package name</emphasis> to " "consist only of lower case letters (<literal>a-z</literal>), digits " "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" "literal>) signs, and periods (<literal>.</literal>). It must be at least two " "characters long, must start with an alphanumeric character, and must not be " "the same as existing ones. It is a good idea to keep its length within 30 " "characters. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Debes elegir el <emphasis role=\"strong\">nombre del paquete</emphasis> de " "forma que contenga solo letras minúsculas (<literal>a-z</literal>), dígitos " "(<literal>0-9</literal>), el símbolo de suma (<literal>+</literal>) y resta " "(<literal>-</literal>) y puntos (<literal>.</literal>). Debe contener al " "menos dos caracteres, empezar con un carácter alfanumérico y no coincidir " "con alguno de los paquetes ya existentes. Es buena idea limitar su longitud " "a un máximo de 30 caracteres <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you follow the <ulink url=\"&devref-newpackage;\">Debian Developer's " "Reference 5.1. \"New packages\"</ulink>, the ITP process will usually catch " "this kind of issues." msgstr "" "Si sigues las <ulink url=\"&devref-newpackage;\">Debian Developer's " "Reference 5.1. \"New packages\"</ulink>, el proceso de ITP (de «intento de " "empaquetado») abarcará este tipo de cuestiones." #. type: Content of: <book><chapter><section><para> msgid "" "If upstream uses some generic term such as <literal>test-suite</literal> for " "its name, it is a good idea to rename it to identify its contents explicitly " "and avoid namespace pollution. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si el código fuente original utiliza palabras genéricas tales como " "<literal>prueba-privada</literal> por nombre, es buena idea cambiarlo para " "no «contaminar» el espacio de nombres y para identificar su contenido en " "forma explícita <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This stricter rule should help you avoid confusing file names." msgstr "" "Esta norma más estricta debería ayudar a evitar confundir los nombres de " "archivo." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default version field length of <command>aptitude</command> is 10. The " "Debian revision with preceding hyphen usually consumes 2. For more than 80% " "of packages, the upstream version is less than 8 characters and the Debian " "revision is less than 2 characters. For more than 90% of packages, the " "upstream version is less than 10 characters and the Debian revision is less " "than 3 characters." msgstr "" "El valor predeterminado para la longitud de la versión de la orden " "<command>aptitude</command> es 10. El código de la revisión Debian precedida " "por un guión consume 2. Para más del 80% de los paquetes, el código de la " "versión original es de menos de 8 caracteres y el de la revisión Debian es " "de menos de 2 caracteres. Para más del 90% de los paquetes, la versión " "original es de menos de 10 caracteres y la revisión Debian es de menos de 3 " "caracteres." #. type: Content of: <book><chapter><section><para> msgid "" "You should choose the <emphasis role=\"strong\">upstream version</emphasis> " "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>), and periods " "(<literal>.</literal>). It must start with a digit (<literal>0-9</" "literal>). <placeholder type=\"footnote\" id=\"0\"/> It is good idea to " "keep its length within 8 characters if possible. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "Debes elegir la <emphasis role=\"strong\">versión original</emphasis> para " "que tengo sólo caracteres alfanuméricos (<literal>0-9 A-Z a-z</literal>), " "signo de suma (<literal>+</literal>), tildes (<literal>~</literal>) y puntos " "(<literal>.</literal>). Se debe comenzar con un dígito (<literal>0-9</" "literal>) <placeholder type=\"footnote\" id=\"0\"/>. Es deseable mantener su " "longitud dentro de 8 caracteres, si es posible <placeholder type=\"footnote" "\" id=\"1\"/>. " #. type: Content of: <book><chapter><section><para> msgid "" "If upstream does not use a normal versioning scheme such as " "<literal>2.30.32</literal> but uses some kind of date such as " "<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " "part of the version, make sure to remove them from the <emphasis role=" "\"strong\">upstream version</emphasis>. Such information can be recorded in " "the <filename>debian/changelog</filename> file. If you need to invent a " "version string, use the <literal>YYYYMMDD</literal> format such as " "<literal>20110429</literal> as upstream version. This ensures that " "<command>dpkg</command> interprets later versions correctly as upgrades. If " "you need to ensure smooth transition to the normal version scheme such as " "<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format " "such as <literal>0~110429</literal> as upstream version, instead." msgstr "" "Si el código fuente no utiliza el sistema habitual para codificar la " "versión, como <literal>2.30.32</literal> sino que utiliza algún tipo de " "fecha como <literal>09Oct23</literal>, una cadena de nombre en clave al azar " "o un valor «hash» VCS como parte de la versión, elimínalo de la <emphasis " "role=\"strong\">versión del código fuente</emphasis>. Esta información " "(eliminada) puede ser registrada en el archivo <filename>debian/changelog</" "filename>. Si debes inventarte una cadena de versión, utiliza el formato " "<literal>AAAAMMDD</literal> (por ejemplo <literal>20110429</literal>) para " "la versión del código fuente. Esto asegura que <command>dpkg</command> " "considerará correctamente las versiones posteriores como actualizaciones. Si " "debes garantizar una transición fluida al formato de versión más habitual, " "como <literal>0.1</literal> en el futuro, utiliza <literal>0~AAMMDD</" "literal> como <literal>0~110429</literal> para la versión principal." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Version strings may be <emphasis role=\"strong\">upstream version</emphasis> " "(<literal><replaceable>version</replaceable></literal>), <emphasis role=" "\"strong\">Debian revision</emphasis> (<literal><replaceable>revision</" "replaceable></literal>), or <emphasis role=\"strong\">version</emphasis> " "(<literal><replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal>). See <xref linkend=\"newrevision\"/> for how the " "<emphasis role=\"strong\">Debian revision</emphasis> is incremented." msgstr "" "Las cadenas de versión pueden ser <emphasis role=\"strong\">la versión del " "código fuente</emphasis> (<literal><replaceable>versión</replaceable></" "literal>), <emphasis role=\"strong\">la revisión Debian</emphasis> " "(<literal><replaceable>revisión</replaceable></literal>), o <emphasis role=" "\"strong\">versión</emphasis> (<literal><replaceable>versión</replaceable>-" "<replaceable>revisión</replaceable></literal>). Consulta <xref linkend=" "\"newrevision\"/> para saber cómo debe incrementarse <emphasis role=\"strong" "\">la revisión Debian</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Version strings <placeholder type=\"footnote\" id=\"0\"/> can be compared " "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> as follows." msgstr "" "El código de la versión <placeholder type=\"footnote\" id=\"0\"/> será " "comparado por <citerefentry> <refentrytitle>dpkg</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> como sigue." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" msgstr "$ dpkg --compare-versions <replaceable>versión_1</replaceable> <replaceable>op</replaceable> <replaceable>versión_2</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "The version comparison rule can be summarized as:" msgstr "" "La regla de comparación de versiones se pueden resumir de la siguiente " "manera." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Strings are compared from the head to the tail." msgstr "Las cadenas se comparan desde el inicio hasta el final." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are larger than digits." msgstr "Los caracteres (letras y símbolos) son anteriores a los números." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Numbers are compared as integers." msgstr "Los números se comparan como enteros." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are compared in ASCII code order." msgstr "" "Los caracteres (letras y símbolos) se comparan en el orden del código ASCII." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "There are special rules for period (<literal>.</literal>), plus (<literal>+</" "literal>), and tilde (<literal>~</literal>) characters, as follows." msgstr "" "Hay algunas reglas especiales para los puntos (<literal>.</literal> ), " "símbolo de suma (<literal>+</literal>) y tildes (<literal>~</literal>) como " "se explica a continuación." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" msgstr "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case occurs when upstream releases <filename>gentoo-0.9.12-" "ReleaseCandidate-99.tar.gz</filename> as the pre-release of " "<filename>gentoo-0.9.12.tar.gz</filename>. You need to make sure that the " "upgrade works properly by renaming the upstream source to " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." msgstr "" "Uno de los casos difíciles sucede cuando la versions del código fuente " "<filename>gentoo-0.9.12-ReleaseCandidate-99.tar.gz</filename> se utiliza " "como el pre-lanzamiento de <filename>gentoo-0.9.12.tar.gz</filename>. Debes " "asegurarte que la actualización funciona correctamente cambiando el nombre a " "las fuentes originales por <filename>gentoo-0.9.12~rc99.tar.gz</filename>." #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>dh_make</command>" msgstr "Configurar <command>dh_make</command>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The following text assumes you are using Bash as your login shell. If you " "use some other login shell such as Z shell, use their corresponding " "configuration files instead of <filename>~/.bashrc</filename>." msgstr "" "El texto mostrado a continuación da por supuesto que estás ejecutando «bash» " "como tu intérprete de línea de órdenes. Si utilizas otros intérpretes, como " "«Z shell», deberás utilizar sus correspondientes ficheros de configuración " "en lugar de <filename>~/.bashrc</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Set up the shell environment variables <literal>$DEBEMAIL</literal> and " "<literal>$DEBFULLNAME</literal> so that various Debian maintenance tools " "recognize your email address and name to use for packages. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Primero debes configurar las variables de entorno «shell» <literal>" "$DEBEMAIL</literal> y <literal>$DEBFULLNAME</literal> que son utilizadas por " "varias herramientas de mantenimiento de Debian para obtener tu nombre y " "correo electrónico como se indica a continuación <placeholder type=\"footnote" "\" id=\"0\"/>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" msgstr "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" #. type: Content of: <book><chapter><section><title> msgid "Initial non-native Debian package" msgstr "Paquete no nativo Debian inicial" #. type: Content of: <book><chapter><section><para> msgid "" "Normal Debian packages are non-native Debian packages made from upstream " "programs. If you wish to create a non-native Debian package of an upstream " "source <filename>gentoo-0.9.12.tar.gz</filename>, you can create an initial " "non-native Debian package for it by issuing the <command>dh_make</command> " "command as follows." msgstr "" "Los paquetes Debian normales son paquetes no nativos construidos a partir de " "los programas originales de los autores. Si deseas construir un paquete " "Debian no nativo a partir del código fuente original " "<filename>gentoo-0.9.12.tar.gz</filename>, puedes construir un primer " "paquete de Debian no nativo ejecutando la orden <command>dh_make</command> " "como sigue" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" msgstr "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the upstream source provides the <filename>debian</filename> directory " "and its contents, run the <command>dh_make</command> command with the extra " "option <literal>--addmissing</literal>. The new source <literal>3.0 " "(quilt)</literal> format is robust enough not to break even for these " "packages. You may need to update the contents provided by the upstream for " "your Debian package." msgstr "" "Si el archivo del código fuente original ya contiene un directorio " "<filename>debian</filename> con su contenido, ejecuta la orden " "<command>dh_make</command> con la opción <literal>--addmissing</literal>. " "El nuevo formato <literal>3.0 (quilt)</literal> es lo bastante robusto para " "no romper ni esos paquetes. Así se actualizará el contenido aportado por el " "autor para tu paquete Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of your original source " "archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> for details." msgstr "" "Deberás cambiar el nombre del archivo por el correspondiente a tus fuentes " "<placeholder type=\"footnote\" id=\"0\"/>. Véase <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> para una descripción más detallada." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are several choices here: <literal>s</literal> for Single binary " "package, <literal>i</literal> for arch-Independent package, <literal>m</" "literal> for Multiple binary packages, <literal>l</literal> for Library " "package, <literal>k</literal> for Kernel module package, <literal>n</" "literal> for kernel patch package, and <literal>b</literal> for <systemitem " "role=\"package\">cdbs</systemitem> package. This document focuses on the " "use of the <command>dh</command> command (from the package <systemitem role=" "\"package\">debhelper</systemitem>) to create a single binary package, but " "also touches on how to use it for arch-independent or multiple binary " "packages. The package <systemitem role=\"package\">cdbs</systemitem> offers " "an alternative packaging script infrastructure to the <command>dh</command> " "command and is outside the scope of this document." msgstr "" "Se ofrecen varias opciones aquí: <literal>s</literal> para un binario," "<literal>i</literal> para un paquete independiente de la arquitectura (sólo " "código fuente o bien documentación), <literal>m</literal> para más de un " "binario, <literal>l</literal> para una biblioteca, <literal>k</literal> para " "un módulo del núcleo («kernel»), <literal>n</literal> para un parche del " "núcleo y <literal>b</literal> para paquetes <systemitem role=\"package" "\">cdbs</systemitem>. Este documento se centra en el uso del paquete " "<systemitem role=\"package\">debhelper</systemitem> con la orden " "<command>dh</command> para la construcción de paquetes con un binario y " "trata solo parcialmente su uso en la construcción de paquetes independientes " "de la arquitectura y con más de un binario. El paquete <systemitem role=" "\"package\">cdbs</systemitem> ofrece guiones alternativos a la orden " "<command>dh</command> y su uso queda fuera de este documento." #. type: Content of: <book><chapter><section><para> msgid "" "You should see some output asking you what sort of package you want to " "create. Gentoo is a single binary package - it creates only one binary " "package, i.e, one <filename>.deb</filename> file - so we will select the " "first option (with the <literal>s</literal> key), check the information on " "the screen, and confirm by pressing <literal><replaceable>ENTER</" "replaceable></literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Saldrá alguna información. Te preguntará qué tipo de paquete deseas " "construir. «gentoo» es un paquete de binario simple (crea sólo un binario) " "y, por tanto, sólo un fichero <filename>.deb</filename> - así que " "seleccionaremos la primera opción, con la tecla <literal>s</literal>. " "Comprueba la información que aparece en la pantalla y confirma pulsando la " "tecla <literal><replaceable>ENTER</replaceable></literal> <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "This execution of <command>dh_make</command> creates a copy of the upstream " "tarball as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent " "directory to accommodate the creation of the non-native Debian source " "package with the name <filename>debian.tar.gz</filename> later." msgstr "" "Tras ejecutar <command>dh_make</command>, se genera una copia del código " "original con el nombre <filename>gentoo_0.9.12.orig.tar.gz</filename> en el " "directorio raíz para facilitar la construcción del paquete de fuentes no " "nativo de Debian con el archivo <filename>debian.tar.gz</filename>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" msgstr "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please note two key features of this filename <filename>gentoo_0.9.12.orig." "tar.gz</filename>:" msgstr "" "Observa que hay dos cambios clave en el nombre del fichero " "<filename>gentoo_0.9.12.orig.tar.gz</filename>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Package name and version are separated by the character <literal>_</literal> " "(underscore)." msgstr "" "El nombre del paquete y la versión están separados por «<literal>_</" "literal>»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The string <filename>.orig</filename> is inserted before the <filename>.tar." "gz</filename>." msgstr "" "Hay un <filename>.orig</filename> antes de <filename>.tar.gz</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "You should also notice that many template files are created in the source " "under the <filename>debian</filename> directory. These will be explained in " "<xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should also " "understand that packaging cannot be a fully automated process. You will " "need to modify the upstream source for Debian (see <xref linkend=\"modify\"/" ">). After this, you need to use the proper methods for building Debian " "packages (<xref linkend=\"build\"/>), testing them (<xref linkend=\"checkit" "\"/>), and uploading them (<xref linkend=\"upload\"/>). All the steps will " "be explained." msgstr "" "Observa que la ejecución de la orden ha generado varios archivos de " "plantilla en el directorio <filename>debian</filename>. Se tratará sobre " "ellos en <xref linkend=\"dreq\"/> y <xref linkend=\"dother\"/>. El proceso " "de empaquetado no está totalmente automatizado. Se tratará la modificación " "de los archivos Debian en <xref linkend=\"modify\"/>. A continuación se " "compilará el paquete Debian en el apartado <xref linkend=\"build\"/>, la " "revisión del resultado en <xref linkend=\"checkit\"/> y el envío del paquete " "en <xref linkend=\"upload\"/>. Se explicará cada una de estas etapas a " "continuación." #. type: Content of: <book><chapter><section><para> msgid "" "If you accidentally erased some template files while working on them, you " "can recover them by running <command>dh_make</command> with the <literal>--" "addmissing</literal> option again in a Debian package source tree." msgstr "" "Si accidentalmente has eliminado alguna de las plantillas mientras " "trabajabas en ellas, puedes regenerarlas ejecutando <command>dh_make</" "command> con la opción <literal>--addmissing</literal> desde el directorio " "con las fuentes del paquete Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Updating an existing package may get complicated since it may be using older " "techniques. While learning the basics, please stick to creating a fresh " "package; further explanations are given in <xref linkend=\"update\"/>." msgstr "" "Actualizar un paquete existente puede complicarse debido a que puede estar " "construido con técnicas más antiguas. Para aprender lo básico, es mejor " "limitarse a la construcción de un paquete nuevo; se amplia la explicación en " "<xref linkend=\"update\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the source file does not need to contain any build system " "discussed in <xref linkend=\"simplemake\"/> and <xref linkend=\"portable\"/" ">. It could be just a collection of graphical data etc. Installation of " "files may be carried out using only <systemitem role=\"package\">debhelper</" "systemitem> configuration files such as <filename>debian/install</filename> " "(see <xref linkend=\"install\"/>)." msgstr "" "Ten en cuenta que el archivo de las fuentes puede que no contenga ningún " "sistema de construcción discutido en <xref linkend=\"simplemake\"/> y <xref " "linkend=\"portable\"/>. Podría ser simplemente una colección datos, etc. La " "instalación de archivos puede realizarse simplemente con los archivos de " "configuración de <systemitem role=\"package\">debhelper</systemitem> tales " "como <filename>debian/install</filename> (consulta <xref linkend=\"install\"/" ">)." #. type: Content of: <book><chapter><section><title> msgid "Initial native Debian package" msgstr "Paquete nativo Debian inicial" #. type: Content of: <book><chapter><section><para> msgid "" "If a package contains source files you are only maintaining for Debian, " "possibly only for local use, it may be simpler to create it as a Debian " "native package. If you have source files in <filename>~/mypackage-1.0</" "filename>, you can create an initial native Debian package for it by issuing " "the <command>dh_make</command> command as follows." msgstr "" "Si un paquete contiene archivos fuente que sólo se mantiene para Debian, " "posiblemente sólo para uso local, puede ser más fácil construirlo como un " "paquete Debian nativo. Si tienes archivos de fuentes en <filename>~/" "mi_paquete-1.0</filename>, puedes generar un primer paquete nativo de Debian " "ejecutando la orden <command>dh_make</command> como sigue." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" msgstr "" "$ cd ~/mi_paquete-1.0\n" "$ dh_make --native\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then the <filename>debian</filename> directory and its contents are created " "just like <xref linkend=\"non-native-dh-make\"/>. This does not create a " "tarball since this is a native Debian package. But that is the only " "difference. The rest of the packaging activities are practically the same." msgstr "" "Entonces el directorio <filename>debian</filename> y su contenido son " "generados como en <xref linkend=\"non-native-dh-make\"/>. De esta manera no " "se genera un archivo «tarball» ya que este es un paquete Debian nativo. Pero " "esa es la única diferencia. El resto de las actividades de empaquetado son " "prácticamente las mismas." #. type: Content of: <book><chapter><title> msgid "Modifying the source" msgstr "Modificar las fuentes" #. type: Content of: <book><chapter><para> msgid "" "Please note that there isn't space here to go into <emphasis>all</emphasis> " "the details of fixing upstream sources, but here are some basic steps and " "problems people often run across." msgstr "" "Ten en cuenta que no hay espacio aquí para entrar en <emphasis>todos</" "emphasis> los detalles respecto a los cambios que deben hacerse en las " "fuentes originales. Sin embargo, a continuación se detallan algunos de los " "problemas más frecuentes." #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>quilt</command>" msgstr "Configurar <command>quilt</command>" #. type: Content of: <book><chapter><section><para> msgid "" "The program <command>quilt</command> offers a basic method for recording " "modifications to the upstream source for Debian packaging. It's useful to " "have a slightly customized default, so let's create an alias " "<command>dquilt</command> for Debian packaging by adding the following lines " "to <filename>~/.bashrc</filename>. The second line provides the same shell " "completion feature of the <command>quilt</command> command to the " "<command>dquilt</command> command." msgstr "" "El programa <command>quilt</command> ofrece un método básico para realizar y " "guardar las modificaciones del código fuente para construir paquetes Debian. " "Para empaquetar, es preferible realizar algunos cambios en la configuración " "predeterminada del programa, vamos a generar un alias <command>dquilt</" "command> para la generación de paquetes Debian añadiendo la siguiente linea " "en el archivo <filename>~/.bashrc</filename>. La segunda línea garantiza que " "el alias tendrá los mismos beneficios que el programa «quilt» con la función " "de auto-completar del «shell»." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" msgstr "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" #. type: Content of: <book><chapter><section><para> msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows." msgstr "" "A continuación, vamos a generar el archivo <filename>~/.quiltrc-dpkg</" "filename> de la siguiente manera." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" msgstr "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" #. type: Content of: <book><chapter><section><para> msgid "" "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <filename>&quilt-pdf;</filename> on how to " "use <command>quilt</command>." msgstr "" "Véase <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> y <filename>&quilt-pdf;</filename> para utilizar " "<command>quilt</command>." #. type: Content of: <book><chapter><section><title> msgid "Fixing upstream bugs" msgstr "Corregir un error en el código fuente" #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume you find an error in the upstream <filename>Makefile</filename> " "as follows where <literal>install: gentoo</literal> should have been " "<literal>install: gentoo-target</literal>." msgstr "" "Vamos a suponer que has encontrado el siguiente error en el archivo " "<filename>Makefile</filename> original: donde pone «<literal>install: " "gentoo</literal>» debería poner «<literal>install: gentoo-target</literal>»." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <filename>debian/patches</filename> directory should exist now if you " "ran <command>dh_make</command> as described before. This example operation " "creates it just in case you are updating an existing package." msgstr "" "El directorio <filename>debian/patches</filename> debería haberse creado en " "la anterior ejecución de <command>dh_make</command>. Sólo debes generarlo " "si no existe o bien si estás actualizando un paquete." #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this and record it with the <command>dquilt</command> command as " "<filename>fix-gentoo-target.patch</filename>. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Vamos a arreglar este error con la orden <command>dquilt</command> y " "conservar las modificaciones a realizar en el archivo <filename>fix-gentoo-" "target.patch</filename> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "You change the <filename>Makefile</filename> file as follows." msgstr "" "Ahora cambia el archivo <filename>Makefile</filename> (con un editor) " "original como se muestra a continuación." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "Ask <command>dquilt</command> to generate the patch to create " "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " "description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</" "ulink>." msgstr "" "A continuación ejecuta <command>dquilt</command> para que actualice el " "parche generando el archivo <filename>debian/patches/fix-gentoo-target." "patch</filename> y añade la descripción del parche como se describe en " "<ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</ulink>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe el parche\n" #. type: Content of: <book><chapter><section><title> msgid "Installation of files to their destination" msgstr "Instalación de los archivos en su destino" #. type: Content of: <book><chapter><section><para> msgid "" "Most third-party software installs itself in the <filename>/usr/local</" "filename> directory hierarchy. On Debian this is reserved for private use " "by the system administrator, so packages must not use directories such as " "<filename>/usr/local/bin</filename> but should instead use system " "directories such as <filename>/usr/bin</filename>, obeying the <ulink url=" "\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)." msgstr "" "Por lo general, los programas se instalan a sí mismos en el subdirectorio " "<filename>/usr/local</filename>. Pero los paquetes Debian no pueden utilizar " "este directorio ya que está reservado para el uso privado del administrador " "(o de los usuarios), sino que deben utilizar los directorios del sistema " "como <filename>/usr/bin</filename> según lo establecido por la normativa de " "jerarquía del sistema de archivos («Filesystem Hierarchy Standard» <ulink " "url=\"&fhs;\">FHS</ulink>)." #. type: Content of: <book><chapter><section><para> msgid "" "Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> is used to automate building the program, and " "executing <literal>make install</literal> installs programs directly to the " "desired destination (following the <literal>install</literal> target in the " "<filename>Makefile</filename>). In order for Debian to provide pre-built " "installable packages, it modifies the build system to install programs into " "a file tree image created under a temporary directory instead of the actual " "destination." msgstr "" "Es frecuente la utilización de <citerefentry> <refentrytitle>make</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> para la construcción " "automatizada del programa y la ejecución de la orden <literal>make install</" "literal> instala directamente el programa en la ubicación deseada ejecutando " "la sección <literal>install</literal> del archivo <filename>Makefile</" "filename>. En la construcción de los paquetes binarios de Debian, el " "sistema de construcción instala los programas en una reconstrucción de la " "estructura de directorios del programa en un directorio temporal en lugar de " "hacerlo en su destino real." #. type: Content of: <book><chapter><section><para> msgid "" "These two differences between normal program installation on one hand and " "the Debian packaging system on the other can be transparently addressed by " "the <systemitem role=\"package\">debhelper</systemitem> package through the " "<command>dh_auto_configure</command> and <command>dh_auto_install</command> " "commands if the following conditions are met." msgstr "" "Estas dos diferencias entre la instalación del programa y el proceso de " "construcción del paquete es manejado en Debian de forma transparente por " "<systemitem role=\"package\">debhelper</systemitem> con las órdenes " "<command>dh_auto_configure</command> y <command>dh_auto_install</command> " "siempre que se cumplan los requisitos indicados a continuación." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." msgstr "" "Consulta <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <filename>Makefile</filename> must follow GNU conventions and support " "the <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" " "id=\"0\"/>" msgstr "" "El archivo <filename>Makefile</filename> debe seguir las convenciones GNU de " "forma que admita la variable <literal>$(DESTDIR)</literal> <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The source must follow the Filesystem Hierarchy Standard (FHS)." msgstr "" "El código fuente sigue el estándar de la jerarquía del sistema de ficheros. " "(«Filesystem Hierarchy Standard» o FHS)." #. type: Content of: <book><chapter><section><para> msgid "" "Programs that use GNU <command>autoconf</command> follow the GNU conventions " "automatically, so they can be trivial to package. On the basis of this and " "other heuristics, it is estimated that the <systemitem role=\"package" "\">debhelper</systemitem> package will work for about 90% of packages " "without making any intrusive changes to their build system. So packaging is " "not as complicated as it may seem." msgstr "" "Los programas que usan <command>autoconf</command> de GNU cumplen " "<emphasis>automáticamente</emphasis> con las convenciones GNU y su " "empaquetamiento es casi <emphasis>automático</emphasis>. Con estos " "requisitos y la heurística que aplica el paquete <systemitem role=\"package" "\">debhelper</systemitem>, se estima que funciona sobre el 90% de paquetes " "sin tener que realizar ningún cambio intrusivo en su sistema de " "construcción. El empaquetado no es tan complicado como puede parecer." #. type: Content of: <book><chapter><section><para> msgid "" "If you need to make changes in the <filename>Makefile</filename>, you should " "be careful to support the <literal>$(DESTDIR)</literal> variable. Although " "it is unset by default, the <literal>$(DESTDIR)</literal> variable is " "prepended to each file path used for the program installation. The " "packaging script will set <literal>$(DESTDIR)</literal> to the temporary " "directory." msgstr "" "Si debes hacer cambios en el archivo <filename>Makefile</filename>, debes " "asegurarte que admite la variable <literal>$(DESTDIR)</literal>. La " "variable <literal>$(DESTDIR)</literal> no está definida en el archivo y se " "añadirá en todas las rutas de directorios usadas en la instalación del " "programa. El guión de empaquetamiento establece el valor de la variable " "<literal>$(DESTDIR)</literal> al valor del directorio temporal de " "instalación del programa en el proceso de construcción del paquete." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "For a source package generating multiple binary packages, the " "<command>dh_auto_install</command> command uses <filename>debian/tmp</" "filename> as the temporary directory while the <command>dh_install</command> " "command with the help of <filename>debian/<replaceable>package-1</" "replaceable>.install</filename> and <filename>debian/<replaceable>package-2</" "replaceable>.install</filename> files will split the contents of " "<filename>debian/tmp</filename> into <filename>debian/" "<replaceable>package-1</replaceable></filename> and <filename>debian/" "<replaceable>package-2</replaceable></filename> temporary directories, to " "create <filename><replaceable>package-1</replaceable>_*.deb</filename> and " "<filename><replaceable>package-2</replaceable>_*.deb</filename> binary " "packages." msgstr "" "Para paquetes con más de un archivo binario, la orden " "<command>dh_auto_install</command> utiliza como directorio temporal " "<filename>debian/tmp</filename> mientras que la orden <command>dh_install</" "command> con la ayuda de los archivos <filename>debian/" "<replaceable>paquete-1</replaceable>.install</filename> y <filename>debian/" "<replaceable>paquete-2</replaceable>.install</filename> distribuirá el " "contenido del directorio <filename>debian/tmp</filename> en los directorios " "temporales <filename>debian/<replaceable>paquete-1</replaceable></filename> " "y <filename>debian/<replaceable>paquete-2</replaceable></filename> para " "construir los paquetes binarios <filename><replaceable>package-1</" "replaceable>_*.deb</filename> y <filename><replaceable>package-2</" "replaceable>_*.deb</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "For a source package generating a single binary package, the temporary " "directory used by the <command>dh_auto_install</command> command will be set " "to <filename>debian/<replaceable>package</replaceable></filename>. " "<placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in " "the temporary directory will be installed on users' systems when they " "install your package; the only difference is that <command>dpkg</command> " "will be installing the files to paths relative to the root directory rather " "than your working directory." msgstr "" "El directorio temporal usado por la orden <command>dh_auto_install</command> " "es <filename>debian/<replaceable>nombre_de_paquete</replaceable></filename> " "para paquetes con un binario <placeholder type=\"footnote\" id=\"0\"/>. El " "contenido completo del directorio temporal será instalado en el sistema del " "usuario cuando se instale el paquete, con la diferencia que con " "<command>dpkg</command> la instalación se realizará a partir del directorio " "raíz del sistema." #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that even though your program installs in <filename>debian/" "<replaceable>package</replaceable></filename>, it still needs to behave " "correctly when installed from the <filename>.deb</filename> package under " "the root directory. So you must not allow the build system to hardcode " "strings like <literal>/home/me/deb/<replaceable>package</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>package</" "replaceable></literal> into files in the package." msgstr "" "Aunque el programa se instale en el directorio <filename>debian/" "<replaceable>nombre_del_paquete</replaceable></filename> será necesario que " "se comporte correctamente cuando se instale en el directorio raíz, esto es, " "cuando se instale usando el archivo <filename>.deb</filename>. Deberias " "evitar que el sistema de compilación incluya cadenas del tipo <literal>/home/" "mi/deb/<replaceable>nombre_del_paquete</replaceable>-<replaceable>versión</" "replaceable>/usr/share/<replaceable>nombre_del_paquete</replaceable></" "literal> en los archivos del paquete." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This is just an example to show what a <filename>Makefile</filename> should " "look like. If the <filename>Makefile</filename> is created by the " "<command>./configure</command> command, the correct way to fix this kind of " "<filename>Makefile</filename> is to execute <command>./configure</command> " "from the <command>dh_auto_configure</command> command with default options " "including <literal>--prefix=/usr</literal>." msgstr "" "Se trata solo de un ejemplo del contenido del archivo <filename>Makefile</" "filename>. Si el archivo <filename>Makefile</filename> se construye con la " "orden <command>./configure</command>, la forma correcta de solucionar este " "tipo de errores en los archivos <filename>Makefile</filename> es ejecutando " "la orden <command>./configure</command> desde la orden " "<command>dh_auto_configure</command> con las opciones predeterminadas " "añadiendo <literal>--prefix=/usr</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Here's the relevant part of <systemitem role=\"package\">gentoo</" "systemitem>'s <filename>Makefile</filename><placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "Esta es la parte importante del archivo <filename>Makefile</filename> de " "<systemitem role=\"package\">gentoo</systemitem> <placeholder type=\"footnote" "\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" msgstr "" "# ¿Dónde se colocaran los ejecutables con 'make install'?\n" "BIN = /usr/local/bin\n" "# ¿Dónde se colocaran los iconos con 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "We see that the files are set to install under <filename>/usr/local</" "filename>. As explained above, that directory hierarchy is reserved for " "local use on Debian, so change those paths to:" msgstr "" "Vemos que los ficheros están configurados para instalarse bajo <filename>/" "usr/local</filename>. Como se explicó anteriormente, esta rama de " "directorios esta reservada para uso privado en Debian, cambia estas rutas a:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgstr "" "# ¿Dónde se colocaran los ejecutables con 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# ¿Dónde se colocaran los iconos con 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The exact locations that should be used for binaries, icons, documentation, " "etc. are specified in the Filesystem Hierarchy Standard (FHS). You should " "browse through it and read the sections relevant to your package." msgstr "" "La ubicación correcta de los binarios, iconos, documentación, etc, está " "especificada en el «Estándar de la jerarquía del sistema de ficheros». Te " "recomiendo que leas las secciones que podrían aplicarse a tu paquete." #. type: Content of: <book><chapter><section><para> msgid "" "So, we should install executable commands in <filename>/usr/bin</filename> " "instead of <filename>/usr/local/bin</filename>, the manual page in " "<filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/" "man1</filename>, and so on. Notice how there's no manual page mentioned in " "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" "filename>, but since Debian Policy requires that every program has one, " "we'll make one later and install it in <filename>/usr/share/man/man1</" "filename>." msgstr "" "Así pues, deberíamos instalar el binario en <filename>/usr/bin</filename> en " "lugar de <filename>/usr/local/bin</filename> y la página de manual en " "<filename>/usr/share/man/man1</filename> en lugar de <filename>/usr/local/" "man/man1</filename>. No hemos mencionado ninguna página de manual en el " "<filename>Makefile</filename> de <systemitem role=\"package\">gentoo</" "systemitem>, pero la normativa de Debian requiere que cada programa debe " "tener una, así que haremos una más tarde y la instalaremos en <filename>/usr/" "share/man/man1</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Some programs don't use <filename>Makefile</filename> variables to define " "paths such as these. This means you might have to edit some real C sources " "in order to fix them to use the right locations. But where to search, and " "exactly what for? You can find this out by issuing:" msgstr "" "Algunos programas no usan variables en el <filename>makefile</filename> para " "definir rutas como éstas. Esto significa que tendrás que editar algunos de " "los ficheros de código C para arreglarlos y que usen las rutas correctas. " "Pero, ¿dónde buscar?, y exactamente, ¿el qué? Puedes probar a encontrarlos " "usando:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" msgstr "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>grep</command> will run recursively through the source tree and " "tell you the filename and the line number for all matches." msgstr "" "<command>grep</command> buscará recursivamente en los subdirectorios y te " "indicará el nombre del fichero y la línea cuando encuentre una concordancia " "con la cadena." #. type: Content of: <book><chapter><section><para> msgid "" "Edit those files and in those lines replace <literal>usr/local/lib</literal> " "with <literal>usr/lib</literal>. This can be done automatically as follows:" msgstr "" "Ahora edita esos ficheros y cambia en esas líneas <literal>usr/local/lib</" "literal> por <literal>usr/lib</literal>. Esto se puede hacer de forma " "automática como sigue:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you want to confirm each substitution instead, this can be done " "interactively as follows:" msgstr "" "Si deseas confirmar cada sustitución, puedes hacerlo de forma interactiva de " "la siguiente manera:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "Next you should find the <literal>install</literal> target (searching for " "the line that starts with <literal>install:</literal> will usually work) and " "rename all references to directories other than ones defined at the top of " "the <filename>Makefile</filename>." msgstr "" "Después de esto deberías encontrar (en el archivo <filename>Makefile</" "filename>) el objetivo «install» (busca una línea que comience por " "<literal>install:</literal>) y renombra todas las referencias a directorios " "distintos de los definidos al comienzo del <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Originally, <systemitem role=\"package\">gentoo</systemitem>'s " "<literal>install</literal> target said:" msgstr "" "En el original, el objetivo «install» de <systemitem role=\"package" "\">gentoo</systemitem> declaraba:" #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this upstream bug and record it with the <command>dquilt</command> " "command as <filename>debian/patches/install.patch</filename>." msgstr "" "Ahora corregiremos el error, conservando las modificaciones en el archivo " "<filename>debian/patches/install.patch</filename> con la orden " "<command>dquilt</command>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "In your editor, change this for the Debian package as follows:" msgstr "Y ahora escribe los cambios con el editor:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" msgstr "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You'll have noticed that there's now an <literal>install -d</literal> " "command before the other commands in the rule. The original " "<filename>Makefile</filename> didn't have it because usually <literal>/usr/" "local/bin</literal> and other directories already exist on the system where " "you are running <literal>make install</literal>. However, since we will be " "installing into a newly created private directory tree, we will have to " "create each and every one of those directories." msgstr "" "Seguramente has notado que ahora hay una orden <literal>install -d</literal> " "antes de las demás órdenes de la regla. El <filename>Makefile</filename> " "original no la tenía porque normalmente <literal>/usr/local/bin</literal> y " "otros directorios ya existen en el sistema donde se ejecuta <literal>make " "install</literal>. Sin embargo, dado que lo instalaremos en un directorio " "vacío (o incluso inexistente), tendremos que generar cada uno de estos " "directorios." #. type: Content of: <book><chapter><section><para> msgid "" "We can also add in other things at the end of the rule, like the " "installation of additional documentation that the upstream authors sometimes " "omit:" msgstr "" "También podemos añadir otras cosas al final de la regla, como la instalación " "de documentación adicional que los desarrolladores originales a veces omiten:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" msgstr "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" #. type: Content of: <book><chapter><section><para> msgid "" "Check carefully, and if everything is okay, ask <command>dquilt</command> to " "generate the patch to create <filename>debian/patches/install.patch</" "filename> and add its description." msgstr "" "Después de comprobar que sea todo correcto, ejecuta <command>dquilt</" "command> para actualizar la modificación en el archivo <filename>debian/" "patches/install.patch</filename> y añade la descripción en la cabecera del " "archivo." #. type: Content of: <book><chapter><section><para> msgid "Now you have a series of patches." msgstr "Ahora ya tienes un par de parches en el paquete." #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>" msgstr "" "Corrección de un error en el código fuente: <filename>debian/patches/fix-" "gentoo-target.patch</filename>" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Debian specific packaging modification: <filename>debian/patches/install." "patch</filename>" msgstr "" "Una modificación específica del empaquetado Debian: <filename>debian/patches/" "install.patch</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Whenever you make changes that are not specific to the Debian package such " "as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to " "send them to the upstream maintainer so they can be included in the next " "version of the program and be useful to everyone else. Also remember to " "avoid making your fixes specific to Debian or Linux - or even Unix! Make " "them portable. This will make your fixes much easier to apply." msgstr "" "Siempre que hagas cambios que no estén específicamente relacionados con el " "paquete Debian, tales como <filename>debian/patches/fix-gentoo-target.patch</" "filename>, asegúrate de que los envías al desarrollador original para que " "éste los pueda incluir en la próxima revisión del programa y así le puedan " "ser útiles a alguien más. Además, recuerda hacer que tus cambios no sean " "específicos para Debian o GNU/Linux (¡ni siquiera para Unix!) antes de " "enviarlos, hazlo portable. Esto hará que tus arreglos sean más fáciles de " "aplicar." #. type: Content of: <book><chapter><section><para> msgid "" "Note that you don't have to send the <filename>debian/*</filename> files " "upstream." msgstr "" "Ten en cuenta que no tienes que enviar ninguno de los ficheros " "<filename>debian/*</filename> al desarrollador original." #. type: Content of: <book><chapter><section><title> msgid "Differing libraries" msgstr "Diferencias en las bibliotecas" #. type: Content of: <book><chapter><section><para> msgid "" "There is one other common problem: libraries are often different from " "platform to platform. For example, a <filename>Makefile</filename> can " "contain a reference to a library which doesn't exist on the Debian system. " "In that case, we need to change it to a library which does exist in Debian, " "and serves the same purpose." msgstr "" "Hay otro problema común: las bibliotecas son generalmente diferentes entre " "plataformas. Por ejemplo, un <filename>Makefile</filename> puede contener " "una referencia a una biblioteca que no exista en Debian o ni siquiera en GNU/" "Linux. En este caso, es necesario cambiarla por una biblioteca que sí " "exista en Debian y sirva para el mismo propósito." #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume a line in your program's <filename>Makefile</filename> (or " "<filename>Makefile.in</filename>) as the following." msgstr "" "Vamos a suponer que en el archivo <filename>Makefile</filename> (o " "<filename>Makefile.in</filename>) de tu programa se declara algo como lo " "siguiente." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "LIBS = -lfoo -lbar\n" msgstr "LIBS = -lfoo -lbar\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If there are API changes from the <literal>foo</literal> library to the " "<literal>foo2</literal> library, required changes to the source code need to " "be made to match the new API." msgstr "" "Si hay cambios en el API de la biblioteca <literal>nombre_biblioteca</" "literal> a <literal>nombre_biblioteca2</literal>, se deberá cambiar el " "código fuente para que se corresponda con la nueva API." #. type: Content of: <book><chapter><section><para> msgid "" "If your program doesn't compile since the <literal>foo</literal> library " "doesn't exist and its equivalent is provided by the <literal>foo2</literal> " "library on the Debian system, you can fix this build problem as " "<filename>debian/patches/foo2.patch</filename> by changing <literal>foo</" "literal> into <literal>foo2</literal>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Si el programa no se compila debido a que ya no existe la biblioteca " "<literal>nombre_biblioteca</literal> y su equivalente es proporcionada por " "la biblioteca <literal>nombre_biblioteca2</literal> en el sistema Debian, " "puedes solucionar este problema de compilación, cambiando (en el archivo " "<filename>debian/patches/parche2.patch</filename>) " "<literal>nombre_biblioteca</literal> por <literal>nombre_biblioteca2</" "literal> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe el cambio\n" #. type: Content of: <book><chapter><title> msgid "Required files under the <filename>debian</filename> directory" msgstr "Archivos necesarios en el directorio <filename>debian</filename>" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "In this chapter, files in the <filename>debian</filename> directory are " "referred to without the leading <filename>debian/</filename> for simplicity " "whenever the meaning is obvious." msgstr "" "En este capitulo, los archivos del directorio <filename>debian</filename> se " "nombran sin el antecedente <filename>debian/</filename> para simplificar y " "siempre que no haya posibilidad de equívocos." #. type: Content of: <book><chapter><para> msgid "" "There is a new subdirectory under the program's source directory, called " "<filename>debian</filename>. There are a number of files in this directory " "that we should edit in order to customize the behavior of the package. The " "most important of them are <filename>control</filename>, " "<filename>changelog</filename>, <filename>copyright</filename>, and " "<filename>rules</filename>, which are required for all packages. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Ahora hay un nuevo subdirectorio bajo el directorio principal del programa " "(«gentoo-0.9.12»), que se llama <filename>debian</filename>. Hay algunos " "ficheros en este directorio que debemos editar para adaptar el " "comportamiento del paquete. La parte más importante es modificar los " "ficheros <filename>control</filename>, <filename>changelog</filename>, " "<filename>copyright</filename> y <filename>rules</filename> que son " "necesarios en todos los paquetes. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "<filename>control</filename>" msgstr "El archivo <filename>control</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains various values which <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command>, and other package management tools " "will use to manage the package. It is defined by the <ulink url=\"&policy-" "control;\">Debian Policy Manual, 5 \"Control files and their fields\"</" "ulink>." msgstr "" "Este fichero contiene varios valores que <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command> y otras herramientas de gestión de " "paquetes usarán para gestionar el paquete. Su contenido está concretado en " "<ulink url=\"&policy-control;\">Debian Policy Manual, 5 'Control files and " "their fields'</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Here is the <filename>control</filename> file <command>dh_make</command> " "created for us:" msgstr "" "Aquí está el fichero de <filename>control</filename> que <command>dh_make</" "command> construye para nosotros:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <introduce aquí la URL del autor original >\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insertar hasta 60 caracteres de descripción>\n" "13 <inserta una descripción larga, indentada con espacios.>\n" #. type: Content of: <book><chapter><section><para> msgid "(I've added the line numbers.)" msgstr "(He añadido los números de línea)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 1-7 are the control information for the source package. Lines 9-13 " "are the control information for the binary package." msgstr "" "Las líneas 1 a 7 son la información de control para el paquete fuente. Las " "líneas 9 a 13 son la información de control para el paquete binario." #. type: Content of: <book><chapter><section><para> msgid "Line 1 is the name of the source package." msgstr "La línea 1 es el nombre del paquete fuente." #. type: Content of: <book><chapter><section><para> msgid "Line 2 is the section of the distribution the source package goes into." msgstr "" "La línea 2 es la sección de la distribución dentro de la que estará este " "paquete." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections" "\"</ulink> and <ulink url=\"§ions-unstable;\">List of sections in " "<literal>sid</literal></ulink>." msgstr "" "Consulta <ulink url=\"&policy-subsections;\">normas de Debian, 2.4 " "'Secciones'</ulink> y <ulink url=\"§ions-unstable;\">Lista de secciones " "en <literal>sid</literal></ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "As you may have noticed, the Debian archive is divided into multiple areas: " "<literal>main</literal> (the free software), <literal>non-free</literal> " "(the not really free software) and <literal>contrib</literal> (free software " "that depends on non-free software). Each of these is divided into sections " "that classify packages into rough categories. So we have <literal>admin</" "literal> for administrator-only programs, <literal>devel</literal> for " "programmer tools, <literal>doc</literal> for documentation, <literal>libs</" "literal> for libraries, <literal>mail</literal> for email readers and " "daemons, <literal>net</literal> for network apps and daemons, <literal>x11</" "literal> for X11 programs that don't fit anywhere else, and many more. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Como puede que hayas notado, Debian está dividida en secciones: " "<literal>main</literal> (principal, los programas libres o de código " "abierto), <literal>non-free</literal> (no libre, los programas que no son " "libres, que son de propietario) y <literal>contrib</literal> (programas " "libres que dependen de programas no libre o de propietario). Bajo ellas hay " "subdivisiones lógicas que describen en una palabra qué paquetes hay dentro. " "Así que tenemos <literal>admin</literal> para programas que sólo usa un " "administrador, <literal>base</literal> para las herramientas básicas, " "<literal>devel</literal> para las herramientas de programación, " "<literal>doc</literal> para la documentación, <literal>libs</literal> para " "las bibliotecas, <literal>mail</literal> para lectores y demonios de correo-" "e, <literal>net</literal> para aplicaciones y demonios de red, <literal>x11</" "literal> para programas específicos de X11, y muchos más. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Let's change it then to x11. (A <literal>main/</literal> prefix is implied " "so we can omit it.)" msgstr "" "Vamos a cambiarla para que ponga «x11». El prefijo <literal>main/</literal> " "ya va implícito, así que podemos omitirlo." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities" "\"</ulink>." msgstr "" "Véase <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 " "'Priorities'</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 3 describes how important it is that the user installs this package. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La línea 3 describe cómo de importante es para el usuario la instalación de " "este paquete <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>optional</literal> priority will usually work for new packages " "that do not conflict with others claiming <literal>required</literal>, " "<literal>important</literal>, or <literal>standard</literal> priority." msgstr "" "La prioridad <literal>optional</literal> se utiliza para paquetes nuevos que " "no entran en conflicto con otros de prioridad <literal>required</literal>, " "<literal>important</literal> o <literal>standard</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>extra</literal> priority will usually work for new packages " "that conflict with others with non-<literal>extra</literal> priorities." msgstr "" "La prioridad <literal>extra</literal> se utiliza para nuevos paquetes que " "entran en conflicto con otros que no tienen la prioridad <literal>extra</" "literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Section and priority are used by front-ends like <command>aptitude</command> " "when they sort packages and select defaults. Once you upload the package to " "Debian, the value of these two fields can be overridden by the archive " "maintainers, in which case you will be notified by email." msgstr "" "«Section» y «Priority» se usan en las interfaces como <command>aptitude</" "command> cuando ordenan los paquetes y seleccionan los predeterminados. Una " "vez que envíes el paquete a Debian, el valor de estos dos campos puede no " "ser aceptado por los responsables del archivo, en cuyo caso te lo " "notificarán por correo electrónico." #. type: Content of: <book><chapter><section><para> msgid "" "As this is a normal priority package and doesn't conflict with anything " "else, we will change the priority to <literal>optional</literal>." msgstr "" "Como es un paquete de prioridad normal y no tiene conflictos con ningún " "otro, lo dejaremos con prioridad <literal>optional</literal> (opcional)." #. type: Content of: <book><chapter><section><para> msgid "" "Line 4 is the name and email address of the maintainer. Make sure that this " "field includes a valid <literal>To</literal> header for email, because after " "you upload it, the bug tracking system will use it to deliver bug emails to " "you. Avoid using commas, ampersands, or parentheses." msgstr "" "La línea 4 es el nombre y correo electrónico del desarrollador. Asegúrate " "de que este campo incluye una cabecera válida <literal>To</literal> («A:»), " "para una dirección de correo electrónico, porque después de que envíes el " "paquete, el sistema de seguimiento de errores («Bug Tracking System») " "utilizará esta dirección para enviarte los mensajes de los errores. Evita " "usar comas, el signo «&» y paréntesis." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 \"Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</" "ulink>." msgstr "" "Consulta <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian " "Policy Manual, 7.7 'Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep'</" "ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 5 includes the list of packages required to build your package as the " "<literal>Build-Depends</literal> field. You can also have the " "<literal>Build-Depends-Indep</literal> field as an additional line, here. " "<placeholder type=\"footnote\" id=\"0\"/> Some packages like <systemitem " "role=\"package\">gcc</systemitem> and <systemitem role=\"package\">make</" "systemitem> which are required by the <systemitem role=\"package\">build-" "essential</systemitem> package are implied. If you need to have other tools " "to build your package, you should add them to these fields. Multiple " "entries are separated with commas; read on for the explanation of binary " "package dependencies to find out more about the syntax of these lines." msgstr "" "La línea 5 incluye la lista de paquetes requeridos para construir tu paquete " "(en el campo <literal>Build-Depends</literal>). Puedes tener una línea " "adicional con el campo <literal>Build-Depends-Indep</literal><placeholder " "type=\"footnote\" id=\"0\"/>. Algunos paquetes como <systemitem role=" "\"package\">gcc</systemitem> y <systemitem role=\"package\">make</" "systemitem> están implícitos, consulta el paquete <systemitem role=\"package" "\">build-essential</systemitem> para más detalles. Si se necesita algún " "compilador no estándar u otra herramienta para construir tu paquete, " "deberías añadirla en la línea «Build-Depends». Las entradas múltiples se " "separan con comas, lee la explicación de las dependencias binarias para " "averiguar más sobre la sintaxis de este campo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For all packages packaged with the <command>dh</command> command in the " "<filename>debian/rules</filename> file, you must have <literal>debhelper " "(>=9)</literal> in the <literal>Build-Depends</literal> field to satisfy " "the Debian Policy requirement for the <literal>clean</literal> target." msgstr "" "Para todos los paquetes construidos con la orden <command>dh</command> en el " "archivo <filename>debian/rules</filename>, estará <literal>debhelper (>" "=9)</literal> en el campo <literal>Build-Depends</literal> para ajustarse a " "las normas de Debian respecto al objetivo <literal>clean</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Source packages which have binary packages with <literal>Architecture: any</" "literal> are rebuilt by the autobuilder. Since this autobuilder procedure " "installs only the packages listed in the <literal>Build-Depends</literal> " "field before running <literal>debian/rules build</literal> (see <xref " "linkend=\"autobuilder\"/>), the <literal>Build-Depends</literal> field needs " "to list practically all the required packages and <literal>Build-Depends-" "Indep</literal> is rarely used." msgstr "" "Los paquetes de fuentes que incluyen varios paquetes binarios con el campo " "<literal>Architecture: any</literal> se construyen con «autobuilder». Desde " "el procedimiento «autobuilder» se ejecuta el objetivo <literal>debian/rules " "build</literal> el cual, a su vez, instala los paquetes listados en el campo " "<literal>Build-Depends</literal> (véase <xref linkend=\"autobuilder\"/>), " "que habitualmente son todos los necesarios de forma que el campo " "<literal>Build-Depends-indep</literal> se usa raramente." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For source packages with binary packages all of which are " "<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" "literal> field may list all the required packages unless they are already " "listed in the <literal>Build-Depends</literal> field to satisfy the Debian " "Policy requirement for the <literal>clean</literal> target." msgstr "" "En el caso de los paquetes de fuentes que incluyen paquetes binarios " "únicamente del tipo <literal>Architecture: all</literal>, el campo " "<literal>Build-Depends-Indep</literal> debe listar todos los paquetes " "excepto los listados en el campo <literal>Build-Depends</literal> para " "satisfacer los requerimientos de las normas de Debian respecto al objetivo " "<literal>clean</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This somewhat strange situation is a feature well documented in the <ulink " "url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 55</" "ulink>. This is not due to the use of the <command>dh</command> command in " "the <filename>debian/rules</filename> file but due to how the <command>dpkg-" "buildpackage</command> works. The same situation applies to the <ulink url=" "\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build " "system for Ubuntu</ulink>." msgstr "" "Este caso poco frecuente, está documentado en <ulink url=\"&policy-build-" "depends-indep;\">Debian Policy Manual, Footnotes 55</ulink>. Esto se debe " "al funcionamiento de <command>dpkg-buildpackage</command>, no al uso de la " "orden <command>dh</command> en el archivo <filename>debian/rules</" "filename>. Esto también se aplica al <ulink url=\"https://bugs.launchpad." "net/launchpad-buildd/+bug/238141\">«auto build system for Ubuntu»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If you are not sure which one should be used, use the <literal>Build-" "Depends</literal> field to be on the safe side. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "En caso de duda, utiliza el campo <literal>Build-Depends</literal> " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "To find out what packages your package needs to be built run the command:" msgstr "" "Para saber qué paquetes son necesarios para compilar el tuyo ejecuta esta " "orden:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-depcheck -d ./configure\n" msgstr "$ dpkg-depcheck -d ./configure\n" #. type: Content of: <book><chapter><section><para> msgid "" "To manually find exact build dependencies for <command><replaceable>/usr/bin/" "foo</replaceable></command>, execute" msgstr "" "Para buscar manualmente las dependencias de compilación para el paquete " "<command><replaceable>/usr/bin/nombre_del_paquete</replaceable></command>, " "deberías ejecutar:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" msgstr "$ objdump -p <replaceable>/usr/bin/nombre_del_paquete</replaceable> | grep NEEDED\n" #. type: Content of: <book><chapter><section><para> msgid "" "and for each library listed, e.g., <command>libfoo.so.6</command>, execute" msgstr "" "y para cada biblioteca listada por la orden anterior (en el ejemplo se hace " "para <command>libfoo.so.6</command>) ejecuta" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg -S libfoo.so.6\n" msgstr "$ dpkg -S libfoo.so.6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then just take the <literal>-dev</literal> version of every package as a " "<literal>Build-Depends</literal> entry. If you use <command>ldd</command> " "for this purpose, it will report indirect lib dependencies as well, " "resulting in the problem of excessive build dependencies." msgstr "" "Debes utilizar la versión <literal>-dev</literal> de cada uno de los " "paquetes dentro de la entrada <literal>Build-Depends</literal>. Si usas " "<command>ldd</command> para este propósito, también te informará de las " "dependencias de bibliotecas indirectas, lo que puede llevar a que se " "introduzcan demasiadas dependencias de construcción." #. type: Content of: <book><chapter><section><para> msgid "" "<systemitem role=\"package\">gentoo</systemitem> also happens to require " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> and <systemitem role=\"package" "\">libglib1.2-dev</systemitem> to build, so we'll add them here next to " "<systemitem role=\"package\">debhelper</systemitem>." msgstr "" "<systemitem role=\"package\">gentoo</systemitem> también depende de " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> y <systemitem role=\"package" "\">libglib1.2-dev</systemitem> para su construcción, así que lo añadiremos " "junto a <systemitem role=\"package\">debhelper</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 6 is the version of the <ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink> standards this package follows, the one you read while making " "your package." msgstr "" "La línea 6 es la versión de los estándares definidos en las normas de Debian " "que sigue este paquete, es decir, la versión del manual de normas que has " "leído mientras haces tu paquete (véase <ulink url=\"&debian-policy;" "\">«Debian Policy Manual»</ulink>)." #. type: Content of: <book><chapter><section><para> msgid "On line 7 you can put the URL of the software's upstream homepage." msgstr "" "En la línea 7 está la dirección URL de la página web del programa (donde has " "obtenido las fuentes)." #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the name of the binary package. This is usually the same as the " "name of the source package, but it doesn't necessarily have to be that way." msgstr "" "La línea 9 es el nombre del paquete binario. Este suele ser el mismo que el " "del paquete fuente, aunque no es necesario que sea así siempre." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " "\"Architecture\"</ulink> for exact details." msgstr "" "Véase <ulink url=\"&policy-architecture;\">Debian Policy Manual 5.6.8 " "\"Architecture\"</ulink> para más detalles." #. type: Content of: <book><chapter><section><para> msgid "" "Line 10 describes the architectures the binary package can be compiled for. " "This value is usually one of the following depending on the type of the " "binary package. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La linea 10 describe las arquitecturas en las que puede compilarse el " "paquete binario. Este valor suele ser uno de los listados a continuación " "dependiendo del tipo de paquete <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: any</literal>" msgstr "<literal>Architecture: any</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture dependent one usually in a " "compiled language." msgstr "" "El paquete binario generado depende de la arquitectura si consiste en un " "programa escrito en un lenguaje compilado." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: all</literal>" msgstr "<literal>Architecture: all</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture independent one usually " "consisting of text, images, or scripts in an interpreted language." msgstr "" "El paquete binario generado es independiente de la arquitectura si consiste " "en archivos de texto, imágenes o guiones escritos en lenguajes interpretados." #. type: Content of: <book><chapter><section><para> msgid "" "We leave line 10 as is since this is written in C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> will fill in the appropriate architecture value " "for any machine this source package gets compiled on." msgstr "" "Eliminamos la línea 10 debido a que el programa está escrito en C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> la rellenará con el valor apropiado cuando se " "compile este paquete en cualquier arquitectura para la cual pueda ser " "compilado." #. type: Content of: <book><chapter><section><para> msgid "" "If your package is architecture independent (for example, a shell or Perl " "script, or a document), change this to <literal>all</literal>, and read " "later in <xref linkend=\"rules\"/> about using the <literal>binary-indep</" "literal> rule instead of <literal>binary-arch</literal> for building the " "package." msgstr "" "Si tu paquete es independiente de la arquitectura (por ejemplo, un " "documento, un guión escrito en Perl o para el intérprete de órdenes), cambia " "esto a <literal>all</literal>, y consulta más adelante <xref linkend=\"rules" "\"/> sobre cómo usar la regla <literal>binary-indep</literal> en lugar de " "<literal>binary-arch</literal> para construir el paquete." #. type: Content of: <book><chapter><section><para> msgid "" "Line 11 shows one of the most powerful features of the Debian packaging " "system. Packages can relate to each other in various ways. Apart from " "<literal>Depends</literal>, other relationship fields are " "<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" "Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " "<literal>Provides</literal>, and <literal>Replaces</literal>." msgstr "" "La línea 11 muestra una de las más poderosas posibilidades del sistema de " "paquetes de Debian. Los paquetes se pueden relacionar unos con otros de " "diversas formas. Aparte de <literal>Depends</literal> (depende de) otros " "campos de relación son <literal>Recommends</literal> (recomienda), " "<literal>Suggests</literal> (sugiere), <literal>Pre-Depends</literal> " "(predepende de), <literal>Breaks</literal> (rompe a), <literal>Conflicts</" "literal> (entra en conflicto con), <literal>Provides</literal> (provee), " "<literal>Replaces</literal> (reemplaza a)." #. type: Content of: <book><chapter><section><para> msgid "" "The package management tools usually behave the same way when dealing with " "these relations; if not, it will be explained. (See <citerefentry> " "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, etc.)" msgstr "" "Las herramientas de gestión de paquetes se comportan habitualmente de la " "misma forma cuando tratan con esas relaciones entre paquetes; si no es así, " "se explicará en cada caso. (véase <citerefentry> <refentrytitle>dpkg</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>dselect</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>apt</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, etc.)" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " "\"Declaring relationships between packages\"</ulink>." msgstr "" "Consulta <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " "\"Declaring relationships between packages\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Here is a simplified description of package relationships. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "He aquí una descripción simplificada de relaciones entre paquetes. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Depends</literal>" msgstr "<literal>Depends</literal>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed unless the packages it depends on are " "installed. Use this if your program absolutely will not run (or will cause " "severe breakage) unless a particular package is present." msgstr "" "No se instalará el programa a menos que los paquetes de los que depende " "estén ya instalados. Usa esto si tu programa no funcionará de ninguna forma " "(o se romperá fácilmente) a no ser que se haya instalado un paquete " "determinado." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Recommends</literal>" msgstr "<literal>Recommends</literal>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages that are not strictly necessary but are typically used " "with your program. When a user installs your program, all front-ends will " "probably prompt them to install the recommended packages. " "<command>aptitude</command> and <command>apt-get</command> install " "recommended packages along with your package by default (but the user can " "disable this behavior). <command>dpkg</command> will ignore this field." msgstr "" "Esta opción es para paquetes cuya instalación no es estrictamente necesaria " "para el funcionamiento de tu programa pero que suelen utilizarse junto con " "tu programa. Cuando los usuarios instalen tu paquete, todas las interfaces " "de instalación aconsejaran la instalación de los paquetes recomendados. " "<command>aptitude</command> y <command>apt-get</command> instalan los " "paquetes recomendados (pero el usuario puede decidir no hacerlo). " "<command>dpkg</command> ignora el contenido de este campo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Suggests</literal>" msgstr "<literal>Suggests</literal>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages which will work nicely with your program but are not " "at all necessary. When a user installs your program, they will probably not " "be prompted to install suggested packages. <command>aptitude</command> can " "be configured to install suggested packages along with your package but this " "is not its default. <command>dpkg</command> and <command>apt-get</command> " "will ignore this field." msgstr "" " Utiliza esto para paquetes que funcionarán bien con tu programa pero que no " "son necesarios en absoluto. Es posible configurar <command>aptitude</" "command> para que instale los paquetes sugeridos, aunque no es la opción " "predeterminada. <command>dpkg</command> y <command>apt-get</command> " "ignorarán estas dependencias. " #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Pre-Depends</literal>" msgstr "<literal>Pre-Depends</literal>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is stronger than <literal>Depends</literal>. The package will not be " "installed unless the packages it pre-depends on are installed and " "<emphasis>correctly configured</emphasis>. Use this <emphasis>very</" "emphasis> sparingly and only after discussing it on the <ulink url=\"&debian-" "devel-ldo;\">debian-devel@lists.debian.org</ulink> mailing list. Read: " "don't use it at all. :-)" msgstr "" "Esto es más fuerte que <literal>Depends</literal>. El paquete no se " "instalará a menos que los paquetes de los que pre-dependa estén instalados y " "<emphasis>correctamente configurados</emphasis>. Utiliza esto " "<emphasis>muy</emphasis> poco y sólo después de haberlo discutido en la " "lista de distribución (<ulink url=\"&debian-devel-ldo;\">debian-devel@lists." "debian.org</ulink>). En resumidas cuentas: no lo utilices en absoluto :-)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Conflicts</literal>" msgstr "<literal>Conflicts</literal>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed until all the packages it conflicts with " "have been removed. Use this if your program absolutely will not run or will " "cause severe problems if a particular package is present." msgstr "" "El paquete no se instalará hasta que todos los paquetes con los que entra en " "conflicto hayan sido eliminados. Utiliza esto si tu programa no funcionará " "en absoluto (o fallará fácilmente) si un paquete en concreto está instalado." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Breaks</literal>" msgstr "<literal>Breaks</literal>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "When installed the package will break all the listed packages. Normally a " "<literal>Breaks</literal> entry specifies that it applies to versions " "earlier than a certain value. The resolution is generally to use higher-" "level package management tools to upgrade the listed packages." msgstr "" "Si el paquete se instala, todos los paquetes de la lista se romperán. " "Normalmente, los paquetes incluidos en la lista <literal>Breaks</literal> " "tienen una cláusula de versión anterior. La solución es actualizar los " "paquetes de la lista a la versión más actual." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Provides</literal>" msgstr "<literal>Provides</literal>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For some types of packages where there are multiple alternatives virtual " "names have been defined. You can get the full list in the <ulink url=" "\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> file. Use " "this if your program provides a function of an existing virtual package." msgstr "" "Se han definido nombres virtuales para algunos tipos determinados de " "paquetes que ofrecen múltiples alternativas para la misma función. Puedes " "obtener la lista completa en el archivo <ulink url=\"&virtual-package;" "\">virtual-package-names-list.txt.gz</ulink>. Usa esto si tu programa ofrece " "las funciones de un paquete virtual que ya exista." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Replaces</literal>" msgstr "<literal>Replaces</literal>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this when your program replaces files from another package, or " "completely replaces another package (used in conjunction with " "<literal>Conflicts</literal>). Files from the named packages will be " "overwritten with the files from your package." msgstr "" "Usa esto si tu programa reemplaza ficheros de otro paquete o reemplaza " "totalmente otro paquete (generalmente se usa conjuntamente con " "<literal>Conflicts</literal>). Se sobrescribirán los ficheros de los " "paquetes indicados con los ficheros de tu paquete." #. type: Content of: <book><chapter><section><para> msgid "" "All these fields have uniform syntax. They are a list of package names " "separated by commas. These package names may also be lists of alternative " "package names, separated by vertical bar symbols <literal>|</literal> (pipe " "symbols)." msgstr "" "Todos estos campos tienen una sintaxis uniforme: se trata de una lista de " "nombres de paquetes separados por comas. Estos nombres de paquetes también " "puede ser listas de paquetes alternativos, separados por los símbolos de " "barra vertical «<literal>|</literal>» (símbolos tubería)." #. type: Content of: <book><chapter><section><para> msgid "" "The fields may restrict their applicability to particular versions of each " "named package. The restriction of each individual package is listed in " "parentheses after its name, and should contain a relation from the list " "below followed by a version number value. The relations allowed are: " "<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " "<literal>>=</literal>, and <literal>>></literal> for strictly " "lower, lower or equal, exactly equal, greater or equal, and strictly " "greater, respectively. For example," msgstr "" "Los campos pueden restringir su aplicación a versiones determinadas de cada " "paquete nombrado. Esto se hace listando después de cada nombre de paquete " "individual las versiones entre paréntesis, e indicando antes del número de " "versión una relación de la siguiente lista. Las relaciones permitidas son: " "<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " "<literal>>=</literal> y <literal>>></literal> para estrictamente " "anterior, anterior o igual, exactamente igual, posterior o igual o " "estrictamente posterior, respectivamente. Por ejemplo:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" msgstr "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" #. type: Content of: <book><chapter><section><para> msgid "" "The last feature you need to know about is <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." msgstr "" "La última funcionalidad que necesitas conocer es <literal>${shlibs:Depends}</" "literal>,<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates shared library dependencies for binary " "packages. It generates a list of <ulink url=\"&elf;\">ELF</ulink> " "executables and shared libraries it has found for each binary package. This " "list is used for substituting <literal>${shlibs:Depends}</literal>." msgstr "" "Después de que tu paquete se compile y se instale en el directorio temporal, " "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> lo escaneará en busca de binarios y bibliotecas " "para determinar las dependencias de bibliotecas compartidas. Esta lista se " "utiliza para la sustitución de <literal>${shlibs:Depends}</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates Perl dependencies. It generates a " "list of a dependencies on <literal>perl</literal> or <literal>perlapi</" "literal> for each binary package. This list is used for substituting " "<literal>${perl:Depends}</literal>." msgstr "" "La orden <citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> genera las dependencias de Perl. Genera la lista " "de dependencias de <literal>perl</literal> o <literal>perlapi</literal> para " "cada paquete binario. Esta lista es utilizada para substituir a <literal>" "${perl:Depends}</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Some <systemitem role=\"package\">debhelper</systemitem> commands may cause " "the generated package to depend on some additional packages. All such " "commands generate a list of required packages for each binary package. This " "list is used for substituting <literal>${misc:Depends}</literal>." msgstr "" "Algunas órdenes de <systemitem role=\"package\">debhelper</systemitem> " "determinan las dependencias de los paquetes listados anteriormente. Cada " "orden generar una lista de los paquetes necesarios para cada paquete " "binario. La lista de estos paquetes se usará para substituir a <literal>" "${misc:Depends}</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> generates <filename>DEBIAN/control</filename> for " "each binary package while substituting <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." msgstr "" "La orden <citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> genera el archivo <filename>DEBIAN/" "control</filename> para cada paquete binario substituyendo <literal>${shlibs:" "Depends}</literal>, <literal>${perl:Depends}</literal>, <literal>${misc:" "Depends}</literal>, etc." #. type: Content of: <book><chapter><section><para> msgid "" "Having said all that, we can leave the <literal>Depends</literal> field " "exactly as it is now, and insert another line after it saying " "<literal>Suggests: file</literal>, because <systemitem role=\"package" "\">gentoo</systemitem> can use some features provided by the <systemitem " "role=\"package\">file</systemitem> package." msgstr "" "Después de decir todo esto, podemos dejar la línea de <literal>Depends</" "literal> exactamente como está ahora e insertar otra línea tras ésta con el " "texto <literal>Suggests: file</literal>, porque <systemitem role=\"package" "\">gentoo</systemitem> utiliza algunas funciones proporcionadas por el " "paquete/programa <systemitem role=\"package\">file</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the Homepage URL. Let's assume this to be at <ulink url=\"&gentoo;" "\"/>." msgstr "" "La línea 9 es la dirección URL del programa. Supongamos que es <ulink url=" "\"&gentoo;\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 12 is the short description. Terminals are conventionally 80 columns " "wide so this shouldn't be longer than about 60 characters. I'll change it " "to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgstr "" "La línea 12 es una descripción corta. La mayor parte de los monitores (en " "realidad, de las terminales en modo de texto) de la gente son de 80 columnas " "de ancho, así que no debería tener más de 60 caracteres. Cambiaré esto a " "<literal>fully GUI-configurable, two-pane X file manager</literal>. («Gestor " "de ficheros GTK+ completamente configurable por GUI»)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "These descriptions are in English. Translations of these descriptions are " "provided by <ulink url=\"&ddtp;\">The Debian Description Translation Project " "- DDTP</ulink>." msgstr "" "Las descripciones deben redactarse en inglés. Las traducciones de estas " "descripciones son proporcionados por <ulink url=\"&ddtp;\">The Debian " "Description Translation Project - DDTP</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 13 is where the long description goes. This should be a paragraph " "which gives more details about the package. Column 1 of each line should be " "empty. There must be no blank lines, but you can put a single <literal>.</" "literal> (dot) in a column to simulate that. Also, there must be no more " "than one blank line after the long description. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "La línea 13 es donde va la descripción larga del paquete. Debería ser al " "menos de un párrafo que dé más detalles del paquete. La primera columna de " "cada línea debería estar vacía. No puede haber líneas en blanco, pero puedes " "poner un <literal>.</literal> (punto) en una columna para simularlo. Tampoco " "debe haber más de una línea en blanco después de la descripción completa " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-bpp-vcs;\">Debian Developer's Reference, 6.2.5. " "\"Version Control System location\"</ulink>." msgstr "" "Véase <ulink url=\"&devref-bpp-vcs;\">Developer's Reference, 6.2.5. " "\"Version Control System location\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "We can insert <literal>Vcs-*</literal> fields to document the Version " "Control System (VCS) location between lines 6 and 7. <placeholder type=" "\"footnote\" id=\"0\"/> Let's assume that the <systemitem role=\"package" "\">gentoo</systemitem> package has its VCS located in the Debian Alioth Git " "Service at <literal>git://git.debian.org/git/collab-maint/gentoo.git</" "literal>." msgstr "" "Vamos a añadir los campos <literal>Vcs-*</literal> para documentar la " "localización del sistema de control de versiones (VCS) entre las lineas 6 y " "7 <placeholder type=\"footnote\" id=\"0\"/>. Se supone que el paquete " "<systemitem role=\"package\">gentoo</systemitem> está alojado en el servicio " "«Debian Alioth Git» en <literal>git://git.debian.org/git/collab-maint/gentoo." "git</literal>." #. type: Content of: <book><chapter><section><para> msgid "Finally, here is the updated <filename>control</filename> file:" msgstr "Aquí está el archivo <filename>control</filename> actualizado:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>copyright</filename>" msgstr "El archivo <filename>copyright</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains information about the copyright and license of the " "upstream sources. <ulink url=\"&policy-copyright;\">Debian Policy Manual, " "12.5 \"Copyright information\"</ulink> dictates its content and <ulink url=" "\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</filename></" "ulink> provides guidelines for its format." msgstr "" "Este fichero contiene la información sobre los recursos, licencia y derchos " "de autoria de las fuentes originales del paquete. El formato no está " "definido en las normas, pero sí sus contenidos en <ulink url=\"&policy-" "copyright;\">«Debian Policy Manual, 12.5 \"Copyright information\"</ulink> y " "<ulink url=\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</" "filename></ulink> proporciona directrices sobre su formato." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> can give you a template <filename>copyright</" "filename> file. Let's use the <literal>--copyright gpl2</literal> option " "here to get a template file for the <systemitem role=\"package\">gentoo</" "systemitem> package released under GPL-2." msgstr "" "<command>dh_make</command> proporciona una plantilla para el archivo " "<filename>copyright</filename>. Con la opción <literal>--copyright gpl2</" "literal> se consigue la plantilla para el paquete <systemitem role=\"package" "\">gentoo</systemitem> con la licencia GPL-2." #. type: Content of: <book><chapter><section><para> msgid "" "You must fill in missing information to complete this file, such as the " "place you got the package from, the actual copyright notice, and the " "license. For certain common free software licenses (GNU GPL-1, GNU GPL-2, " "GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0, " "or the Artistic license), you can just refer to the appropriate file in the " "<filename>/usr/share/common-licenses/</filename> directory that exists on " "every Debian system. Otherwise, you must include the complete license." msgstr "" "Debes completar la información sobre el lugar donde se puede obtener el " "código fuente, la condiciones de derechos de autor y la licencia. Las " "licencias de código libre más comunes son GNU GPL-1, GNU GPL-2, GNU GPL-3, " "LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0 o la " "«Artistic license» y hacer referencia al archivo correspondiente ubicado en " "el directorio <filename>/usr/share/common-licenses/</filename>, que existen " "en todos los sistemas Debian. De lo contrario, debe incluirse el texto de " "la licencia completo." #. type: Content of: <book><chapter><section><para> msgid "" "In short, here's what <systemitem role=\"package\">gentoo</systemitem>'s " "<filename>copyright</filename> file should look like:" msgstr "" "En resumen, el archivo <filename>copyright</filename> del paquete " "<systemitem role=\"package\">gentoo</systemitem> debería ser similar a esto:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" msgstr "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please follow the HOWTO provided by the ftpmasters and sent to debian-devel-" "announce: <ulink url=\"&howto-copyright;\"/>." msgstr "" "Por favor, sigue el COMO redactado por «ftpmasters» y enviado a «debian-" "devel-announce»: <ulink url=\"&howto-copyright;\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>changelog</filename>" msgstr "El archivo <filename>changelog</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This is a required file, which has a special format described in <ulink url=" "\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</" "ulink>. This format is used by <command>dpkg</command> and other programs " "to obtain the version number, revision, distribution, and urgency of your " "package." msgstr "" "Este es un fichero requerido, con un formato especial descrito en <ulink url=" "\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</" "ulink>. Este es el formato utilizado por <command>dpkg</command> y otros " "programas para obtener el número de versión, revisión, distribución y " "urgencia de tu paquete." #. type: Content of: <book><chapter><section><para> msgid "" "For you, it is also important, since it is good to have documented all " "changes you have done. It will help people downloading your package to see " "whether there are issues with the package that they should know about. It " "will be saved as <filename>/usr/share/doc/gentoo/changelog.Debian.gz</" "filename> in the binary package." msgstr "" "Para ti es también importante, ya que es bueno tener documentados todos los " "cambios que hayas hecho. Esto ayudará a las personas que se descarguen tu " "paquete para ver si hay temas pendientes en el paquete que deberían conocer " "de forma inmediata. Se guardará como <filename>/usr/share/doc/gentoo/" "changelog.Debian.gz</filename> en el paquete binario." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one, and this is what it looks " "like:" msgstr "" "<command>dh_make</command> genera uno predeterminado, el cual es como sigue:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> \n" " is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Line 1 is the package name, version, distribution, and urgency. The name " "must match the source package name; distribution should be " "<literal>unstable</literal>, and urgency shouldn't be changed to anything " "higher than <literal>low</literal>. :-)" msgstr "" "La línea 1 es el nombre del paquete, versión, distribución y urgencia. El " "nombre debe coincidir con el nombre del paquete fuente, la distribución " "debería ser, por ahora, <literal>unstable</literal> y la urgencia no debería " "cambiarse a algo mayor que <literal>low</literal>. :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 3-5 are a log entry, where you document changes made in this package " "revision (not the upstream changes - there is a special file for that " "purpose, created by the upstream authors, which you will later install as " "<filename>/usr/share/doc/gentoo/changelog.gz</filename>). Let's assume your " "ITP (Intent To Package) bug report number was <literal>12345</literal>. New " "lines must be inserted just below the uppermost line that begins with " "<literal>*</literal> (asterisk). You can do it with <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "or manually with a text editor." msgstr "" "Las líneas 3 a 5 son una entrada de registro, donde se documentan los " "cambios hechos en esta revisión del paquete (no los cambios en las fuentes " "originales - hay un fichero especial para este propósito, creado por los " "autores originales y que instalarás luego como <filename>/usr/share/doc/" "gentoo/changelog.gz</filename>). En el ejemplo se supone que el código del " "informe de error ITP («Intent To Package», intento de empaquetar) es " "<literal>12345</literal>. Las nuevas líneas deben insertarse justo antes de " "la línea que hay más arriba que comienza por un asterisco (<literal>*</" "literal>). Puedes hacerlo con <citerefentry> <refentrytitle>dch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, o manualmente con " "cualquier editor de texto." #. type: Content of: <book><chapter><section><para> msgid "" "In order to prevent a package being accidentally uploaded before completing " "the package, it is good idea to change the distribution value to an invalid " "distribution value <literal>UNRELEASED</literal>." msgstr "" "Para evitar que un paquete sea accidentalmente subido al repositorio sin " "estar completado, es una buena idea cambiar el nombre de la distribución a " "valor <literal>UNRELEASED</literal> que es incorrecto." #. type: Content of: <book><chapter><section><para> msgid "You will end up with something like this:" msgstr "Terminarás con algo así:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" msgstr "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "If you use the <literal>dch -r</literal> command to make this last change, " "please make sure to save the <filename>changelog</filename> file explicitly " "by the editor." msgstr "" "Si utiliza la orden <literal>dch -r</literal> para realizar este último " "cambio, asegúrese que guarda el archivo <filename>changelog</filename> " "explícitamente con el editor." #. type: Content of: <book><chapter><section><para> msgid "" "Once you are satisfied with all the changes and documented them in " "<filename>changelog</filename>, you should change the distribution value " "from <literal>UNRELEASED</literal> to the target distribution value " "<literal>unstable</literal> (or even <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Cuando estés satisfecho con los cambios realizados y estén documentados en " "el fichero <filename>changelog</filename>, entonces cambie el nombre de la " "distribución de <literal>UNRELEASED</literal> a <literal>unstable</literal> " "(o bien a <literal>experimental</literal>). <placeholder type=\"footnote\" " "id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can read more about updating the <filename>changelog</filename> file " "later in <xref linkend=\"update\"/>." msgstr "" "Puedes leer más sobre cómo actualizar el fichero <filename>changelog</" "filename> más adelante en <xref linkend=\"update\"/> ." #. type: Content of: <book><chapter><section><title> msgid "<filename>rules</filename>" msgstr "El archivo <filename>rules</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Now we need to take a look at the exact rules which <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> will use to actually create the package. This file is in fact " "another <filename>Makefile</filename>, but different from the one(s) in the " "upstream source. Unlike other files in <filename>debian</filename>, this " "one is marked as executable." msgstr "" "Ahora necesitamos mirar las reglas exactas que <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> utilizará para construir el paquete. Este fichero es en " "realidad otro <filename>Makefile</filename>, pero diferente al que viene en " "las fuentes originales. A diferencia de otros ficheros en <filename>debian</" "filename>, éste debe ser un fichero ejecutable." #. type: Content of: <book><chapter><section><section><title> msgid "Targets of the <filename>rules</filename> file" msgstr "Objetivos del archivo <filename>rules</filename>" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can start learning how to write <filename>Makefile</filename> from " "<ulink url=\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. The " "full documentation is available as <ulink url=\"&gnu-make;\"></ulink> or as " "the <systemitem role=\"package\">make-doc</systemitem> package in the " "<literal>non-free</literal> archive area." msgstr "" "Puedes empezar a aprender a escribir archivos <filename>Makefile</filename> " "con <ulink url=\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. " "La documentación completa está disponible en <ulink url=\"&gnu-make;\"></" "ulink> y en el paquete <systemitem role=\"package\">make-doc</systemitem> de " "la sección <literal>non-free</literal> del repositorio." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> explains the details." msgstr "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> explica los detalles." #. type: Content of: <book><chapter><section><section><para> msgid "" "Every <filename>rules</filename> file, like any other <filename>Makefile</" "filename>, consists of several rules, each of which defines a target and how " "it is carried out. <placeholder type=\"footnote\" id=\"0\"/> A new rule " "begins with its target declaration in the first column. The following lines " "beginning with the TAB code (ASCII 9) specify the recipe for carrying out " "that target. Empty lines and lines beginning with <literal>#</literal> " "(hash) are treated as comments and ignored. <placeholder type=\"footnote\" " "id=\"1\"/>" msgstr "" "Cada archivo <filename>rules</filename>, como cualquier otro archivo " "<filename>Makefile</filename>, se compone de varias reglas, cada una de " "ellas define el objetivo y cómo se ejecuta <placeholder type=\"footnote\" id=" "\"0\"/>. Cada nueva regla empieza con la declaración del objetivo en la " "primera columna. Las líneas siguientes empiezan con un código de tabulación " "(ASCII 9) y especifican cómo llevar a cabo ese objetivo. Las líneas en " "blanco o que empiezan con <literal>#</literal> se tratan como comentarios y " "se ignoran <placeholder type=\"footnote\" id=\"1\"/>." #. type: Content of: <book><chapter><section><section><para> msgid "" "A rule that you want to execute is invoked by its target name as a command " "line argument. For example, <literal>debian/rules <replaceable>build</" "replaceable></literal> and <literal>fakeroot make -f debian/rules " "<replaceable>binary</replaceable></literal> execute rules for " "<literal><replaceable>build</replaceable></literal> and " "<literal><replaceable>binary</replaceable></literal> targets respectively." msgstr "" "Una regla que se desea ejecutar se invoca por el nombre de objetivo como un " "argumento de línea de comandos. Por ejemplo, <literal>debian/rules " "<replaceable>build</replaceable></literal> y <literal>fakeroot make -f " "debian/rules <replaceable>binary</replaceable></literal> ejecutan las reglas " "para los objetivos <literal><replaceable>build</replaceable></literal> y " "<literal><replaceable>binary</replaceable></literal> respectivamente." #. type: Content of: <book><chapter><section><section><para> msgid "Here is a simplified explanation of the targets:" msgstr "" "A continuación se proporciona una explicación simplificada de los distintos " "objetivos." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>clean</literal> target: to clean all compiled, generated, and " "useless files in the build-tree. (Required)" msgstr "" "<literal>clean</literal> (obligatorio): elimina todos los archivos " "generados, compilados o innecesarios del árbol de directorios de las fuentes." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build</literal> target: to build the source into compiled programs " "and formatted documents in the build-tree. (Required)" msgstr "" "<literal>build</literal> (obligatorio): para la construcción de archivos " "compilados a partir de los archivos fuente o la construcción de documentos " "formateados." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-arch</literal> target: to build the source into arch-" "dependent compiled programs in the build-tree. (Required)" msgstr "" "objetivo <literal>build-arch</literal> (obligatorio): para la compilación de " "las fuentes en programas compilados (dependientes de la arquitectura) en el " "árbol de directorios de compilación." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-indep</literal> target: to build the source into arch-" "independent formatted documents in the build-tree. (Required)" msgstr "" "objetivo <literal>build-indep</literal> (obligatorio): para la compilación " "de las fuentes en documentos formateados (independientes de la arquitectura) " "en el árbol de directorios de compilación." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>install</literal> target: to install files into a file tree for " "each binary package under the <filename>debian</filename> directory. If " "defined, <literal>binary*</literal> targets effectively depend on this " "target. (Optional)" msgstr "" "<literal>install</literal> (opcional): para la instalación en la estructura " "de directorios temporal bajo el directorio <filename>debian</filename> de " "los archivos para cada uno de los paquetes binarios. Si existe el objetivo " "<literal>binary*</literal>, dependerá de este." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage</literal> as in <xref " "linkend=\"completebuild\"/>." msgstr "" "Este objetivo es utilizado por <literal>dpkg-buildpackage</literal> como en " "<xref linkend=\"completebuild\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary</literal> target: to create all binary packages (effectively " "a combination of <literal>binary-arch</literal> and <literal>binary-indep</" "literal> targets). (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary</literal> (obligatorio): para la construcción de cada uno de " "los paquetes binarios (combinado con los objetivos <literal>binary-arch</" "literal> y <literal>binary-indep</literal>) <placeholder type=\"footnote\" " "id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage -B</literal> as in <xref " "linkend=\"autobuilder\"/>." msgstr "" "Este objetivo es utilizado por <literal>dpkg-buildpackage -B</literal> como " "en <xref linkend=\"autobuilder\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-arch</literal> target: to create arch-dependent " "(<literal>Architecture: any</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-arch</literal> (obligatorio): para la construcción de " "paquetes dependientes de la arquitectura (<literal>Architecture: any</" "literal>) <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage -A</literal>." msgstr "" "Este objetivo es utilizado por <literal>dpkg-buildpackage -A</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-indep</literal> target: to create arch-independent " "(<literal>Architecture: all</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-indep</literal> (obligatorio): para la construcción de " "paquetes independientes de la arquitectura (<literal>Architecture: all</" "literal>) <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>get-orig-source</literal> target: to obtain the most recent version " "of the original source package from an upstream archive. (Optional)" msgstr "" "<literal>get-orig-source</literal> (opcional): para obtener la versión más " "reciente de las fuentes originales desde el lugar de almacenaje del autor." #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably overwhelmed by now, but things are much simpler upon " "examination of the <filename>rules</filename> file that <command>dh_make</" "command> gives us as a default." msgstr "" "Probablemente ya te hayas perdido, pero todo quedará más claro después de " "ver el fichero <filename>rules</filename> que <command>dh_make</command> " "pone por omisión." #. type: Content of: <book><chapter><section><section><title> msgid "Default <filename>rules</filename> file" msgstr "Archivo <filename>rules</filename> predeterminado" #. type: Content of: <book><chapter><section><section><para> msgid "" "Newer <command>dh_make</command> generates a very simple but powerful " "default <filename>rules</filename> file using the <command>dh</command> " "command:" msgstr "" "La nueva versión de <command>dh_make</command> genera un archivo " "<filename>rules</filename> muy simple pero poderoso utilizando la orden " "<command>dh</command>:" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" msgstr "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "(I've added the line numbers. In the actual <filename>rules</filename> " "file, the leading spaces are a TAB code.)" msgstr "" "(He añadido los números de línea. En el fichero <filename>debian/rules</" "filename> los espacios iniciales de las líneas son tabulaciones)" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably familiar with lines like line 1 from shell and Perl " "scripts. It tells the operating system that this file is to be processed " "with <filename>/usr/bin/make</filename>." msgstr "" "Probablemente estés familiarizado con líneas como la primera de guiones " "escritos en shell o Perl. Esta línea indica que el fichero debe ejecutarse " "con<filename>/usr/bin/make</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Line 10 can be uncommented to set the <literal>DH_VERBOSE</literal> variable " "to 1, so that the <command>dh</command> command outputs which <command>dh_*</" "command> commands it is executing. You can also add a line <literal>export " "DH_OPTIONS=-v</literal> here, so that each <command>dh_*</command> command " "outputs which commands it is executing. This helps you to understand " "exactly what is going on behind this simple <filename>rules</filename> file " "and to debug its problems. This new <command>dh</command> is designed to " "form a core part of the <systemitem role=\"package\">debhelper</systemitem> " "tools, and not to hide anything from you." msgstr "" "La linea 10 debe descomentarse para asignar el valor 1 a la variable " "<literal>DH_VERBOSE</literal>. Entonces, la orden <command>dh</command> " "mostrará (en el terminal) las órdenes <command>dh_*</command> ejecutadas por " "<command>dh</command>. Puedes añadir la linea <literal>export DH_OPTIONS=-v</" "literal> aquí. Así podrás ver la salida de la ejecución de cada orden " "<command>dh_*</command> y solucionar los problemas que se produzcan. Esto te " "ayudará a entender como funciona el archivo <filename>rules</filename> y a " "solucionar problemas. Esta nueva orden <command>dh</command> es parte " "fundamental de las herramientas <systemitem role=\"package\">debhelper</" "systemitem> y no te esconde nada." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "This uses the new <systemitem role=\"package\">debhelper</systemitem> v7+ " "features. Its design concepts are explained in <ulink url=\"&debhelper-" "slides;\">Not Your Grandpa's Debhelper</ulink> presented at DebConf9 by the " "<systemitem role=\"package\">debhelper</systemitem> upstream. Under " "<literal>lenny</literal>, <command>dh_make</command> created a much more " "complicated <filename>rules</filename> file with explicit rules and many " "<command>dh_*</command> scripts listed for each one, most of which are now " "unnecessary (and show the package's age). The new <command>dh</command> " "command is simpler and frees us from doing the routine work \"manually\". " "You still have full power to customize the process with " "<literal>override_dh_*</literal> targets. See <xref linkend=\"customrules\"/" ">. It is based only on the <systemitem role=\"package\">debhelper</" "systemitem> package and does not obfuscate the package building process as " "the <systemitem role=\"package\">cdbs</systemitem> package tends to." msgstr "" "Aquí se utilizan las nuevas funciones de la versión 7+ de <systemitem role=" "\"package\">debhelper</systemitem> que se explican en <ulink url=" "\"&debhelper-slides;\">«Not Your Grandpa's Debhelper»</ulink> presentadas en " "la Debconf9 por el autor de <systemitem role=\"package\">debhelper</" "systemitem>. En <literal>lenny</literal>, <command>dh_make</command> " "construía un archivo <filename>rules</filename> más complejo con el listado " "de todas las órdenes <command>dh_*</command> necesarias para cada objetivo y " "los mantenía en el estado del empaquetado inicial. La nueva orden " "<command>dh</command> es simple y nos libera de esta restricción. Aún así, " "es posible personalizar el archivo con objetivos <literal>override_dh_*</" "literal>. Véase <xref linkend=\"customrules\"/>. Se basa únicamente en el " "paquete <systemitem role=\"package\">debhelper</systemitem> y no complica el " "proceso de construcción de paquetes como el paquete <systemitem role=" "\"package\">cdbs</systemitem>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can verify the actual sequences of <command>dh_*</command> programs " "invoked for a given <literal><replaceable>target</replaceable></literal> " "without really running them by invoking <literal>dh --no-act " "<replaceable>target</replaceable></literal> or <literal>debian/rules -- '--" "no-act <replaceable>target</replaceable>'</literal>." msgstr "" "Puedes comprobar las secuencias de órdenes <command>dh_*</command> invocadas " "por cada <literal><replaceable>objetivo</replaceable></literal> ejecutando " "<literal>dh --no-act <replaceable>objetivo</replaceable></literal> o bien " "<literal>debian/rules -- '--no-act <replaceable>objetivo</replaceable>'</" "literal> sin que se ejecuten realmente." #. type: Content of: <book><chapter><section><section><para> msgid "" "Lines 12 and 13 are where all the work is done with an implicit rule using " "the pattern rule. The percent sign means \"any targets\", which then call a " "single program, <command>dh</command>, with the target name. <placeholder " "type=\"footnote\" id=\"0\"/> The <command>dh</command> command is a wrapper " "script which runs appropriate sequences of <command>dh_*</command> programs " "depending on its argument. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "Todo el trabajo del archivo se reduce a las líneas 12 y 13. El símbolo de " "porcentaje substituye a cualquier objetivo para a continuación ejecutar " "únicamente <command>dh</command> con el nombre del objetivo (como opción) " "<placeholder type=\"footnote\" id=\"0\"/>. La orden <command>dh</command> " "es un guión que ejecuta las secuencias necesarias de órdenes <command>dh_*</" "command> según sus parámetros, como se describe a continuación <placeholder " "type=\"footnote\" id=\"1\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>, " "which in turn runs the following:" msgstr "" "<literal>debian/rules clean</literal> ejecuta <literal>dh clean</literal>, " "que a su vez ejecuta lo siguiente:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" msgstr "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules build</literal> runs <literal>dh build</literal>; " "which in turn runs the following:" msgstr "" "<literal>debian/rules build</literal> ejecuta <literal>dh build</literal>, " "que a su vez ejecuta lo siguiente:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" msgstr "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "The following example assumes your <filename>debian/compat</filename> has a " "value equal or more than 9 to avoid invoking any python support commands " "automatically." msgstr "" "El siguiente ejemplo presupone que su fichero <filename>debian/compat</" "filename> tiene un valor igual o superior a 9 para evitar invocar cualquier " "orden «python» automáticamente." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " "binary</literal>; which in turn runs the following<placeholder type=" "\"footnote\" id=\"0\"/>:" msgstr "" "<literal>fakeroot debian/rules binary</literal> ejecuta <literal>fakeroot dh " "binary</literal>, que a su vez ejecuta lo siguiente <placeholder type=" "\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" msgstr "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-arch</literal> runs <literal>fakeroot " "dh binary-arch</literal>; which in turn runs the same sequence as " "<literal>fakeroot dh binary</literal> but with the <literal>-a</literal> " "option appended for each command." msgstr "" "<literal>fakeroot debian/rules binary-arch</literal> ejecuta " "<literal>fakeroot dh binary-arch</literal>; que a su vez ejecuta la misma " "secuencia que <literal>fakeroot dh binary</literal> pero con la opción " "<literal>-a</literal> para cada orden." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-indep</literal> runs <literal>fakeroot " "dh binary-indep</literal>; which in turn runs almost the same sequence as " "<literal>fakeroot dh binary</literal> but excluding <command>dh_strip</" "command>, <command>dh_makeshlibs</command>, and <command>dh_shlibdeps</" "command> with the <literal>-i</literal> option appended for each remaining " "command." msgstr "" "<literal>fakeroot debian/rules binary-indep</literal> ejecuta " "<literal>fakeroot dh binary-indep</literal>; que a su vez ejecuta casi la " "misma secuencia que <literal>fakeroot dh binary</literal> puesto que excluye " "la ejecución de <command>dh_strip</command>, <command>dh_makeshlibs</" "command> y <command>dh_shlibdeps</command> a la vez que ejecuta el resto de " "órdenes añadiendo la opción <literal>-i</literal>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "For complete information on what all these <command>dh_*</command> scripts " "do exactly, and what their other options are, please read their respective " "manual pages and the <systemitem role=\"package\">debhelper</systemitem> " "documentation." msgstr "" "Para una descripción completa de la función de cada guión <command>dh_*</" "command> y de sus opciones, lee los manuales respectivos así como la " "documentación de <systemitem role=\"package\">debhelper</systemitem>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "These commands support other build environments such as <filename>setup.py</" "filename> which can be listed by executing <literal>dh_auto_build --list</" "literal> in a package source directory." msgstr "" "La orden permite otros sistemas de compilación como <filename>setup.py</" "filename> y que pueden ser listados con la ejecución de " "<literal>dh_auto_build --list</literal> desde el directorio de las fuentes " "del paquete." #. type: Content of: <book><chapter><section><section><para> msgid "" "The functions of <command>dh_*</command> commands are largely self-evident " "from their names. <placeholder type=\"footnote\" id=\"0\"/> There are a few " "notable ones that are worth giving (over)simplified explanations here " "assuming a typical build environment based on a <filename>Makefile</" "filename>. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "La función de las órdenes <command>dh_*</command> puede deducirse de su " "nombre <placeholder type=\"footnote\" id=\"0\"/>. A continuación se resume " "las funciones de las órdenes más importantes asumiendo que se utiliza un " "sistema de compilación basado en un archivo <filename>Makefile</filename> " "<placeholder type=\"footnote\" id=\"1\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>distclean</literal>, <literal>realclean</literal>, " "or <literal>clean</literal>, and executes that." msgstr "" "En realidad busca el primer objetivo <literal>distclean</literal>, " "<literal>realclean</literal> o <literal>clean</literal> disponible en el " "<filename>Makefile</filename> y lo ejecuta." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_clean</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>distclean</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_clean</command> normalmente ejecuta lo siguiente, siempre " "que exista un fichero <filename>Makefile</filename> con el objetivo " "<literal>distclean</literal><placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make distclean\n" msgstr "make distclean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_configure</command> usually executes the following if " "<filename>./configure</filename> exists (arguments abbreviated for " "readability)." msgstr "" "<command>dh_auto_configure</command> ejecuta lo siguiente si existe el " "archivo <filename>./configure</filename> (se han abreviado los argumentos " "para facilitar la lectura)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" msgstr "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_build</command> usually executes the following to execute " "the first target of <filename>Makefile</filename> if it exists." msgstr "" "<command>dh_auto_build</command> ejecuta lo siguiente para ejecutar el " "primer objetivo del archivo <filename>Makefile</filename> (supuesto que este " "existe)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make\n" msgstr "make\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>test</literal> or <literal>check</literal>, and " "executes that." msgstr "" "En realidad busca el primero de los objetivos <literal>test</literal> o " "<literal>check</literal> en el archivo <filename>Makefile</filename> y lo " "ejecuta." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_test</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>test</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_test</command> ejecuta lo siguiente si existe el objetivo " "<literal>test</literal> en el archivo <filename>Makefile</filename> " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make test\n" msgstr "make test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_install</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>install</literal> " "target (line folded for readability)." msgstr "" "<command>dh_auto_install</command> ejecuta lo siguiente si en el archivo " "<filename>Makefile</filename> existe el objetivo <literal>install</literal> " "(se ha truncado la linea para permitir su lectura)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" msgstr "" "make install \\\n" " DESTDIR=<replaceable>/ruta/a</replaceable>/<replaceable>paquete</replaceable>_<replaceable>versión</replaceable>-<replaceable>revisión</replaceable>/debian/<replaceable>paquete</replaceable>\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "All targets which require the <command>fakeroot</command> command will " "contain <command>dh_testroot</command>, which exits with an error if you are " "not using this command to pretend to be root." msgstr "" "Los objetivos que deben ejecutarse con la orden <command>fakeroot</command> " "contienen <command>dh_testroot</command>. Si no utilizas la orden para " "simular la ejecución por el usuario «root», se producirá un error que " "detendrá la ejecución." #. type: Content of: <book><chapter><section><section><para> msgid "" "The important part to know about the <filename>rules</filename> file created " "by <command>dh_make</command> is that it is just a suggestion. It will work " "for most packages but for more complicated ones, don't be afraid to " "customize it to fit your needs." msgstr "" "Es importante tener presente que el archivo <filename>rules</filename> que " "genera <command>dh_make</command> es sólo una sugerencia. Será suficiente " "para la mayoría de los paquetes simples, pero no dejes de adaptarlo a tus " "necesidades en paquetes más complejos." #. type: Content of: <book><chapter><section><section><para> msgid "" "Although <literal>install</literal> is not a required target, it is " "supported. <literal>fakeroot dh install</literal> behaves like " "<literal>fakeroot dh binary</literal> but stops after <command>dh_fixperms</" "command>." msgstr "" "A pesar de que <literal>install</literal> no es un objetivo obligatorio, se " "admite su uso. <literal>fakeroot dh install</literal> se comporta como " "<literal>fakeroot dh binary</literal> pero se detiene después de " "<command>dh_fixperms</command>." #. type: Content of: <book><chapter><section><section><title> msgid "Customization of <filename>rules</filename> file" msgstr "Personalización del archivo <filename>rules</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are many ways to customize the <filename>rules</filename> file created " "with the new <command>dh</command> command." msgstr "" "Puedes realizar muchos cambios para adaptar el archivo <filename>rules</" "filename> construido por la orden <command>dh</command>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " "should activate its customization function by <literal>dh $@ --with " "<replaceable>custom-name</replaceable></literal>." msgstr "" "Si un paquete instala el archivo <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>nombre_personalizado</replaceable>.pm</filename> " "puedes activar la función adaptada con <literal>dh $@ --with " "<replaceable>nombre_personalizado</replaceable></literal>." #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>dh $@</literal> command can be customized as follows. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La orden <literal>dh $@</literal> permite las siguientes adaptaciones " "<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "Use of the <command>dh_python2</command> command is preferred over use of " "<command>dh_pysupport</command> or <command>dh_pycentral</command> " "commands. Do not use the <command>dh_python</command> command." msgstr "" "Es preferible el uso de la orden <command>dh_python2</command> respecto a la " "orden <command>dh_pysupport</command> u <command>dh_pycentral</command>. No " "uses la orden <command>dh_python</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_python2</command> command. (The best choice " "for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Añadir la orden <command>dh_python2</command> (la mejor opción para Python) " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Añade el paquete <systemitem role=\"package\">python</systemitem> en el " "campo <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python2</literal>." msgstr "Utiliza <literal>dh $@ --with python2</literal> en su lugar." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python</" "systemitem> framework." msgstr "" "Esto gestiona el módulo Python utilizando las funcionalidades de <systemitem " "role=\"package\">python</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pysupport</command> command. (deprecated)" msgstr "Añadir la orden <command>pysupport</command>. (obsoleto)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-support</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Añade el paquete <systemitem role=\"package\">python-support</systemitem> en " "el campo <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with pysupport</literal>." msgstr "Utiliza <literal>dh $@ --with pysupport</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "support</systemitem> framework." msgstr "" "Esto gestiona el módulo Python utilizando las funcionalidades de <systemitem " "role=\"package\">python-support</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pycentral</command> command. (deprecated)" msgstr "Añadir la orden <command>dh_pycentral</command>. (obsoleto)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-central</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Añade el paquete <systemitem role=\"package\">python-central</systemitem> en " "el campo <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python-central</literal> instead." msgstr "Utiliza <literal>dh $@ --with python-central</literal> en su lugar." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This also deactivates the <command>dh_pysupport</command> command." msgstr "Esto desactiva la orden <command>dh_pysupport</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "central</systemitem> framework." msgstr "" "Esto gestiona el módulo Python utilizando las funcionalidades de <systemitem " "role=\"package\">python-central</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_installtex</command> command." msgstr "Añadir la orden <command>dh_installtex</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">tex-common</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Añade el paquete <systemitem role=\"package\">tex-common</systemitem> en el " "campo <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with tex</literal> instead." msgstr "Utiliza <literal>dh $@ --with tex</literal> en su lugar." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This registers Type 1 fonts, hyphenation patterns, and formats with TeX." msgstr "" "Esto registra el tipo de letra «Type 1», los patrones de separación de " "palabras («hyphenation patterns») o los formatos TeX." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_quilt_patch</command> and " "<command>dh_quilt_unpatch</command> commands." msgstr "" "Añadir las órdenes <command>dh_quilt_patch</command> y " "<command>dh_quilt_unpatch</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">quilt</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Añade el paquete <systemitem role=\"package\">quilt</systemitem> en el campo " "<literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with quilt</literal> instead." msgstr "Utiliza <literal>dh $@ --with quilt</literal> en su lugar." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This applies and un-applies patches to the upstream source from files in the " "<filename>debian/patches</filename> directory for a source package in the " "<literal>1.0</literal> format." msgstr "" "Esto aplica o revierte los parches en los archivos de las fuentes " "originales, basándose en los ficheros del directorio <filename>debian/" "patches</filename> en los paquetes con el formato <literal>1.0</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This is not needed if you use the new <literal>3.0 (quilt)</literal> source " "package format." msgstr "" "Esta adaptación no es necesaria para los paquetes con el nuevo formato " "<literal>3.0 (quilt)</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_dkms</command> command." msgstr "Añadir la orden <command>dh_dkms</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dkms</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Añade el paquete <systemitem role=\"package\">dkms</systemitem> en el campo " "<literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with dkms</literal> instead." msgstr "Utiliza <literal>dh $@ --with dkms</literal> en su lugar." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This correctly handles DKMS usage by kernel module packages." msgstr "" "Esto controla correctamente el uso de DKMS en la construcción de paquetes " "del núcleo." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autotools-dev_updateconfig</command> and " "<command>dh_autotools-dev_restoreconfig</command> commands." msgstr "" "Añadir las ordenes <command>dh_autotools-dev_updateconfig</command> y " "<command>dh_autotools-dev_restoreconfig</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">autotools-dev</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Añade el paquete <systemitem role=\"package\">autotools-dev</systemitem> en " "el campo <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autotools-dev</literal> instead." msgstr "Utiliza <literal>dh $@ --with autotools-dev</literal> en su lugar." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates and restores <filename>config.sub</filename> and " "<filename>config.guess</filename>." msgstr "" "Esto actualiza y restaura <filename>config.sub</filename> y <filename>config." "guess</filename>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autoreconf</command> and " "<command>dh_autoreconf_clean</command> commands." msgstr "" "Añadir la orden <command>dh_autoreconf</command> y " "<command>dh_autoreconf_clean</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dh-autoreconf</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Añade el paquete <systemitem role=\"package\">dh-autoreconf</systemitem> en " "el campo <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autoreconf</literal> instead." msgstr "Utiliza <literal>dh $@ --with autoreconf</literal> en su lugar." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates the GNU Build System files and restores them after the build." msgstr "" "Así se actualiza los archivos del sistema de compilación GNU y los restaura " "después de la compilación." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_girepository</command> command." msgstr "Añadir la orden <command>dh_girepository</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">gobject-introspection</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "Añade el paquete <systemitem role=\"package\">gobject-introspection</" "systemitem> en el campo <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with gir</literal> instead." msgstr "Utiliza <literal>dh $@ --with gir</literal> en su lugar." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This computes dependencies for packages shipping GObject introspection data " "and generates the <literal>${gir:Depends}</literal> substitution variable " "for the package dependency." msgstr "" "Esto calcula las dependencias de paquetes de envío de datos de introspección " "de «GObject» y genera la substitución de la variable <literal>${gir:Depends}" "</literal> por las dependencias del paquete." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>bash</command> completion feature." msgstr "Añadir la funcionalidad de autocompletar a <command>bash</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">bash-completion</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "Añade el paquete <systemitem role=\"package\">bash-completion</systemitem> " "en el campo <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with bash-completion</literal> instead." msgstr "Utiliza <literal>dh $@ --with bash-completion</literal> en su lugar." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This installs <command>bash</command> completions using a configuration file " "at <filename>debian/<replaceable>package</replaceable>.bash-completion</" "filename>." msgstr "" "Esto instala la función autocompletar de <command>bash</command> utilizando " "el archivo de configuración de <filename>debian/" "<replaceable>nombre_del_paquete</replaceable>.bash-completion</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Many <command>dh_*</command> commands invoked by the new <command>dh</" "command> command can be customized by the corresponding configuration files " "in the <filename>debian</filename> directory. See <xref linkend=\"dother\"/" "> and the manpage of each command for the customization of such features." msgstr "" "Muchas de las órdenes <command>dh_*</command> invocadas por la nueva orden " "<command>dh</command> son personalizables mediante sus archivos de " "configuración en el directorio <filename>debian</filename>. Véase <xref " "linkend=\"dother\"/> y los manuales (las «manpage») para cada orden." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Under <literal>lenny</literal>, if you wanted to change the behavior of a " "<command>dh_*</command> script you found the relevant line in the " "<filename>rules</filename> file and adjusted it." msgstr "" "En <literal>lenny</literal>, cuando querías cambiar el comportamiento de un " "programa <command>dh_*</command> tenías que encontrar la línea adecuada en " "el archivo <filename>rules</filename> y cambiarla." #. type: Content of: <book><chapter><section><section><para> msgid "" "You may need to run <command>dh_*</command> commands invoked via the new " "<command>dh</command> with added arguments, or to run additional commands " "with them, or to skip them. For such cases, you create an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target with " "its rule in the <filename>rules</filename> file defining an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target for the " "<command>dh_<replaceable>foo</replaceable></command> command you want to " "change. It basically says <emphasis>run me instead</emphasis>. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Algunas órdenes <command>dh_*</command> invocadas por la nueva orden " "<command>dh</command> pueden precisar la adición de argumentos (opciones), " "la ejecución de órdenes adicionales u omitirlas del todo. Para estos casos, " "deberás añadir el objetivo " "<literal>override_dh_<replaceable>nombre_de_la_orden</replaceable></literal> " "con las reglas a ejecutar en el archivo <filename>rules</filename> sólo para " "la orden <command>dh_<replaceable>nombre_de_la_orden</replaceable></command> " "que vas a cambiar. Se trata de decir <emphasis>ejecútame a mí en su lugar</" "emphasis> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note that the <command>dh_auto_*</command> commands tend to do more " "than what has been discussed in this (over)simplified explanation to take " "care of all the corner cases. It is a bad idea to use " "<literal>override_dh_*</literal> targets to substitute simplified equivalent " "commands (except for the <literal>override_dh_auto_clean</literal> target) " "since it may bypass such smart <systemitem role=\"package\">debhelper</" "systemitem> features." msgstr "" "Las ordenes <command>dh_auto_*</command> hacen más cosas que las expuestas " "aquí. El uso de ordenes equivalentes más sencillas en lugar de éstas en los " "objetivos <literal>override_dh_*</literal> (excepto el objetivo " "<literal>override_dh_auto_clean</literal>) es una mala idea ya que puede " "eliminar funciones inteligentes de <systemitem role=\"package\">debhelper</" "systemitem>." #. type: Content of: <book><chapter><section><section><para> msgid "" "So, for instance, if you want to store system configuration data in the " "<filename>/etc/gentoo</filename> directory instead of the usual <filename>/" "etc</filename> directory for the recent <systemitem role=\"package\">gentoo</" "systemitem> package using Autotools, you can override the default <literal>--" "sysconfig=/etc</literal> argument given by the <command>dh_auto_configure</" "command> command to the <command>./configure</command> command by the " "following." msgstr "" "Si vas a guardar los datos de configuración del paquete <systemitem role=" "\"package\">gentoo</systemitem> en el directorio <filename>/etc/gentoo</" "filename> en lugar del directorio habitual <filename>/etc</filename>, debes " "anular la ejecución del argumento predeterminado <literal>--sysconfig=/etc</" "literal> de la orden <command>dh_auto_configure</command> por <command>./" "configure</command> con lo siguiente" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "The arguments given after <literal>--</literal> are appended to the default " "arguments of the auto-executed program to override them. Using the " "<command>dh_auto_configure</command> command is better than directly " "invoking the <command>./configure</command> command here since it will only " "override the <literal>--sysconfig</literal> argument and retains any other, " "benign arguments to the <command>./configure</command> command." msgstr "" "Los argumentos a continuación de <literal>--</literal> se añaden a los " "argumentos predeterminados, anulándolos, en la ejecución automática del " "programa. Es mejor utilizar la orden <command>dh_auto_configure</command> " "que el <command>./configure</command> ya que así sólo anulará el argumento " "<literal>--sysconfig</literal> manteniendo intactos otros argumentos de " "<command>./configure</command>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<command>dh_auto_build</command> without any arguments will execute the " "first target in the <filename>Makefile</filename>." msgstr "" "<command>dh_auto_build</command> sin argumentos ejecutará el primer objetivo " "del archivo <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify <literal>build</" "literal> as its target to build it <placeholder type=\"footnote\" id=\"0\"/" ">, you create an <literal>override_dh_auto_build</literal> target to enable " "this." msgstr "" "Si el <filename>Makefile</filename> de las fuentes de <systemitem role=" "\"package\">gentoo</systemitem> requiere la especificación del objetivo " "<literal>build</literal> para compilarlo <placeholder type=\"footnote\" id=" "\"0\"/>, puedes añadir un objetivo <literal>override_dh_auto_build</literal> " "para anularlo." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" msgstr "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "This ensures <literal>$(MAKE)</literal> is run with all the default " "arguments given by the <command>dh_auto_build</command> command plus the " "<literal>build</literal> argument." msgstr "" "De esta forma se garantiza la ejecución de <literal>$(MAKE)</literal> con " "todos los argumentos predeterminados dados por la orden " "<command>dh_auto_build</command> y del argumento <literal>build</literal>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify the " "<literal>packageclean</literal> target to clean it for the Debian package " "instead of using <literal>distclean</literal> or <literal>clean</literal> " "targets, you can create an <literal>override_dh_auto_clean</literal> target " "to enable thit." msgstr "" "Si el <filename>Makefile</filename> de las fuentes de <systemitem role=" "\"package\">gentoo</systemitem> requiere la especificación del objetivo " "<literal>packageclean</literal> para limpiarlo, en lugar de los objetivos " "<literal>distclean</literal> o <literal>clean</literal> en el archivo " "<filename>Makefile</filename>, puedes añadir un objetivo " "<literal>override_dh_auto_clean</literal> para habilitarlo." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" msgstr "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> contains a <literal>test</literal> target " "which you do not want to run for the Debian package building process, you " "can use an empty <literal>override_dh_auto_test</literal> target to skip it." msgstr "" "Si el <filename>Makefile</filename> de las fuentes de <systemitem role=" "\"package\">gentoo</systemitem> contiene un objetivo <literal>test</literal> " "que no deseas que se ejecute en la construcción del paquete Debian, puedes " "usar un objetivo <literal>override_dh_auto_test</literal> sin órdenes para " "ignorarlo." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "override_dh_auto_test:\n" msgstr "override_dh_auto_test:\n" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "The <filename>debian/changelog</filename> and <filename>debian/NEWS</" "filename> files are always automatically installed. The upstream changelog " "is found by converting filenames to lower case and matching them against " "<filename>changelog</filename>, <filename>changes</filename>, " "<filename>changelog.txt</filename>, and <filename>changes.txt</filename>." msgstr "" "Los archivos <filename>debian/changelog</filename> y <filename>debian/NEWS</" "filename> siempre se instalan automáticamente. También se busca el archivo " "de cambios del autor para cambiar el nombre a minúsculas y por su " "coincidencia con <filename>changelog</filename>, <filename>changes</" "filename>, <filename>changelog.txt</filename>, y <filename>changes.txt</" "filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If <systemitem role=\"package\">gentoo</systemitem> has an unusual upstream " "changelog file called <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> will not install that file by " "default. The <command>dh_installchangelogs</command> command requires " "<filename>FIXES</filename> as its argument to install it. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Si <systemitem role=\"package\">gentoo</systemitem> contiene el poco " "frecuente archivo de cambios del autor con el nombre <filename>FIXES</" "filename>, <command>dh_installchangelogs</command> no lo instalará por " "omisión. La orden <command>dh_installchangelogs</command> requiere como " "argumento <filename>FIXES</filename> para instalarlo <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" msgstr "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you use the new <command>dh</command> command, use of explicit targets " "such as the ones listed in <xref linkend=\"targets\"/>, other than the " "<literal>get-orig-source</literal> target, may make it difficult to " "understand their exact effects. Please limit explicit targets to " "<literal>override_dh_*</literal> targets and completely independent ones, if " "possible." msgstr "" "Cuando utilizas el nuevo programa <command>dh</command>, la utilización " "explícita de objetivos como los listados en <xref linkend=\"targets\"/> " "(excepto <literal>get-orig-source</literal>) puede dificultar la correcta " "comprensión de sus efectos exactos. Por favor, limita el uso de objetivos " "explícitos a objetivos del tipo <literal>override_dh_*</literal> y de forma " "que sean completamente independientes entre sí (siempre que sea posible)." #. type: Content of: <book><chapter><title> msgid "Other files under the <filename>debian</filename> directory" msgstr "Otros ficheros en el directorio <filename>debian</filename>." #. type: Content of: <book><chapter><para> msgid "" "To control most of what <systemitem role=\"package\">debhelper</systemitem> " "does while building the package, you put optional configuration files under " "the <filename>debian</filename> directory. This chapter will provide an " "overview of what each of these does and its format. Please read the <ulink " "url=\"&debian-policy;\">Debian Policy Manual</ulink> and <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> for " "guidelines for packaging." msgstr "" "Para controlar el trabajo de <systemitem role=\"package\">debhelper</" "systemitem> en la compilación del paquete, puedes añadir archivos de " "configuración en el directorio <filename>debian</filename>. En este " "capítulo se resumirá lo que puede hacerse con cada uno de ellos y su " "formato. Por favor, lee <ulink url=\"&debian-policy;\">«Debian Policy " "Manual»</ulink> y <ulink url=\"&developers-reference;\">«Debian Developer's " "Reference»</ulink> para más información." #. type: Content of: <book><chapter><para> msgid "" "The <command>dh_make</command> command will create some template " "configuration files under the <filename>debian</filename> directory. Most " "of them come with filenames suffixed by <literal>.ex</literal>. Some of " "them come with filenames prefixed by the binary package name such as " "<literal><replaceable>package</replaceable></literal>. Take a look at all " "of them. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La orden <command>dh_make</command> construye varios archivos de " "configuración a modo de plantillas y los ubica en el directorio " "<filename>debian</filename>. Algunos de ellos tienen el sufijo <literal>.ex</" "literal> (de «example») en el nombre. Otros tienen como prefijo del nombre " "el nombre del paquete en la forma <literal><replaceable>nombre_del_paquete</" "replaceable></literal>. Mira el contenido de todos ellos. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para> msgid "" "Some template configuration files for <systemitem role=\"package" "\">debhelper</systemitem> may not be created by the <command>dh_make</" "command> command. In such cases, you need to create them with an editor." msgstr "" "En otros casos, <command>dh_make</command> no puede construir plantillas de " "configuración para <systemitem role=\"package\">debhelper</systemitem>. En " "estos casos, deberás construir tu mismo los archivos con un editor." #. type: Content of: <book><chapter><para> msgid "If you wish or need to activate any of these, please do the following:" msgstr "" "Si quieres utilizar estos archivos en la construcción de tu paquete, haz lo " "siguiente." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename template files by removing the <literal>.ex</literal> or <literal>." "EX</literal> suffix if they have one;" msgstr "" "elimina los sufijos <literal>.ex</literal> o <literal>.EX</literal> de los " "archivos de plantilla que lo tengan." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename the configuration files to use the actual binary package name in " "place of <literal><replaceable>package</replaceable></literal>;" msgstr "" "renombra los archivos de configuración utilizando el nombre del archivo del " "paquete binario en lugar de <literal><replaceable>nombre_del_paquete</" "replaceable></literal>." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "modify template file contents to suit your needs;" msgstr "" "modifica el contenido de los archivos de plantilla para adaptarlos a tus " "necesidades." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "remove template files which you do not need;" msgstr "elimina aquellos archivos que no necesites." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>control</filename> file (see <xref linkend=\"control\"/" ">), if necessary;" msgstr "" "realiza las modificaciones necesarias en el archivo <filename>control</" "filename> (véase <xref linkend=\"control\"/>), si es necesario." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/>), " "if necessary." msgstr "" "modifica el archivo <filename>rules</filename> (véase <xref linkend=\"rules" "\"/> ), si es necesario." #. type: Content of: <book><chapter><para> msgid "" "Any <systemitem role=\"package\">debhelper</systemitem> configuration files " "without a <filename><replaceable>package</replaceable></filename> prefix, " "such as <filename>install</filename>, apply to the first binary package. " "When there are many binary packages, their configurations can be specified " "by prefixing their name to their configuration filenames such as " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "Los archivos de configuración construidos por <systemitem role=\"package" "\">debhelper</systemitem> que no tienen el prefijo " "<filename><replaceable>nombre_del_paquete</replaceable></filename> tales " "como <filename>install</filename> se aplicaran al primer paquete binario. " "Si hay varios paquetes binarios, sus configuraciones se especificaran con " "el prefijo de paquete binario correspondiente en su nombre: así tendrás los " "archivos <filename><replaceable>paquete-1</replaceable>.install</filename>, " "<filename><replaceable>paquete-2</replaceable>.install</filename>, etc." #. type: Content of: <book><chapter><section><title> msgid "<filename>README.Debian</filename>" msgstr "Archivo <filename>README.Debian</filename> (LÉEME.debian)" #. type: Content of: <book><chapter><section><para> msgid "" "Any extra details or discrepancies between the original package and your " "Debian version should be documented here." msgstr "" "Cualquier detalle extra o discrepancias entre el programa original y su " "versión debianizada debería documentarse aquí." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one; this is what it looks like:" msgstr "" "<command>dh_make</command> construye uno predeterminado, y éste es su " "aspecto:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" msgstr "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have nothing to be documented, remove this file. See <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Dado que no tenemos que poner nada aquí, elimínalo.Véase <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<filename>compat</filename>" msgstr "Archivo <filename>compat</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>compat</filename> file defines the <systemitem role=\"package" "\">debhelper</systemitem> compatibility level. Currently, you should set it " "to the <systemitem role=\"package\">debhelper</systemitem> v9 as follows:" msgstr "" "El archivo <filename>compat</filename> define el nivel de compatibilidad de " "<systemitem role=\"package\">debhelper</systemitem>. Actualmente, " "establecerás la compatibilidad a la versión 9 de <systemitem role=\"package" "\">debhelper</systemitem> como se indica a continuación." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ echo 9 > debian/compat\n" msgstr "$ echo 9 > debian/compat\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>conffiles</filename>" msgstr "Archivo <filename>conffiles</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian " "Policy Manual, \"D.2.5 Conffiles\"</ulink>." msgstr "" "Véase <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian " "Policy Manual, \"D.2.5 Conffiles\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "One of the most annoying things about software is when you spend a great " "deal of time and effort customizing a program, only to have an upgrade stomp " "all over your changes. Debian solves this problem by marking such " "configuration files as conffiles. <placeholder type=\"footnote\" id=\"0\"/> " "When you upgrade a package, you'll be asked whether you want to keep your " "old configuration files or not." msgstr "" "Una de las cosas más molestas de los programas es cuando pasas mucho tiempo " "y esfuerzo adaptando un programa (como usuario) y una actualización destroza " "todos tus cambios. Debian resuelve este problema marcando los ficheros de " "configuración. <placeholder type=\"footnote\" id=\"0\"/> Así, cuando " "actualizas un paquete se te pregunta si deseas mantener la nueva " "configuración o no." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry><refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> <emphasis>automatically</emphasis> flags any " "files under the <filename>/etc</filename> directory as conffiles, so if your " "program only has conffiles there you do not need to specify them in this " "file. For most package types, the only place conffiles should ever be is " "under <filename>/etc</filename>, and so this file doesn't need to exist." msgstr "" "Desde la versión 3 de <systemitem role=\"package\">debhelper</systemitem>, " "<citerefentry> <refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> considera <emphasis>automáticamente</emphasis> a " "todos los archivos ubicados en el directorio <filename>/etc</filename> como " "«conffiles» (archivos de configuración gestionados por el sistema de " "paquetes). Así, si todos los «conffiles» están en este directorio no es " "necesario que los incluyas en este archivo. Para la mayoría de paquetes, la " "única ubicación de los «conffiles» es <filename>/etc</filename> por lo que " "no es necesario generar este archivo." #. type: Content of: <book><chapter><section><para> msgid "" "If your program uses configuration files but also rewrites them on its own, " "it's best not to make them conffiles because <command>dpkg</command> will " "then prompt users to verify the changes all the time." msgstr "" "En el caso de que tu programa utilice ficheros de configuración pero también " "los reescriba él mismo es mejor no marcarlos como «conffiles». Si lo haces, " "<command>dpkg</command> informará a los usuarios que verifiquen los cambios " "de estos ficheros cada vez que lo actualicen." #. type: Content of: <book><chapter><section><para> msgid "" "If the program you're packaging requires every user to modify the " "configuration files in the <filename>/etc</filename> directory, there are " "two popular ways to arrange for them to not be conffiles, keeping " "<command>dpkg</command> quiet." msgstr "" "Si el programa que estás empaquetando requiere que cada usuario modifique " "los archivos de configuración del directorio <filename>/etc</filename>, hay " "dos formas para no marcarlos como archivos «conffiles» y que no sean " "manipulados por <command>dpkg</command>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a symlink under the <filename>/etc</filename> directory pointing to a " "file under the <filename>/var</filename> directory generated by the " "maintainer scripts." msgstr "" "Construir un enlace simbólico de los archivos ubicados en <filename>/etc</" "filename> que apunten a archivos ubicados en el directorio <filename>/var</" "filename> generados por <emphasis>guiones del desarrollador</emphasis> " "(«maintainer scripts»)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a file generated by the maintainer scripts under the <filename>/etc</" "filename> directory." msgstr "" "Poner los archivos generados por los <emphasis>guiones del desarrollador</" "emphasis> en el directorio <filename>/etc</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "For information on maintainer scripts, see <xref linkend=\"maintscripts\"/>." msgstr "" "Para más información sobre los <emphasis>guiones del desarrollador</" "emphasis> véase <xref linkend=\"maintscripts\"/> ." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.cron.*</filename>" msgstr "" "Archivos <filename><replaceable>nombre_del_paquete</replaceable>.cron.*</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package requires regularly scheduled tasks to operate properly, you " "can use these files to set that up. You can set up regular tasks that " "either happen hourly, daily, weekly, or monthly, or alternatively happen at " "any other time that you wish. The filenames are:" msgstr "" "Si tu paquete requiere tareas periódicas para funcionar adecuadamente, " "puedes usar este fichero como patrón. Puedes establecer la realización de " "tareas que se ejecuten cada hora, día, semana, mes, o en cualquier otro " "período de tiempo. Los nombres de los archivos son:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.hourly</filename> - " "Installed as <filename>/etc/cron.hourly/<replaceable>package</replaceable></" "filename>; run once an hour." msgstr "" "<filename><replaceable>nombre_del_paquete</replaceable>.cron.hourly</" "filename> - instalados como <filename>/etc/cron.hourly/" "<replaceable>nombre_del_paquete</replaceable></filename>: se ejecutan cada " "hora." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.daily</filename> - " "Installed as <filename>/etc/cron.daily/<replaceable>package</replaceable></" "filename>; run once a day." msgstr "" "<filename><replaceable>nombre_del_paquete</replaceable>.cron.daily</" "filename> - instalados como <filename>/etc/cron.daily/" "<replaceable>nombre_del_paquete</replaceable></filename>: se ejecutan cada " "día, habitualmente por la mañana temprano." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.weekly</filename> - " "Installed as <filename>/etc/cron.weekly/<replaceable>package</replaceable></" "filename>; run once a week." msgstr "" "<filename><replaceable>nombre_del_paquete</replaceable>.cron.weekly</" "filename> - instalados como <filename>/etc/cron.weekly/" "<replaceable>nombre_del_paquete</replaceable></filename>: se ejecutan cada " "semana, habitualmente en la mañana del domingo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.monthly</filename> - " "Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></" "filename>: run once a month." msgstr "" "<filename><replaceable>nombre_del_paquete</replaceable>.cron.hourly</" "filename> - instalados como <filename>/etc/cron.hourly/" "<replaceable>nombre_del_paquete</replaceable></filename>: se ejecutan cada " "hora." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.d</filename> - Installed " "as <filename>/etc/cron.d/<replaceable>package</replaceable></filename>: for " "any other time." msgstr "" "<filename><replaceable>nombre_del_paquete</replaceable>.cron.d</filename> - " "instalados como <filename>/etc/cron.d/<replaceable>package</replaceable></" "filename>: para cualquier otro período de tiempo." #. type: Content of: <book><chapter><section><para> msgid "" "Most of these files are shell scripts, with the exception of " "<filename><replaceable>package</replaceable>.cron.d</filename> which follows " "the format of <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." msgstr "" "Para los archivos mencionados, su formato es el de guiones «shell». La " "única excepción son los archivos <filename><replaceable>nombre_del_paquete</" "replaceable>.cron.d</filename> que deben ajustarse al formato descrito en " "<citerefentry> <refentrytitle>crontab</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "No explicit <filename>cron.*</filename> file is needed to set up log " "rotation; for that, see <citerefentry><refentrytitle>dh_installlogrotate</" "refentrytitle> <manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>logrotate</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" "No es necesario determinar un archivo <filename>cron.*</filename> para " "configurar la rotación de registros, para hacer eso consulta <citerefentry> " "<refentrytitle>dh_installlogrotate</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> y <citerefentry> <refentrytitle>logrotate</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<filename>dirs</filename>" msgstr "Archivo <filename>dirs</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies any directories which we need but which are not created " "by the normal installation procedure (<literal>make install DESTDIR=...</" "literal> invoked by <literal>dh_auto_install</literal>). This generally " "means there is a problem with the <filename>Makefile</filename>." msgstr "" "Este fichero especifica los directorios que se necesitan pero que por alguna " "razón no se crean en un proceso de instalación normal (<literal>make install " "DESTDIR=...</literal> invocado por <literal>dh_auto_install</literal>). " "Generalmente es debido a un problema con el archivo <filename>Makefile</" "filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Files listed in an <filename>install</filename> file don't need their " "directories created first. See <xref linkend=\"install\"/>." msgstr "" "Los archivos listados en el archivo <filename>install</filename> no " "requieren la construcción previa de los directorios. Véase <xref linkend=" "\"install\"/> ." #. type: Content of: <book><chapter><section><para> msgid "" "It is best to try to run the installation first and only use this if you run " "into trouble. There is no preceding slash on the directory names listed in " "the <filename>dirs</filename> file." msgstr "" "Es recomendable ejecutar en primer lugar la instalación y solo hacer uso de " "este archivo si se produce algún problema. No debe ponerse la barra inicial " "en los nombres de los directorios listados en el archivo <filename>dirs</" "filename>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.doc-base</filename>" msgstr "" "Archivo <filename><replaceable>nombre_del_paquete</replaceable>.doc-base</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has documentation other than manual and info pages, you " "should use the <systemitem role=\"package\">doc-base</systemitem> file to " "register it, so the user can find it with e.g. <citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, or <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Si tu paquete tiene documentación además de las páginas de manual y de " "información, puedes utilizar el archivo <systemitem role=\"package\">doc-" "base</systemitem> para registrarla de modo que el usuario pueda encontrar " "esta documentación suplementaria con <citerefentry> <refentrytitle>dhelp</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>dwww</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "o <citerefentry> <refentrytitle>doccentral</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "This usually includes HTML, PS and PDF files, shipped in <filename>/usr/" "share/doc/<replaceable>packagename</replaceable>/</filename>." msgstr "" "La documentación incluirá archivos HTML, PS y PDF ubicados en <filename>/usr/" "share/doc/<replaceable>nombre_del_paquete</replaceable>/</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "This is what <systemitem role=\"package\">gentoo</systemitem>'s doc-base " "file <filename>gentoo.doc-base</filename> looks like:" msgstr "" "A continuación se muestra cómo es el fichero doc-base de <systemitem role=" "\"package\">gentoo</systemitem>, <filename>gentoo.doc-base</filename>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" msgstr "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" #. type: Content of: <book><chapter><section><para> msgid "" "For information on the file format, see <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and the Debian <systemitem role=\"package\">doc-base</" "systemitem> Manual at the local copy <filename>&doc-base;</filename> " "provided by the <systemitem role=\"package\">doc-base</systemitem> package." msgstr "" "Para más información sobre el formato del archivo véase <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> y el manual Debian <systemitem role=\"package\">doc-base</" "systemitem> en la copia local <filename>&doc-base;</filename> proporcionada " "por el paquete <systemitem role=\"package\">doc-base</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "For more details on installing additional documentation, look in <xref " "linkend=\"destdir\"/>." msgstr "" "Para más detalles sobre la instalación de documentación adicional, lee <xref " "linkend=\"destdir\"/> ." #. type: Content of: <book><chapter><section><title> msgid "<filename>docs</filename>" msgstr "Archivo <filename>docs</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies the file names of documentation files we can have " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> install into the temporary directory for us." msgstr "" "Este fichero especifica los nombres de los ficheros de documentación que " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> instalará en el directorio temporal." #. type: Content of: <book><chapter><section><para> msgid "" "By default, it will include all existing files in the top-level source " "directory that are called <filename>BUGS</filename>, <filename>README*</" "filename>, <filename>TODO</filename> etc." msgstr "" "Por omisión, se incluirán todos los archivos existentes en los directorios " "de más alto nivel del código con los nombres <filename>BUGS</filename>, " "<filename>README*</filename>, <filename>TODO</filename> etc." #. type: Content of: <book><chapter><section><para> msgid "" "For <systemitem role=\"package\">gentoo</systemitem>, some other files are " "also included:" msgstr "" "También incluiré algunos otros para <systemitem role=\"package\">gentoo</" "systemitem>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" msgstr "" " BUGS\n" " CONFIG-CHANGES\n" " CREDITS\n" " ONEWS\n" " README\n" " README.gtkrc\n" " TODO\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>emacsen-*</filename>" msgstr "Archivo <filename>emacsen-*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package supplies Emacs files that can be bytecompiled at package " "installation time, you can use these files to set it up." msgstr "" "Si tu paquete proporciona ficheros Emacs que pueden ser compilados a bytes " "(«bytescompile») en el momento de la instalación, puedes usar estos ficheros." #. type: Content of: <book><chapter><section><para> msgid "" "They are installed into the temporary directory by <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "El programa <citerefentry> <refentrytitle>dh_installemacsen</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> instalará estos archivos en el " "directorio temporal ." #. type: Content of: <book><chapter><section><para> msgid "If you don't need these, remove them." msgstr "Elimínalos si no los necesitas." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.examples</filename>" msgstr "" "Archivo <filename><replaceable>nombre_del_paquete</replaceable>.examples</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs files and " "directories listed in this file as example files." msgstr "" "La orden <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> instala los archivos y directorios " "listados en este archivo como archivos de ejemplos." #. type: Content of: <book><chapter><section><title> msgid "" "<filename><replaceable>package</replaceable>.init</filename> and " "<filename><replaceable>package</replaceable>.default</filename>" msgstr "" "Archivos <filename><replaceable>nombre_del_paquete</replaceable>.init</" "filename> y <filename><replaceable>nombre_del_paquete</replaceable>.default</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package is a daemon that needs to be run at system start-up, you've " "obviously disregarded my initial recommendation, haven't you? :-)" msgstr "" "Si tu paquete es un demonio que necesita ejecutarse en el arranque del " "sistema, obviamente has desatendido mi recomendación inicial, ¿o no? :-)" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.init</filename> file is " "installed as the <filename>/etc/init.d/<replaceable>package</replaceable></" "filename> script which starts and stops the daemon. Its fairly generic " "skeleton template is provided by the <command>dh_make</command> command as " "<filename>init.d.ex</filename>. You'll likely have to rename and edit it, a " "lot, while making sure to provide <ulink url=\"&lsb;\">Linux Standard Base</" "ulink> (LSB) compliant headers. It gets installed into the temporary " "directory by <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." msgstr "" "El archivo <filename><replaceable>nombre_del_paquete</replaceable>.init</" "filename> se instala como un guión en <filename>/etc/init.d/" "<replaceable>nombre_del_paquete</replaceable></filename>. Se trata de una " "plantilla genérica construida por la orden <command>dh_make</command> como " "<filename>init.d.ex</filename>. Deberás renombrarlo y hacerle muchos cambios " "para asegurarte que cumpla con las cabeceras del estándar base de Linux " "(<ulink url=\"&lsb;\">Linux Standard Base</ulink>, LSB). La orden " "<citerefentry> <refentrytitle>dh_installinit</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> lo instalará en el directorio temporal." #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.default</filename> file " "will be installed as <filename>/etc/default/<replaceable>package</" "replaceable></filename>. This file sets defaults that are sourced by the " "init script. This <filename><replaceable>package</replaceable>.default</" "filename> file is most often used to disable running a daemon, or to set " "some default flags or timeouts. If your init script has certain " "configurable features, you can set them in the " "<filename><replaceable>package</replaceable>.default</filename> file, " "instead of in the init script itself." msgstr "" "El archivo <filename><replaceable>nombre_del_paquete</replaceable>.default</" "filename> se instalará en el directorio <filename>/etc/default/" "<replaceable>nombre_del_paquete</replaceable></filename>. Este archivo " "establece los valores predeterminados que utiliza el <emphasis>guión init</" "emphasis>. En la mayoría de casos, el archivo " "<filename><replaceable>nombre_del_paquete</replaceable>.default</filename>, " "se utiliza para desactivar la ejecución del demonio, estableciendo algunos " "indicadores predeterminados o tiempos de espera. Las características " "<emphasis>configurables</emphasis> establecidas en tu <emphasis>guión init</" "emphasis> deben incluirse en este archivo predeterminado, y no en el propio " "guión." #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream program provides a file for the init script, you can either " "use it or not. If you don't use their init script then create a new one in " "<filename><replaceable>package</replaceable>.init</filename>. However if " "the upstream init script looks fine and installs in the right place you " "still need to set up the <filename>rc*</filename> symlinks. To do this you " "will need to override <command>dh_installinit</command> in the " "<filename>rules</filename> file with the following lines:" msgstr "" "Si el programa original incluye un archivo <emphasis>guión init</emphasis>, " "tu puedes hacer uso de él o bien descartarlo. Si optas por no hacer uso del " "guión <emphasis>guión init </emphasis> original, deberás construir uno nuevo " "en <filename>debian/<replaceable>nombre_del_paquete</replaceable>.init</" "filename>. En cualquier caso deberás construir los enlaces simbólicos " "<filename>rc*</filename> aunque el <emphasis>guión init</emphasis> original " "parezca correcto y se instale en el lugar adecuado. Para ello, deberás " "reescribir el objetivo <command>dh_installinit</command> en el archivo " "<filename>rules</filename> con las siguientes líneas:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" msgstr "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" #. type: Content of: <book><chapter><section><para> msgid "If you don't need this, remove the files." msgstr "Elimina el fichero si no lo necesitas." #. type: Content of: <book><chapter><section><title> msgid "<filename>install</filename>" msgstr "Archivo <filename>install</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This replaces the deprecated <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command which is " "configured by the <filename>files</filename> file." msgstr "" "Esto reemplaza la orden obsoleta <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> que se configuraba " "con el archivo <filename>files</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "If there are files that need to be installed into your package but your " "standard <literal>make install</literal> won't do it, put the filenames and " "destinations into this <filename>install</filename> file. They are " "installed by <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=" "\"0\"/> You should first check there is not a more specific tool to use. " "For example, documents should be in the <filename>docs</filename> file and " "not in this one." msgstr "" "Si hay archivos que deben ser instalados por el paquete pero no lo hace " "<literal>make install</literal> , puedes listar los archivos y sus destinos " "en el archivo <filename>install</filename>. Se encargará de la instalación " "la orden <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> <placeholder type=\"footnote\" id=" "\"0\"/>. Debes asegurarte que no hay un sistema más específico para hacer " "esta instalación. Por ejemplo, para la documentación debes utilizar el " "archivo <filename>docs</filename>, en lugar de este archivo." #. type: Content of: <book><chapter><section><para> msgid "" "This <filename>install</filename> file has one line per file installed, with " "the name of the file (relative to the top build directory) then a space then " "the installation directory (relative to the install directory). One example " "of where this is used is if a binary <filename>src/<replaceable>bar</" "replaceable></filename> is left uninstalled; the <filename>install</" "filename> file might look like:" msgstr "" "El archivo <filename>install</filename> tendrá una línea para cada uno de " "los archivos a instalar, con el nombre del archivo (relativo al directorio " "superior de la compilación) seguido de un espacio y a continuación el " "directorio de instalación (relativo al directorio superior de instalación). " "Suponiendo que el archivo binario <filename>src/" "<replaceable>archivo_binario</replaceable></filename> no se instalase, " "deberías utilizar el archivo <filename>install</filename> como sigue:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "src/<replaceable>bar</replaceable> usr/bin\n" msgstr "src/<replaceable>archivo_binario</replaceable> usr/bin\n" #. type: Content of: <book><chapter><section><para> msgid "" "This means when this package is installed, there will be an executable " "command <filename>/usr/bin/<replaceable>bar</replaceable></filename>." msgstr "" "Al instalarse el paquete, se instalará el archivo binario <filename>/usr/bin/" "nombre_archivo_binario</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Alternatively, this <filename>install</filename> can have the name of the " "file only without the installation directory when the relative directory " "path does not change. This format is usually used for a large package that " "splits the output of its build into multiple binary packages using " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "En el archivo <filename>install</filename> puedes escribir el nombre del " "archivo sin el directorio de instalación siempre que no cambie la ruta " "relativa de directorio. Este formato se usa en paquetes grandes que separan " "el resultado de la compilación en múltiples paquetes binarios haciendo uso " "de <filename><replaceable>nombre_del_paquete-1</replaceable>.install</" "filename>, <filename><replaceable>nombre_del_paquete-2</replaceable>." "install</filename>, etc." #. type: Content of: <book><chapter><section><para> msgid "" "The <command>dh_install</command> command will fall back to looking in " "<filename>debian/tmp</filename> for files, if it doesn't find them in the " "current directory (or wherever you've told it to look using <literal>--" "sourcedir</literal>)." msgstr "" "La orden <command>dh_install</command> retrocederá al directorio " "<filename>debian/tmp</filename> para buscar los archivos si no los encuentra " "en el directorio actual (o en la ubicación que hayas establecido para la " "búsqueda con <literal>--sourcedir</literal>)." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.info</filename>" msgstr "" "Archivo <filename><replaceable>nombre_del_paquete</replaceable>.info</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has info pages, you should install them using <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing them in a <filename><replaceable>package</" "replaceable>.info</filename> file." msgstr "" "Si tu paquete utiliza páginas de información («info pages»), podrás " "instalarlas utilizando <citerefentry> <refentrytitle>dh_installinfo</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> que utilizará el " "listado del archivo <filename><replaceable>nombre_del_paquete</replaceable>." "info</filename>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.links</filename>" msgstr "" "Archivo <filename><replaceable>nombre_del_paquete</replaceable>.links</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If you need to create additional symlinks in package build directories as " "package maintainer, you should install them using <citerefentry> " "<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing their full paths of source and destination files in " "a <filename><replaceable>package</replaceable>.links</filename> file." msgstr "" "Si es necesario generar enlaces simbólicos adicionales, como responsable del " "paquete, en los directorios de compilación del paquete, puedes instalarlos " "utilizando <citerefentry> <refentrytitle>dh_link</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> haciendo una lista de las rutas " "completas de los ficheros de origen y de destino en un fichero " "<filename><replaceable>nombre_del_paquete</replaceable>.links</filename>." #. type: Content of: <book><chapter><section><title> msgid "" "<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</" "filename>" msgstr "" "Archivos <filename>{<replaceable>nombre_del_paquete</replaceable>.source/} " "lintian-overrides</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " "diagnostic for a case where Debian policy allows exceptions to some rule, " "you can use <filename><replaceable>package</replaceable>.lintian-overrides</" "filename> or <filename>source/lintian-overrides</filename> to quieten it. " "Please read Lintian User's Manual (<filename>&lintian-doc;</filename>) and " "refrain from abusing this." msgstr "" "Si el programa <systemitem role=\"package\">lintian</systemitem> emite un " "informe de diagnóstico erróneo en algún caso en que las normas admitan " "excepciones, podrás utilizar los archivos " "<filename><replaceable>nombre_del_paquete</replaceable>.lintian-overrides</" "filename> o <filename>source/lintian-overrides</filename> para evitar que se " "emita el error. Por favor, lee Lintian User's Manual (<filename>&lintian-" "doc;</filename>) error y procura no abusar de esta opción (para ocultar " "errores auténticos)." #. type: Content of: <book><chapter><section><para> msgid "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> is " "for the binary package named <systemitem role=\"package" "\"><replaceable>package</replaceable></systemitem> and is installed into " "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" "filename> by the <command>dh_lintian</command> command." msgstr "" "<filename><replaceable>nombre_del_paquete</replaceable>.lintian-overrides</" "filename> es para un paquete binario con el nombre <systemitem role=\"package" "\"><replaceable>nombre_del_paquete</replaceable></systemitem> y es instalado " "en <filename>usr/share/lintian/overrides/<replaceable>nombre_del_paquete</" "replaceable></filename> por la orden <command>dh_lintian</command>." #. type: Content of: <book><chapter><section><para> msgid "" "<filename>source/lintian-overrides</filename> is for the source package. " "This is not installed." msgstr "" "El archivo <filename>source/lintian-overrides</filename> es para los " "paquetes de fuentes y no se instala." #. type: Content of: <book><chapter><section><title> msgid "<filename>manpage.*</filename>" msgstr "Archivos <filename>manpage.*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Your program(s) should have a manual page. If they don't, you should create " "them. The <command>dh_make</command> command creates some template files " "for manual pages. These need to be copied and edited for each command " "missing its manual page. Please make sure to remove unused templates." msgstr "" "El/los programa/s debería/n tener una página de manual. Tendrás que " "escribirla si no existe. La orden <command>dh_make</command> construye " "varios archivos de plantilla para las páginas de manual. Deberás copiarlos " "y editarlos para cada programa que no tenga página de manual. Asegúrate de " "eliminar los que no utilices." #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.1.ex</filename>" msgstr "Archivo <filename>manpage.1.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Manual pages are normally written in <citerefentry> <refentrytitle>nroff</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. The " "<filename>manpage.1.ex</filename> template is written in <command>nroff</" "command>, too. See the <citerefentry> <refentrytitle>man</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> manual page for a brief description " "of how to edit such a file." msgstr "" "Las páginas de manual se escriben normalmente con <citerefentry> " "<refentrytitle>nroff</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. La plantilla <filename>manpage.1.ex</filename> está escrita " "con <command>nroff</command>. Consulta la página de manual <citerefentry> " "<refentrytitle>man</refentrytitle> <manvolnum>7</manvolnum> </citerefentry> " "para una breve descripción sobre como editar el archivo." #. type: Content of: <book><chapter><section><section><para> msgid "" "The final manual page file name should give the name of the program it is " "documenting, so we will rename it from <literal>manpage</literal> to " "<literal>gentoo</literal>. The file name also includes <literal>.1</" "literal> as the first suffix, which means it's a manual page for a user " "command. Be sure to verify that this section is indeed the correct one. " "Here's a short list of manual page sections:" msgstr "" "El nombre del archivo de manual debería incluir el nombre del programa que " "está documentando, así que lo renombraremos de <literal>manpage</literal> a " "<literal>gentoo</literal>. El nombre del fichero incluye también " "<literal>.1</literal> como primer sufijo, lo que significa que es una página " "de manual para una programa de usuario. Asegúrate de verificar que esa " "sección es la correcta. Aquí tienes una pequeña lista de las secciones de " "las páginas de manual." #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Section" msgstr "Sección" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Description" msgstr "Descripción" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Notes" msgstr "Notas" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "1" msgstr "1" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "User command" msgstr "Órdenes de usuario" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Executable commands or scripts" msgstr "Órdenes ejecutables o guiones" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "2" msgstr "2" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System calls" msgstr "Llamadas del sistema" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions provided by the kernel" msgstr "Funciones proporcionadas por el núcleo" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "3" msgstr "3" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Library calls" msgstr "Llamadas a bibliotecas" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions within system libraries" msgstr "Funciones de las bibliotecas del sistema" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "4" msgstr "4" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Special files" msgstr "Archivos especiales" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Usually found in <filename>/dev</filename>" msgstr "Por lo general se encuentran en <filename>/dev</filename>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "5" msgstr "5" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "File formats" msgstr "Formatos de archivo" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "E.g. <filename>/etc/passwd</filename>'s format" msgstr "p. ej. el formato de <filename>/etc/passwd</filename>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "6" msgstr "6" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games" msgstr "Juegos" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games or other frivolous programs" msgstr "Juegos y otros programas de entretenimiento" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "7" msgstr "7" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Macro packages" msgstr "Paquetes macro" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Such as <command>man</command> macros" msgstr "Tales como macros <command>man</command>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "8" msgstr "8" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System administration" msgstr "Administración del sistema" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Programs typically only run by root" msgstr "Programas que sólo suele ejecutar el superusuario" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "9" msgstr "9" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Kernel routines" msgstr "Rutinas del núcleo" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Non-standard calls and internals" msgstr "Llamadas al sistema no estándar e internas" #. type: Content of: <book><chapter><section><section><para> msgid "" "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " "called <filename>gentoo.1</filename>. If there was no <filename>gentoo.1</" "filename> man page in the original source, you should create it by renaming " "the <filename>manpage.1.ex</filename> template to <filename>gentoo.1</" "filename> and editing it using information from the example and from the " "upstream docs." msgstr "" "Así que la página de manual de <systemitem role=\"package\">gentoo</" "systemitem> debería nombrarse como <filename>gentoo.1</filename>. No había " "una página de manual <filename>gentoo.1</filename> en el paquete fuente así " "que la escribí renombrando la plantilla <filename>manpage.1.ex</filename> " "como <filename>gentoo.1</filename> y modificándola usando la información del " "ejemplo y de los documentos del programador original." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Note that <command>help2man</command>'s placeholder man page will claim that " "more detailed documentation is available in the info system. If the command " "is missing an <command>info</command> page, you should manually edit the man " "page created by the <command>help2man</command> command." msgstr "" "Ten presente que el marcador de posición de páginas de manual " "<command>help2man</command> reclamará que la documentación más detallada se " "encuentra disponible en el sistema de información. Si el comando no " "encuentra una página <command>info</command>, deberás editar manualmente la " "página de manual construida por <command>help2man</command>." #. type: Content of: <book><chapter><section><section><para> msgid "" "You can use the <command>help2man</command> command to generate a man page " "out of the <literal>--help</literal> and <literal>--version</literal> output " "of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Utiliza la orden <command>help2man</command> para generar la página de " "manual a partir de la información dada por «<literal>--help</literal>» y " "<literal>--version</literal>» para cada programa <placeholder type=\"footnote" "\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.sgml.ex</filename>" msgstr "Archivo <filename>manpage.sgml.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "If on the other hand you prefer writing SGML instead of <command>nroff</" "command>, you can use the <filename>manpage.sgml.ex</filename> template. If " "you do this, you have to:" msgstr "" "Por otro lado, puede que prefieras escribir usando SGML en lugar de " "<command>nroff</command>. En este caso, puedes usar la plantilla " "<filename>manpage.sgml.ex</filename>. Si haces esto, tendrás que:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "rename the file to something like <filename>gentoo.sgml</filename>." msgstr "renombrar el fichero a algo como <filename>gentoo.sgml</filename>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-to-man</systemitem> package" msgstr "" "instalar el paquete <systemitem role=\"package\">docbook-to-man</systemitem>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add <literal>docbook-to-man</literal> to the <literal>Build-Depends</" "literal> line in the <filename>control</filename> file" msgstr "" "añadir <literal>docbook-to-man</literal> en el campo <literal>Build-Depends</" "literal> en el archivo <filename>control</filename>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add an <literal>override_dh_auto_build</literal> target to your " "<filename>rules</filename> file:" msgstr "" "añadir el objetivo <literal>override_dh_auto_build</literal> en el fichero " "<filename>rules</filename>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.xml.ex</filename>" msgstr "Archivo <filename>manpage.xml.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you prefer XML over SGML, you can use the <literal>manpage.xml.ex</" "literal> template. If you do this, you have to:" msgstr "" "Si prefieres el formato XML en lugar de SGML, puedes utilizar la plantilla " "<literal>manpage.xml.ex</literal>. En este caso debes:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "rename the source file to something like <literal>gentoo.1.xml</literal>" msgstr "renombrar el archivo a <literal>gentoo.1.xml</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-xsl</systemitem> package " "and an XSLT processor like <systemitem role=\"package\">xsltproc</" "systemitem> (recommended)" msgstr "" "instalar el paquete <systemitem role=\"package\">docbook-xsl</systemitem> y " "un procesador XSLT como <systemitem role=\"package\">xsltproc</systemitem> " "(recomendado)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add the <literal>docbook-xsl</literal>, <literal>docbook-xml</literal>, and " "<literal>xsltproc</literal> packages to the <literal>Build-Depends</literal> " "line in the <literal>control</literal> file" msgstr "" "añadir los paquetes <literal>docbook-xsl</literal>, <literal>docbook-xml</" "literal> y <literal>xsltproc</literal> en la línea de <literal>Build-" "Depends</literal> en el fichero de <literal>control</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.manpages</filename>" msgstr "" "Archivo <filename><replaceable>nombre_del_paquete</replaceable>.manpages</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has manual pages, you should install them using " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> by listing them in a " "<filename><replaceable>package</replaceable>.manpages</filename> file." msgstr "" "Si tu paquete tiene páginas de manual, deberías instalarlas con " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> listando los archivos correspondientes en el " "archivo <filename><replaceable>nombre_del_paquete</replaceable>.manpages</" "filename>." #. type: Content of: <book><chapter><section><para> msgid "" "To install <filename>docs/gentoo.1</filename> as a manpage for the " "<systemitem role=\"package\">gentoo</systemitem> package, create a " "<filename>gentoo.manpages</filename> file as follows." msgstr "" "Para instalar el archivo <filename>docs/gentoo.1</filename> del paquete " "<systemitem role=\"package\">gentoo</systemitem> como su manual, construirás " "el archivo <filename>gentoo.manpages</filename> con el contenido:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "docs/gentoo.1\n" msgstr "docs/gentoo.1\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>menu</filename>" msgstr "Archivo <filename>menu</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "X Window System users usually have a window manager with a menu that can be " "customized to launch programs. If they have installed the Debian " "<systemitem role=\"package\">menu</systemitem> package, a set of menus for " "every program on the system will be created for them." msgstr "" "Los usuarios de X Windows suelen tener un gestor de ventanas con menús que " "pueden adaptarse para lanzar programas. Si tienen instalado el paquete " "<systemitem role=\"package\">menu</systemitem> de Debian, se generará un " "conjunto de menús para cada programa del sistema para ellos." #. type: Content of: <book><chapter><section><para> msgid "" "Here's the default <filename>menu.ex</filename> file that <command>dh_make</" "command> created." msgstr "" "Éste es el fichero <filename>menu.ex</filename> que <command>dh_make</" "command> construye por omisión:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" msgstr "" " ?package(gentoo):needs=X11|text|vc|wm \n" " section=Apps/lea-manual-menu\\\n" " title=gentoo command=/usr/bin/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The first field after the colon character is <literal>needs</literal>, and " "it specifies what kind of interface the program needs. Change this to one " "of the listed alternatives, e.g. <literal>text</literal> or <literal>X11</" "literal>." msgstr "" "El primer campo tras la coma es <literal>needs</literal> (necesidades) y " "especifica qué tipo de interfaz necesita el programa. Cambia ésta a una de " "las alternativas que se listan, como por ejemplo <literal>text</literal> o " "<literal>X11</literal>.." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The current list of sections is in <ulink url=\"&menu-structure;\">The " "Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>. There was " "a major reorganization of menu structure for <literal>squeeze</literal>." msgstr "" "La lista actual de secciones está en <ulink url=\"&menu-structure;\">The " "Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>. Se realizó " "una reorganización importante del menú en la versión <literal>squeeze</" "literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The next is the <literal>section</literal> that the menu and submenu entry " "should appear in. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "El siguiente <literal>section</literal>, es la sección donde deberían " "aparecer la entrada del menú y del sub-menú <placeholder type=\"footnote\" " "id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>title</literal> field is the name of the program. You can " "start this one in uppercase if you like. Just keep it short." msgstr "" "El campo <literal>title</literal> es el nombre del programa. Puedes " "comenzar éste en mayúsculas si así lo prefieres, pero hazlo lo más corto " "posible." #. type: Content of: <book><chapter><section><para> msgid "" "Finally, the <literal>command</literal> field is the command that runs the " "program." msgstr "" "Finalmente, el campo <literal>command</literal> es la orden que ejecuta el " "programa." #. type: Content of: <book><chapter><section><para> msgid "" "Let's change the file name to <filename>menu</filename> and change the menu " "entry to this:" msgstr "" "Vamos a cambiar el nombre del archivo a <filename>menu</filename> y la " "entrada del menú por ésta:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" msgstr "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also add other fields like <literal>longtitle</literal>, " "<literal>icon</literal>, <literal>hints</literal> etc. See <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, and <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> for more information." msgstr "" "También puedes añadir otros campos como son <literal>longtitle</literal> " "(título largo), <literal>icon</literal> (icono), <literal>hints</literal> " "(pistas), etc. Para más información consulta <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> y <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink>." #. type: Content of: <book><chapter><section><title> msgid "<filename>NEWS</filename>" msgstr "Archivo <filename>NEWS</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "La orden <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> instala este archivo." #. type: Content of: <book><chapter><section><title> msgid "<filename>{pre,post}{inst,rm}</filename>" msgstr "Archivos <filename>{pre,post}{inst,rm}</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Despite this use of the <command>bash</command> shorthand expression " "<filename>{pre,post}{inst,rm}</filename> to indicate these filenames, you " "should use pure POSIX syntax for these maintainer scripts for compatibility " "with <command>dash</command> as the system shell." msgstr "" "Aunque el texto utilice la expresión abreviada <command>bash</command> para " "el nombre de los archivos <filename>{pre,post}{inst,rm}</filename>, debes " "utilizar la sintaxis POSIX pura para estos guiones del desarrollador para " "mantener la compatibilidad con el «shell» del sistema <command>dash</" "command>." #. type: Content of: <book><chapter><section><para> msgid "" "These <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename>, and <filename>prerm</filename> files " "<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " "scripts</emphasis>. They are scripts which are put in the control area of " "the package and run by <command>dpkg</command> when your package is " "installed, upgraded, or removed." msgstr "" "Los archivos <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename> y <filename>prerm</filename> <placeholder type=" "\"footnote\" id=\"0\"/> se denominan <emphasis>guiones del desarrollador</" "emphasis>. Son guiones que se colocan en el área de control del paquete y " "que <command>dpkg</command> ejecuta cuando tu paquete se instala, se " "actualiza o se elimina." #. type: Content of: <book><chapter><section><para> msgid "" "As a novice maintainer, you should avoid any manual editing of maintainer " "scripts because they are problematic. For more information refer to the " "<ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 \"Package " "maintainer scripts and installation procedure\"</ulink>, and take a look at " "the example files provided by <command>dh_make</command>." msgstr "" "Por ahora, deberías intentar evitar editar manualmente estos " "<emphasis>guiones del desarrollador</emphasis> si puedes porque suelen " "hacerse muy complejos. Para más información lee <ulink url=\"&policy-" "mantainerscripts;\">«Debian Policy Manual, 6 \"Package maintainer scripts " "and installation procedure\"»</ulink>, y echa un vistazo a los ejemplos " "proporcionados por <command>dh_make</command>." #. type: Content of: <book><chapter><section><para> msgid "" "If you did not listen to me and have created custom maintainer scripts for a " "package, you should make sure to test them not only for <emphasis role=" "\"strong\">install</emphasis> and <emphasis role=\"strong\">upgrade</" "emphasis> but also for <emphasis role=\"strong\">remove</emphasis> and " "<emphasis role=\"strong\">purge</emphasis>." msgstr "" "Si a pesar de mis advertencias, adaptas los <emphasis>guiones del " "desarrollador</emphasis> para el paquete, asegúrate de comprobar su " "funcionamiento no sólo para la <emphasis role=\"strong\">instalación</" "emphasis> y <emphasis role=\"strong\">actualización</emphasis> del paquete, " "sino también para su <emphasis role=\"strong\">desinstalación</emphasis> y " "<emphasis role=\"strong\">eliminación completa</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Upgrades to the new version should be silent and non-intrusive (existing " "users should not notice the upgrade except by discovering that old bugs have " "been fixed and perhaps that there are new features)." msgstr "" "Las actualizaciones a una nueva versión deben ser «silenciosas» y no " "intrusivas. Los usuarios no deberían darse cuenta de la actualización, " "salvo quizás para descubrir que se han arreglado errores antiguos y porque " "hay alguna nueva funcionalidad." #. type: Content of: <book><chapter><section><para> msgid "" "When the upgrade is necessarily intrusive (eg., config files scattered " "through various home directories with totally different structure), you may " "consider as the last resort switching the package to a safe fallback state " "(e.g., disabling a service) and providing the proper documentation required " "by policy (<filename>README.Debian</filename> and <filename>NEWS.Debian</" "filename>). Don't bother the user with <command>debconf</command> notes " "invoked from these maintainer scripts for upgrades." msgstr "" "Cuando la actualización es necesariamente intrusiva (p.e. archivos de " "configuración dispersos en varios directorios con una estructura totalmente " "modificada), se deberían establecer los valores predeterminados seguros (p." "e. desactivar los servicios) y facilitar la documentación apropiada " "establecida por las normas (archivos <filename>README.Debian</filename> y " "<filename>NEWS.Debian</filename>) como último recurso. Hay que evitar " "molestar al usuario con notas <command>debconf</command> invocadas por los " "<emphasis>guiones del desarrollador</emphasis> en las actualizaciones." #. type: Content of: <book><chapter><section><para> msgid "" "The <systemitem role=\"package\">ucf</systemitem> package provides a " "<emphasis>conffile-like</emphasis> handling infrastructure to preserve user " "changes for files that may not be labeled as <emphasis>conffiles</emphasis> " "such as those managed by the maintainer scripts. This should minimize " "issues associated with them." msgstr "" "El paquete <systemitem role=\"package\">ucf</systemitem> facilita el sistema " "<emphasis>conffile-like</emphasis> para preservar los cambios de " "configuración realizados por el usuario y por ello no deben nombrarse como " "<emphasis>conffiles</emphasis> los archivos manejados por los " "<emphasis>guiones del desarrollador</emphasis>. Así se minimizan las " "incidencias asociadas con ellos." #. type: Content of: <book><chapter><section><para> msgid "" "These maintainer scripts are among the Debian enhancements that explain " "<emphasis role=\"strong\">why people choose Debian</emphasis>. You must be " "very careful not to turn them into a source of annoyance." msgstr "" "Estos <emphasis>guiones del desarrollador</emphasis> son un ejemplo de las " "características de Debian que explican <emphasis role=\"strong\">por qué la " "gente elige Debian</emphasis>. Debes ser cuidadoso con no molestarles con " "ellos." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.symbols</filename>" msgstr "" "Archivo <filename><replaceable>nombre_del_paquete</replaceable>.symbols</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging of library is not easy for a novice maintainer and should be " "avoided. Having said it, if your package has libraries, you should have " "<filename>debian/<replaceable>package</replaceable>.symbols</filename> " "files. See <xref linkend=\"librarysymbols\"/>." msgstr "" "El mantenimiento de paquetes de bibliotecas no es fácil para los " "principiantes y se debe evitar. Aún así, si el paquete tiene bibliotecas, " "debes tener los ficheros <filename>debian/<replaceable>nombre_del_paquete</" "replaceable>.symbols</filename>. Consulte <xref linkend=\"librarysymbols\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>TODO</filename>" msgstr "Archivo <filename>TODO</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "La orden <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> instala este archivo." #. type: Content of: <book><chapter><section><title> msgid "<filename>watch</filename>" msgstr "Archivo <filename>watch</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>watch</filename> file format is documented in the " "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> manpage. The <filename>watch</filename> file configures the " "<command>uscan</command> program (in the <systemitem role=\"package" "\">devscripts</systemitem> package) to watch the site where you originally " "got the source from. This is also used by the <ulink url=\"&dehs;\">Debian " "External Health Status (DEHS)</ulink> service." msgstr "" "El formato del archivo <filename>watch</filename> se documenta en la página " "de manual de <citerefentry> <refentrytitle>uscan</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. El archivo <filename>watch</" "filename> se usa para configurar el programa <command>uscan</command> (del " "paquete <systemitem role=\"package\">devscripts</systemitem>) que vigila el " "servidor de donde obtuviste las fuentes originales. También lo utiliza " "<ulink url=\"&dehs;\">«Debian External Health Status (DEHS)»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "Here are its contents:" msgstr "Este es su contenido:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" msgstr "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" #. type: Content of: <book><chapter><section><para> msgid "" "Normally with a <filename>watch</filename> file, the URL at <literal>&sf-" "net;/gentoo</literal> is downloaded and searched for links of the form " "<literal><a href=...></literal>. The basename (just the part after " "the final <literal>/</literal>) of each linked URL is compared against the " "Perl regular expression pattern (see <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Out of the files that match, the one with the " "greatest version number is downloaded and the <command>uupdate</command> " "program is run to create an updated source tree." msgstr "" "Con el archivo <filename>watch</filename>, la URL <literal>&sf-net;/gentoo</" "literal> se descarga y se buscan los enlaces del tipo <literal><a href=..." "></literal>. El nombre base (justo la parte después del <literal>/</" "literal> final) de las direcciones URL enlazadas se comparan con la " "expresión regular de Perl (véase <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) con el patrón " "<literal>gentoo-(.+)\\.tar\\.gz</literal>. Se descarga el archivo de versión " "más reciente de entre todos los archivos encontrados cuyo nombre se ajuste " "al patrón, y se ejecutará el programa <command>uupdate</command> para " "construir el árbol de código fuente actualizado en base a este fichero." #. type: Content of: <book><chapter><section><para> msgid "" "Although this is true for other sites, the SourceForge download service at " "<ulink url=\"&sf-net;\"/> is an exception. When the <filename>watch</" "filename> file has an URL matching the Perl regexp <literal>^http://sf\\.net/" "</literal>, the <command>uscan</command> program replaces it with " "<literal>&qa-do;watch/sf.php/</literal> and then applies this rule. The URL " "redirector service at <ulink url=\"&qa-do;\"/> is designed to offer a stable " "redirect service to the desired file for any <filename>watch</filename> " "pattern of the form <literal>&sf-net;/<replaceable>project</replaceable>/" "<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This solves " "issues related to periodically changing SourceForge URLs." msgstr "" "Aunque es posible hacer esto con otros portales, el servicio de descarga de " "«SourceForge» en <ulink url=\"&sf-net;\">&sf-net;</ulink> es una excepción. " "Cuando el archivo <filename>watch</filename> tiene una URL que concuerda con " "el patrón Perl <literal>^http://sf\\.net/</literal>, el programa " "<command>uscan</command> lo substituye por <literal>&qa-do;watch/sf.php/</" "literal> y después aplica esta regla. El servicio de redireccionamiento URL " "a la dirección <ulink url=\"&qa-do;\">&qa-do;</ulink> está diseñado para " "ofrecer un servicio estable de redireccionamiento al archivo presente en " "<filename>watch</filename> y que concuerda con <literal>&sf-net;/" "<replaceable>proyecto</replaceable>/<replaceable>nombre_archivo_tar</" "replaceable>-(.+)\\.tar\\.gz</literal>. Esto resuelve los problemas " "relacionados con los cambios periódicos en la dirección URL." #. type: Content of: <book><chapter><section><title> msgid "<filename>source/format</filename>" msgstr "Archivo <filename>source/format</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "In the <filename>debian/source/format</filename> file, there should be a " "single line indicating the desired format for the source package (check " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> for an exhaustive list). After <literal>squeeze</" "literal>, it should say either:" msgstr "" "El archivo <filename>debian/source/format</filename>, solo contendrá una " "línea indicando el formato deseado para el paquete (véase <citerefentry> " "<refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> para consultar la lista completa). Después de " "<literal>squeeze</literal> debería ser:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgstr "<literal>3.0 (native)</literal> para paquetes nativos de Debian" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (quilt)</literal> for everything else." msgstr "<literal>3.0 (quilt)</literal> para el resto de paquetes." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for a summary on the switch " "to the new <literal>3.0 (quilt)</literal> and <literal>3.0 (native)</" "literal> source formats." msgstr "" "Véase <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> para un resumen informativo " "sobre los formatos <literal>3.0 (quilt)</literal> y <literal>3.0 (native)</" "literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Actually, this new format also supports multiple upstream tarballs and more " "compression methods. These are beyond the scope of this document." msgstr "" "Actualmente, este nuevo formato también permite trabajar con múltiples " "archivos «tar» fuente y otros sistemas de compresión. Estas funciones están " "fuera del objetivo de este documento." #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format records modifications " "in a <command>quilt</command> patch series within <filename>debian/patches</" "filename>. Those changes are then automatically applied during extraction " "of the source package. <placeholder type=\"footnote\" id=\"0\"/> The Debian " "modifications are simply stored in a <filename>debian.tar.gz</filename> " "archive containing all files under the <filename>debian</filename> " "directory. This new format supports inclusion of binary files such as PNG " "icons by the package maintainer without requiring tricks. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "El nuevo formato <literal>3.0 (quilt)</literal> registra los cambios en " "series de archivos de parches <command>quilt</command> en el directorio " "<filename>debian/patches</filename>. Estos cambios se aplican " "automáticamente en la extracción de las fuentes del paquete <placeholder " "type=\"footnote\" id=\"0\"/>. Las modificaciones se guardan en el archivo " "<filename>debian.tar.gz</filename> que contiene todos los archivos del " "directorio <filename>debian</filename> utilizado en la construcción del " "paquete. El nuevo formato permite la inclusión de archivos como los iconos " "PNG sin necesidad de trucos <placeholder type=\"footnote\" id=\"1\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "When <command>dpkg-source</command> extracts a source package in " "<literal>3.0 (quilt)</literal> source format, it automatically applies all " "patches listed in <filename>debian/patches/series</filename>. You can avoid " "applying patches at the end of the extraction with the <literal>--skip-" "patches</literal> option." msgstr "" "Cuando <command>dpkg-source</command> extrae un paquete fuente con el " "formato <literal>3.0 (quilt)</literal>, automáticamente aplica todos los " "parches listados en el archivo <filename>debian/patches/series</filename>. " "Puedes evitar la ejecución de los parches al final de la extracción con la " "opción <literal>--skip-patches</literal>." #. type: Content of: <book><chapter><section><title> msgid "<filename>source/local-options</filename>" msgstr "Archivo <filename>source/local-options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "When you want to manage Debian packaging activities under a VCS, you " "typically create one branch (e.g. <literal>upstream</literal>) tracking the " "upstream source and another branch (e.g. typically <literal>master</" "literal> for Git) tracking the Debian package. For the latter, you usually " "want to have unpatched upstream source with your <filename>debian/*</" "filename> files for the Debian packaging to ease merging of the new upstream " "source." msgstr "" "Si deseas gestionar los trabajos de empaquetado en un entorno VCS, " "seguramente tendrás una rama (p.ej. <literal>upstream</literal>) que sigue " "las fuentes originales y otra rama (p.ej. normalmente <literal>master</" "literal> en Git) para el paquete Debian. Para este último caso, " "generalmente tendrás las fuentes originales sin modificar (sin aplicarles " "los parches) con los archivos <filename>debian/*</filename> para el " "empaquetamiento Debian para facilitar la fusión con las nuevas versiones de " "las fuentes." #. type: Content of: <book><chapter><section><para> msgid "" "After you build a package, the source is normally left patched. You need to " "unpatch it manually by running <literal>dquilt pop -a</literal> before " "committing to the <literal>master</literal> branch. You can automate this " "by adding the optional <filename>debian/source/local-options</filename> file " "containing <literal>unapply-patches</literal>. This file is not included in " "the generated source package and changes the local build behavior only. " "This file may contain <literal>abort-on-upstream-changes</literal>, too (see " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." msgstr "" "Una vez compilado el paquete, las fuentes estarán parcheadas. Deberás " "deshacer los parches manualmente ejecutando <literal>dquilt pop -a</literal> " "antes de sincronizar con la rama <literal>master</literal>. Puedes " "automatizar esto añadiendo el archivo opcional <filename>debian/source/local-" "options</filename> cuyo contenido será «<literal>unapply-patches</" "literal>». Este archivo no se incluye en el paquete fuente generado y sólo " "cambia el entorno local de compilación. Este archivo también puede contener " "la línea «<literal>abort-on-upstream-changes</literal>» (véase " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "unapply-patches\n" "abort-on-upstream-changes\n" msgstr "" "unapply-patches\n" "abort-on-upstream-changes\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/options</filename>" msgstr "Archivo <filename>source/options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The autogenerated files in the source tree can be quite annoying for " "packaging since they generate meaningless large patch files. There are " "custom modules such as <command>dh_autoreconf</command> to ease this problem " "as described in <xref linkend=\"customrules\"/>." msgstr "" "Los archivos generados automáticamente en el árbol del código fuente pueden " "ser bastante molestos en la construcción del paquete debido a que generan " "archivos de parche grandes. Hay módulos personalizados, tales como " "<command>dh_autoreconf</command> para aliviar este problema como se describe " "en <xref linkend=\"customrules\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "You can provide a Perl regular expression to the <literal>--extend-diff-" "ignore</literal> option argument of <citerefentry> <refentrytitle>dpkg-" "source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> to ignore " "changes made to the autogenerated files while creating the source package." msgstr "" "Puedes proporcionar una expresión regular en Perl para la opción <literal>--" "extend-diff-ignore</literal> del argumento de <citerefentry> " "<refentrytitle>dpkg-source</refentrytitle><manvolnum>1</manvolnum> </" "citerefentry> para hacer caso omiso de los cambios realizados en los " "archivos generados automáticamente al crear el paquete fuente." #. type: Content of: <book><chapter><section><para> msgid "" "As a general solution to address this problem of the autogenerated files, " "you can store such a <command>dpkg-source</command> option argument in the " "<filename>source/options</filename> file of the source package. The " "following will skip creating patch files for <filename>config.sub</" "filename>, <filename>config.guess</filename>, and <filename>Makefile</" "filename>." msgstr "" "Puedes conservar las opciones de la orden <command>dpkg-source</command> en " "el archivo <filename>source/options</filename> de las fuentes del paquete " "como solución genérica al problema de los archivos autogenerados. En el " "ejemplo siguiente, se evita la generación de archivos de parche para " "<filename>config.sub</filename> <filename>config.guess</filename> y " "<filename>Makefile</filename>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" msgstr "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>patches/*</filename>" msgstr "Archivos <filename>patches/*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The old <literal>1.0</literal> source format created a single large " "<filename>diff.gz</filename> file containing package maintenance files in " "<filename>debian</filename> and patch files for the source. Such a package " "is a bit cumbersome to inspect and understand for each source tree " "modification later. This is not so nice." msgstr "" "El antiguo formato <literal>1.0</literal> construía un archivo " "<filename>diff.gz</filename> cuyo contenido era el de los archivos de " "construcción del paquete del directorio <filename>debian</filename> así como " "los cambios a realizar en las fuentes. Este formato para conservar los " "cambios resultaba engorroso cuando se trataba de inspeccionar y entender " "cada modificación de las fuentes. Ya no resulta eficaz." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Several methods of patch set maintenance have been proposed and are in use " "for Debian packages. The <command>quilt</command> system is the preferred " "maintenance system in use. Others include <command>dpatch</command>, " "<command>dbs</command>, and <command>cdbs</command>. Many of these keep " "such patches as <filename>debian/patches/*</filename> files." msgstr "" "Se han propuesto y se están utilizando otros métodos de aplicación de los " "parches en Debian. El sistema <command>quilt</command> es el preferido. " "Otros sistemas son <command>dpatch</command>, <command>dbs</command>, " "<command>cdbs</command>, etc. La mayoría de ellos conservan los parches en " "archivos en el directorio <filename>debian/patches/*</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format stores patches in " "<filename>debian/patches/*</filename> files using the <command>quilt</" "command> command. These patches and other package data which are all " "contained under the <filename>debian</filename> directory are packaged as " "the <filename>debian.tar.gz</filename> file. Since the <command>dpkg-" "source</command> command can handle <command>quilt</command> formatted patch " "data in the <literal>3.0 (quilt)</literal> source without the <systemitem " "role=\"package\">quilt</systemitem> package, it does not need a " "<literal>Build-Depends</literal> on <systemitem role=\"package\">quilt</" "systemitem>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "El nuevo formato <literal>3.0 (quilt)</literal> de las fuentes, guarda las " "modificaciones (los parches) en archivos en el directorio <filename>debian/" "patches/*</filename> utilizando la orden <command>quilt</command>. Estos " "parches y otros datos del paquete que están en el directorio " "<filename>debian</filename> se conservan en el archivo <filename>debian.tar." "gz</filename>. Desde que la orden <command>dpkg-source</command> puede " "aplicar los parches en las fuentes con el nuevo formato tipo <command>quilt</" "command> sin el paquete <systemitem role=\"package\">quilt</systemitem>, no " "es necesario añadir el paquete <systemitem role=\"package\">quilt</" "systemitem> en el campo <literal>Build-Depends</literal> del fichero " "<filename>control</filename> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you are asking a sponsor to upload your package, this kind of clear " "separation and documentation of your changes is very important to expedite " "the package review by your sponsor." msgstr "" "Si has solicitado a un patrocinador que transfiera el paquete al " "repositorio, este sistema de separación y documentación de los cambios es " "muy importante para facilitar la revisión del paquete por el patrocinador." #. type: Content of: <book><chapter><section><para> msgid "" "The <command>quilt</command> command is explained in <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. It records modifications to the source as a stack of " "<literal>-p1</literal> patch files in the <filename>debian/patches</" "filename> directory and the source tree is untouched outside of the " "<filename>debian</filename> directory. The order of these patches is " "recorded in the <filename>debian/patches/series</filename> file. You can " "apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "El funcionamiento de la orden <command>quilt</command> se explica en " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>. Conserva las modificaciones de las fuentes en una " "colección de archivos de parches <literal>-p1</literal> en el directorio " "<filename>debian/patches</filename> y las fuentes originales permanecen sin " "modificar fuera del directorio <filename>debian</filename>. El orden de " "aplicación de las modificaciones se conserva en el archivo <filename>debian/" "patches/series</filename>. Puedes aplicar («push»), deshacer («pop») y " "actualizar las modificaciones fácilmente <placeholder type=\"footnote\" id=" "\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "For <xref linkend=\"modify\"/>, we created three patches in <filename>debian/" "patches</filename>." msgstr "" "En <xref linkend=\"modify\"/>, se han construido tres archivos de parches en " "<filename>debian/patches</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Since Debian patches are located in <filename>debian/patches</filename>, " "please make sure to set up the <command>dquilt</command> command properly as " "described in <xref linkend=\"quiltrc\"/>." msgstr "" "Puesto que los parches se ubican en <filename>debian/patches</filename>, " "asegúrate que has configurado adecuadamente la orden <command>dquilt</" "command> como se describe en <xref linkend=\"quiltrc\"/> ." #. type: Content of: <book><chapter><section><para> msgid "" "When anyone (including yourself) provides a patch " "<filename><replaceable>foo</replaceable>.patch</filename> to the source " "later, modifying a <literal>3.0 (quilt)</literal> source package is quite " "simple:" msgstr "" "Cuando alguien (incluido tú mismo), facilita un parche " "<filename><replaceable>nombre_parche</replaceable>.patch</filename> para las " "fuentes, cuando ya está construido el paquete, la modificación de un paquete " "con formato <literal>3.0 (quilt)</literal> es así de simple:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>nombre_parche</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" ".. descripción de la modificación\n" #. type: Content of: <book><chapter><section><para> msgid "" "The patches stored in the newer <literal>3.0 (quilt)</literal> source format " "must be <emphasis>fuzz</emphasis> free. You can ensure this with " "<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." msgstr "" "Los parches conservados con el nuevo formato de fuentes <literal>3.0 " "(quilt)</literal> deben estar exentos de <emphasis>cosas innecesarias</" "emphasis>. Debes asegurarte ejecutando <literal>dquilt pop -a; while dquilt " "push; do dquilt refresh; done</literal>." #. type: Content of: <book><chapter><title> msgid "Building the package" msgstr "Construyendo el paquete" #. type: Content of: <book><chapter><para> msgid "We should now be ready to build the package." msgstr "Ahora deberíamos estar preparados para construir el paquete." #. type: Content of: <book><chapter><section><title> msgid "Complete (re)build" msgstr "(Re)construcción completa" #. type: Content of: <book><chapter><section><para> msgid "" "In order to perform a complete (re)build of a package properly, you need to " "make sure you have installed" msgstr "" "Para realizar correctamente la (re)compilación completa de un paquete, debes " "asegurarte que tienes instalados:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <systemitem role=\"package\">build-essential</systemitem> package," msgstr "el paquete <systemitem role=\"package\">build-essential</systemitem>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>), and" msgstr "" "los paquetes listados en el campo <literal>Build-Depends</literal> del " "archivo «control» (<xref linkend=\"control\"/> ), y" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends-indep</literal> field (see " "<xref linkend=\"control\"/>)." msgstr "" "los paquetes listados en el campo <literal>Build-Depends-indep</literal> " "(también del archivo «control», <xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><para> msgid "Then you issue the following command in the source directory:" msgstr "" "Después ejecuta la siguiente orden en el directorio raíz del código fuente " "del programa:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage\n" msgstr "$ dpkg-buildpackage\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make full binary and source packages for you. It " "will:" msgstr "" "Esto hará todo lo necesario para construir los paquetes binarios y de " "fuentes para ti. Para ello:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "clean the source tree (<literal>debian/rules clean</literal>)" msgstr "" "limpia el árbol del código fuente («<literal>debian/rules clean</literal>»)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the source package (<literal>dpkg-source -b</literal>)" msgstr "construye el paquete de código («<literal>dpkg-source -b</literal>»)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the program (<literal>debian/rules build</literal>)" msgstr "construye el programa («<literal>debian/rules build</literal>»)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)" msgstr "" "construye el paquete binario (<literal>fakeroot debian/rules binary</" "literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "sign the source <filename>.dsc</filename> file, using <command>gpg</command>" msgstr "" "firma el fichero fuente <filename>.dsc</filename>, usando <command>gpg</" "command>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "create and sign the upload <filename>.changes</filename> file, using " "<command>dpkg-genchanges</command> and <command>gpg</command>" msgstr "" "genera y firma el fichero de envío <filename>.changes</filename>, usando " "<command>dpkg-genchanges</command> y <command>gpg</command>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This GPG key must be signed by a Debian developer to get connected to the " "web of trust and must be registered to <ulink url=\"&keyring;\">the Debian " "keyring</ulink>. This enables your uploaded packages to be accepted to the " "Debian archives. See <ulink url=\"&keycreate;\">Creating a new GPG key</" "ulink> and <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." msgstr "" "Esta clave GPG debe ser firmado por un desarrollador de Debian para " "conectarse a la red de confianza y debe registrarse en <ulink url=\"&keyring;" "\">el anillo de claves de Debian</ulink>. Esto permite que los paquetes sean " "aceptados en los repositorios de Debian. Consulta <ulink url=\"&keycreate;" "\">Creating a new GPG key</ulink> y <ulink url=\"&keysigning; \">Debian Wiki " "on Keysigning</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The only input that will be required of you is your GPG secret pass phrase, " "twice. <placeholder type=\"footnote\" id=\"0\"/> If you are building Debian " "packages only for your own local use, you can skip promptings for the GPG " "signatures on the <filename>.dsc</filename> file and the <filename>.changes</" "filename> file like this:" msgstr "" "Sólo deberás escribir tu contraseña GPG dos veces <placeholder type=" "\"footnote\" id=\"0\"/>. Si vas a construir paquetes Debian sólo para tu uso " "local, puedes omitir la signatura GPG de los archivos <filename>.dsc</" "filename> y <filename>.changes</filename> como sigue:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -us -uc\n" msgstr "$ dpkg-buildpackage -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "" "For a non-native Debian package, e.g., <systemitem role=\"package\">gentoo</" "systemitem>, you will see the following files in the parent directory " "(<filename>~/gentoo</filename>) after building packages:" msgstr "" "Para los paquetes no nativos Debian, p.ej, <systemitem role=\"package" "\">gentoo</systemitem>, podrás ver los siguientes archivos en el directorio " "padre (<filename>~/gentoo</filename>) después de construir el paquete:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the original upstream source code tarball, merely renamed to the " "above so that it adheres to the Debian standard. Note that this was created " "initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgstr "" "Este es el código fuente original comprimido, simplemente se ha renombrado " "para seguir los estándares de Debian. Debe tenerse en cuenta que fue " "generado usando la opción «-f» de <literal>dh_make -f ../gentoo-0.9.12.tar." "gz</literal> ejecutada en el inicio." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code. The file is generated " "from your <filename>control</filename> file, and is used when unpacking the " "source with <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. This file is GPG signed, so that " "people can be sure that it's really yours." msgstr "" "Este es un sumario de los contenidos del código fuente. Este fichero se " "genera a partir del fichero de <filename>control</filename> y se usa cuando " "se descomprimen las fuentes con <citerefentry> <refentrytitle>dpkg-source</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. Este fichero está " "firmado con GPG de forma que cualquiera pueda estar seguro de que es " "realmente tuyo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This compressed tarball contains your <filename>debian</filename> directory " "contents. Each and every addition you made to the original source code is " "stored as a <command>quilt</command> patch in <filename>debian/patches</" "filename>." msgstr "" "Este fichero comprimido contiene el directorio <filename>debian</filename> " "completo. Todas las modificaciones de las fuentes originales se conservan " "en los archivos de parches <command>quilt</command> en el directorio " "<filename>debian/patches</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can avoid applying <command>quilt</command> patches in the <literal>3.0 " "(quilt)</literal> source format at the end of the extraction with the " "<literal>--skip-patches</literal> option. Alternatively, you can run " "<literal>dquilt pop -a</literal> after normal operation." msgstr "" "Puedes evitar la aplicación automática de las modificaciones por " "<command>dquilt</command> en los paquetes con formato <literal>3.0 (quilt)</" "literal> al final de la extracción con la opción <literal>--skip-patches</" "literal>. También puedes deshacer las modificaciones al finalizar la " "extracción con la ejecución de <literal>dquilt pop -a</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If someone else wants to re-create your package from scratch, they can " "easily do so using the above three files. The extraction procedure is " "trivial: just copy the three files somewhere else and run <literal>dpkg-" "source -x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Si alguien quiere volver a construir tu paquete desde cero, puede hacerlo " "fácilmente usando los tres ficheros de arriba. El proceso de extracción es " "trivial: sólo se debe copiar los tres ficheros en algún lado y ejecutar " "<literal>dpkg-source -x gentoo_0.9.12-1.dsc</literal> <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package. You can use <command>dpkg</command> " "to install and remove this just like any other package." msgstr "" "Este es el paquete binario completo. Puedes usar <command>dpkg</command> " "para instalar o eliminar tanto este paquete como cualquier otro." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package revision; it " "is used by the Debian FTP archive maintenance programs to install the binary " "and source packages. It is partly generated from the <filename>changelog</" "filename> file and the <filename>.dsc</filename> file. This file is GPG " "signed, so that people can be sure that it's really yours." msgstr "" "Este fichero describe todos los cambios hechos en la revisión actual del " "paquete, y lo utilizan los programas de mantenimiento del archivo FTP de " "Debian para instalar los paquetes binarios y fuentes en él. Se genera " "parcialmente a partir del fichero <filename>changelog</filename> y el " "fichero <filename>.dsc</filename>. Este fichero está firmado con GPG, de " "forma que cualquiera puede estar aún más seguro de que es realmente tuyo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "As you keep working on the package, its behavior will change and new " "features will be added. People downloading your package can look at this " "file and quickly see what has changed. Debian archive maintenance programs " "will also post the contents of this file to the <ulink url=\"&debian-devel-" "changes-ldo;\">debian-devel-changes@lists.debian.org</ulink> mailing list." msgstr "" "Mientras sigues trabajando en el paquete, éste cambiará su comportamiento y " "se le añadirán nuevas funciones. Las personas que descarguen tu paquete " "pueden leer este fichero y ver qué ha cambiado. Los programas de " "mantenimiento del archivo de Debian, también enviarán el contenido de este " "fichero a la lista de correo <ulink url=\"&debian-devel-changes-ldo;" "\">debian-changes-announce@lists.debian.org</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The long strings of numbers in the <filename>.dsc</filename> and <filename>." "changes</filename> files are SHA1/SHA256 checksums for the files mentioned. " "Anyone downloading your files can test them with <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> or <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> and if the numbers don't match, " "they'll know the file is corrupt or has been tampered with." msgstr "" "Las largas listas de números en los ficheros <filename>.dsc</filename> y " "<filename>.changes</filename> son las sumas MD5/SHA1/SHA256 de los ficheros " "incluidos en el paquete. Las personas que descarguen estos ficheros pueden " "comprobarlos con <citerefentry> <refentrytitle>md5sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> o <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> y si los números no coinciden, " "sabrán que el fichero está corrupto o ha sido modificado." #. type: Content of: <book><chapter><section><para> msgid "" "For a native Debian package, e.g., <systemitem role=\"package\">mypackage</" "systemitem>, you will see the following files in the parent directory after " "building packages:" msgstr "" "Para el paquete Debian nativo, por ejemplo <systemitem role=\"package" "\">mi_paquete</systemitem>, podrás ver los siguientes archivos en el " "directorio padre después de la construcción del paquete:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.tar.gz</filename>" msgstr "<filename>mi_paquete_1.0.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the source code tarball created from the <filename>mypackage-1.0</" "filename> directory by the <command>dpkg-source</command> command. (Its " "suffix is not <filename>orig.tar.gz</filename>.)" msgstr "" "Este es el archivo del código fuente generado a partir del directorio " "<filename>mi_paquete-1.0</filename> por la orden <command>dpkg-source</" "command> (su sufijo no es <filename>orig.tar.gz</filename>.)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.dsc</filename>" msgstr "<filename>mi_paquete_1.0.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code as in the non-native " "Debian package. (There is no Debian revision.)" msgstr "" "Este es el sumario del contenido del código fuente en el caso de los " "paquetes Debian no nativos (no tiene código de revisión Debian)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.deb</filename>" msgstr "<filename>mi_paquete_1.0_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package as in the non-native Debian package. " "(There is no Debian revision.)" msgstr "" "Este es el paquete binario completo en el caso de los paquetes Debian no " "nativos (no tiene código de revisión Debian)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.changes</filename>" msgstr "<filename>mi_paquete_1.0_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package version as " "in the non-native Debian package. (There is no Debian revision.)" msgstr "" "Este archivo describe todos los cambios realizados en el versión actual del " "paquete en el caso de los paquetes Debian no nativos (no tiene código de " "revisión Debian)." #. type: Content of: <book><chapter><section><title> msgid "Autobuilder" msgstr "Autobuilder" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The actual autobuilder system involves much more complicated schemes than " "the one documented here. Such details are beyond the scope of this document." msgstr "" "El funcionamiento del sistema actual de compilación automática es más " "complicado que lo expuesto en este documento. Muchos detalles quedan fuera " "de los objetivos de este documento." #. type: Content of: <book><chapter><section><para> msgid "" "Debian supports many <ulink url=\"&ports;\">ports</ulink> with the <ulink " "url=\"&buildd;\">autobuilder network</ulink> running <command>buildd</" "command> daemons on computers of many different architectures. Although you " "do not need to do this yourself, you should be aware of what will happen to " "your packages. Let's look into roughly how they rebuild your packages for " "multiple architectures. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Debian mantiene diversas <ulink url=\"&ports;\">adaptaciones «ports»</ulink> " "con la <ulink url=\"&buildd;\">red de servidores de compilación automática</" "ulink> que ejecuta demonios <command>buildd</command> en ordenadores con " "diferentes arquitecturas. Aunque no deberás hacer todo esto tú mismo, debes " "conocer el proceso al que se verá sometido tu paquete. Veamos cómo se " "procesa el paquete para compilarlo en diversas arquitecturas <placeholder " "type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "For <literal>Architecture: any</literal> packages, the autobuilder system " "performs a rebuild. It ensures the installation of" msgstr "" "Los paquetes del tipo <literal>Architecture: any</literal>, son construidos " "por el sistema de compilación automática. El sistema garantiza la " "instalación de:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <systemitem role=\"package\">build-essential</systemitem> package, and" msgstr "" "el paquete <systemitem role=\"package\">build-essential</systemitem>, y" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>)." msgstr "" "los paquetes listados en el campo <literal>Build-Depends</literal> (véase " "<xref linkend=\"control\"/> )." #. type: Content of: <book><chapter><section><para> msgid "Then it issues the following command in the source directory:" msgstr "" "A continuación se ejecuta la siguiente orden en el directorio de las fuentes:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -B\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make architecture dependent binary packages on " "another architecture. It will:" msgstr "" "De esta manera, se ejecuta todo lo necesario para construir el paquete " "binario dependiente de la arquitectura en cada arquitectura. Hace lo " "siguiente:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "build architecture dependent binary packages (<literal>fakeroot debian/rules " "binary-arch</literal>)" msgstr "" "construye el paquete binario para la arquitectura (<literal>fakeroot debian/" "rules binary-arch</literal>)" #. type: Content of: <book><chapter><section><para> msgid "This is why you see your package for other architectures." msgstr "" "Esta es la razón por la que el paquete estará disponible para otras " "arquitecturas." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> package, " "the <command>chroot</command> environment under the <systemitem role=" "\"package\">sbuild</systemitem> package used by the autobuilder system does " "not enforce the use of a minimal system and may have many leftover packages " "installed." msgstr "" "Contrariamente al modo de funcionamiento del paquete <systemitem role=" "\"package\">pbuilder</systemitem> (que se tratará más adelante), el entorno " "<command>chroot</command> del paquete <systemitem role=\"package\">sbuild</" "systemitem> utilizado por el sistema automático no tiene una instalación " "mínima de paquetes del sistema y puede dejar muchos paquetes instalados." #. type: Content of: <book><chapter><section><para> msgid "" "Although packages listed in the <literal>Build-Depends-Indep</literal> field " "are required to be installed for our normal packaging work (see <xref " "linkend=\"completebuild\"/>), they are not required to be installed for the " "autobuilder system since it builds only architecture dependent binary " "packages. <placeholder type=\"footnote\" id=\"0\"/> This distinction " "between normal packaging and autobuilding procedures is what dictates " "whether you should record such required packages in the <literal>Build-" "Depends</literal> or <literal>Build-Depends-Indep</literal> fields of the " "<filename>debian/control</filename> file (see <xref linkend=\"control\"/>)." msgstr "" "Aunque es necesario instalar los paquetes listados en el campo " "<literal>Build-Depends-indep</literal> para el empaquetamiento normal (véase " "<xref linkend=\"completebuild\"/> ), el sistema automático de construcción " "no lo requiere puesto que solo construye paquetes binarios dependientes de " "la arquitectura <placeholder type=\"footnote\" id=\"0\"/>. Estas diferencias " "entre el empaquetamiento normal y el automático determinan si los paquetes " "requeridos para la compilación se deben listar en el campo <literal>Build-" "Depends</literal> o bien en el campo <literal>Build-Depends-indep</literal> " "del archivo <filename>debian/control</filename> (véase <xref linkend=" "\"control\"/> )." #. type: Content of: <book><chapter><section><title> msgid "<command>debuild</command> command" msgstr "La orden <command>debuild</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can automate the <command>dpkg-buildpackage</command> command's package " "build process further with the <command>debuild</command> command. See " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." msgstr "" "Puedes automatizar aún más el proceso de construcción de paquetes de la " "orden <command>dpkg-buildpackage</command> con la orden <command>debuild</" "command>. Veáse <citerefentry> <refentrytitle>debuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "Customization of the <command>debuild</command> command can be done through " "<filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</" "filename>. I would suggest at least the following items:" msgstr "" "La personalización de la orden <command>debuild</command> puede hacerse a " "través de <filename>/etc/devscripts.conf</filename> o <filename>~/." "devscripts</filename>. Te sugiero al menos los siguientes valores:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" msgstr "" "DEBSIGN_KEYID=Tu_ID_clave_GPG\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "With these, packages are signed by your specified GPG key ID (good for " "sponsoring packages) and checked in detail by the <command>lintian</command> " "command." msgstr "" "Con estos valores, puedes construir paquetes siempre con tu clave GPG, " "evitando incluir componentes no deseados (facilitará que te patrocinen el " "paquete), e inspeccionar el paquete con la orden <command>lintian</command> " "en el modo detallado." #. type: Content of: <book><chapter><section><para> msgid "" "Cleaning the source and rebuilding the package from your user account is as " "simple as:" msgstr "" "Por ejemplo, limpiar el código y reconstruir el paquete desde una cuenta de " "usuario es tan simple como:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild\n" msgstr "$ debuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your own local use, you " "can skip promptings for the GPG signatures on the <filename>.dsc</filename> " "file and the <filename>.changes</filename> file like this:" msgstr "" "Aquí, si construyes paquetes Debian exclusivamente para tu uso personal, " "puedes omitir la firma GPG de los archivos <filename>.dsc</filename> y " "<filename>.changes</filename> como sigue:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -us -uc\n" msgstr "$ debuild -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "You can clean the source tree as simply as:" msgstr "Puedes eliminar los archivos generados en la compilación ejecutando:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild clean\n" msgstr "$ debuild clean\n" #. type: Content of: <book><chapter><section><title> msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgstr "El paquete <systemitem role=\"package\">pbuilder</systemitem>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Since the <systemitem role=\"package\">pbuilder</systemitem> package is " "still evolving, you should check the actual configuration situation by " "consulting the latest official documentation." msgstr "" "Dado que el paquete <systemitem role=\"package\">pbuilder</systemitem> está " "evolucionando, deberías comprobar la situación de la configuración " "consultando la última documentación oficial disponible." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&buildd-do;\"/> for more on Debian package auto-building." msgstr "" "Consulta <ulink url=\"&buildd-do;\"/> para saber más sobre la construcción " "automática de paquetes Debian." #. type: Content of: <book><chapter><section><para> msgid "" "For a clean room (<command>chroot</command>) build environment to verify the " "build dependencies, the <systemitem role=\"package\">pbuilder</systemitem> " "package is very useful. <placeholder type=\"footnote\" id=\"0\"/> This " "ensures a clean build from the source under the <literal>sid</literal> auto-" "builder for different architectures and avoids a severity serious FTBFS " "(Fails To Build From Source) bug which is always in the RC (release " "critical) category. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "El paquete <systemitem role=\"package\">pbuilder</systemitem> es muy útil " "para conseguir un entorno de compilación limpio (<command>chroot</command>) " "donde verificar las dependencias de compilación <placeholder type=\"footnote" "\" id=\"0\"/>. Esto asegura una construcción limpia desde el código en los " "auto-compiladores de <literal>sid</literal> para las distintas arquitecturas " "y evita fallos de nivel de severidad serios del tipo FTBFS («Fail to Build " "From Source», o «fallo al construir desde la fuente »), que son siempre de " "categoría RC (fallos críticos o «release critical»). <placeholder type=" "\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " "package as follows:" msgstr "" "Para personalizar el funcionamiento del paquete <systemitem role=\"package" "\">pbuilder</systemitem> haz lo siguiente:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "setting the <filename>/var/cache/pbuilder/result</filename> directory " "writable by your user account." msgstr "" "permite que tu usuario del sistema tenga permiso de escritura en el " "directorio <filename>/var/cache/pbuilder/result</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable></filename>, writable by the user, to place hook scripts " "in." msgstr "" "crea un directorio, p.e. <filename><replaceable>/var/cache/pbuilder/hooks</" "replaceable></filename>, con permiso de escritura para tu usuario. En este " "directorio pondrás los guiones «hook»" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "configuring <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" "filename> to include the following." msgstr "" "establece los archivos <filename>~/.pbuilderrc</filename> o <filename>/etc/" "pbuilderrc</filename> con el siguiente contenido:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgstr "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will allow you to sign generated packages with your secret GPG key in " "the <filename>~/.gnupg/</filename> directory." msgstr "" "Así podrás firmar los paquetes con tu clave GPG almacenada en el directorio " "<filename>~/.gnupg/</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "First let's initialize the local <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> system as follows." msgstr "" "Ahora puedes inicializar el sistema local <systemitem role=\"package" "\">pbuilder</systemitem> <command>chroot</command> por primera vez " "ejecutando:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo pbuilder create\n" msgstr "$ sudo pbuilder create\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you already have a completed source package, issue the following commands " "in the directory where the <filename><replaceable>foo</replaceable>.orig.tar." "gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</" "filename>, and <filename><replaceable>foo</replaceable>.dsc</filename> files " "exist to update the local <systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> system and to build binary packages in it." msgstr "" "Si ya dispones de un paquete fuente completo, ejecuta las siguientes órdenes " "en el directorio donde tengas los archivos " "<filename><replaceable>nombre_del_paquete</replaceable>.orig.tar.gz</" "filename>, <filename><replaceable>nombre_del_paquete</replaceable>.debian." "tar.gz</filename> y <filename><replaceable>nombre_del_paquete</replaceable>." "dsc</filename> para actualizar el sistema local <systemitem role=\"package" "\">pbuilder</systemitem> <command>chroot</command> y, a continuación, " "compilar el paquete binario en él:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" msgstr "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>nombre_del_paquete</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "The newly built packages without the GPG signatures will be located in " "<filename>/var/cache/pbuilder/result/</filename> with non-root ownership." msgstr "" "Una vez finalizada la compilación, el paquete compilado estará en el " "directorio <filename>/var/cache/pbuilder/result/</filename> cuyo propietario " "será tu usuario en lugar del usuario administrador." #. type: Content of: <book><chapter><section><para> msgid "" "The GPG signatures on the <filename>.dsc</filename> file and the <filename>." "changes</filename> file can be generated as:" msgstr "" "Las firmas GPG en los archivos <filename>.dsc</filename> y <filename>." "changes</filename> se puede generar como sigue" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_version</replaceable>.dsc\n" "$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" msgstr "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>nombre_del_paquete_versión</replaceable>.dsc\n" "$ debsign <replaceable>nombre_del_paquete_versión_arquitectura</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have an updated source tree but have not generated the matching " "source package, issue the following commands in the source directory where " "the <filename>debian</filename> directory exists, instead." msgstr "" "Si en lugar de iniciar la construcción del paquete a partir de un paquete ya " "construido, dispones de un directorio con las fuentes originales " "actualizadas, deberás ejecutar las siguientes órdenes desde el directorio de " "las fuentes originales (y en el que deberá estar presente el directorio " "<filename>debian</filename> con todo su contenido):" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ pdebuild\n" msgstr "" "$ sudo pbuilder --update\n" "$ pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your local use, you can " "skip promptings for the GPG signatures on the <filename>.dsc</filename> file " "and the <filename>.changes</filename> file as:" msgstr "" "Aquí, si construyes paquetes Debian exclusivamente para tu uso personal, " "puedes omitir la firma GPG de los archivos <filename>.dsc</filename> y " "<filename>.changes</filename> como sigue:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ AUTO_DEBSIGN=no pdebuild\n" msgstr "$ AUTO_DEBSIGN=no pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can log into its <command>chroot</command> environment with the " "<literal>pbuilder --login --save-after-login</literal> command and configure " "it as you wish. This environment can be saved by leaving its shell prompt " "with <literal>^D</literal> (Control-D)." msgstr "" "Puedes «conectarte» al entorno <command>chroot</command> ejecutando la orden " "<literal>pbuilder --login --save-after-login</literal> y configurarlo para " "adaptarlo a tus necesidades. Este entorno puede guardarse saliendo del " "«shell» con <literal>^D</literal> (Control-D)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You can " "find many examples of hook scripts in the <filename>/usr/share/doc/pbuilder/" "examples</filename> directory." msgstr "" "Se supone que la variable de entorno <literal>HOOKDIR=/var/cache/pbuilder/" "hooks</literal> ya está configurada. Puedes consultar otros ejemplos en " "<filename>/usr/share/doc/pbuilder/examples</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The latest version of the <command>lintian</command> command can be executed " "in the <literal>chroot</literal> environment using the hook script " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> configured as follows. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La última versión de la orden <command>lintian</command> puede ejecutarse " "automáticamente en el entorno <literal>chroot</literal> utilizando el guión " "«hook» disponible en <filename><replaceable>/var/cache/pbuilder/hooks</" "replaceable>/B90lintian</filename> y configurado como sigue <placeholder " "type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" msgstr "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use esta versión si quiere evitar que lintian pare la compilación\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ final del informe de lintian +++\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "You need to have access to the latest <literal>sid</literal> environment to " "build packages properly for <literal>sid</literal>. In practice, " "<literal>sid</literal> may be experiencing issues which makes it undesirable " "for you to migrate your whole system. The <systemitem role=\"package" "\">pbuilder</systemitem> package can help you to cope with this kind of " "situation." msgstr "" "Debes tener un entorno <literal>sid</literal> actualizado para construir " "correctamente paquetes para <literal>sid</literal>. En realidad, al versión " "<literal>sid</literal> puede contener errores que no hacen recomendable la " "migración de tu sistema a esta versión. El paquete <systemitem role=" "\"package\">pbuilder</systemitem> te ayuda a hacer frente a esta situación." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are some restrictions for such updates of your <literal>stable</" "literal> package." msgstr "" "Hay algunas restricciones para estas actualizaciones de tu paquete " "<literal>stable</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "You may need to update your <literal>stable</literal> packages after their " "release for <literal>stable-proposed-updates</literal>, <literal>stable/" "updates</literal>, etc. <placeholder type=\"footnote\" id=\"0\"/> For such " "occasions, the fact you may be running a <literal>sid</literal> system is " "not a good enough excuse for failing to update them promptly. The " "<systemitem role=\"package\">pbuilder</systemitem> package can help you to " "access environments of almost any Debian derivative distribution of the same " "architecture." msgstr "" "Es posible que debas actualizar tu paquete <literal>stable</literal> después " "de distribuirlo para <literal>stable-proposed-updates</literal>, " "<literal>stable/updates</literal>, etc <placeholder type=\"footnote\" id=" "\"0\"/>. En algunas ocasiones, «Yo trabajo con la versión <literal>sid</" "literal>» puede no ser una excusa para dejar de actualizar el paquete. El " "paquete <systemitem role=\"package\">pbuilder</systemitem> te ayuda trabajar " "en entornos para todas las distribuciones derivadas Debian para una " "arquitectura determinada." #. type: Content of: <book><chapter><section><para> msgid "" "See <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, and <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." msgstr "" "Consulta <ulink url=\"&pbuilder;\">&pbuilder;</ulink>, <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>pbuilderrc</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, y <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<command>git-buildpackage</command> command and similars" msgstr "La orden <command>git-buildpackage</command> y similares" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more." msgstr "" "Consulta <ulink url=\"&debref-vcs;\">Version control systems</ulink> para " "saber más." #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream uses a source code management system (VCS) <placeholder " "type=\"footnote\" id=\"0\"/> to maintain their code, you should consider " "using it as well. This makes merging and cherry-picking upstream patches " "much easier. There are several specialized wrapper script packages for " "Debian package building for each VCS." msgstr "" "Si el autor original utiliza un sistema de gestión de versiones para el " "código <placeholder type=\"footnote\" id=\"0\"/> puedes considerar " "utilizarlo. Así se facilita la coordinación y la selección de los parches en " "las fuentes. Debian dispone de varios paquetes de guiones especializados en " "cada tipos de VCS:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git-buildpackage</systemitem>: a suite to help " "with Debian packages in Git repositories." msgstr "" "<systemitem role=\"package\">git-buildpackage</systemitem>: conjunto para la " "compilación de paquetes en repositorios «Git»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: helper programs " "to maintain Debian packages with Subversion." msgstr "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: programas de " "ayuda para el mantenimiento de paquetes Debian con «Subversion»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: a set of Debian " "package scripts for CVS source trees." msgstr "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: conjunto de " "paquete de guiones Debian para estructuras de directorios CVS." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documents how " "to use the <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> service." msgstr "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documenta " "cómo utilizar el servicio <ulink url=\"&debian-alioth;\">alioth.debian.org</" "ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Use of <systemitem role=\"package\">git-buildpackage</systemitem> is " "becoming quite popular for Debian Developers to manage Debian packages with " "the Git server on <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>. " "<placeholder type=\"footnote\" id=\"0\"/> This package offers many commands " "to <emphasis>automate</emphasis> packaging activities." msgstr "" "El uso de <systemitem role=\"package\">git-buildpackage</systemitem> se está " "convirtiendo en muy popular para los desarrolladores de Debian para el " "mantenimiento de los paquetes Debian con el servidor Git en <ulink url=" "\"&debian-alioth;\">alioth.debian.org</ulink>. <placeholder type=\"footnote" "\" id=\"0\"/> Este paquete ofrece muchas órdenes para <emphasis>automatizar</" "emphasis> el mantenimiento de paquetes. " #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import previous Debian package to a Git " "repository." msgstr "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: importa la versión anterior del paquete Debian " "al repositorio «Git»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import new upstream tar to a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: importa el nuevo fichero «tar» del autor al " "repositorio «Git»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: generate the Debian changelog from Git commit " "messages." msgstr "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: genera el fichero de cambios de Debian desde los " "mensajes de cambios de «Git»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: compila los paquetes Debian del repositorio " "«Git»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository " "using <command>pbuilder</command>/<command>cowbuilder</command>." msgstr "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: compila los paquetes Debian del repositorio " "«Git» utilizando <command>pbuilder</command>/<command>cowbuilder</command>." #. type: Content of: <book><chapter><section><para> msgid "These commands use 3 branches to track packaging activity." msgstr "" "Estas órdenes utilizan 3 ramas en la gestión del proceso de empaquetado." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>main</literal> for Debian package source tree." msgstr "" "<literal>main</literal> (principal) del árbol de directorios del paquete " "Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>upstream</literal> for upstream source tree." msgstr "" "<literal>upstream</literal> (autor) para el árbol de las fuentes del autor." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "The <literal>--pristine-tar</literal> option invokes the <command>pristine-" "tar</command> command which can regenerate an exact copy of a pristine " "upstream tarball using only a small binary delta file and the contents of " "the tarball, which are typically kept in an <literal>upstream</literal> " "branch in the VCS." msgstr "" "La opción <literal>--pristine-tar</literal> invoca la orden " "<command>pristine-tar</command> la cual puede regenerar una copia exacta del " "fichero comprimido de fuentes impoluto utilizando solo un pequeño fichero " "binario «delta» y el contenido del fichero comprimido tipo «.tar», " "habitualmente ubicado en la rama <literal>upstream</literal> del VCS." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>pristine-tar</literal> for upstream tarball generated by the " "<literal>--pristine-tar</literal> option.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<literal>pristine-tar</literal> por el fichero comprimido «.tar» del autor " "generado por la opción <literal>--pristine-tar</literal>.<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Here are some web resources available for advanced audiences." msgstr "" "Aquí tienes algunos recursos disponibles en la red, dirigidos a usuarios " "expertos." #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "Building Debian Packages with git-buildpackage (<filename>&git-buildpackage-" "doc;</filename>)" msgstr "" "Construyendo paquetes Debian con «git-buildpackage» (<filename>&git-" "buildpackage-doc;</filename>)" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" msgstr "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgstr "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" msgstr "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "You can configure <systemitem role=\"package\">git-buildpackage</systemitem> " "with <filename>~/.gbp.conf</filename>. See <citerefentry> <refentrytitle>gbp." "conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Puedes configurar <systemitem role=\"package\">git-buildpackage</systemitem> " "con <filename>~/.gbp.conf</filename>. Lee <citerefentry> <refentrytitle>gbp." "conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "Quick rebuild" msgstr "Reconstrucción rápida" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Environment variables which are normally configured to proper values are not " "set by this method. Never create real packages to be uploaded using this " "<emphasis role=\"strong\">quick</emphasis> method." msgstr "" "Las variables de entorno que normalmente están configuradas con los valores " "adecuados, no se configuran con este método. Nunca cree paquetes reales " "para enviarlos utilizando este método <emphasis role=\"strong\">rápido</" "emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "With a large package, you may not want to rebuild from scratch every time " "while you're tuning details in <filename>debian/rules</filename>. For " "testing purposes, you can make a <filename>.deb</filename> file without " "rebuilding the upstream sources like this<placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "Con un paquete grande, puede que no quieras recompilar desde cero cada vez " "que tocas un detalle en el fichero <filename>debian/rules</filename>. Para " "propósitos de prueba, puedes hacer un fichero <filename>.deb</filename> sin " "necesidad de recompilar las fuentes originales de esta forma<placeholder " "type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules binary\n" msgstr " fakeroot debian/rules binary\n" #. type: Content of: <book><chapter><section><para> msgid "Or simply do the following to see if it builds or not:" msgstr "O simplemente puedes comprobar si el paquete se compila con:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules build\n" msgstr "$ fakeroot debian/rules build\n" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are finished with your tuning, remember to rebuild following the " "proper procedure. You may not be able to upload correctly if you try to " "upload <filename>.deb</filename> files built this way." msgstr "" "Una vez terminada la puesta a punto, recuerda reconstruir el paquete " "siguiendo el procedimiento adecuado explicado anteriormente. Puede que no " "seas capaz de enviar correctamente el paquete si intentas enviar los " "archivos <filename>.deb</filename> construidos de esta forma." #. type: Content of: <book><chapter><title> msgid "Checking the package for errors" msgstr "Comprobando el paquete en busca de fallos" #. type: Content of: <book><chapter><para> msgid "" "There are some techniques you should know for checking a package for errors " "before uploading it to the public archives." msgstr "" "Debes conocer varios métodos para comprobar el paquete y localizar errores " "antes de transferirlo a repositorios públicos." #. type: Content of: <book><chapter><para> msgid "" "It's also a good idea to carry out testing on a machine other than your " "own. You must watch closely for any warnings or errors for all the tests " "described here." msgstr "" "Probar el paquete en una máquina distinta a la usada en su construcción es " "una magnífica idea. Debes poner atención en todos los avisos y errores que " "se produzcan en las pruebas explicadas a continuación." #. type: Content of: <book><chapter><section><title> msgid "Suspicious changes" msgstr "Cambios sospechosos" #. type: Content of: <book><chapter><section><para> msgid "" "If you find a new autogenerated patch file such as <filename>debian-changes-" "*</filename> in the <filename>debian/patches</filename> directory after " "building your non-native Debian package in <literal>3.0 (quilt)</literal> " "format, chances are you changed some files by accident or the build script " "modified the upstream source. If it is your mistake, fix it. If it is " "caused by the build script, fix the root cause with <command>dh-autoreconf</" "command> as in <xref linkend=\"customrules\"/> or work around it with " "<filename>source/options</filename> as in <xref linkend=\"sourceopt\"/>." msgstr "" "Si encuentras un nuevo archivo de parche autogenerado con el nombre " "<filename>debian-changes-*</filename> en el directorio <filename>debian/" "patches</filename> después de la construcción de tu paquete de Debian no " "nativo en formato <literal>3.0 (quilt)</literal>, es probable que hayas " "cambiado algun archivo accidentalmente o bien que el guión de compilación " "haya modificado las fuentes originales. Si el error es tuyo, corrígelo. Si " "es causado por el guión de compilación, corrige el origen del error con " "<command>dh-autoreconf</command> como en <xref linkend=\"customrules\"/> o " "bien inténtalo con los archivos <filename>source/options</filename> como en " "<xref linkend=\"sourceopt\"/>." #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's installation" msgstr "Comprobando la instalación del paquete" #. type: Content of: <book><chapter><section><para> msgid "" "You must test your package for whether it installs without problem. The " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> command helps you to test installing all the generated " "binary packages." msgstr "" "Instala el paquete para probarlo tú mismo, por ejemplo, usando la orden " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> como superusuario. Intenta instalarlo y ejecutarlo en otras " "máquinas distintas de la tuya, y presta atención para detectar errores o " "avisos tanto en la instalación como en la ejecución del programa." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n" msgstr "$ sudo debi gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "To prevent installation problem on different systems, you must make sure " "that there are no filenames conflicting with other existing packages, using " "the <filename>Contents-<replaceable>i386</replaceable></filename> file " "downloaded from the Debian archive. The <command>apt-file</command> command " "may be handy for this task. If there are collisions, please take action to " "avoid this real problem, whether by renaming the file, moving a common file " "to a separate package that multiple packages can depend on, using the " "alternatives mechanism (see <citerefentry><refentrytitle>update-" "alternatives</refentrytitle> <manvolnum>1</manvolnum></citerefentry>) in " "coordination with the maintainers of other affected packages, or declaring a " "<literal>Conflicts</literal> relationship in the <filename>debian/control</" "filename> file." msgstr "" "Debes asegurarte que no haya archivos en conflicto con otros paquetes " "utilizando el archivo <filename>Contents-<replaceable>i386</replaceable></" "filename> (descargándolo del repositorio Debian) para prevenir problemas de " "instalación en distintos sistemas. La orden <command>apt-file</command> " "será útil para realizar esta tarea. Si hay archivos en conflicto, deberás " "hacer lo necesario para evitar problemas utilizando el mecanismo de " "alternativas (véase <citerefentry> <refentrytitle>update-alternatives</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) coordinándote con " "los responsables de los otros paquetes o bien estableciendo correctamente el " "campo <literal>Conflicts</literal> del archivo <filename>debian/control</" "filename>." #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's maintainer scripts" msgstr "" "Comprobando los <emphasis>guiones del desarrollador</emphasis> («maintainer " "scripts»)" #. type: Content of: <book><chapter><section><para> msgid "" "All maintainer scripts (that is, <filename>preinst</filename>, " "<filename>prerm</filename>, <filename>postinst</filename>, and " "<filename>postrm</filename> files) are hard to write correctly unless they " "are auto-generated by the <systemitem role=\"package\">debhelper</" "systemitem> programs. So do not use them if you are a novice maintainer " "(see <xref linkend=\"maintscripts\"/>)." msgstr "" "Ya se ha comentado que los <emphasis>guiones del desarrollador</emphasis> " "(los archivos <filename>preinst</filename>, <filename>prerm</filename>, " "<filename>postinst</filename> y <filename>postrm</filename>) son " "complicados, excepto si se utilizan los generados por el paquete <systemitem " "role=\"package\">debhelper</systemitem>. No se recomienda su utilización a " "los desarrolladores principiantes (véase <xref linkend=\"maintscripts\"/> )." #. type: Content of: <book><chapter><section><para> msgid "" "If the package makes use of these non-trivial maintainer scripts, be sure to " "test not only for install but also for remove, purge, and upgrade " "processes. Many maintainer script bugs show up when packages are removed or " "purged. Use the <command>dpkg</command> command as follows to test them." msgstr "" "Si el paquete utiliza estos <emphasis>guiones del desarrollador</emphasis> " "modificados o no triviales, debes comprobar su funcionamiento en la " "instalación, desinstalación, eliminación y actualización. Algunos errores " "en estos <emphasis>guiones del desarrollador</emphasis> sólo se producen " "cuando los paquetes se eliminan o purgan. Utiliza la orden <command>dpkg</" "command> como se indica a continuación para probarlos:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" msgstr "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>versión</replaceable>-<replaceable>revisión</replaceable>_<replaceable>i386</replaceable>.deb\n" #. type: Content of: <book><chapter><section><para> msgid "This should be done with sequences such as the following." msgstr "Sigue esta secuencia para la comprobación:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the previous version (if needed)." msgstr "Instala la versión anterior del paquete (requerido)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "upgrade it from the previous version." msgstr "Actualiza ahora a la versión actual." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "downgrade it back to the previous version (optional)." msgstr "Vuelve a la versión anterior (opcional)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "purge it." msgstr "Elimínalo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the new package." msgstr "Instala la nueva versión del paquete." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "remove it." msgstr "Elimínalo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install it again." msgstr "Instálalo de nuevo." #. type: Content of: <book><chapter><section><para> msgid "" "If this is your first package, you should create dummy packages with " "different versions to test your package in advance to prevent future " "problems." msgstr "" "Si estás trabajando en la construcción de la primera versión del paquete, " "construye versiones «fantasma» anteriores (será suficiente cambiar el número " "de la versión) para realizar las pruebas y así prevenir problemas." #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that if your package has previously been released in Debian, " "people will often be upgrading to your package from the version that was in " "the last Debian release. Remember to test upgrades from that version too." msgstr "" "Recuerda que si ya hay versiones anteriores del paquete en el repositorio " "Debian, los usuarios actualizarán el paquete desde la versión anterior " "disponible (y esta versión puede ser distinta en la versión estable y de " "pruebas). Realiza las comprobaciones también con estas versiones." #. type: Content of: <book><chapter><section><para> msgid "" "Although downgrading is not officially supported, supporting it is a " "friendly gesture." msgstr "" "Aunque no se garantiza la reinstalación de una versión anterior, es " "preferible asegurarse que es posible sin generar problemas." #. type: Content of: <book><chapter><section><title> msgid "Using <systemitem role=\"package\">lintian</systemitem>" msgstr "El paquete <systemitem role=\"package\">lintian</systemitem>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You do not need to provide the <command>lintian</command> option <literal>-i " "-I --show-overrides</literal> if you customized <filename>/etc/devscripts." "conf</filename> or <filename>~/.devscripts</filename> as described in <xref " "linkend=\"debuild\"/>." msgstr "" "No es necesario añadir la opción <literal>-i -I --show-overrides</literal> a " "la orden <command>lintian</command> si la has incluido en la configuración " "en <filename>/etc/devscripts.conf</filename> o <filename>~/.devscripts</" "filename> según se explicó en <xref linkend=\"debuild\"/> ." #. type: Content of: <book><chapter><section><para> msgid "" "Run <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> on your <filename>.changes</filename> file. The " "<command>lintian</command> command runs many test scripts to check for many " "common packaging errors. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Ejecuta <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> en tu archivo <filename>.changes</filename>. La " "orden <command>lintian</command> ejecutará varios guiones para revisar los " "errores más frecuentes de los paquetes <placeholder type=\"footnote\" id=" "\"0\"/>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" msgstr "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of the <filename>.changes</" "filename> file generated for your package. The output of the " "<command>lintian</command> command uses the following flags." msgstr "" "Por supuesto, cambia el nombre del fichero por el nombre del fichero " "<filename>.changes</filename> generado por tu paquete. Los mensajes de " "error de <command>lintian</command> se codifican con una letra al inicio de " "la línea del mensaje:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>E:</literal> for error; a sure policy violation or packaging error." msgstr "" "<literal>E:</literal> para los errores; indica violaciones de las normas o " "un error en el paquete." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>W:</literal> for warning; a possible policy violation or packaging " "error." msgstr "" "<literal>W:</literal> para las advertencias; indica una posible violación de " "las normas o error en el paquete (pero pudiendo ser una falsa alarma)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>I:</literal> for info; information on certain aspects of packaging." msgstr "" "<literal>I:</literal> para información; proporciona algo de información " "sobre algún aspecto del paquete (que tal vez sea mejorable)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>N:</literal> for note; a detailed message to help your debugging." msgstr "" "<literal>N:</literal> para las notas o anotaciones; proporciona mensajes " "detallados que pueden ayudarte en la depuración del paquete." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>O:</literal> for overridden; a message overridden by the " "<filename>lintian-overrides</filename> files but displayed by the <literal>--" "show-overrides</literal> option." msgstr "" "<literal>O:</literal> para mensajes ignorados; un mensaje ignorado (según lo " "configurado en los archivos <filename>lintian-overrides</filename> pero que " "se emite debido a la opción <literal>--show-overrides</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "When you see warnings, tune the package to avoid them or verify that the " "warnings are spurious. If spurious, set up <filename>lintian-overrides</" "filename> files as described in <xref linkend=\"lintian\"/>." msgstr "" "En el caso de los errores (líneas que comienzan por E:), lee la explicación " "(líneas N:), cambia el paquete para eliminarlos o verifica que los avisos " "son falsos. En este caso, genera los archivos <filename>lintian-overrides</" "filename> como se ha descrito en <xref linkend=\"lintian\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Note that you can build the package with <command>dpkg-buildpackage</" "command> and run <command>lintian</command> on it in one command, if you use " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> or <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "" "Observa que puedes construir el paquete con <command>dpkg-buildpackage</" "command> y ejecutar <command>lintian</command> todo con sólo una orden si " "utilizas <citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> o <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "The <command>debc</command> command" msgstr "La orden <command>debc</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can list files in the binary Debian package with the <citerefentry> " "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "command." msgstr "" "Puedes ver la lista de archivos del paquete binario Debian ejecutando la " "orden <citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> como sigue:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debc <replaceable>package</replaceable>.changes\n" msgstr "$ debc <replaceable>nombre_del_paquete</replaceable>.changes\n" #. type: Content of: <book><chapter><section><title> msgid "The <command>debdiff</command> command" msgstr "La orden <command>debdiff</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare file contents in two source Debian packages with the " "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "Puedes comparar el contenido de dos paquetes de fuentes Debian ejecutando la " "orden <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> como sigue:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgstr "$ debdiff <replaceable>versión_anterior</replaceable>.dsc <replaceable>nueva_versión</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also compare file lists in two sets of binary Debian packages with " "the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "Puedes comparar la lista de ficheros de dos paquetes binarios de Debian con " "la orden <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> ejecutando la orden como sigue:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgstr "$ debdiff <replaceable>versión_anterior</replaceable>.changes <replaceable>nueva_versión</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "These are useful to identify what has been changed in the source packages " "and to check for inadvertent changes made when updating binary packages, " "such as unintentionally misplacing or removing files." msgstr "" "Este programa es útil para verificar que no hay ficheros que se hayan " "cambiado de sitio o eliminado por error, y que no se ha realizado ningún " "otro cambio no deseado al actualizar el paquete." #. type: Content of: <book><chapter><section><title> msgid "The <command>interdiff</command> command" msgstr "La orden <command>interdiff</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare two <filename>diff.gz</filename> files with the " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command. This is useful for verifying that no " "inadvertent changes were made to the source by the maintainer when updating " "packages in the old <literal>1.0</literal> source format." msgstr "" "Puedes comparar dos ficheros <filename>diff.gz</filename> con la orden " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>. Esto es muy útil para verificar que no se han " "realizado cambios inadvertidos por el responsable del paquete al actualizar " "el paquetes que se han construido con el formato <literal>1.0</literal>. " "Ejecuta lo siguiente:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" msgstr "$ interdiff -z <replaceable>versión_anterior</replaceable>.diff.gz <replaceable>nueva_versión</replaceable>.diff.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "The new <literal>3.0</literal> source format stores changes in multiple " "patch files as described in <xref linkend=\"patches\"/>. You can trace " "changes of each <filename>debian/patches/*</filename> file using " "<command>interdiff</command>, too." msgstr "" "El nuevo formato de fuentes <literal>3.0</literal> conserva los cambios en " "varios archivos de parches («.patch») como se describe en <xref linkend=" "\"patches\"/>. Puedes seguir los cambios realizados por cada archivo " "<filename>debian/patches/*</filename> utilizando la orden " "<command>interdiff</command>." #. type: Content of: <book><chapter><section><title> msgid "The <command>mc</command> command" msgstr "La orden <command>mc</command>" #. type: Content of: <book><chapter><section><para> msgid "" "Many of these file inspection operations can be made into an intuitive " "process by using a file manager like <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> which will let you " "browse not only the contents of <filename>*.deb</filename> package files but " "also <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, " "<filename>*.diff.gz</filename>, and <filename>*.orig.tar.gz</filename> files." msgstr "" "Algunas de las operaciones de comprobación del paquete descritas puede " "realizarse de forma muy intuitiva si empleamos un gestor de ficheros como " "<citerefentry> <refentrytitle>mc</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, que permite visionar tanto el contenido del paquete " "<filename>*.deb</filename>, como el de los ficheros <filename>*.udeb</" "filename>, <filename>*.debian.tar.gz</filename>, <filename>*.diff.gz</" "filename>, <filename>*.orig.tar.gz</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Be on the lookout for extra unneeded files or zero length files, both in the " "binary and source package. Often cruft doesn't get cleaned up properly; " "adjust your <filename>rules</filename> file to compensate for this." msgstr "" "Vigila que no haya ficheros innecesarios extra o de tamaño cero, tanto en el " "binario como en el paquete fuente. A veces, hay cosas que no se limpiaron " "adecuadamente, debes ajustar tu fichero <filename>rules</filename> para " "arreglar esto." #. type: Content of: <book><chapter><title> msgid "Updating the package" msgstr "Actualizar el paquete" #. type: Content of: <book><chapter><para> msgid "After you release a package, you will soon need to update it." msgstr "" "Después del lanzamiento del paquete, es posible que debas actualizarlo " "pronto." #. type: Content of: <book><chapter><section><title> msgid "New Debian revision" msgstr "Nueva revisión Debian del paquete" #. type: Content of: <book><chapter><section><para> msgid "" "Let's say that a bug report was filed against your package as " "<literal>#654321</literal>, and it describes a problem that you can solve. " "Here's what you need to do to create a new Debian revision of the package." msgstr "" "Supongamos que se ha creado un informe de fallo en tu paquete con el número " "<literal>#654321</literal>, y que describe un problema que puedes " "solucionar. Para construir una nueva revisión del paquete, necesitas:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to be recorded as a new patch, do the following." msgstr "Si debes aplicar una modificación nueva, ejecuta:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> to " "set the patch name;" msgstr "" "<literal>dquilt new <replaceable>nombre_modificación.patch</replaceable></" "literal> para establecer el nombre de la modificación;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> to " "declare the file to be modified;" msgstr "" "<literal>dquilt add <replaceable>archivo_a_modificar</replaceable></literal> " "para establecer el fichero al cual se aplicará la modificación." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Correct the problem in the package source for the upstream bug;" msgstr "Corregir el problema en el archivo original." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to record it to " "<filename><replaceable>bugname.patch</replaceable></filename>;" msgstr "" "<literal>dquilt refresh</literal> para guardar los cambios realizados en el " "archivo del parche <filename><replaceable>nombre_modificación.patch</" "replaceable></filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to add its description;" msgstr "" "<literal>dquilt header -e</literal> para añadir la descripción (breve) del " "cambio realizado;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to update an existing patch, do the following." msgstr "Si debes actualizar una modificación ya existente, ejecuta:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> to recall " "the existing <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "" "<literal>dquilt pop <replaceable>nombre_modificación.patch</replaceable></" "literal> para deshacer el parche <filename><replaceable>nombre_modificación." "patch</replaceable></filename> que debes actualizar (puesto que se habrá " "ejecutado y se supone que es necesario modificarlo)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Correct the problem in the old <filename><replaceable>foo.patch</" "replaceable></filename>;" msgstr "" "Corregir el problema existente en la versión incorrecta del archivo de " "parche <filename><replaceable>nombre_modificación.patch</replaceable></" "filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to update <filename><replaceable>foo." "patch</replaceable></filename>;" msgstr "" "<literal>dquilt refresh</literal> para actualizar " "<filename><replaceable>nombre_modificación.patch</replaceable></filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to update its description;" msgstr "" "<literal>dquilt header -e</literal> para actualizar la descripción en la " "cabecera del archivo del parche." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>;" msgstr "" "<literal>while dquilt push; do dquilt refresh; done</literal> para aplicar " "todos los parches eliminando <emphasis>cosas innecesarias</emphasis>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "To get the date in the required format, use <literal>LANG=C date -R</" "literal>." msgstr "" "Para escribir la fecha y hora en el formato requerido, debes utilizar " "<literal>LANG=C date -R</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add a new revision at the top of the Debian <filename>changelog</filename> " "file, for example with <literal>dch -i</literal>, or explicitly with " "<literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal> and then insert the comments using your preferred " "editor. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Añadir la información de la revisión en el inicio del archivo " "<filename>changelog</filename> (del directorio «Debian»), por ejemplo " "ejecutando <literal>dch -i</literal> o explícitamente indicando el número de " "versión y revisión ejecutando <literal>dch -v <replaceable>versión</" "replaceable>-<replaceable>revisión</replaceable></literal>, y a continuación " "detallar los cambios realizados utilizando un editor <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Include a short description of the bug and the solution in the changelog " "entry, followed by <literal>Closes: #654321</literal>. That way, the bug " "report will be <emphasis>automagically</emphasis> closed by the archive " "maintenance software the moment your package gets accepted into the Debian " "archive." msgstr "" "Incluye la descripción (breve) del error y la solución, seguida de la " "referencia de la notificación del error con <literal>(Closes: #654321)</" "literal>. De esta manera, el informe de error sera «cerrado» " "<emphasis>automáticamente</emphasis> por el sistema de mantenimiento del " "repositorio Debian cuando el paquete sea aceptado en el repositorio." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in the above to fix more bugs while updating the Debian " "<filename>changelog</filename> file with <literal>dch</literal> as needed." msgstr "" "Deberás repetir los pasos anteriores para cada una de las modificaciones " "realizadas en la actualización del paquete, a la par que actualizas el " "fichero <filename>changelog</filename> de Debian mediante <literal>dch</" "literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in <xref linkend=\"completebuild\"/> and <xref linkend=" "\"checkit\"/>." msgstr "" "Repite lo que hiciste en <xref linkend=\"completebuild\"/> y <xref linkend=" "\"checkit\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Once you are satisfied, you should change the distribution value in " "<filename>changelog</filename> from <literal>UNRELEASED</literal> to the " "target distribution value <literal>unstable</literal> (or even " "<literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Una vez que esté satisfecho, cambie el nombre de la distribución en el " "archivo <filename>changelog</filename> de <literal>UNRELEASED</literal> por " "<literal>unstable</literal> (o bien <literal>experimental</literal>)." "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Upload the package as <xref linkend=\"upload\"/>. The difference is that " "this time, the original source archive won't be included, as it hasn't been " "changed and it already exists in the Debian archive." msgstr "" "Sube el paquete como se ha descrito en <xref linkend=\"upload\"/>. La " "diferencia es que esta vez, el fichero fuente original no se incluye, ya que " "no se ha cambiado y ya esta en el archivo de Debian." #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case can occur when you make a local package to experiment with " "the packaging before uploading the normal version to the official archive, e." "g., <literal><replaceable>1.0.1</replaceable>-<replaceable>1</replaceable></" "literal>. For smoother upgrades, it is a good idea to create a " "<filename>changelog</filename> entry with a version string as " "<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" "literal>. You may unclutter <filename>changelog</filename> by consolidating " "such local change entries into a single entry for the official package. See " "<xref linkend=\"namever\"/> for the order of version strings." msgstr "" "Uno de los casos difíciles sucede cuando haces una copia local del paquete " "para realizar pruebas antes de subir la versión definitiva al archivo " "oficial, por ejemplo,<literal><replaceable>1.0.1</replaceable>-" "<replaceable>1</replaceable></literal>. Para una actualización menor, es una " "buena idea documentar una entrada en el archivo <filename>changelog</" "filename> con una cadena de código de versión como " "<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" "literal>. Es posible ordenar el archivo <filename>changelog</filename> " "mediante la consolidación de tales entradas «de pruebas» en una única " "entrada para el paquete oficial. Véase <xref linkend=\"namever\"/> para el " "orden de las cadenas de versión." #. type: Content of: <book><chapter><section><title> msgid "Inspection of the new upstream release" msgstr "Inspección de una nueva versión del autor" #. type: Content of: <book><chapter><section><para> msgid "" "When preparing packages of a new upstream release for the Debian archive, " "you must check the new upstream release, first." msgstr "" "Para la actualización de un paquete cuando el autor original libera una " "nueva versión de las fuentes, debes empezar por revisar la nueva versión " "original." #. type: Content of: <book><chapter><section><para> msgid "" "Start by reading the upstream <filename>changelog</filename>, " "<filename>NEWS</filename>, and whatever other documentation they may have " "released with the new version." msgstr "" "Empieza por leer los archivos <filename>changelog</filename>, " "<filename>NEWS</filename> y cualquier otra documentación donde el autor " "original describa los cambios de la nueva versión." #. type: Content of: <book><chapter><section><para> msgid "" "You can then inspect changes between the old and new upstream sources as " "follows, watching out for anything suspicious." msgstr "" "Puedes comprobar los cambios entre las fuentes originales de la nueva " "versión y de la anterior para detectar cualquier cambio sospechoso de " "producir errores ejecutando:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgstr "$ diff -urN <replaceable>nombre_archivo</replaceable>-<replaceable>versión_anterior</replaceable> <replaceable>nombre_archivo</replaceable>-<replaceable>nueva_versión</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "Changes to some auto-generated files by Autotools such as <filename>missing</" "filename>, <filename>aclocal.m4</filename>, <filename>config.guess</" "filename>, <filename>config.h.in</filename>, <filename>config.sub</" "filename>, <filename>configure</filename>, <filename>depcomp</filename>, " "<filename>install-sh</filename>, <filename>ltmain.sh</filename>, and " "<filename>Makefile.in</filename> may be ignored. You may delete them before " "running <command>diff</command> on the source for inspection." msgstr "" "Las modificaciones realizadas en los archivos generados por " "«Autotools» (<filename>missing</filename>, <filename>aclocal.m4</filename>, " "<filename>config.guess</filename>, <filename>config.h.in</filename>, " "<filename>config.sub</filename>, <filename>configure</filename>, " "<filename>depcomp</filename>, <filename>install-sh</filename>, " "<filename>ltmain.sh</filename> y <filename>Makefile.in</filename>) puedes " "ignorarlas. Puedes eliminarlos antes de ejecutar <command>diff</command> en " "las fuentes para inspeccionarlas." #. type: Content of: <book><chapter><section><title> msgid "New upstream release" msgstr "Nueva versión del programa fuente" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is packaged in the old <literal>1.0</literal> format, this can " "be done by running <literal>zcat /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" "literal> in the new extracted source, instead." msgstr "" "Si el paquete <systemitem role=\"package\"><replaceable>nombre_del_paquete</" "replaceable></systemitem> está construido con el anterior formato " "<literal>1.0</literal>, esto se puede hacer ejecutando <literal>zcat /" "<replaceable>ruta</replaceable>/<replaceable>a</replaceable>/" "<replaceable>nombre_del_paquete</" "replaceable>_<replaceable>numero_de_versión_anterior</replaceable>.diff.gz|" "patch -p1</literal> en la nueva versión de las fuentes." #. type: Content of: <book><chapter><section><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is properly packaged in the newer <literal>3.0 (native)</" "literal> or <literal>3.0 (quilt)</literal> formats, packaging a new upstream " "version is essentially moving the old <filename>debian</filename> directory " "to the new source. This can be done by running <literal>tar xvzf /" "<replaceable>path</replaceable>/<replaceable>to</replaceable>/" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian." "tar.gz</literal> in the new extracted source. <placeholder type=\"footnote" "\" id=\"0\"/> Of course, you need to do some obvious chores." msgstr "" "Si el paquete <systemitem role=\"package\"><replaceable>nombre_del_paquete</" "replaceable></systemitem> que examinas está correctamente empaquetado " "utilizando los nuevos formatos <literal>3.0 (native)</literal> o " "<literal>3.0 (quilt)</literal> para empaquetar una nueva versión del autor " "es esencial copiar el directorio <filename>debian</filename> de la versión " "anterior a la nueva, para a continuación, realizar las adaptaciones " "necesarias. Puedes copiar el directorio <filename>debian</filename> de la " "versión anterior a la nueva versión ejecutando <literal>tar xvzf /" "<replaceable>ruta</replaceable>/<replaceable>a</replaceable>/" "<replaceable>nombre_del_paquete</replaceable>_<replaceable>versión_anterior</" "replaceable>.debian.tar.gz</literal> desde el directorio de las fuentes de " "la nueva versión <placeholder type=\"footnote\" id=\"0\"/>. A continuación " "deberás realizar algunos tareas obvias." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a copy of the upstream source as the " "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename> " "file." msgstr "" "Comprimir las fuentes originales en el archivo " "<filename>nombre_del_paquete_<replaceable>nueva_versión</replaceable>.orig." "tar.gz</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Update the Debian <filename>changelog</filename> file with <literal>dch -v " "<replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." msgstr "" "Actualizar el archivo <filename>changelog</filename> Debian ejecutando " "<literal>dch -v <replaceable>nueva_versión</replaceable>-<replaceable>1</" "replaceable></literal> ." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Add an entry with <literal>New upstream release</literal>." msgstr "" "Añade una nueva linea con el texto «New upstream release» para indicar que " "se trata de una nueva versión de las fuentes originales." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>in the new upstream release</" "emphasis> that fix reported bugs and close those bugs by adding " "<literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "Describe sucintamente los cambios realizados <emphasis>en las fuentes " "originales por el autor</emphasis> que solucionan errores informados y " "cerrar los informes añadiendo <literal>Closes: " "#<replaceable>numero_del_error</replaceable></literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>to the new upstream release</" "emphasis> by the maintainer that fix reported bugs and close those bugs by " "adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "Describe sucintamente los cambios de la <emphasis>nueva versión</emphasis> " "del desarrollador que solucionan errores previamente reportados y cierra " "dichos errores añadiendo <literal>Closes: #<replaceable>número_del_error</" "replaceable></literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>." msgstr "" "<literal>while dquilt push; do dquilt refresh; done</literal> para aplicar " "todos los parches eliminando <emphasis>cosas innecesarias</emphasis>;" #. type: Content of: <book><chapter><section><para> msgid "" "If the patch/merge did not apply cleanly, inspect the situation (clues are " "left in <filename>.rej</filename> files)." msgstr "" "Si las modificaciones no se ejecutan correctamente, inspecciona la situación " "(mira la información de los archivos <filename>.rej</filename>) como se " "muestra a continuación." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source was integrated into the upstream source," msgstr "" "Si uno de los parches aplicados está integrado en las fuentes originales," #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt delete</literal> to remove it." msgstr "ejecuta <literal>dquilt delete</literal> para eliminarlo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source conflicted with new changes in the " "upstream source," msgstr "" "Si uno de los parches entra en conflicto con los cambios realizados por el " "autor en las fuentes originales," #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt push -f</literal> to apply old patches while forcing rejects " "as <filename><replaceable>baz</replaceable>.rej</filename>." msgstr "" "ejecuta <literal>dquilt push -f</literal> para aplicar los parches de la " "versión anterior para forzar los rechazos (tendrás la información de los " "rechazos en los archivos <filename><replaceable>rechazo</replaceable>.rej</" "filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Edit the <filename><replaceable>baz</replaceable></filename> file manually " "to bring about the intended effect of <filename><replaceable>baz</" "replaceable>.rej</filename>." msgstr "" "Edita los archivos <filename><replaceable>rechazo</replaceable>.rej</" "filename> manualmente para saber el efecto que se pretende con " "<filename><replaceable>rechazo</replaceable>.rej</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt refresh</literal> to update the patch." msgstr "Ejecuta <literal>dquilt refresh</literal> para actualizar el parche." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Continue as usual with <literal>while dquilt push; do dquilt refresh; done</" "literal>." msgstr "" "Continua hasta la ejecución de <literal>while dquilt push; do dquilt " "refresh; done</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "This process can be automated using the <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> command as follows:" msgstr "" "Puedes automatizar este proceso utilizando la orden <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> como sigue:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" msgstr "" "$ apt-get source <replaceable>nombre_del_paquete</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>nombre_del_paquete</replaceable> in <replaceable>nombre_del_paquete</replaceable>-<replaceable>versión_anterior</replaceable>\n" "dpkg-source: info: unpacking <replaceable>nombre_del_paquete</replaceable>_<replaceable>versión_anterior</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>nombre_del_paquete</replaceable>_<replaceable>versión_anterior</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>nombre_del_paquete</replaceable>-<replaceable>versión_anterior</replaceable>/\n" "<replaceable>nombre_del_paquete</replaceable>_<replaceable>versión_anterior</replaceable>-1.debian.tar.gz\n" "<replaceable>nombre_del_paquete</replaceable>_<replaceable>versión_anterior</replaceable>-1.dsc\n" "<replaceable>nombre_del_paquete</replaceable>_<replaceable>versión_anterior</replaceable>.orig.tar.gz\n" "$ wget http://ejemplo.org/<replaceable>nombre_del_paquete</replaceable>/<replaceable>nombre_del_paquete</replaceable>-<replaceable>nueva_versión</replaceable>.tar.gz\n" "$ cd <replaceable>nombre_del_paquete</replaceable>-<replaceable>versión_anterior</replaceable>\n" "$ uupdate -v <replaceable>nueva_versión</replaceable> ../<replaceable>nombre_del_paquete</replaceable>-<replaceable>nueva_versión</replaceable>.tar.gz\n" "$ cd ../<replaceable>nombre_del_paquete</replaceable>-<replaceable>nueva_versión</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... documenta las modificaciones realizadas\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the <command>uscan</command> command downloads the updated source but it " "does not run the <command>uupdate</command> command, you should correct the " "<filename>debian/watch</filename> file to have <literal>debian uupdate</" "literal> at the end of the URL." msgstr "" "Si la orden <command>uscan</command> descargar las fuentes pero no ejecuta " "la orden <command>uupdate</command>, debes corregir el archivo " "<filename>debian/watch</filename> añadiendo <literal>debian uupdate</" "literal> al final de la URL del archivo." #. type: Content of: <book><chapter><section><para> msgid "" "If you set up a <filename>debian/watch</filename> file as described in <xref " "linkend=\"watch\"/>, you can skip the <command>wget</command> command. You " "simply run <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> in the <filename><replaceable>foo</replaceable>-" "<replaceable>oldversion</replaceable></filename> directory instead of the " "<command>uupdate</command> command. This will <emphasis>automagically</" "emphasis> look for the updated source, download it, and run the " "<command>uupdate</command> command. <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "Si has configurado el archivo «<filename>debian/watch</filename>» como se ha " "descrito en <xref linkend=\"watch\"/> ,puedes saltarte la orden " "<command>wget</command>. Simplemente, ejecuta <citerefentry> " "<refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> en el directorio <filename><replaceable>nombre_del_paquete</" "replaceable>-<replaceable>antigua_versión</replaceable></filename> en lugar " "de la orden <command>uupdate</command>. Así, se buscará " "<emphasis>automáticamente</emphasis> el archivo de las fuentes, se " "descargará en tu ordenador y se ejecutará la orden <command>uupdate</" "command> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "You can release this updated source by repeating what you did in <xref " "linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref linkend=" "\"upload\"/>." msgstr "" "Puedes liberar la nueva versión del paquete repitiendo lo expuesto en <xref " "linkend=\"completebuild\"/> , <xref linkend=\"checkit\"/> y <xref linkend=" "\"upload\"/> ." #. type: Content of: <book><chapter><section><title> msgid "Updating the packaging style" msgstr "Actualizar el formato del paquete" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If your sponsor or other maintainers object to updating the existing " "packaging style, don't bother arguing. There are more important things to " "do." msgstr "" "Si quien patrocina tu paquete u otros desarrolladores hacen objeciones a la " "actualización del formato del paquete, no vale la pena empeñarse en " "argumentar a favor. Hay otras cosas más importantes que atender." #. type: Content of: <book><chapter><section><para> msgid "" "Updating the package style is not a required activity for the update of a " "package. However, doing so lets you use the full capabilities of the modern " "<systemitem role=\"package\">debhelper</systemitem> system and the " "<literal>3.0</literal> source format. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Para actualizar un paquete no es necesario actualizar el formato del " "paquete. Aún así, puedes aprovechar completamente la funcionalidad de " "<systemitem role=\"package\">debhelper</systemitem> y del formato " "<literal>3.0</literal> haciendo lo siguiente <placeholder type=\"footnote\" " "id=\"0\"/>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you need to recreate deleted template files for any reason, you can run " "<command>dh_make</command> again in the same Debian package source tree with " "the <literal>--addmissing</literal> option. Then edit them appropriately." msgstr "" "Si necesitas de nuevo algunos de los archivos de plantilla eliminados, " "puedes regenerarlos ejecutando otra vez <command>dh_make</command> con la " "opción <literal>--addmissing</literal> en el directorio de las fuentes. A " "continuación modifícalos correctamente." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If the package has not been updated to use the <systemitem role=\"package" "\">debhelper</systemitem> v7+ <command>dh</command> syntax for the " "<filename>debian/rules</filename> file, update it to use <command>dh</" "command>. Update the <filename>debian/control</filename> file accordingly." msgstr "" "Si el paquete no está actualizado para utilizar la nueva sintaxis de la " "versión 7+ de la orden <command>dh</command> de <systemitem role=\"package" "\">debhelper</systemitem> en el archivo <filename>debian/rules</filename>, " "actualízalo para usar <command>dh</command>. También deberás actualizar " "<filename>debian/control</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you want to update the <filename>rules</filename> file created with the " "<filename>Makefile</filename> inclusion mechanism of the Common Debian Build " "System (<systemitem role=\"package\">cdbs</systemitem>) to the <command>dh</" "command> syntax, see the following to understand its <literal>DEB_*</" "literal> configuration variables." msgstr "" "Si deseas actualizar el archivo <filename>rules</filename> construido por el " "mecanismo de inclusión <filename>Makefile</filename> del sistema de " "compilación Debian (<systemitem role=\"package\">cdbs</systemitem>) a la " "nueva sintaxis <command>dh</command>, lee el siguiente documento para " "comprender las variables de configuración <literal>DEB_*</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "local copy of <filename>&cdbs-doc;</filename>" msgstr "copia local de <filename>&cdbs-doc;</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" msgstr "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package without the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (native)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(native)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied." msgstr "" "Si estás trabajando con un paquete construido con el formato <literal>1.0</" "literal> sin el archivo <filename><replaceable>nombre_del_paquete</" "replaceable>.diff.gz</filename>, puedes actualizarlo a la nueva versión " "<literal>3.0 (native)</literal> añadiendo el archivo <filename>debian/source/" "format</filename> con la linea <literal>3.0 (native)</literal>. Copia los " "otros archivos del directorio <filename>debian/*</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can split <filename>big.diff</filename> into many small incremental " "patches using the <command>splitdiff</command> command." msgstr "" "Puedes fragmentar el archivo <filename>nombre_del_paquete.diff</filename> en " "varios archivos de parches utilizando la orden <command>splitdiff</command>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package with the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (quilt)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(quilt)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied. Import the <filename>big.diff</filename> file generated by " "the command <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" "replaceable>.diff.gz > big.diff</literal> to your <command>quilt</" "command> system, if needed. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si estás trabajando con un paquete construido con el formato <literal>1.0</" "literal> con el archivo <filename><replaceable>nombre_del_paquete</" "replaceable>.diff.gz</filename>, puedes actualizarlo a la nueva versión " "<literal>3.0 (native)</literal> añadiendo el archivo <filename>debian/source/" "format</filename> con la linea <literal>3.0 (native)</literal>. Copia los " "otros archivos del directorio <filename>debian/*</filename>. Importa el " "archivo <filename>nombre_del_paquete.diff</filename> generado por la orden " "<literal>filterdiff -z -x '*/debian/*' <replaceable>nombre_del_paquete</" "replaceable>.diff.gz > nombre_del_paquete.diff</literal> al sistema " "<command>quilt</command> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged using another patch system such as <systemitem role=" "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" "systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " "<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, " "convert it to the <systemitem role=\"package\">quilt</systemitem> command " "using <filename>deb3</filename> at <ulink url=\"&deb3;\"/>." msgstr "" "Si el paquete se ha construido utilizando un sistema de parches distinto " "como <systemitem role=\"package\">dpatch</systemitem>, <systemitem role=" "\"package\">dbs</systemitem> o <systemitem role=\"package\">cdbs</" "systemitem> utilizando las opciones <literal>-p0</literal>, <literal>-p1</" "literal> o <literal>-p2</literal>, puedes convertirlo al formato <systemitem " "role=\"package\">quilt</systemitem> utilizando el guión <filename>deb3</" "filename> explicado en <ulink url=\"&deb3;\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged with the <command>dh</command> command with the " "<literal>--with quilt</literal> option or with the <command>dh_quilt_patch</" "command> and <command>dh_quilt_unpatch</command> commands, remove these and " "make it use the newer <literal>3.0 (native)</literal> source format." msgstr "" "Si el paquete se ha construido ejecutando la orden <command>dh</command> con " "la opción <literal>--with quilt</literal> o bien con " "<command>dh_quilt_patch</command> y <command>dh_quilt_unpatch</command>, " "elimina todo esto y utiliza el formato <literal>3.0 (native)</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "You should check <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> and adopt ACCEPTED proposals." msgstr "" "Consulte <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</ulink> y " "adoptar las propuestas ACEPTADAS." #. type: Content of: <book><chapter><section><para> msgid "" "You need to do the other tasks described in <xref linkend=\"newupstream\"/>, " "too." msgstr "" "Repasa la sección <xref linkend=\"newupstream\"/> por si debes repetir " "algunos de los pasos indicados en ella." #. type: Content of: <book><chapter><section><title> msgid "UTF-8 conversion" msgstr "Conversión a UTF-8" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream documents are encoded in old encoding schemes, converting them " "to <ulink url=\"&utf8;\">UTF-8</ulink> is a good idea." msgstr "" "Si los documentos originales utilizan una codificación antigua, es una buen " "práctica actualizarlos a <ulink url=\"&utf8;\">UTF-8</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert encodings of plain text files." msgstr "" "Utiliza <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> para hacer conversiones de codificación en " "ficheros de texto sin formato." #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert from HTML files to UTF-8 plain text " "files. When you do this, make sure to execute it under UTF-8 locale." msgstr "" "Utiliza <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> para conversiones desde ficheros HTML a ficheros " "de texto sin formato con codificación UTF-8. Al hacerlo, el sistema debe " "estar configurado para usar la codificación UTF-8. " #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>nombre_del_archivo_a_modificar.html</replaceable> > <replaceable>nombre_del_archivo_modificado.txt</replaceable>\n" #. type: Content of: <book><chapter><section><title> msgid "Reminders for updating packages" msgstr "Recordatorio para actualizar paquetes" #. type: Content of: <book><chapter><section><para> msgid "Here are few reminders for updating packages." msgstr "" "A continuación se listan algunas cosas a tener en cuenta al actualizar " "paquetes." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Preserve old <filename>changelog</filename> entries (sounds obvious, but " "there have been cases of people typing <literal>dch</literal> when they " "should have typed <literal>dch -i</literal>.)" msgstr "" "Conserva las entradas anteriores del archivo <filename>changelog</filename> " "(suena a obviedad, pero se han dado casos de ejecutar <literal>dch</literal> " "en lugar de <literal>dch -i</literal>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Existing Debian changes need to be reevaluated; throw away stuff that " "upstream has incorporated (in one form or another) and remember to keep " "stuff that hasn't been incorporated by upstream, unless there is a " "compelling reason not to." msgstr "" "Los cambios en la construcción del paquete Debian deben ser reconsiderados; " "elimina las modificaciones anteriores (sea lo que sea) y recuerda de añadir " "todo lo necesario, a no ser que haya una buena razón para no hacerlo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If any changes were made to the build system (hopefully you'd know from " "inspecting upstream changes) then update the <filename>debian/rules</" "filename> and <filename>debian/control</filename> build dependencies if " "necessary." msgstr "" "Si se ha realizado alguna modificación en la compilación (te enterarás al " "inspeccionar los cambios en las fuentes originales) puede que sea necesario " "actualizar el archivo <filename>debian/rules</filename> y las dependencias " "de compilación en el archivo <filename>debian/control</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> to " "see if someone has provided patches to bugs that are currently open." msgstr "" "Debes comprobar si hay alguna comunicación de parches del paquete en el " "sistema de gestión de errores (puede darse el caso que algún usuario envíe " "un parche ya construido y que te sea de utilidad) en <ulink url=\"&bts;" "\">Debian Bug Tracking System (BTS)</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the contents of the <filename>.changes</filename> file to make sure " "you are uploading to the correct distribution, the proper bug closures are " "listed in the <literal>Closes</literal> field, the <literal>Maintainer</" "literal> and <literal>Changed-By</literal> fields match, the file is GPG-" "signed, etc." msgstr "" "Comprueba el contenido del archivo <filename>.changes</filename> para " "asegurarte que envías el paquete a la distribución correcta, que los " "informes de errores que se cierran con la nueva versión del paquete están " "listados en el campo <literal>Closes</literal> del archivo, que el contenido " "de los campos <literal>Maintainer</literal> y <literal>Changed-By</literal> " "son correctos, que has firmado el archivo con tu clave GPG, etc." #. type: Content of: <book><chapter><title> msgid "Uploading the package" msgstr "Enviar el paquete" #. type: Content of: <book><chapter><para> msgid "" "Now that you have tested your new package thoroughly, you want to release it " "to a public archive to share it." msgstr "" "Ahora que has probado tu nuevo paquete en profundidad, podrás transferirlo a " "un archivo público para compartirlo." #. type: Content of: <book><chapter><section><title> msgid "Uploading to the Debian archive" msgstr "Enviar al repositorio de Debian" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <xref linkend=\"socialdynamics\"/>." msgstr "Consulta <xref linkend=\"socialdynamics\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are publicly accessible archives such as <ulink url=\"&mentors-dn;\"/> " "which work almost the same way as the Debian archive and provide an upload " "area for non-DDs. You can set up an equivalent archive by yourself using " "the tools listed at <ulink url=\"&deb-archive;\"/>. So this section is " "useful for non-DDs, too." msgstr "" "Hay archivos públicamente accesibles, como <ulink url=\"&mentors-dn;\"/> que " "funcionan de forma similar al archivo Debian y facilitan un sistema de " "transferencia de paquetes para personas que no son desarrolladores oficiales " "(«DD»). Tu puedes construirte un archivo personal utilizando las " "herramientas listadas en <ulink url=\"&deb-archive;\"/>. Así, esta sección " "también es útil si no eres «DD»." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <systemitem role=\"package\">dput</systemitem> package seems to come " "with more features and to be becoming more popular than the <systemitem role=" "\"package\">dupload</systemitem> package. It uses the file <filename>/etc/" "dput</filename> for its global configuration and the file <filename>~/.dput." "cf</filename> for per-user configuration. It supports Ubuntu-related " "services out-of-the-box, too." msgstr "" "Tal vez el paquete <systemitem role=\"package\">dput</systemitem> tenga más " "funcionalidades y sea más popular que <systemitem role=\"package\">dupload</" "systemitem>. Utiliza el archivo <filename>/etc/dput</filename> para la " "configuración global y el archivo <filename>~/.dput.cf</filename> para la " "configuración del usuario. También incorpora la asistencia para Ubuntu." #. type: Content of: <book><chapter><section><para> msgid "" "Once you become an official developer, <placeholder type=\"footnote\" id=" "\"0\"/> you can upload the package to the Debian archive. <placeholder type=" "\"footnote\" id=\"1\"/> You can do this manually, but it's easier to use the " "existing automated tools, like <citerefentry> <refentrytitle>dupload</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. We'll describe how it's done with <command>dupload</" "command>. <placeholder type=\"footnote\" id=\"2\"/>" msgstr "" "Cuando seas desarrollador oficial Debian <placeholder type=\"footnote\" id=" "\"0\"/>, podrás transferir el paquete al repositorio de Debian <placeholder " "type=\"footnote\" id=\"1\"/>. Puedes hacer esto manualmente, pero es más " "fácil hacerlo con las herramientas automáticas ya disponibles como " "<citerefentry> <refentrytitle>dupload</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> o <citerefentry> <refentrytitle>dput</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. A continuación " "describiremos cómo hacerlo con <command>dupload</command> <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "First you have to set up <command>dupload</command>'s config file. You can " "either edit the system-wide <filename>/etc/dupload.conf</filename> file, or " "have your own <filename>~/.dupload.conf</filename> file override the few " "things you want to change." msgstr "" "En primer lugar, debes generar un fichero de configuración de " "<command>dupload</command>. Puedes hacerlo editando el fichero general del " "sistema <filename>/etc/dupload.conf</filename>, o generando tu propio " "fichero <filename>~/.dupload.conf</filename> con lo que tu quieras cambiar." #. type: Content of: <book><chapter><section><para> msgid "" "You can read the <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> manual page to understand what each " "of these options means." msgstr "" "Consulta el manual de <citerefentry> <refentrytitle>dupload.conf</" "refentrytitle> <manvolnum>5</manvolnum> </citerefentry> para saber el " "significado de cada opción." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. " "\"Uploading a package\"</ulink>." msgstr "" "Véase <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. " "\"Uploading a package\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>$default_host</literal> option determines which of the upload " "queues will be used by default. <literal>anonymous-ftp-master</literal> is " "the primary one, but it's possible that you will want to use another one. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La opción <literal>$default_host</literal> es la más problemática; determina " "cuál de las colas de envíos se usará por omisión. «<literal>anonymous-ftp-" "master</literal>» es la primaria, pero es posible que quieras usar otra más " "rápida <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "While connected to the Internet, you can upload your package as follows:" msgstr "" "Si tienes conexión a Internet, puedes subir el paquete de la siguiente " "manera:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dupload gentoo_0.9.12-1_i386.changes\n" msgstr " dupload gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dupload</command> checks that the SHA1/SHA256 file checksums match " "those listed in the <filename>.changes</filename> file. If they do not " "match, it will warn you to rebuild it as described in <xref linkend=" "\"completebuild\"/> so it can be properly uploaded." msgstr "" "<command>dupload</command> comprueba que las sumas MD5/SHA1/SHA256 de los " "archivos transferidos coinciden con las listadas en el fichero <filename>." "changes</filename>, si no coinciden te avisará para que reconstruyas el " "paquete como se describe en <xref linkend=\"completebuild\"/> para poder " "enviarlo correctamente." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&uploadqueue-readme;\"/>. Alternatively, you can use the " "<command>dcut</command> command from the <systemitem role=\"package\">dput</" "systemitem> package." msgstr "" "Consulta <ulink url=\"&uploadqueue-readme;\"/>. Como alternativa, puedes " "usar la orden <command>dcut</command> del paquete <systemitem role=\"package" "\">dput</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "If you encounter an upload problem at <ulink url=\"&uploadqueue;\"/>, you " "can fix this by manually uploading a GPG-signed <filename>*.commands</" "filename> file to there with <command>ftp</command>. <placeholder type=" "\"footnote\" id=\"0\"/> For example, using <filename>hello.commands</" "filename>:" msgstr "" "Si encuentras algún problema con la subida del paquete a <ulink url=" "\"&uploadqueue;\"/>, puedes arreglarlo subiendo manualmente un fichero " "<filename>*.commands</filename> firmado con GPG con la orden <command>ftp</" "command> <placeholder type=\"footnote\" id=\"0\"/>. Por ejemplo, utiliza " "<filename>hello.commands</filename>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" msgstr "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" #. type: Content of: <book><chapter><section><title> msgid "Including <filename>orig.tar.gz</filename> for upload" msgstr "" "Incluir <filename>orig.tar.gz</filename> para la transferencia del paquete " "al repositorio." #. type: Content of: <book><chapter><section><para> msgid "" "When you first upload the package to the archive, you need to include the " "original <filename>orig.tar.gz</filename> source, too. If the Debian " "revision number of this package is neither <literal>1</literal> nor " "<literal>0</literal>, you must provide the <command>dpkg-buildpackage</" "command> option <literal>-sa</literal>." msgstr "" "Cuando se envía por primera vez al archivo, se debe incluir el archivo " "<filename>orig.tar.gz</filename> con las fuentes originales. Si el número de " "revisión Debian del paquete no es ni <literal>1</literal> ni <literal>0</" "literal>, debes ejecutar la orden <command>dpkg-buildpackage</command> con " "la opción <literal>-sa</literal>. Por otra parte, es posible excluir la " "inclusión del archivo fuente original <filename>orig.tar.gz</filename> con " "la opción <literal>-sd</literal>." #. type: Content of: <book><chapter><section><para> msgid "For the <command>dpkg-buildpackage</command> command:" msgstr "Para la orden <command>dpkg-buildpackage</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -sa\n" msgstr "$ dpkg-buildpackage -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>debuild</command> command:" msgstr "Para la orden <command>debuild</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -sa\n" msgstr "$ debuild -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>pdebuild</command> command:" msgstr "Para la orden <command>pdebuild</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts -sa\n" msgstr "$ pdebuild --debbuildopts -sa\n" #. type: Content of: <book><chapter><section><para> msgid "" "On the other hand, the <literal>-sd</literal> option will force the " "exclusion of the original <filename>orig.tar.gz</filename> source." msgstr "" "Por otra parte, con la opción <literal>-sd</literal> se evita la inclusión " "del archivo <filename>orig.tar.gz</filename> con las fuentes originales." #. type: Content of: <book><chapter><section><title> msgid "Skipped uploads" msgstr "Envíos discontinuados" #. type: Content of: <book><chapter><section><para> msgid "" "If you created multiple entries in <filename>debian/changelog</filename> by " "skipping uploads, you must create a proper <filename>*_.changes</filename> " "file which includes all changes from the last upload. This can be done by " "specifying the <command>dpkg-buildpackage</command> option <literal>-v</" "literal> with the version, e.g., <literal><replaceable>1.2</replaceable></" "literal>." msgstr "" "Si en el archivo <filename>debian/changelog</filename> hay diversas entradas " "correspondientes a diferentes versiones del paquete, pero alguna de ellas no " "se ha enviado al repositorio, deberás generar correctamente un archivo " "<filename>*_.changes</filename> que incluya todas las modificaciones desde " "la última versión presente en el repositorio. Puedes hacerlo ejecutando la " "orden <command>dpkg-buildpackage</command> con la opción <literal>-v</" "literal> seguida de la versión (p. ej. <literal><replaceable>1.2</" "replaceable></literal>)." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" msgstr "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -v<replaceable>1.2</replaceable>\n" msgstr "$ debuild -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" msgstr "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" #. type: Content of: <book><appendix><title> msgid "Advanced packaging" msgstr "Técnicas avanzadas" #. type: Content of: <book><appendix><para> msgid "" "Here are some hints and pointers for advanced packaging topics which you are " "most likely to deal with. You are strongly advised to read all the " "references suggested here." msgstr "" "Éstos son algunos consejos e indicaciones sobre aspectos avanzados del " "mantenimiento de paquetes que pueden ser útiles. Se recomienda " "encarecidamente que leas todas las referencias sugeridas aquí." #. type: Content of: <book><appendix><section><title> msgid "Shared libraries" msgstr "Bibliotecas compartidas" #. type: Content of: <book><appendix><section><para> msgid "" "Before packaging shared <ulink url=\"&library;\">libraries</ulink>, you " "should read the following primary references in detail." msgstr "" "Antes de empaquetar <ulink url=\"&library;\">bibliotecas</ulink> " "compartidas, debes leer atentamente la siguientes referencias básicas." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" msgstr "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" msgstr "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" msgstr "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" #. type: Content of: <book><appendix><section><para> msgid "Here are some oversimplified hints for you to get started." msgstr "Éstos son algunos consejos básicos para empezar." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are <ulink url=\"&elf;\">ELF</ulink> object files " "containing compiled code." msgstr "" "Las bibliotecas compartidas son archivos objeto en formato <ulink url=\"&elf;" "\">ELF</ulink> que contienen código compilado." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are distributed as <filename>*.so</filename> files. " "(Neither <filename>*.a</filename> files nor <filename>*.la</filename> files)" msgstr "" "Las bibliotecas compartidas se distribuyen como ficheros <filename>*.so</" "filename> (no como ficheros <filename>*.a</filename> o <filename>*.la</" "filename>)." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are mainly used to share common codes among multiple " "executables with the <command>ld</command> mechanism." msgstr "" "Las bibliotecas compartidas se utilizan principalmente para compartir código " "común entre varios ejecutables con la orden <command>ld</command>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are sometimes used to provide multiple plugins to an " "executable with the <command>dlopen</command> mechanism." msgstr "" "Las bibliotecas compartidas se utilizan, a veces, para proveer varios " "complementos («plugins») a un ejecutable mediante el procedimiento " "<command>dlopen</command>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries export <ulink url=\"&symbol;\">symbols</ulink> which " "represent compiled objects such as variables, functions, and classes; and " "enables access to them from the linked executables." msgstr "" "Las bibliotecas compartidas exportan <ulink url=\"&symbol;\">símbolos</" "ulink> que representan objetos compilados como variables, funciones y " "clases; y permite acceder a ellos desde los ejecutables enlazados." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" msgstr "" "Como alternativa: <literal>readelf -d lib<replaceable>nombre_biblioteca</" "replaceable>.so.<replaceable>1</replaceable> | grep SONAME</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&soname;\">SONAME</ulink> of a shared library " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "El <ulink url=\"&soname;\">SONAME</ulink> (el nombre lógico) de la " "biblioteca compartida <filename>lib<replaceable>nombre_biblioteca</" "replaceable>.so</filename>.<replaceable>1</replaceable>: <literal>objdump -p " "lib<replaceable>nombre_biblioteca</replaceable>.so.<replaceable>1</" "replaceable> | grep SONAME</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of a shared library usually matches the library file name (but " "not always)." msgstr "" "El «SONAME» (el nombre lógico) de una biblioteca compartida generalmente " "coincide con el nombre del archivo de biblioteca (pero no siempre)." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" msgstr "" "Como alternativa: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of shared libraries linked to <filename><replaceable>/usr/bin/" "foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/foo</" "replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "El «SONAME» (el nombre lógico) de las bibliotecas compartidas enlazadas a " "<filename><replaceable>/usr/bin/foo</replaceable></filename>: " "<literal>objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED</" "literal> <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time " "shared libraries\"</ulink>." msgstr "" "Véase <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time " "shared libraries\"</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: the library package " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> with the SONAME ABI version " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: el paquete de " "biblioteca de la biblioteca compartida <filename>lib<replaceable>foo</" "replaceable>.so.<replaceable>1</replaceable></filename> con la versión ABI " "del nombre lógico («SONAME») <replaceable>1</replaceable>.<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig" "\"</ulink>." msgstr "" "Véase <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig" "\"</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The package maintainer scripts of the library package must call " "<command>ldconfig</command> under the specific circumstances to create the " "necessary symbolic links for the SONAME.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Los guiones de desarrollador de un paquete de biblioteca deben ejecutar " "<command>ldconfig</command> cuando sea necesario para generar los enlaces " "simbólicos para el «SONAME» (el nombre lógico).<placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: the debugging " "symbols package which contains the debugging symbols for the shared library " "package <systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>." msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: el paquete de " "símbolos de depuración que contiene los símbolos de depuración del paquete " "de la biblioteca compartida <systemitem role=\"package" "\">lib<replaceable>foo</replaceable><replaceable>1</replaceable></" "systemitem>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> and <ulink url=\"&policy-dev;\">Debian Policy Manual, " "8.4 \"Development files\"</ulink>." msgstr "" "Consulta <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> y <ulink url=\"&policy-dev;\">Debian Policy Manual, 8.4 " "\"Development files\"</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: the development package which contains the header files etc. " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: el paquete de desarrollo que contiene los ficheros de cabeceras " "y otros de la biblioteca compartida <filename>lib<replaceable>foo</" "replaceable>.so.<replaceable>1</replaceable></filename>.<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink>." msgstr "" "Consulta <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</" "ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not contain <filename>*.la</filename> Libtool archive " "files in general.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "En general, los paquetes Debian no deben contener ficheros «Libtool» " "<filename>*.la</filename>.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "See <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." msgstr "Consulta <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not use RPATH in general.<placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "En general, en los paquetes Debian no debe utilizarse «RPATH».<placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Although it is somewhat outdated and is only a secondary reference, <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "may still be useful." msgstr "" "Aunque está un poco anticuado y es sólo una referencia secundaria, <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "aún puede ser útil." #. type: Content of: <book><appendix><section><title> msgid "" "Managing <filename>debian/<replaceable>package</replaceable>.symbols</" "filename>" msgstr "" "Gestionando <filename>debian/<replaceable>package</replaceable>.symbols</" "filename>" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Backward-incompatible ABI changes normally require you to update the SONAME " "of the library and the shared library package name to new ones." msgstr "" "Los cambios ABI incompatibles con versiones anteriores, normalmente " "requieren actualizar el «SONAME» (el nombre lógico) de la biblioteca y el de " "la biblioteca compartida a otros nuevos." #. type: Content of: <book><appendix><section><para> msgid "" "When you package a shared library, you should create <filename>debian/" "<replaceable>package</replaceable>.symbols</filename> file to manage the " "minimal version associated to each symbol for backward-compatible ABI " "changes under the same SONAME of the library for the same shared library " "package name.<placeholder type=\"footnote\" id=\"0\"/> You should read the " "following primary references in detail." msgstr "" "Cuando empaquetes bibliotecas compartidas, debes generar el fichero " "<filename>debian/<replaceable>nombre_del_paquete</replaceable>.symbols</" "filename> para gestionar la versión mínima asociada a cada símbolo para " "cambios ABI compatibles con versiones anteriores con el mismo " "«SONAME» (nombre lógico) de la biblioteca para el mismo nombre de paquete de " "biblioteca compartida.<placeholder type=\"footnote\" id=\"0\"/> Se aconseja " "la lectura de las siguientes referencias básicas. " #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "For C++ libraries and other cases where tracking individual symbols is too " "difficult, follow <ulink url=\"&policy-library-shlibs;\">Debian Policy " "Manual, 8.6.4 \"The shlibs system\"</ulink>, instead." msgstr "" "Para bibliotecas C++ y otros casos en los que el seguimiento individual de " "símbolos es difícil, es mejor consultar <ulink url=\"&policy-library-shlibs;" "\">Debian Policy Manual, 8.6.4 \"The shlibs system\"</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><para> msgid "" "Here is a rough example to create the <systemitem role=\"package\">libfoo1</" "systemitem> package to the upstream version <literal>1.3</literal> with the " "proper <filename>debian/libfoo1.symbols</filename> file." msgstr "" "Aquí hay un ejemplo para generar el paquete <systemitem role=\"package" "\">libfoo1</systemitem> de la versión <literal>1.3</literal> del autor " "original con el fichero <filename>debian/libfoo1.symbols</filename> adecuado." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Prepare the skeleton debianized source tree using the upstream " "<filename>libfoo-1.3.tar.gz</filename> file." msgstr "" "Preparar el esqueleto de directorios fuente Debian utilizando el fichero con " "las fuentes <filename>libfoo-1.3.tar.gz</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If this is the first packaging of the <systemitem role=\"package\">libfoo1</" "systemitem> package, create the <filename>debian/libfoo1.symbols</filename> " "file with empty content." msgstr "" "Si es la primera versión del paquete <systemitem role=\"package\">libfoo1</" "systemitem>, genera un fichero <filename>debian/libfoo1.symbols</filename> " "en blanco." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was packaged as the " "<systemitem role=\"package\">libfoo1</systemitem> package with the proper " "<filename>debian/libfoo1.symbols</filename> in its source package, use it " "again." msgstr "" "Si la versión anterior del autor (la <literal>1.2</literal>) fue empaquetada " "en el paquete <systemitem role=\"package\">libfoo1</systemitem> con el " "fichero <filename>debian/libfoo1.symbols</filename> adecuado en el paquete " "fuente, utilízalo otra vez." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "All previous versions of Debian packages are available at <ulink url=" "\"&snapshot;\">http://snapshot.debian.org/</ulink>. The Debian revision is " "dropped from the version to make it easier to backport the package: " "<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " "<literal>1.1-1</literal> and <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" msgstr "" "Las versiones previas de los paquetes Debian están disponibles en <ulink url=" "\"&snapshot;\">http://snapshot.debian.org/</ulink>. La revisión Debian del " "paquete sigue a la versión para facilitar mantenimiento de versiones " "anteriores («backport») del paquete: <literal>1.1</literal> << " "<literal>1.1-1~bpo70+1</literal> << <literal>1.1-1</literal> y " "<literal>1.2</literal> << <literal>1.2-1~bpo70+1</literal> << " "<literal>1.2-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was not packaged " "with the <filename>debian/libfoo1.symbols</filename>, create it as the " "<filename>symbols</filename> file from all available binary packages of the " "same shared library package name containing the same SONAME of the library, " "for example, versions <literal>1.1-1</literal> and <literal>1.2-1</" "literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si la versión anterior del autor (la <literal>1.2</literal>) no se empaquetó " "con el fichero <filename>debian/libfoo1.symbols</filename>, genera el " "fichero <filename>symbols</filename> a partir de todos los paquetes binarios " "disponibles con el mismo nombre de paquete de biblioteca compartida que " "compartan el mismo «SONAME» (el nombre lógico) de la biblioteca; por ejemplo " "las versiones <literal>1.1-1</literal> y <literal>1.2-1</literal>. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" msgstr "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Make trial builds of the source tree with tools such as <command>debuild</" "command> and <command>pdebuild</command>. (If this fails due to missing " "symbols etc., there were some backward-incompatible ABI changes which " "require you to bump the shared library package name to something like " "<systemitem role=\"package\">libfoo1a</systemitem> and you should start over " "again.)" msgstr "" "Ejecuta compilaciones de prueba del árbol de directorios de las fuentes con " "órdenes como <command>debuild</command> y <command>pdebuild</command>. Si " "fallan debido a símbolos perdidos u otras causas, busca cambios ABI " "incompatibles con versiones anteriores que requieran cambios en el nombre " "del paquete de biblioteca compartida a algo del tipo <systemitem role=" "\"package\">libnombrebiblioteca1a</systemitem> y vuelta a empezar." #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" msgstr "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: adevertencia: hay símbolos nuevos en el fichero de símbolos: ...\n" " mire las diferencias a continuación\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "The Debian revision is dropped from the version to make it easier to " "backport the package: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" msgstr "" "La revisión de Debian se deriva de la versión para hacer más fácil el " "mantenimiento de versiones anteriores («backport») del paquete: " "<literal>1.3</literal> << <literal>1.3-1~bpo70+1</literal> << " "<literal>1.3-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "If you see the diff printed by the <command>dpkg-gensymbols</command> as " "above, extract the updated proper <filename>symbols</filename> file from the " "generated binary package of the shared library. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Si miras el informe de cambios generado a continuación por la orden " "<command>dpkg-gensymbols</command>, lista el fichero <filename>symbols</" "filename> actualizado adecuadamente para el paquete binario generado de la " "biblioteca compartida. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" msgstr "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Build release packages with tools such as <command>debuild</command> and " "<command>pdebuild</command>." msgstr "" "Compilar paquetes para publicarlos con herramientas como <command>debuild</" "command> y <command>pdebuild</command>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" msgstr "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 \"Shared " "library ABI changes\"</ulink>." msgstr "" "Véase <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 " "\"Shared library ABI changes\"</ulink>." #. type: Content of: <book><appendix><section><para> msgid "" "In addition to the above examples, we need to check the ABI compatibility " "further and bump versions for some symbols manually as needed. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Además de los ejemplos anteriores, también debes comprobar la compatibilidad " "ABI con más atención y actualizar manualmente las versiones de los símbolos " "(si es necesario). <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><para> msgid "" "Although it is only a secondary reference, <ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> and its linked web pages may be " "useful." msgstr "" "Aunque es sólo una referencia secundaria, <ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> y sus enlaces a otras páginas web " "puede ser útil." #. type: Content of: <book><appendix><section><title> msgid "Multiarch" msgstr "Varias arquitecturas" #. type: Content of: <book><appendix><section><para> msgid "" "The multiarch feature introduced to Debian wheezy integrates support for " "cross-architecture installation of binary packages (particularly " "<literal>i386</literal><-><literal>amd64</literal>, but also other " "combinations) in <systemitem role=\"package\">dpkg</systemitem> and " "<systemitem role=\"package\">apt</systemitem>. You should read the " "following references in detail." msgstr "" "La función de varias arquitecturas introducida en Debian «wheezy» integra la " "instalación en más de una arquitectura de los paquetes binarios (en " "particular <literal>i386</literal><-><literal>amd64</literal>, pero " "también con otras combinaciones) en <systemitem role=\"package\">dpkg</" "systemitem> y <systemitem role=\"package\">apt</systemitem>. Se recomienda " "leer atentamente las siguientes referencias." # Se ha optado por dejar los títulos en el idioma original sin traducir #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (upstream)" msgstr "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (autor)" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian situation)" msgstr "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian)" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Old special purpose library paths such as <filename>/lib32/</filename> and " "<filename>/lib64/</filename> are not used any more." msgstr "" "Viejas ubicaciones especiales para bibliotecas como <filename>/lib32/</" "filename> y <filename>/lib64/</filename> ya no se utilizaran más." #. type: Content of: <book><appendix><section><para> msgid "" "It uses the triplet such as <literal>i386-linux-gnu</literal> and " "<literal>x86_64-linux-gnu</literal> for the install path of shared " "libraries. The actual triplet path is dynamically set into <literal>" "$(DEB_HOST_MULTIARCH)</literal> value by <citerefentry> <refentrytitle>dpkg-" "architecture</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for " "each build. For example, the path to install multiarch libraries are " "changed as follows.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Se utilizan tripletes del tipo <literal>i386-linux-gnu</literal> y " "<literal>x86_64-linux-gnu</literal> para el directorio de instalación de " "bibliotecas compartidas. El triplete de trabajo se establece dinámicamente " "al valor <literal>$(DEB_HOST_MULTIARCH)</literal> por <citerefentry> " "<refentrytitle>dpkg-architecture</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> para cada compilación. Por ejemplo, el directorio de " "instalación de bibliotecas para varias arquitecturas se cambia como sigue." "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Old path" msgstr "Directorio antiguo" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "i386 multiarch path" msgstr "directorio multi-arquitectura i386" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "amd64 multiarch path" msgstr "directorio multi-arquitectura amd64" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/</filename>" msgstr "<filename>/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/i386-linux-gnu/</filename>" msgstr "<filename>/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/</filename>" msgstr "<filename>/usr/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/i386-linux-gnu/</filename>" msgstr "<filename>/usr/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/usr/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><para> msgid "" "Here are some typical multiarch package split scenario examples for the " "followings:" msgstr "" "Estos son algunos ejemplos típicos de casos posibles de paquetes para varias " "arquitecturas para los siguientes paquetes:" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a library source <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" msgstr "" "el código fuente de la biblioteca <filename>lib<replaceable>foo</" "replaceable>-1.tar.gz</filename>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>bar</replaceable>-1.tar.gz</filename> " "written in a compiled language" msgstr "" "el código fuente de una orden <filename><replaceable>bar</replaceable>-1.tar." "gz</filename> escrito en un lenguaje compilado" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>baz</replaceable>-1.tar.gz</filename> " "written in an interpreted language" msgstr "" "el código fuente de una orden <filename><replaceable>baz</replaceable>-1.tar." "gz</filename> escrito en un lenguaje interpretado" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package" msgstr "Paquete" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Architecture:" msgstr "Arquitectura:" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Multi-Arch:" msgstr "Multi-arquitectura:" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package content" msgstr "Contenido del paquete" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" # Se ha dejado sin traducir intencionadamente #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "any" msgstr "any" # Se ha dejado sin traducir intencionadamente #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "same" msgstr "same" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library, co-installable" msgstr "la biblioteca compartida es coinstalable" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library debug symbols, co-installable" msgstr "" "los símbolos de depuración de la biblioteca compartida, es coinstalable" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library header files etc., co-installable" msgstr "" "los ficheros de cabeceras y otros de una biblioteca compartida, coinstalable " #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" # Se ha dejado sin traducir intencionadamente #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "foreign" msgstr "foreign" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the run-time support programs, not co-installable" msgstr "los programas de soporte en tiempo de ejecución no son co-instalables." #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" # Se ha dejado sin traducir intencionadamente #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "all" msgstr "all" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library documentation files" msgstr "los ficheros de documentación de la biblioteca compartida" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the compiled program files, not co-installable" msgstr "los ficheros compilados del programa, no son coinstalables" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the documentation files for the program" msgstr "los ficheros de documentación del programa" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the interpreted program files" msgstr "los ficheros de programa interpretados" #. type: Content of: <book><appendix><section><para> msgid "" "Please note that the development package should contain a symlink for the " "associated shared library <emphasis role=\"strong\">without a version " "number</emphasis>. E.g.: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</" "filename> -> <filename>libfoo.so.1</filename>" msgstr "" "Hay que tener en cuenta que el paquete de desarrollo debe contener un enlace " "simbólico a la biblioteca compartida asociada <emphasis role=\"strong\">sin " "el número de versión</emphasis>. P. ej.: <filename>/usr/lib/x86_64-linux-gnu/" "libfoo.so</filename> -> <filename>libfoo.so.1</filename>" #. type: Content of: <book><appendix><section><title> msgid "Building a shared library package" msgstr "Construcción de un paquete de biblioteca compartida" #. type: Content of: <book><appendix><section><para> msgid "" "You can build a Debian library package enabling the multiarch support using " "<citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> as follows." msgstr "" "Puedes construir un paquete de biblioteca Debian con la opción multi-" "arquitectura activada utilizando <citerefentry> <refentrytitle>dh</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> como sigue." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Update <filename>debian/control</filename>." msgstr "Actualizar <filename>debian/control</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Build-Depends: debhelper (>=9)</literal> for the source package " "section." msgstr "" "Añadir <literal>Build-Depends: debhelper (>=9)</literal> en la sección del " "paquete fuente." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Pre-Depends: ${misc:Pre-Depends}</literal> for each shared " "library binary package." msgstr "" "Añadir <literal>Pre-Depends: ${misc:Pre-Depends}</literal> por cada paquete " "binario de biblioteca compartida." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Multi-Arch:</literal> stanza for each binary package section." msgstr "" "Añadir el campo <literal>Multi-Arch:</literal> en cada sección de paquete " "binario." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Set <filename>debian/compat</filename> to \"9\"." msgstr "Establecer <filename>debian/compat</filename> a « 9 »." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Adjust the path from the normal <literal>/usr/lib/</literal> to the " "multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> for all " "packaging scripts." msgstr "" "Cambiar el directorio habitual <literal>/usr/lib/</literal> por el " "directorio multi-arquitectura <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</" "literal> para todos los guiones de empaquetado." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Call <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> in <filename>debian/rules</filename> to set " "<literal>DEB_HOST_MULTIARCH</literal> variable, first." msgstr "" "Añadir (primero) <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> en <filename>debian/rules</filename> para " "establecer la variable <literal>DEB_HOST_MULTIARCH</literal>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace <literal>/usr/lib/</literal> with <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> in <filename>debian/rules</filename>." msgstr "" "Reemplazar <literal>/usr/lib/</literal> por <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> en <filename>debian/rules</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively, you can add <literal>--libdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> and <literal>--libexecdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> arguments to <literal>./configure</" "literal>. Please note that <literal>--libexecdir</literal> specifies the " "default path to install executable programs run by other programs rather " "than by users. Its Autotools default is <filename>/usr/libexec/</filename> " "but its Debian default is <filename>/usr/lib/</filename>." msgstr "" "Como alternativa, puedes añadir los argumentos <literal>--libdir=\\$" "${prefix}/lib/$(DEB_HOST_MULTIARCH)</literal> y <literal>--libexecdir=\\$" "${prefix}/lib/$(DEB_HOST_MULTIARCH)</literal> en <literal>./configure</" "literal>. Fíjate que <literal>--libexecdir</literal> especifica el " "directorio predeterminado para la instalación de programas ejecutables que " "son ejecutados por otros programas en lugar de por los usuarios. El valor " "predeterminado por «Autotools» es <filename>/usr/libexec/</filename> pero en " "Debian es <filename>/usr/lib/</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If <literal>./configure</literal> is used in the part of " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>, make sure to replace it with <literal>dh_auto_configure -- " "</literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si se utiliza <literal>./configure</literal> como parte del objetivo " "<literal>override_dh_auto_configure</literal> en el fichero <filename>debian/" "rules</filename>, hay que reemplazarlo por <literal>dh_auto_configure -- </" "literal>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace all occurrences of <literal>/usr/lib/</literal> with <literal>/usr/" "lib/*/</literal> in <filename>debian/<replaceable>foo</replaceable>.install</" "filename> files." msgstr "" "Cambiar todas referencias a <literal>/usr/lib/</literal> por <literal>/usr/" "lib/*/</literal> en los ficheros <filename>debian/" "<replaceable>nombre_del_paquete</replaceable>.install</filename>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Generate files like <filename>debian/<replaceable>foo</replaceable>.links</" "filename> from <filename>debian/<replaceable>foo</replaceable>.links.in</" "filename> dynamically by adding a script to " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>." msgstr "" "Generar ficheros como <filename>debian/<replaceable>nombre_del_paquete</" "replaceable>.links</filename> desde <filename>debian/" "<replaceable>nombre_del_paquete</replaceable>.links.in</filename> " "dinámicamente añadiendo un guión al objetivo " "<literal>override_dh_auto_configure</literal> en <filename>debian/rules</" "filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>nombre_del_paquete</replaceable>.links.in > debian/<replaceable>nombre_del_paquete</replaceable>.links\n" #. type: Content of: <book><appendix><section><para> msgid "" "Please make sure to verify that the shared library package contains only the " "expected files, and that your -dev package still works." msgstr "" "Debes comprobar que el paquete de biblioteca compartida solo contiene los " "ficheros esperados y que el paquete «-dev» sigue funcionando correctamente." #. type: Content of: <book><appendix><section><para> msgid "" "All files installed simultaneously as the multiarch package to the same file " "path should have exactly the same file content. You must be careful on " "differences generated by the data byte order and by the compression " "algorithm." msgstr "" "Todos los ficheros instalados simultáneamente por el paquete multi-" "arquitectura en el mismo directorio deben contener los mismos ficheros. " "Debes tener cuidado en las diferencias generadas por el orden de los bits de " "datos y por el algoritmo de compresión." �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/it.ent������������������������������������������������������������������������0000644�0000000�0000000�00000001062�12256550103�012430� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- This is UTF-8 file. Remember, the *first* definition of an entity wins. --> <!ENTITY othercredit ' <othercredit role="translator"><personname>Calogero Lo Leggio</personname><email>kalos@nerdrug.org</email><contrib>Traduzione italiana</contrib></othercredit> <othercredit role="translator"><personname>Jacopo Reggiani</personname><email>jacopo.reggiani@gmail.com</email><contrib>Traduzione italiana</contrib></othercredit> <othercredit role="translator"><personname>Francesco P. Lovergine</personname><contrib>Traduzione italiana</contrib></othercredit> '> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/ja.ent������������������������������������������������������������������������0000644�0000000�0000000�00000001521�12256550103�012406� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- This is UTF-8 file. Remember, the *first* definition of an entity wins. --> <!ENTITY othercredit ' <othercredit role="translator"><personname>倉澤 望</personname><email>nabetaro@debian.or.jp</email><contrib>日本語訳</contrib></othercredit> <othercredit role="translator"><personname>八津尾 雄介</personname><email>yyatsuo@gmail.com</email><contrib>日本語訳</contrib></othercredit> <othercredit role="translator"><personname>佐々木 洋平</personname><email>uwabami@gfd-dennou.org</email><contrib>日本語訳</contrib></othercredit> <othercredit role="translator"><personname>倉敷 悟</personname><email>lurdan@gmail.com</email><contrib>日本語訳</contrib></othercredit> <othercredit role="translator"><personname>青木 修</personname><email>osamu@debian.org</email><contrib>日本語訳</contrib></othercredit> '> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/en.ent������������������������������������������������������������������������0000644�0000000�0000000�00000000153�12256314423�012421� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- This is UTF-8 file. Remember, the *first* definition of an entity wins. --> <!ENTITY othercredit ''> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/zh-tw.po����������������������������������������������������������������������0000644�0000000�0000000�00002366147�12262271627�012751� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Chinese translations for maint-guide package # maint-guide 套件的繁體中文翻譯 # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the maint-guide package. # Aron <happyaron.xu@gmail.com>, 2010. # zh-tw by Osamu Aoki <osamu@debian.org with help by 陳侃如 <koster@debian.org> # msgid "" msgstr "" "Project-Id-Version: maint-guide HEAD\n" "POT-Creation-Date: 2014-01-06 00:00+0900\n" "PO-Revision-Date: 2010-12-19 20:51+0900\n" "Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: Attribute 'lang' of: <book> msgid "en" msgstr "zh-tw" #. type: Content of: <book><title> msgid "Debian New Maintainers' Guide" msgstr "Debian 新維護人員手冊" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Josip Rodin" msgstr "" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "joy-mg@debian.org" msgstr "joy-mg@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "original contents" msgstr "" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Osamu Aoki" msgstr "" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "osamu@debian.org" msgstr "osamu@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "updated contents" msgstr "" #. type: Content of: <book><bookinfo><releaseinfo> msgid "version &docversion;" msgstr "版本 &docversion;" #. type: Content of: <book><bookinfo> msgid "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" msgstr "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "" "This document may be used under the terms the GNU General Public License " "version 2 or higher." msgstr "本文件可在 GNU 通用公共許可證第二版或更高版本的條款規定下使用。" #. type: Content of: <book><bookinfo><legalnotice><para> #, fuzzy #| msgid "This document was made using with these two documents as examples:" msgid "This document was made using these two documents as examples:" msgstr "本文件在撰寫過程中參考了以下兩篇文件:" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." msgstr "" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." msgstr "" #. type: Content of: <book><chapter><title> msgid "Getting started The Right Way" msgstr "從一條正確的路開始" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "This document tries to describe building of a Debian package to the " #| "common Debian user, and the prospectus developer. It uses pretty common " #| "language, and it's well covered with working examples. There is an old " #| "Roman saying, <emphasis>Longum iter est per preaecepta, breve et efficax " #| "per exempla!</emphasis> (It's a long way by the rules, but short and " #| "efficient with examples!)." msgid "" "This document tries to describe the building of a Debian package to ordinary " "Debian users and prospective developers. It uses fairly non-technical " "language, and it's well covered with working examples. There is an old " "Latin saying: <emphasis>Longum iter est per praecepta, breve et efficax per " "exempla</emphasis> (It's a long way by the rules, but short and efficient " "with examples)." msgstr "" "本文件試圖爲普通 Debian 用戶,和希望對 Debian 套件有所瞭解的開發人員講述如何" "製作 Debian 套件。它使用了通俗的語言,並輔以大量可用於實踐的範例。有一句古羅" "馬諺語說得好:<emphasis>一例勝千言!</emphasis>" #. type: Content of: <book><chapter><para><footnote><para> #, fuzzy #| msgid "" #| "The document assumes you are using the <literal>squeeze</literal> " #| "system. If you need to follow this text in the <literal>lenny</literal> " #| "system, you must install backported <systemitem role=\"package\">dpkg</" #| "systemitem> and <systemitem role=\"package\">debhelper</systemitem> " #| "packages, at least." msgid "" "The document assumes you are using a <literal>&base-release;</literal> or " "newer system. If you need to follow this text in an older system (including " "an older Ubuntu system etc.), you must install backported <systemitem role=" "\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</" "systemitem> packages, at least." msgstr "" "本文件默認您使用 <literal>squeeze</literal> 爲作業系統。如果你需要在 " "<literal>lenny</literal> 系統上使用本文件記述的方法,則至少必須安裝 " "backports 的 <systemitem role=\"package\">dpkg</systemitem> 和 <systemitem " "role=\"package\">debhelper</systemitem> 套件。" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "This document has been updated for the Debian <literal>squeeze</literal> " #| "release. <placeholder type=\"footnote\" id=\"0\"/>" msgid "" "This document has been updated for the Debian <literal>&base-release;</" "literal> release. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "本文件已經爲 Debian <literal>squeeze</literal> 進行了更新。 <placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "You can learn about the basic handling of a Debian system from the <ulink " "url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to " "learn about Unix programming, too." msgstr "" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "One of the things that makes Debian such a top-notch distribution is its " #| "package system. While there is a vast quantity of software already in " #| "the Debian format, sometimes you need to install software that isn't. " #| "You may be wondering how you can make your own packages and perhaps you " #| "think it is a very difficult task. Well, if you are a real novice on " #| "Linux, it is hard, but if you were rookie, you wouldn't be reading this " #| "doc now. :-) You do need to know a little about Unix programming but you " #| "certainly don't need to be a wizard." msgid "" "One of the things that makes Debian such a top-notch distribution is its " "package system. While there is a vast quantity of software already in the " "Debian format, sometimes you need to install software that isn't. You may " "be wondering how you can make your own packages; and perhaps you think it is " "a very difficult task. Well, if you are a real novice on Linux, it is hard, " "but if you were a rookie, you wouldn't be reading this document " "now :-) You do need to know a little about Unix programming but you " "certainly don't need to be a wizard. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Debian 能夠成爲一個頂級的發行版的原因之一就是它的套件系統。儘管相當數量的軟體" "已經被以 Debian 格式打包,有時還是需要安裝一些不是這一格式的軟體。可能你會爲" "如何製作自己的套件而迷惑,並可能認爲這是很困難的任務。是的,如果你是一個 " "Linux 初學者,那麼這的確很難;不過如果你真的只是一個新手,現在也不會來讀這篇" "文件了。:-) 你的確需要對 Unix 編程有所瞭解,但顯然不需要是這方面的天才。" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "One thing is certain, though: to properly create and maintain Debian " #| "packages you need many hours. Make no mistake, for our system to work " #| "the maintainers need to be both technically competent and diligent." msgid "" "One thing is certain, though: to properly create and maintain Debian " "packages takes many hours. Make no mistake, for our system to work the " "maintainers need to be both technically competent and diligent." msgstr "" "有一件事是非常明確的:創建並維護一個 Debian 套件需要花費很多時間。爲了能夠不" "犯錯誤,維護者需要良好的技術基礎並十分勤奮。" #. type: Content of: <book><chapter><para> msgid "" "If you need some help on packaging, please read <xref linkend=\"helpme\"/>." msgstr "如果需要幫助,請閱讀 <xref linkend=\"helpme\"/>。" #. type: Content of: <book><chapter><para> msgid "" "Newer versions of this document should always be available online at <ulink " "url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</" "systemitem> package. The translations may be available in packages such as " "<systemitem role=\"package\">maint-guide-es</systemitem>. Please note that " "this documentation may be slightly outdated." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Since this is a tutorial, I choose to explain each detailed step for some " "important topics. Some of them may look irrelevant to you. Please be " "patient. I have also intentionally skipped some corner cases and provided " "only pointers to keep this document simple." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Social dynamics of Debian" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here are some observations of Debian's social dynamics, presented in the " "hope that it will prepare you for interactions with Debian." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "We all are volunteers." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You cannot impose on others what to do." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be motivated to do things by yourself." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Friendly cooperation is the driving force." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution should not overstrain others." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution is valuable only when others appreciate it." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Debian is not your school where you get automatic attention of teachers." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be able to learn many things by yourself." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Attention from other volunteers is a very scarce resource." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Debian is constantly improving." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You are expected to make high quality packages." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should adapt yourself to change." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "There are several role names used around Debian." msgid "" "There are several types of people interacting around Debian with different " "roles." msgstr "在 Debian 社群中有幾個常見的角色。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<emphasis role=\"strong\">upstream author</emphasis>: The person who made " #| "the original program." msgid "" "<emphasis role=\"strong\">upstream author</emphasis>: the person who made " "the original program." msgstr "" "<emphasis role=\"strong\">上游作者(upstream author)</emphasis>:程式的最原始" "作者。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<emphasis role=\"strong\">upstream maintainer</emphasis>: The person who " #| "currently maintains the program." msgid "" "<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who " "currently maintains the program." msgstr "" "<emphasis role=\"strong\">上游維護者(upstream maintainer)</emphasis>:目前在" "上游維護程式程式碼的人。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<emphasis role=\"strong\">maintainer</emphasis>: The person who makes " #| "Debian package of the program." msgid "" "<emphasis role=\"strong\">maintainer</emphasis>: the person making the " "Debian package of the program." msgstr "" "<emphasis role=\"strong\">維護者(maintainer)</emphasis>:製作該程式的 Debian " "套件的人。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<emphasis role=\"strong\">sponsor</emphasis>: The person who helps " #| "maintainers to upload packages to the official Debian Package Archive " #| "after checking their contents." msgid "" "<emphasis role=\"strong\">sponsor</emphasis>: a person who helps maintainers " "to upload packages to the official Debian package archive (after checking " "their contents)." msgstr "" "<emphasis role=\"strong\">保證人(sponsor)</emphasis>:檢査內容後幫助維護者上" "傳套件到 Debian 官方倉庫的人。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<emphasis role=\"strong\">mentor</emphasis>: The person who helps novice " #| "maintainers on packaging etc." msgid "" "<emphasis role=\"strong\">mentor</emphasis>: a person who helps novice " "maintainers with packaging etc." msgstr "" "<emphasis role=\"strong\">指導者(mentor)</emphasis>:幫助維護者熟悉和深入打包" "的人。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): The person " #| "who is a member of Debian. He has full upload right to the official " #| "Debian Package Archive." msgid "" "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): a member of the " "Debian project with full upload rights to the official Debian package " "archive." msgstr "" "<emphasis role=\"strong\">Debian Developer</emphasis> (DD):Debian 社群的官方" "成員。DD 擁有向 Debian 官方倉庫上傳的全部權限。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): The person " #| "who has limited upload right to the official Debian Package Archive." msgid "" "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): a person with " "limited upload rights to the official Debian package archive." msgstr "" "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM):擁有對 Debian 官" "方倉庫部分上傳權限的人。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You can not become an official <emphasis role=\"strong\">Debian " #| "Developer</emphasis> (DD) over night because it takes more than technical " #| "skill. Please do not be discouraged by this. If it is useful to others, " #| "you can still upload your package either as a <emphasis role=\"strong" #| "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</" #| "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</" #| "emphasis>. See <ulink url=\"&nm-join;\">Debian New Maintainers</ulink> " #| "for more." msgid "" "Please note that you cannot become an official <emphasis role=\"strong" "\">Debian Developer</emphasis> (DD) overnight, because it takes more than " "technical skill. Please do not be discouraged by this. If it is useful to " "others, you can still upload your package either as a <emphasis role=\"strong" "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</" "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>." msgstr "" "你不可能在一夜之間成爲 <emphasis role=\"strong\">Debian Developer</emphasis> " "(DD),因爲一個 DD 所需要的遠不只是技術能力,請不要因此感覺到挫敗或沮喪。如果" "你的軟體對其他人有用,你可以作爲一個 <emphasis role=\"strong\">維護者" "(maintainer)</emphasis> 通過 一位 <emphasis role=\"strong\">保證人(sponsor)</" "emphasis> 來上傳軟體,或者申請成爲一位 <emphasis role=\"strong\">Debian " "Maintainer</emphasis>。詳見 <ulink url=\"&nm-join;\">Debian New Maintainers</" "ulink>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Please note that you do not need to create any new package to become an " #| "official Debian Developer. Contributing to the existing packages can " #| "provide a path to become an official Debian Developer too. There are " #| "many packages waiting for good maintainers (see <xref linkend=\"choose\"/" #| ">)." msgid "" "Please note that you do not need to create any new package to become an " "official Debian Developer. Contributing to the existing packages can " "provide a path to becoming an official Debian Developer too. There are many " "packages waiting for good maintainers (see <xref linkend=\"choose\"/>)." msgstr "" "請注意,要成爲一位正式的 Debian Developer 並不一定要創建新套件。對已有軟體做" "出貢獻也是成爲正式的 Debian Developer 的路徑。眼下正有很多套件正在等待一個好" "的維護者對其做出貢獻。(參考 <xref linkend=\"choose\"/>)" #. type: Content of: <book><chapter><section><para> msgid "" "Since we focus only on technical aspects of packaging in this document, " "please refer to the following to learn how Debian functions and how you can " "get involved." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (Introductory slides)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgid "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)" msgstr "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgid "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "\"Contributing to the Debian Project\"</ulink> (semi-official)" msgstr "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " "(supplemental)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgid "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (official)" msgstr "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)" msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Programs you need for development" msgid "Programs needed for development" msgstr "開發時需要的軟體" #. type: Content of: <book><chapter><section><para> msgid "" "Before you start anything, you should make sure that you have properly " "installed some additional packages needed for development. Note that the " "list doesn't contain any packages marked <literal>essential</literal> or " "<literal>required</literal> - we expect that you have those installed " "already." msgstr "" "在開始之前,你需要確認你是否已經正確安裝了開發所需要的附加套件。注意這些套件" "不包含任何已經被標記爲 <literal>essential</literal> 或 <literal>required</" "literal> —— 我們假設你已經安裝了它們。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The following packages come with the standard Debian installation, so you " #| "probably have them already (along with any additional packages they " #| "depend on). Still, you should check it with <literal>aptitude show " #| "<replaceable>package</replaceable></literal>." msgid "" "The following packages come with the standard Debian installation, so you " "probably have them already (along with any additional packages they depend " "on). Still, you should check it with <literal>aptitude show " "<replaceable>package</replaceable></literal> or with <literal>dpkg -s " "<replaceable>package</replaceable></literal>." msgstr "" "以下這些套件已經隨標準的 Debian 安裝而在系統中,所以你可能不需要再動手安裝它" "們(以及任何附加的依賴套件)。然而,你還是應該用 <literal>aptitude show " "<replaceable>package</replaceable></literal> 來檢査一下。" #. type: Content of: <book><chapter><section><para> msgid "" "The most important package to install on your development system is the " "<systemitem role=\"package\">build-essential</systemitem> package. Once you " "try to install that, it will <emphasis>pull in</emphasis> other packages " "required to have a basic build environment." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For some types of packages, that is all you will require, however there " #| "is another set of packages that while not essential for all package " #| "builds are useful to have install or may be required by your package:" msgid "" "For some types of packages, that is all you will require; however, there is " "another set of packages that while not essential for all package builds are " "useful to have installed or may be required by your package:" msgstr "" "對於某些類型的軟體,以上的就是所需要的全部。然而還有一組套件雖不是對於所有套" "件都必須,卻可能對你有用或被你的套件所需要:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" #| "\"package\">automake</systemitem> and <systemitem role=\"package" #| "\">autotools-dev</systemitem> - many newer programs use configure scripts " #| "and <filename>Makefile</filename> files preprocessed with help of " #| "programs like these. (see <literal>info autoconf</literal>, " #| "<literal>info automake</literal>). The <systemitem role=\"package" #| "\">autotools-dev</systemitem> keeps up-to-date versions of certain auto " #| "files and has documentation about the best way to use those files." msgid "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem>, and <systemitem role=\"package" "\">autotools-dev</systemitem> - many newer programs use configure scripts " "and <filename>Makefile</filename> files preprocessed with the help of " "programs like these (see <literal>info autoconf</literal>, <literal>info " "automake</literal>). <systemitem role=\"package\">autotools-dev</" "systemitem> keeps up-to-date versions of certain auto files and has " "documentation about the best way to use those files." msgstr "" "<systemitem role=\"package\">autoconf</systemitem>、<systemitem role=" "\"package\">automake</systemitem> 和 <systemitem role=\"package\">autotools-" "dev</systemitem> - 很多新程式使用 configure 腳本和 <filename>Makefile</" "filename> 檔案來幫助預處理程式。(參考 <literal>info autoconf</literal>、" "<literal>info automake</literal>)。 <systemitem role=\"package\">autotools-" "dev</systemitem> 則用於保持指定的自動設定檔案爲最新,並帶有關於使用那些檔案的" "最佳方法的文件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "There are few similar but specialized packages such as <systemitem role=" #| "\"package\">dh-make-perl</systemitem>, <systemitem role=\"package\">dh-" #| "make-php</systemitem>, etc." msgid "" "There are also some more specialized but similar packages such as " "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" "\"package\">dh-make-php</systemitem>, etc." msgstr "" "還有幾個類似但更針對某一類軟體的套件,如 <systemitem role=\"package\">dh-" "make-perl</systemitem>、<systemitem role=\"package\">dh-make-php</" "systemitem> 等。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">dh-make</systemitem> and <systemitem role=" #| "\"package\">debhelper</systemitem> - <systemitem role=\"package\">dh-" #| "make</systemitem> is necessary to create the skeleton of our example " #| "package, and it will use some of the <systemitem role=\"package" #| "\">debhelper</systemitem> tools for creating packages. They are not " #| "essential for creation of packages, but are <emphasis>highly</emphasis> " #| "recommended for new maintainers. It makes the whole process very much " #| "easier to start, and control afterwards. (see <citerefentry> " #| "<refentrytitle>dh_make</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>debhelper</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>, <filename>/usr/share/doc/" #| "debhelper/README</filename>) <placeholder type=\"footnote\" id=\"0\"/>" msgid "" "<systemitem role=\"package\">debhelper</systemitem> and <systemitem role=" "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> is necessary to create the skeleton of our example package, and " "it will use some of the <systemitem role=\"package\">debhelper</systemitem> " "tools for creating packages. They are not essential for this purpose, but " "are <emphasis>highly</emphasis> recommended for new maintainers. It makes " "the whole process very much easier to start, and to control afterwards. " "(See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">dh-make</systemitem> 和 <systemitem role=" "\"package\">debhelper</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> 是用於創建我們範例套件骨架所必須的,它會使用 <systemitem role=" "\"package\">debhelper</systemitem> 中的一些工具來創建套件。他們不是創建套件所" "必須的,但對新維護人員而言,我們 <emphasis>強烈推薦</emphasis> 使用。它使得整" "個過程極爲簡化,並易於在將來維護。(參考 <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>、<citerefentry> <refentrytitle>debhelper</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>、<filename>/usr/share/doc/debhelper/" "README</filename>) <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">devscripts</systemitem> - this package " #| "contains some nice and useful scripts that can be helpful to the " #| "maintainers, but they are also not necessary for building packages. " #| "Packages recommended and suggested by this package are worth looking " #| "into. (see <filename>/usr/share/doc/devscripts/README.gz</filename>)" msgid "" "<systemitem role=\"package\">devscripts</systemitem> - this package contains " "some useful scripts that can be helpful for maintainers, but they are also " "not necessary for building packages. Packages recommended and suggested by " "this package are worth looking into. (See <filename>&devscripts-readme;</" "filename>.)" msgstr "" "<systemitem role=\"package\">devscripts</systemitem> - 此套件提供了一些非常好" "非常有用的腳本幫助維護者,但他們並非構建套件所必須。此套件所推薦或建議的套件" "都值得一看。(參考 <filename>/usr/share/doc/devscripts/README.gz</filename>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets " #| "you emulate being root which is necessary for some parts of the build " #| "process. (see <citerefentry> <refentrytitle>fakeroot</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you " "emulate being root which is necessary for some parts of the build process. " "(See <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">fakeroot</systemitem> - 這個工具集使你可以在編譯" "過程中必要的時候用普通用戶模擬 root 用戶環境。(參考 <citerefentry> " "<refentrytitle>fakeroot</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">file</systemitem> - this handy program can " #| "determine what type a file is. (see <citerefentry> <refentrytitle>file</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">file</systemitem> - this handy program can " "determine what type a file is. (See <citerefentry> <refentrytitle>file</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">file</systemitem> - 這個小程式可以檢測檔案的類" "型。(參考 <citerefentry> <refentrytitle>file</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " #| "compiler, necessary if your program is written in Fortran. (see " #| "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " "compiler, necessary if your program is written in Fortran. (See " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gfortran</systemitem> - GNU Fortran 95 編譯器," "如果你的程式是用 Fortran 編寫的則必須此套件完成編譯。(參考 <citerefentry> " "<refentrytitle>gfortran</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">git</systemitem> - this package provides " #| "popular version control system designed to handle very large projects " #| "with speed and efficiency; it is used for many high profile open source " #| "projects, most notably the Linux kernel. (see <citerefentry> " #| "<refentrytitle>git</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>, <filename>/usr/share/doc/git-doc/index.html</filename>)" msgid "" "<systemitem role=\"package\">git</systemitem> - this package provides a " "popular version control system designed to handle very large projects with " "speed and efficiency; it is used for many high profile open source projects, " "most notably the Linux kernel. (See <citerefentry> <refentrytitle>git</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, git Manual " "(<filename>&git-doc;</filename>).)" msgstr "" "<systemitem role=\"package\">git</systemitem> - 此套件提供了用於快捷處理大型" "項目的著名版本控制系統 - git。它被廣泛用於各種開源項目,最著名的是 Linux 核心" "項目。(參考 <citerefentry> <refentrytitle>git</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>、<filename>/usr/share/doc/git-doc/index.html</" "filename>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you " #| "to digitally <emphasis>sign</emphasis> packages. This is especially " #| "important if you want to distribute it to other people, and you will " #| "certainly be doing that when your work gets included in the Debian " #| "distribution. (see <citerefentry> <refentrytitle>gpg</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to " "digitally <emphasis>sign</emphasis> packages. This is especially important " "if you want to distribute it to other people, and you will certainly be " "doing that when your work gets included in the Debian distribution. (See " "<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">gnupg</systemitem> - 使你可以使用 <emphasis>數位" "簽章</emphasis> 簽署你的套件。這在當你想把它散佈給其他人時特別重要。如果你要" "把你的工作加入到 Debian 發行版中,這是必須的步驟。(參考 <citerefentry> " "<refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " #| "necessary if your program is written in Pascal. Worthy of note here is " #| "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " #| "Compiler, which is also good at this task. (see <citerefentry> " #| "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>ppc386</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " "necessary if your program is written in Pascal. Worthy of note here is " "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " "Compiler, which is also good at this task. (See <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gpc</systemitem> - GNU Pascal 編譯器。如果你的程" "式是用 Pascal 寫的則需要此套件。值得一提的是 <systemitem role=\"package\">fp-" "compiler</systemitem>,Free Pascal 編譯器(FPC),也能夠很好地勝任。(參考 " "<citerefentry> <refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>、<citerefentry> <refentrytitle>ppc386</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">lintian</systemitem> - this is the Debian " #| "package checker that can let you know of any common mistakes after you " #| "build the package, and explains the errors found. (see <citerefentry> " #| "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>, <filename>/usr/share/doc/lintian/lintian.html/index.html</" #| "filename>)" msgid "" "<systemitem role=\"package\">lintian</systemitem> - this is the Debian " "package checker, which can let you know of any common mistakes after you " "build the package, and explains the errors found. (See <citerefentry> " "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)" msgstr "" "<systemitem role=\"package\">lintian</systemitem> - Debian 套件檢査工具,使你" "可以在編譯套件後知道它是否有常見的錯誤,並對找到的錯誤進行解釋。(參考 " "<citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>、<filename>/usr/share/doc/lintian/lintian.html/" "index.html</filename>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">patch</systemitem> - this very useful " #| "utility will take a file containing a difference listing (produced by the " #| "<command>diff</command> program) and apply it to the original file, " #| "producing a patched version. (see <citerefentry> <refentrytitle>patch</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">patch</systemitem> - this very useful utility " "will take a file containing a difference listing (produced by the " "<command>diff</command> program) and apply it to the original file, " "producing a patched version. (See <citerefentry> <refentrytitle>patch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">patch</systemitem> - 這是一個非常有用的工具,它" "可以把 <command>diff</command> 程式生成的差異清單檔案應用到原先的檔案上,從而" "生成一個補丁版本。(參考 <citerefentry> <refentrytitle>patch</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patchutils</systemitem> - this package contains " "some utilities to work with patches such as the <command>lsdiff</command>, " "<command>interdiff</command> and <command>filterdiff</command> commands." msgstr "" "<systemitem role=\"package\">patchutils</systemitem> - 此套件提供了一些可以幫" "助處理補丁的工具,如 <command>lsdiff</command>、<command>interdiff</command> " "和 <command>filterdiff</command> 命令。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">pbuilder</systemitem> - this package contains " "programs which are used for creating and maintaining <command>chroot</" "command> environment. Building Debian package in this <command>chroot</" "command> environment verifies the proper build dependency and avoid FTBFS " "(Fails To Build From Source) bugs. (see <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" msgstr "" "<systemitem role=\"package\">pbuilder</systemitem> - 這個套件提供了創建和維" "護 <command>chroot</command> 環境。在此 <command>chroot</command> 環境中編譯 " "Debian 套件可以檢査編譯依賴是否合適並避免 FTBFS (Fails To Build From Source," "從原始碼編譯失敗)的 Bug。(參考 <citerefentry> <refentrytitle>pbuilder</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry> 和 <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">python</systemitem> - Python is another of " #| "the most used interpreted scripting languages on the Debian system that " #| "combines remarkable power with very clear syntax. (see <citerefentry> " #| "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>)" msgid "" "<systemitem role=\"package\">perl</systemitem> - Perl is one of the most " "used interpreted scripting languages on today's Unix-like systems, often " "referred to as Unix's Swiss Army Chainsaw. (See <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">python</systemitem> - Python 是 Debian 系統中另" "一個最常用的解譯型腳本語言,它擁有着可圈可點的強大功能和十分清晰的語法。(參" "考 <citerefentry> <refentrytitle>python</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">python</systemitem> - Python is another of " #| "the most used interpreted scripting languages on the Debian system that " #| "combines remarkable power with very clear syntax. (see <citerefentry> " #| "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>)" msgid "" "<systemitem role=\"package\">python</systemitem> - Python is another of the " "most used interpreted scripting languages on the Debian system, combining " "remarkable power with very clear syntax. (See <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">python</systemitem> - Python 是 Debian 系統中另" "一個最常用的解譯型腳本語言,它擁有着可圈可點的強大功能和十分清晰的語法。(參" "考 <citerefentry> <refentrytitle>python</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">quilt</systemitem> - this package helps you " #| "to manage a series of patches by keeping track of the changes each of " #| "them makes. They are logically organized as a stack, and you can apply " #| "(=push), un-apply (=pop), refresh them easily by traveling into the " #| "stack. (see <citerefentry> <refentrytitle>quilt</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>, <filename>/usr/share/doc/quilt/" #| "README.Debian</filename>)" msgid "" "<systemitem role=\"package\">quilt</systemitem> - this package helps you to " "manage large numbers of patches by keeping track of the changes each patch " "makes. Patches can be applied, un-applied, refreshed, and more. (See " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum></citerefentry>, and <filename>&quilt-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">quilt</systemitem> - 此套件幫助你管理一系列的補" "丁。它們被以邏輯堆疊的方式組織在一起。你可以 apply (=push)、un-apply (=pop) " "或簡單地更新它們然後再放入堆疊內。(參考 <citerefentry> <refentrytitle>quilt</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、<filename>/usr/" "share/doc/quilt/README.Debian</filename>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " #| "usually those made for X11, also use these programs to generate " #| "<filename>Makefile</filename> files from sets of macro functions. (see " #| "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>xmkmf</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " "usually those made for X11, also use these programs to generate " "<filename>Makefile</filename> files from sets of macro functions. (See " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">xutils-dev</systemitem> - 一些通常用於 X11 的程" "式,用於使用其巨集功能生成 <filename>Makefile</filename> 檔案。(參考 " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>、<citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The short descriptions that are given above only serve to introduce you " #| "to what each package does. Before continuing please thoroughly read the " #| "documentation of each program, at least, for the standard usage. It may " #| "seem like heavy going now, but later on you'll be <emphasis>very</" #| "emphasis> glad you read it." msgid "" "The short descriptions that are given above only serve to introduce you to " "what each package does. Before continuing please read the documentation of " "each relevant program including ones installed through the package " "dependency such as <command>make</command>, at least, for the standard " "usage. It may seem like heavy going now, but later on you'll be " "<emphasis>very</emphasis> glad you read it. If you have specific questions " "later, I would suggest re-reading the documents mentioned above." msgstr "" "以上給出的簡短描述僅僅是爲了使你對這些套件有一個基本的印象。在繼續前請詳細閱" "讀每個程式的文件,至少了解其一般的用途和用法。現在看來這是一項耗時巨大的任" "務,但在接下來的工作中你將爲你閱讀了它們而感覺到 <emphasis>非常</emphasis> 愉" "快。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Programs you need for development" msgid "Documentation needed for development" msgstr "開發時需要的軟體" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>very important</emphasis> documentation which " "you should read along with this document:" msgstr "" "以下是 <emphasis>非常重要</emphasis> 的文件,你應該在讀本文件時同時參考它們:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" #| "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " #| "the structure and contents of the Debian archive, several OS design " #| "issues, the Filesystem Hierarchy Standard (which says where each file and " #| "directory should be) etc. For you, the most important thing is that it " #| "describes requirements that each package must satisfy to be included in " #| "the distribution (see <filename>/usr/share/doc/debian-policy/policy.html/" #| "index.html</filename>)." msgid "" "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " "the structure and contents of the Debian archive, several OS design issues, " "the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which " "says where each file and directory should be), etc. For you, the most " "important thing is that it describes requirements that each package must " "satisfy to be included in the distribution. (See the local copies of " "<filename>&policy-pdf;</filename> and <filename>&fhs-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">debian-policy</systemitem> - <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> 包含了對 Debian 軟體倉庫、作" "業系統設計事宜、檔案系統層級標準(FHS,Filesystem Hierarchy Standard)(講述每個" "檔案和目錄應該放在哪裏)等的描述。對於你而言,最重要的是它描述了套件要進入官方" "倉庫前必須滿足的條件。(參考 <filename>/usr/share/doc/debian-policy/policy." "html/index.html</filename>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">developers-reference</systemitem> - the " #| "<ulink url=\"&developers-reference;\">Debian Developer's Reference</" #| "ulink> describes all matters not specifically about the technical details " #| "of packaging, like the structure of the archive, how to rename, orphan, " #| "pick up packages, how to do NMUs, how to manage bugs, best packaging " #| "practices, when and where to upload etc. (see <filename>/usr/share/doc/" #| "developers-reference/</filename>)." msgid "" "<systemitem role=\"package\">developers-reference</systemitem> - the <ulink " "url=\"&developers-reference;\">Debian Developer's Reference</ulink> " "describes all matters not specifically about the technical details of " "packaging, like the structure of the archive, how to rename, orphan, or " "adopt packages, how to do NMUs, how to manage bugs, best packaging " "practices, when and where to upload etc. (See the local copy of " "<filename>&developers-refpdf;</filename>.)" msgstr "" "<systemitem role=\"package\">developers-reference</systemitem> - <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> 描述了打包所" "需的包含技術細節在內的全部詳細訊息,如倉庫結構、如何重命名/丟棄/接手套件、如" "何進行 NMU(非維護者上傳)、如何管理 Bug 以及打包最佳經驗、何時向何處上傳等。" "(參考 <filename>/usr/share/doc/developers-reference/</filename>)" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The following is the <emphasis>very important</emphasis> documentation " #| "which you should read along with this document:" msgid "" "The following is the <emphasis>important</emphasis> documentation which you " "should read along with this document:" msgstr "" "以下是 <emphasis>非常重要</emphasis> 的文件,你應該在讀本文件時同時參考它們:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides " #| "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " #| "System known as the GNU Autotools</ulink> whose most important components " #| "are Autoconf, Automake, Libtool, and gettext." msgid "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides a " "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " "System known as the GNU Autotools</ulink> whose most important components " "are Autoconf, Automake, Libtool, and gettext." msgstr "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> 爲 <ulink url=" "\"&gnu-build-system;\">the GNU Build System known as the GNU Autotools</" "ulink> 中最重要的工具 —— Autoconf、Automake、Libtool 和 gettext 提供了很好的" "文件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">gnu-standards</systemitem> - this package " #| "contains two pieces of documentation from the GNU project: <ulink url=" #| "\"&gnu-standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-" #| "maintainer;\">Information for Maintainers of GNU Software</ulink>. " #| "Although Debian does not require these to be followed, these are still " #| "helpful as guidelines and common sense. (see <filename>/usr/share/doc/" #| "gnu-standards/standards.html</filename> and <filename>/usr/share/doc/gnu-" #| "standards/maintain.html</filename>)." msgid "" "<systemitem role=\"package\">gnu-standards</systemitem> - this package " "contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-" "standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;" "\">Information for Maintainers of GNU Software</ulink>. Although Debian " "does not require these to be followed, these are still helpful as guidelines " "and common sense. (See the local copies of <filename>&gnu-standard-pdf;</" "filename> and <filename>&gnu-maintainer-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">gnu-standards</systemitem> - 此套件包含了 GNU 項" "目中的兩篇文件: <ulink url=\"&gnu-standard;\">GNU Coding Standards</ulink> " "和 <ulink url=\"&gnu-maintainer;\">Information for Maintainers of GNU " "Software</ulink>。儘管 Debian 不要求遵守這些規範,它們仍然很有幫助。(參考 " "<filename>/usr/share/doc/gnu-standards/standards.html</filename> 和 " "<filename>/usr/share/doc/gnu-standards/maintain.html</filename>)" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If this document contradicts with what the Debian Policy Manual and " #| "Debian Developer's Reference describes, they are correct. Please file a " #| "bug report on the <systemitem role=\"package\">maint-guide</systemitem> " #| "package." msgid "" "If this document contradicts any of the documents mentioned above, they are " "correct. Please file a bug report on the <systemitem role=\"package\">maint-" "guide</systemitem> package using <command>reportbug</command>." msgstr "" "若本文件所敘述的內容與 Debian Policy Manual 或 Debian Developer's Reference " "有不符,則按照後兩者的要求進行,並向 <systemitem role=\"package\">maint-" "guide</systemitem> 套件提交 Bug 報告。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The following is the <emphasis>very important</emphasis> documentation " #| "which you should read along with this document:" msgid "" "The following is an alternative tutorial documentation which you may read " "along with this document:" msgstr "" "以下是 <emphasis>非常重要</emphasis> 的文件,你應該在讀本文件時同時參考它們:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgid "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><chapter><section><title> msgid "Where to ask for help" msgstr "到何處尋求幫助" #. type: Content of: <book><chapter><section><para> msgid "" "Before you decide to ask your question in some public place, please read the " "fine documentation." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename><replaceable>package</replaceable>.info</filename> file" msgid "" "files in <filename>/usr/share/doc/<replaceable>package</replaceable></" "filename> for all pertinent packages" msgstr "<filename><replaceable>package</replaceable>.info</filename> 檔案" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>man</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>info</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "See <ulink url=\"&debian-mentors-ldo;\">&debian-mentors-ldo;</ulink> for " #| "more information about this mailing list." msgid "" "contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian." "org mailing list archive</ulink>" msgstr "" "關於此郵件列表,參考 <ulink url=\"&debian-mentors-ldo;\">&debian-mentors-ldo;" "</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org " "mailing list archive</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can use web search engines more effectively by including search strings " "such as <literal>site:lists.debian.org</literal> to limit the domain." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Making a small test package is good way to learn details of packaging. " #| "Inspecting existing well maintained packages is the best way to learn how " #| "other people make packages." msgid "" "Making a small test package is a good way to learn details of packaging. " "Inspecting existing well maintained packages is the best way to learn how " "other people make packages." msgstr "" "製作小的測試套件是學習打包的好方法,仔細査看維護較好的套件則是瞭解他人如何製" "作套件的最佳辦法。" #. type: Content of: <book><chapter><section><para> msgid "" "If you still have questions about packaging that you couldn't find answers " "to in the available documentation and web resources, you can ask them " "interactively." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "See <ulink url=\"&debian-mentors-ldo;\">&debian-mentors-ldo;</ulink> for " #| "more information about this mailing list." msgid "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (This mailing list is for the novice.)" msgstr "" "關於此郵件列表,參考 <ulink url=\"&debian-mentors-ldo;\">&debian-mentors-ldo;" "</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " "list</ulink>. (This mailing list is for the expert.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The more experienced Debian developers will gladly help you, if you ask " "properly after making your required efforts." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "When you receive a bug report (yes, actual bug reports!), you will know " #| "that it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug " #| "Tracking System</ulink> and read the documentation there, to be able to " #| "deal with the reports efficiently. I highly recommend reading the <ulink " #| "url=\"&devref-bug-handling;\">Developer's Reference, 5.8. 'Handling " #| "bugs'</ulink>." msgid "" "When you receive a bug report (yes, actual bug reports!), you will know that " "it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking " "System</ulink> and read the documentation there, to be able to deal with the " "reports efficiently. I highly recommend reading the <ulink url=\"&devref-" "bug-handling;\">Debian Developer's Reference, 5.8. \"Handling bugs\"</" "ulink>." msgstr "" "當你收到一個 Bug 報告後(沒錯,真正的 Bug 報告!),你需要研究 <ulink url=" "\"&bts;\">Debian Bug Tracking System</ulink> (Debian Bug 跟蹤系統,BTS)並閱讀" "相關的文件以便高效處理這些報告。我推薦閱讀 <ulink url=\"&devref-bug-handling;" "\">Developer's Reference, 5.8. 'Handling bugs'</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "Even if it all worked well, it's time to start praying. Why? Because in " "just a few hours (or days) users from all around the world will start to use " "your package, and if you made some critical error you'll get mailbombed by " "numerous angry Debian users... Just kidding. :-)" msgstr "" "即使以上的問題都解決了,也不能高興得太早。爲什麼?因爲幾個小時或幾天內就會有" "人開始使用你的套件,如果你犯了某些嚴重的錯誤,將被無數生氣的 Debian 用戶的郵" "件所轟炸…… 只是開個玩笑。:-)" #. type: Content of: <book><chapter><section><para> msgid "" "Relax and be ready for bug reports, because there is a lot more work to be " "done before your package will be fully in line with Debian policies and its " "best practice guidelines (once again, read the <emphasis>real documentation</" "emphasis> for details). Good luck!" msgstr "" "放鬆一點並準備好處理 Bug 報告,在你的套件完全符合 Debian 的各項規範前還需要付" "出很多努力,處理 Bug 也是對你很好的鍛煉(再一次提醒,閱讀那些 <emphasis>必須的" "文件</emphasis> 來了解詳情)。祝你好運!" #. type: Content of: <book><chapter><title> msgid "First steps" msgstr "第一步" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "Let's try to make your own package (or, better even, adopt an existing " #| "one)." msgid "" "Let's start by creating a package of your own (or, even better, adopting an " "existing one)." msgstr "讓我們嘗試創建一個自己的套件(“收養”一個已存在的套件則更好)。" #. type: Content of: <book><chapter><section><title> msgid "Debian package building workflow" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you are making a Debian package with an upstream program, the typical " "workflow of Debian package building involves generating several specifically " "named files for each step as follows." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Get a copy of the upstream software, usually in a compressed tar format." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" #| "package</replaceable>.dsc\n" msgid "" "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" msgstr "" "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" "package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add Debian-specific packaging modifications to the upstream program under " "the <filename>debian</filename> directory, and create a non-native source " "package (that is, the set of input files used for Debian package building) " "in <literal>3.0 (quilt)</literal> format." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" #| "package</replaceable>.dsc\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig." "tar.gz" msgstr "" "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" "package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" #| "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" #| "replaceable>\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.debian.tar.gz" msgstr "" "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" "replaceable>\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><footnote><para> #, fuzzy #| msgid "" #| "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" #| "systemitem> is packaged in the old <literal>1.0</literal> format, this " #| "can be done by running <literal>zcat /<replaceable>path</replaceable>/" #| "<replaceable>to</replaceable>/<replaceable>foo</" #| "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" #| "literal> in the new extracted source, instead." msgid "" "For the older style of non-native Debian source packages in <literal>1.0</" "literal> format, <literal><replaceable>package</" "replaceable>_<replaceable>version</replaceable>-<replaceable>revision</" "replaceable>.diff.gz</literal> is used instead." msgstr "" "如果套件 <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> 是使用舊的 <literal>1.0</literal> 格式的,可以在新解壓的原始碼目" "錄裏運行 <literal>zcat /<replaceable>path</replaceable>/<replaceable>to</" "replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</" "replaceable>.diff.gz|patch -p1</literal> 來完成。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" #| "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" #| "replaceable>\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.dsc" msgstr "" "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" "replaceable>\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Build Debian binary packages, which are ordinary installable package files " "in <literal>.deb</literal> format (or <literal>.udeb</literal> format, used " "by the Debian Installer) from the Debian source package." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" #| "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" #| "replaceable>\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" "replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the character separating <literal><replaceable>package</" "replaceable></literal> and <literal><replaceable>version</replaceable></" "literal> was changed from <literal>-</literal> (hyphen) in the tarball name " "to <literal>_</literal> (underscore) in the Debian package filenames." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. The <emphasis role=\"strong" "\">package architecture</emphasis> follows the <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> and is " "automatically assigned by the package build process." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "In the file names above, replace the <literal><replaceable>package</" "replaceable></literal> part with the <emphasis role=\"strong\">package name</" "emphasis>, the <literal><replaceable>version</replaceable></literal> part " "with the <emphasis role=\"strong\">upstream version</emphasis>, the " "<literal><replaceable>revision</replaceable></literal> part with the " "<emphasis role=\"strong\">Debian revision</emphasis>, and the " "<literal><replaceable>arch</replaceable></literal> part with the <emphasis " "role=\"strong\">package architecture</emphasis>, as defined in the Debian " "Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If instead you are making a Debian-specific package with no upstream, the " "typical workflow of Debian package building is simpler." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a native Debian source package in the <literal>3.0 (native)</literal> " "format using a single compressed tar file in which all files are included." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" #| "package</replaceable>.dsc\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" msgstr "" "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" "package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" #| "package</replaceable>.dsc\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" msgstr "" "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" "package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "multiple binary packages," msgid "Build Debian binary packages from the native Debian source package." msgstr "多個二進位套件的套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" #| "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" #| "replaceable>\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" "replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "Each step of this outline is explained with detailed examples in later " "sections." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "選擇你的程式" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You have probably chosen the package you want to create. The first thing " #| "you need to do is check if the package is in the distribution archive " #| "already by using <command>aptitude</command>." msgid "" "You have probably chosen the package you want to create. The first thing " "you need to do is check if the package is in the distribution archive " "already by using the following." msgstr "" "可能你已經選好了要製作的套件。第一件要做的事是使用 <command>aptitude</" "command> 檢査它是否已經存在於發行版倉庫中了。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<command>debc</command> command" msgid "the <command>aptitude</command> command" msgstr "<command>debc</command> 命令" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page" msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgid "" "the <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> " "web page" msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "For more help about these, check in <ulink url=\"&developers-reference;" #| "\">Debian Developer's Reference</ulink>." msgid "" "See <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. " "\"Adopting a package\"</ulink>." msgstr "" "關於這些問題的更多幫助,査看 <ulink url=\"&developers-reference;\">Debian " "Developer's Reference</ulink>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If the package already exists, well, install it! :-) If it happens to be " #| "<emphasis role=\"strong\">orphaned</emphasis> -- if its maintainer is set " #| "to <ulink url=\"&qa-do;\">Debian QA Group</ulink>, you may be able to " #| "pick it up if it's still available (check the ownership status at <ulink " #| "url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in package wnpp in " #| "unstable</ulink>). You may also adopt a package for which the " #| "corresponding maintainer has filed a Request for Adoption (<emphasis role=" #| "\"strong\">RFA</emphasis>)." msgid "" "If the package already exists, well, install it! :-) If it happens to be " "<emphasis role=\"strong\">orphaned</emphasis> (that is, if its maintainer is " "set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>), you may be able to " "pick it up if it's still available. You may also adopt a package whose " "maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</" "emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "如果套件已經存在,直接安裝就好了!:-) 如果它是被 <emphasis role=\"strong\">拋" "棄(orphaned)</emphasis> 的——也就是說它的維護者被設置爲 <ulink url=\"&qa-do;" "\">Debian QA Group</ulink>,那麼你可以嘗試接手維護它(在 <ulink url=\"&wnpp-" "bts;\">Debian Bug report logs: Bugs in package wnpp in unstable</ulink> 檢査" "它的維護者訊息)。你也可以“收養”維護者發出“Request for Adoption”(<emphasis " "role=\"strong\">RFA</emphasis>)請求的套件。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "There are several role names used around Debian." msgid "There are several package ownership status resources." msgstr "在 Debian 社群中有幾個常見的角色。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" msgstr "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<ulink url=\"&wnpp-debtags;\">Browse WNPP bugs based on debtags</ulink>" msgid "" "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" msgstr "" "<ulink url=\"&wnpp-debtags;\">Browse WNPP bugs based on debtags</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgstr "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" msgstr "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Having said that, there will of course always be new programs that are " #| "worthwhile packaging." msgid "" "Having said that, there will of course always be new programs that are worth " "packaging." msgstr "當然,也一定總是有值得打包的新軟體。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "As a side note, it's important to point out that Debian already has " #| "packages for most kinds of programs, and the number of packages already " #| "in the Debian archive is much larger than that of contributors with " #| "upload rights. Thus, contributions to packages already in the archive " #| "are far more appreciated (and more likely to receive sponsorship) by " #| "other developers <placeholder type=\"footnote\" id=\"0\"/>. You can do " #| "that in various ways." msgid "" "As a side note, it's important to point out that Debian already has packages " "for most kinds of programs, and the number of packages already in the Debian " "archive is much larger than that of contributors with upload rights. Thus, " "contributions to packages already in the archive are far more appreciated " "(and more likely to receive sponsorship) by other developers <placeholder " "type=\"footnote\" id=\"0\"/>. You can contribute in various ways." msgstr "" "僅作爲一筆旁註,Debian 已經擁有了絕大多數類型軟體的套件,倉庫中套件的數量也遠" "遠超過了有上傳權限的貢獻者的數量。因此,爲已經在倉庫中的套件貢獻力量是非常受" "其他開發者歡迎的(且更容易獲得 sponsorship)<placeholder type=\"footnote\" id=" "\"0\"/>。你可以通過非常多的方式來實現這一目的。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "接手被拋棄而仍然被很多人使用的套件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>" msgstr "加入 <ulink url=\"&teams;\">打包小組</ulink>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "爲某些常用的套件分類 Bug。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" msgstr "在需要時準備 <ulink url=\"&devref-nmu;\">QA 或 NMU 上傳</ulink>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If you are able to adopt the package, get the sources (with something " #| "like <literal>apt-get source <replaceable>packagename</replaceable></" #| "literal>) and examine them. This document unfortunately doesn't include " #| "comprehensive information about adopting packages. Thankfully you " #| "shouldn't have a hard time figuring out how the package works since " #| "someone has already done the initial set up for you. Keep reading, " #| "though, a lot of the advice below will still be applicable for your case." msgid "" "If you are able to adopt the package, get the sources (with something like " "<literal>apt-get source <replaceable>packagename</replaceable></literal>) " "and examine them. This document unfortunately doesn't include comprehensive " "information about adopting packages. Thankfully you shouldn't have a hard " "time figuring out how the package works since someone has already done the " "initial setup for you. Keep reading, though; a lot of the advice below will " "still be applicable for your case." msgstr "" "如果你有能力“收養”那個套件,下載(使用 <literal>apt-get source " "<replaceable>packagename</replaceable></literal> 或其他類似的工具)並分析它的" "程式碼。這篇文件沒有包含如何接手套件的詳細訊息,但幸運的是因爲接手套件時起始" "的工作已經有人完成,接手的工作應比從頭開始輕鬆得多。儘管如此,請繼續閱讀,下" "面給出的建議會對你很有幫助。" #. type: Content of: <book><chapter><section><para> msgid "" "If the package is new, and you decide you'd like to see it in Debian, " "proceed as follows:" msgstr "" "如果你要製作的套件是全新的,並且希望它出現在 Debian 中,請按照以下的步驟進" "行:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "First, you must know that program works, and have tried it for some time " #| "to confirm its usefulness." msgid "" "First, you must know that the program works, and have tried it for some time " "to confirm its usefulness." msgstr "首先,你必須知道這個軟體能夠工作,並且需要試用一段時間。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "You must check if no one else is working on the package already at <ulink " #| "url=\"&wnpp-packaged;\">the list of packages being worked on</ulink>. If " #| "no one else is working on it, file an ITP (Intent To Package) bug report " #| "to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " #| "using <command>reportbug</command>. If someone's already on it, contact " #| "them if you feel you need to. If not - find another interesting program " #| "that nobody maintains." msgid "" "You must check that no one else is already working on the package on the " "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> " "site. If no one else is working on it, file an ITP (Intent To Package) bug " "report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " "using <command>reportbug</command>. If someone's already on it, contact " "them if you feel you need to. If not - find another interesting program " "that nobody is maintaining." msgstr "" "你必須在 <ulink url=\"&wnpp-do;being_packaged\">正在被處理的套件列表</ulink> " "上査看以確定沒有其他人已經開始了工作。如果沒有,則提交一份 ITP (Intent To " "Package) Bug 報告到 <systemitem role=\"package\">wnpp</systemitem> pseudo 套" "件(可以使用 <command>reportbug</command>)。如果已經有人在處理,則在需要的情況" "下聯繫他或他們。如果不需要你的幫助,就尋找其他你感興趣且沒有人維護的套件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "That program <emphasis role=\"strong\">must have a license</emphasis>." msgid "The software <emphasis role=\"strong\">must have a license</emphasis>." msgstr "軟體 <emphasis role=\"strong\">必須有一個許可證</emphasis>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>main</literal> section, Debian Policy requires it <emphasis " "role=\"strong\">to be fully compliant with the Debian Free Software " "Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis " "role=\"strong\">not to require a package outside of <literal>main</literal></" "emphasis> for compilation or execution. This is the desired case." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "For the <literal>contrib</literal> section, it must be compliant to all " #| "the DFSG but it may require a package outside of <literal>main</literal> " #| "for compilation or execution." msgid "" "For the <literal>contrib</literal> section, it must comply with the DFSG but " "it may require a package outside of <literal>main</literal> for compilation " "or execution." msgstr "" "對於 <literal>contrib</literal> 類的軟體,其許可證必須滿足 DFSG 的全部條件," "但可以依賴於 <literal>main</literal> 之外的套件以完成編譯或運行。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "For the <literal>non-free</literal> section, it may not be compliant to " #| "some of the DFSG but it <emphasis role=\"strong\">must be distributable</" #| "emphasis>." msgid "" "For the <literal>non-free</literal> section, it may be non-compliant with " "the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>." msgstr "" "對於 <literal>non-free</literal> 類的軟體,其許可證可以不滿足 DFSG 中的一些條" "件,但至少需要是 <emphasis role=\"strong\">可以散佈的</emphasis>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If you are unsure about where it should go, post the license text on <ulink " "url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for " "advice." msgstr "" "如果你不清楚你的軟體應該分入哪一類,則把許可證文本發送到 <ulink url=" "\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> 請他人提出意見。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "That program certainly should <emphasis role=\"strong\">not</emphasis> " #| "run setuid root, or even better - it shouldn't need to be setuid or " #| "setgid to anything." msgid "" "The program should <emphasis role=\"strong\">not</emphasis> introduce " "security and maintenance concerns to the Debian system." msgstr "" "程式 <emphasis role=\"strong\">不應該</emphasis> setuid 到 root,甚至可以更好" "——不 setuid 或 setgid 到任何用戶或組。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "That program should be well documented and its code needs to be " #| "understandable (i.e. not obfuscated)." msgid "" "The program should be well documented and its code needs to be " "understandable (i.e. not obfuscated)." msgstr "程式應當有很好的文件,最好原始碼也容易理解(比如不混亂)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "You should contact program's author(s) to check if they agree with " #| "packaging it and amicable to Debian. It is important to be able to " #| "consult with author(s) about the program in case of any program specific " #| "problems, so don't try to package unmaintained pieces of software." msgid "" "You should contact the program's author(s) to check if they agree with " "packaging it and are amicable to Debian. It is important to be able to " "consult with the author(s) in case of any problems with the program, so " "don't try to package unmaintained software." msgstr "" "你應該與程式的作者取得聯繫問一下他是否認爲程式應當被打包,以及他是否對 " "Debian 友好。能夠詢問作者關於程式的任何問題是非常重要的,不要嘗試打包一個無人" "維護的軟體。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "That program certainly should <emphasis role=\"strong\">not</emphasis> " #| "run setuid root, or even better - it shouldn't need to be setuid or " #| "setgid to anything." msgid "" "The program certainly should <emphasis role=\"strong\">not</emphasis> run " "setuid root, or even better, it shouldn't need to be setuid or setgid to " "anything." msgstr "" "程式 <emphasis role=\"strong\">不應該</emphasis> setuid 到 root,甚至可以更好" "——不 setuid 或 setgid 到任何用戶或組。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "That program should not be a daemon, or something that goes in " #| "<filename>*/sbin</filename> directories, or open a port as root." msgid "" "The program should not be a daemon, or go in an <filename>*/sbin</filename> " "directory, or open a port as root." msgstr "" "這個程式不應該是守護進程,也不應該安裝檔案到 <filename>*/sbin</filename> 目錄" "或者以 root 打開任何端口。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Of course, these things are just safety measures, and intended to save " #| "you from raging users if you do something wrong in some setuid daemon... " #| "When you gain some more experience in packaging, you'll be able to do " #| "such packages, but even the experienced developers consult the <ulink url=" #| "\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org</ulink> mailing " #| "list when they are in doubt. And people there will gladly help." msgid "" "Of course, the last one is just a safety measures, and intended to save you " "from enraging users if you do something wrong in some setuid daemon... When " "you gain more experience in packaging, you'll be able to package such " "software." msgstr "" "當然,這些問題都只是爲了安全,並試圖讓你不至於在比如 setuid 守護進程等問題上" "犯錯誤而激怒了用戶... 當你在打包方面有了更多經驗時,就可以處理這些套件了。但" "即便是富有經驗的開發人員在遇到疑惑時也會發郵件到 <ulink url=\"&debian-" "mentors-ldo;\">debian-mentors@lists.debian.org</ulink> 郵件列表諮詢,那裏的人" "會很樂意提供幫助。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Once again, as a new maintainer you are discouraged from creating " #| "complicated packages, e.g.," msgid "" "As a new maintainer, you are encouraged to get some experience in packaging " "with easier packages and discouraged from creating complicated packages." msgstr "再次強調,作爲一個新維護人員,不推薦創建複雜的套件,例如:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "multiple binary packages," msgid "Simple packages" msgstr "多個二進位套件的套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (collection of data such as wallpaper " "graphics)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (executables written in an interpreted " "language such as POSIX shell)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Intermediate complexity packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = any (ELF binary executables compiled from " "languages such as C and C++)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "multiple binary packages, arch = any + all (packages for ELF binary " "executables + documentation)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "the source file format being neither in <filename>tar.gz</filename> nor " #| "<filename>tar.bz2</filename>, or" msgid "" "upstream source in a format other than <filename>tar.gz</filename> or " "<filename>tar.bz2</filename>" msgstr "" "原始碼不是 <filename>tar.gz</filename> 也不是 <filename>tar.bz2</filename> 格" "式,或" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "the source tarball containing undistributable contents." msgid "upstream source containing undistributable contents" msgstr "原始碼 tarball 中包含不可散佈的內容。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "multiple binary packages," msgid "High complexity packages" msgstr "多個二進位套件的套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter module package used by other packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "generic ELF library package used by other packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "multiple binary packages," msgid "multiple binary packages including an ELF library package" msgstr "多個二進位套件的套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "source package with multiple upstream sources" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "kernel module packages," msgid "kernel module packages" msgstr "核心模組套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "kernel patch packages," msgid "kernel patch packages" msgstr "核心補丁套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "any package with non-trivial maintainer scripts" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging high complexity packages is not too hard, but it requires a bit " "more knowledge. You should seek specific guidance for every complex feature. " "For example, some languages have their own sub-policy documents:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>" msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-python;\">Python policy</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-java;\">Java policy</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Do not worry about the missing <filename>Makefile</filename>. You can " "install the <command>hello</command> command by simply using " "<command>debhelper</command> as in <xref linkend=\"install\"/>, or by " "modifying the upstream source to add a new <filename>Makefile</filename> " "with the <literal>install</literal> target as in <xref linkend=\"modify\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " "practice and experiment with all the steps of Debian packaging with simple " "packages while reading this tutorial. A trivial upstream tarball " "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a " "good starting point.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "獲得程式,並且試用它" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "So the first thing to do is to find and download the original source " #| "code. I presume that you already have the source file that you picked up " #| "at the author's homepage. Sources for free Unix programs usually come in " #| "<command>tar</command>+<command>gzip</command> format with extension " #| "<filename>.tar.gz</filename>, or <command>tar</command>+<command>bzip2</" #| "command> format with extension <filename>.tar.bz2</filename>. These " #| "usually contain the subdirectory called " #| "<filename><replaceable>programname</replaceable>-<replaceable>version</" #| "replaceable></filename> in them and all the sources under it." msgid "" "So the first thing to do is to find and download the original source code. " "Presumably you already have the source file that you picked up at the " "author's homepage. Sources for free Unix programs usually come in " "<command>tar</command>+<command>gzip</command> format with the extension " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> format with the extension <filename>.tar.bz2</filename>, or " "<command>tar</command>+<command>xz</command> format with the extension " "<filename>.tar.xz</filename>. These usually contain a directory called " "<filename><replaceable>package</replaceable>-<replaceable>version</" "replaceable></filename> with all the sources inside." msgstr "" "第一件要做的事就是找到並下載原始的原始碼。我假定你已經從作者的首頁上找到了它" "的原始碼。Unix 下的自由軟體原始碼通常是以 <command>tar</command>" "+<command>gzip</command> 格式(副檔名爲 <filename>.tar.gz</filename>)或 " "<command>tar</command>+<command>bzip2</command> 格式(副檔名爲 <filename>.tar." "bz2</filename>)的形式提供的。通常壓縮檔中包含了一個名爲 " "<filename><replaceable>programname</replaceable>-<replaceable>version</" "replaceable></filename> 的子目錄,裏面包含了全部的原始碼。" #. type: Content of: <book><chapter><section><para> msgid "" "If the latest version of the source is available through a VCS such as Git, " "Subversion, or CVS, you need to get it with <literal>git clone</literal>, " "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into " "<command>tar</command>+<command>gzip</command> format yourself by using the " "<literal>--exclude-vcs</literal> option." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can identify the archive format using the <command>file</command> " "command when the file extension is not enough." msgstr "" "當檔案副檔名不足以判斷檔案類型時,可以使用 <command>file</command> 命令來判" "斷。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your program's source comes as some other sort of archive (for " #| "instance, the filename ends in <filename>.Z</filename> or <filename>.zip</" #| "filename><placeholder type=\"footnote\" id=\"0\"/>), unpack it with " #| "appropriate tools and repack it, too." msgid "" "If your program's source comes as some other sort of archive (for instance, " "the filename ends in <filename>.Z</filename> or <filename>.zip</" "filename><placeholder type=\"footnote\" id=\"0\"/>), you should also unpack " "it with the appropriate tools and repack it." msgstr "" "如果你的程式原始碼是以其他形式提供的(比如檔案名以 <filename>.Z</filename> 或 " "<filename>.zip</filename> 結尾<placeholder type=\"footnote\" id=\"0\"/>),則" "使用合適的工具將其解壓縮,再重新打包。" #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes with some contents which do not comply with " "DFSG, you should also unpack it to remove such contents and repack it with a " "modified upstream version containing <literal>dfsg</literal>." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "This program is already packaged. Current version 0.15.3 has changed " #| "substantially from the version 0.9.12 in the following examples." msgid "" "This program is already packaged. The <ulink url=\"&gentoo-package;" "\">current version</ulink> uses Autotools as its build structure and is " "substantially different from the following examples, which were based on " "version 0.9.12." msgstr "" "需要注意的是,這個程式已經被打包好了,並且從寫這篇文件之初到現在它已經發生了" "很大的變化。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "As an example, I'll use a program called <command>gentoo</command>, an X " #| "GTK+ file manager.<placeholder type=\"footnote\" id=\"0\"/>" msgid "" "As an example, I'll use a program called <command>gentoo</command>, a GTK+ " "file manager. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "作爲範例,我將使用一個名爲 <command>gentoo</command> 的程式,它是一個 X GTK+ " "檔案管理器。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Create a subdirectory under your home directory named <filename>debian</" #| "filename> or <filename>deb</filename> or anything you find appropriate (e." #| "g. just <filename>~/gentoo</filename> would do fine in this case). " #| "Place the downloaded archive in it, and extract it (with <literal>tar xzf " #| "gentoo-0.9.12.tar.gz</literal>). Make sure there are no errors, even " #| "some <emphasis>irrelevant</emphasis> ones, because there will most " #| "probably be problems unpacking on other people's systems, whose unpacking " #| "tools may or may not ignore those anomalies. On your console screen, you " #| "should see the following." msgid "" "Create a subdirectory under your home directory named <filename>debian</" "filename> or <filename>deb</filename> or anything you find appropriate (e." "g. just <filename>~/gentoo</filename> would do fine in this case). Place " "the downloaded archive in it, and extract it (with <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " "tools may or may not ignore these anomalies, so they may have problems " "unpacking them. Your shell command line may look something like this:" msgstr "" "在你的用戶主目錄下創建一個子目錄,命名爲 <filename>debian</filename> 或 " "<filename>deb</filename> 或任意你覺得合適的其他名字(本例中使用 <filename>~/" "gentoo</filename>)。把下載好的壓縮檔放在其中並解壓縮(使用 <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal> 命令)。要確定解壓縮過程中沒有發生錯誤,即便是" "有一點 <emphasis>不恰當</emphasis> 也不行,因爲在別人的系統上解壓縮這些檔案" "時,如果他們的工具並不忽略這些反常的現象就會出現問題。在你的終端螢幕上,應該" "看到如下的情形。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Now you have another subdirectory, called <filename>gentoo-0.9.12</" #| "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " #| "read the provided documentation. Usually there are files named " #| "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." #| "lsm</filename> or <filename>*.html</filename>. You must find " #| "instructions on how to correctly compile and install the program (most " #| "probably they'll assume you want to install to <filename>/usr/local/bin</" #| "filename> directory; you won't be doing that, but more on that later in " #| "<xref linkend=\"destdir\"/>)." msgid "" "Now you have another subdirectory, called <filename>gentoo-0.9.12</" "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " "read the provided documentation. Usually there are files named " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> or <filename>*.html</filename>. You must find instructions " "on how to compile and install the program (most probably they'll assume you " "want to install to the <filename>/usr/local/bin</filename> directory; you " "won't be doing that, but more on that later in <xref linkend=\"destdir\"/>)." msgstr "" "現在又有了一個新的子目錄,名爲 <filename>gentoo-0.9.12</filename>。進入該目錄" "並 <emphasis>徹底</emphasis> 讀完其中的文件。通常情況下這些文件被命名爲 " "<filename>README*</filename>、<filename>INSTALL*</filename>、<filename>*." "lsm</filename> 或 <filename>*.html</filename>。你必須找到關於如何正確編譯和安" "裝程式的指導(最可能的是他們會默認你希望把程式安裝到 <filename>/usr/local/" "bin</filename> 目錄,但事實上你不能那樣做,詳細的內容稍後將在 <xref linkend=" "\"destdir\"/> 中說明)。" #. type: Content of: <book><chapter><section><para> msgid "" "You should start packaging with a completely clean (pristine) source " "directory, or simply with freshly unpacked sources." msgstr "" "開始打包時原始碼目錄應當是絕對乾淨(原始)的,或者直接使用剛剛解壓縮得到的原始" "碼。" #. type: Content of: <book><chapter><section><title> msgid "Simple build systems" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Many modern programs come with a script <filename>configure</filename> which " "when executed creates a <filename>Makefile</filename> customized for your " "system." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Simple programs come with a <filename>Makefile</filename> file in them " #| "and can be compiled simply with <literal>make</literal>. Some of them " #| "support <literal>make check</literal>, which runs included self-checks. " #| "Installation to the destination directories is usually done with " #| "<literal>make install</literal>." msgid "" "Simple programs usually come with a <filename>Makefile</filename> and can be " "compiled just by invoking <literal>make</literal>.<placeholder type=" "\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, " "which runs included self-tests. Installation to the destination directories " "is usually done with <literal>make install</literal>." msgstr "" "帶有 <filename>Makefile</filename> 檔案的簡單程式可以很容易地使用 " "<literal>make</literal> 來編譯。其中的一些還支持 <literal>make check</" "literal>,可以完成一系列自身測試。編譯好後可以使用 <literal>make install</" "literal> 來將程式安裝到目標目錄。" #. type: Content of: <book><chapter><section><para> msgid "" "Now try to compile and run your program, to make sure it works properly and " "doesn't break something else while it's installing or running." msgstr "" "現在嘗試編譯和運行你的程式,確保它工作正常,且在安裝和運行時不會導致其他問" "題。" #. type: Content of: <book><chapter><section><para> msgid "" "Also, you can usually run <literal>make clean</literal> (or better " "<literal>make distclean</literal>) to clean up the build directory. " "Sometimes there's even a <literal>make uninstall</literal> which can be used " "to remove all the installed files." msgstr "" "你還可以運行 <literal>make clean</literal> (或更好的 <literal>make " "distclean</literal>)來清理編譯目錄。有時還會帶有 <literal>make uninstall</" "literal> 用以反安裝已經安裝了的檔案。" #. type: Content of: <book><chapter><section><title> msgid "Popular portable build systems" msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "A lot of Free programs are written in the <ulink url=\"&cxx;" #| "_(programming_language)\">C</ulink> and <ulink url=\"&cxx;++\">C++</" #| "ulink> languages. Many of these use Autotools or CMake to make them " #| "portable across different platforms. These tools are used to generate " #| "<filename>Makefile</filename> and other required source files. Then, " #| "such programs are built with usual <literal>make; make install</literal>." msgid "" "A lot of free software programs are written in the <ulink url=\"&c-program;" "\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these " "use Autotools or CMake to make them portable across different platforms. " "These build tools need to be used to generate the <filename>Makefile</" "filename> and other required source files first. Then, such programs are " "built using the usual <literal>make; make install</literal>." msgstr "" "非常多的自由軟體是使用 <ulink url=\"&cxx;_(programming_language)\">C</ulink> " "和 <ulink url=\"&cxx;++\">C++</ulink> 語言編寫的。其中的有很多使用 Autotools " "或 CMake 來使其可以在不同平臺上移植。這些工具被用於生成 <filename>Makefile</" "filename> 和其他必須的源檔案,然後這些程式可以使用正常的 <literal>make; make " "install</literal> 來編譯和安裝。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Autotools is too big to deal in this small tutorial. This section is meant " "to provide keywords and references only. Please make sure to read the " "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and the local " "copy of <filename>&autotools-readme;</filename>, if you need to use it." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<ulink url=\"&gnu-build-system;\">Autotools</ulink> are the GNU build " #| "system comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" #| "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</" #| "ulink>, and <ulink url=\"&gettext;\">gettext</ulink>. You can notice " #| "such sources by the <filename>configure.ac</filename>, <filename>Makefile." #| "am</filename>, and <filename>Makefile.in</filename> files. <placeholder " #| "type=\"footnote\" id=\"0\"/>" msgid "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> is the GNU build system " "comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, " "and <ulink url=\"&gettext;\">gettext</ulink>. You can recognize such " "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" "filename>, and <filename>Makefile.in</filename> files. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> 是 GNU 編譯系統工具,包" "括 <ulink url=\"&autoconf;\">Autoconf</ulink>、<ulink url=\"&automake;" "\">Automake</ulink>、<ulink url=\"&libtool;\">Libtool</ulink> 和 <ulink url=" "\"&gettext;\">gettext</ulink>。你可以通過 <filename>configure.ac</filename>、" "<filename>Makefile.am</filename> 和 <filename>Makefile.in</filename> 等檔案來" "識別這種類型的原始碼。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The first step of Autotools work flow is usually that the upstream runs " #| "<literal>autoreconf -i -f</literal> in the source and distributes this " #| "source with generated files." msgid "" "The first step of the Autotools workflow is usually that upstream runs " "<literal>autoreconf -i -f</literal> in the source directory and distributes " "the generated files along with the source." msgstr "" "使用 Autotools 的第一步是上游作者在程式碼中運行 <literal>autoreconf -i -f</" "literal> 並把生成的檔案同原始碼一起散佈。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "configure.ac-----+-> autoreconf -+-> configure\n" #| "Makefile.am -----+ | +-> Makefile.in\n" #| "src/Makefile.am -+ | +-> src/Makefile.in\n" #| " | +-> config.h.in\n" #| " automake\n" #| " aclocal\n" #| " aclocal.m4\n" #| " autoheader\n" msgid "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" msgstr "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" #. type: Content of: <book><chapter><section><para> msgid "" "Editing <filename>configure.ac</filename> and <filename>Makefile.am</" "filename> files requires some knowledge of <command>autoconf</command> and " "<command>automake</command>. See <literal>info autoconf</literal> and " "<literal>info automake</literal>." msgstr "" "編輯 <filename>configure.ac</filename> 和 <filename>Makefile.am</filename> 等" "檔案需要一些關於 <command>autoconf</command> 和 <command>automake</command> " "的知識。參考 <literal>info autoconf</literal> 和 <literal>info automake</" "literal>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The second step of Autotools work flow is usually that the user obtains " #| "this distributed source and runs <literal>./configure && make</" #| "literal> in the source to compile program into a " #| "<command><replaceable>binary</replaceable></command>." msgid "" "The second step of the Autotools workflow is usually that the user obtains " "this distributed source and runs <literal>./configure && make</" "literal> in the source directory to compile the program into an executable " "command <command><replaceable>binary</replaceable></command>." msgstr "" "使用 Autotools 的流程第二部是用戶獲得散佈的原始碼後在原始碼中運行 <literal>./" "configure && make</literal> 並將其編譯成爲 " "<command><replaceable>binary</replaceable></command> (二進位程式)。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" #| "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" #| "config.h.in -----+ +-> config.h -----+\n" #| " |\n" #| " config.status -+\n" #| " config.guess --+\n" msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" msgstr "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You can change many things in the <filename>Makefile</filename> file such " #| "as the default file install location using the command option, e.g. " #| "<command>./configure --prefix=/usr</command>." msgid "" "You can change many things in the <filename>Makefile</filename>; for " "instance you can change the default location for file installation using the " "option <literal>./configure --prefix=/usr</literal>." msgstr "" "你可以通過命令選項來改變 <filename>Makefile</filename> 檔案中的很多設置,比如" "默認的檔案安裝位置(使用 <command>./configure --prefix=/usr</command>)。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">dh-autoreconf</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "You can automate this by using <systemitem role=\"package\">dh-autoreconf</" "systemitem> package. See <xref linkend=\"customrules\"/>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package\">dh-" "autoreconf</systemitem> 套件。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Although it is not required, updating the <filename>configure</filename> " #| "and other files with <literal>autoreconf -i -f</literal> as the user may " #| "improve the compatibility of the source." msgid "" "Although it is not required, updating the <filename>configure</filename> and " "other files with <literal>autoreconf -i -f</literal> may improve the " "compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "儘管不是必須的,還可以使用 <literal>autoreconf -i -f</literal> 更新 " "<filename>configure</filename> 和其他相關檔案,這樣做可能提高原始碼的兼容性。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<ulink url=\"&cxx;Make\">CMake</ulink> is an alternative build system. " #| "You can notice such sources by the <filename>CMakeLists.txt</filename> " #| "file." msgid "" "<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You " "can recognize such sources by the <filename>CMakeLists.txt</filename> file." msgstr "" "<ulink url=\"&cxx;Make\">CMake</ulink> 是另一個可選的編譯系統,可以通過 " "<filename>CMakeLists.txt</filename> 檔案來識別它。" #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "套件名稱和版本" #. type: Content of: <book><chapter><section><para> msgid "" "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " "you can take <literal>gentoo</literal> as the (source) <emphasis role=" "\"strong\">package name</emphasis> and <literal>0.9.12</literal> as the " "<emphasis role=\"strong\">upstream version</emphasis>. These are used in " "the <filename>debian/changelog</filename> file described later in <xref " "linkend=\"changelog\"/>, too." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although this simple approach works most of the times, you may need to " "adjust <emphasis role=\"strong\">package name</emphasis> and <emphasis role=" "\"strong\">upstream version</emphasis> by renaming the upstream source to " "follow Debian Policy and existing convention." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default package name field length of <command>aptitude</command> is 30. " "For more than 90% of packages, the package name is less than 24 characters." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You must choose the <emphasis role=\"strong\">package name</emphasis> to " "consist only of lower case letters (<literal>a-z</literal>), digits " "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" "literal>) signs, and periods (<literal>.</literal>). It must be at least two " "characters long, must start with an alphanumeric character, and must not be " "the same as existing ones. It is a good idea to keep its length within 30 " "characters. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you follow the <ulink url=\"&devref-newpackage;\">Debian Developer's " "Reference 5.1. \"New packages\"</ulink>, the ITP process will usually catch " "this kind of issues." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream uses some generic term such as <literal>test-suite</literal> for " "its name, it is a good idea to rename it to identify its contents explicitly " "and avoid namespace pollution. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This stricter rule should help you avoid confusing file names." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default version field length of <command>aptitude</command> is 10. The " "Debian revision with preceding hyphen usually consumes 2. For more than 80% " "of packages, the upstream version is less than 8 characters and the Debian " "revision is less than 2 characters. For more than 90% of packages, the " "upstream version is less than 10 characters and the Debian revision is less " "than 3 characters." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You should choose the <emphasis role=\"strong\">upstream version</emphasis> " "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>), and periods " "(<literal>.</literal>). It must start with a digit (<literal>0-9</" "literal>). <placeholder type=\"footnote\" id=\"0\"/> It is good idea to " "keep its length within 8 characters if possible. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream does not use a normal versioning scheme such as " "<literal>2.30.32</literal> but uses some kind of date such as " "<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " "part of the version, make sure to remove them from the <emphasis role=" "\"strong\">upstream version</emphasis>. Such information can be recorded in " "the <filename>debian/changelog</filename> file. If you need to invent a " "version string, use the <literal>YYYYMMDD</literal> format such as " "<literal>20110429</literal> as upstream version. This ensures that " "<command>dpkg</command> interprets later versions correctly as upgrades. If " "you need to ensure smooth transition to the normal version scheme such as " "<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format " "such as <literal>0~110429</literal> as upstream version, instead." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Version strings may be <emphasis role=\"strong\">upstream version</emphasis> " "(<literal><replaceable>version</replaceable></literal>), <emphasis role=" "\"strong\">Debian revision</emphasis> (<literal><replaceable>revision</" "replaceable></literal>), or <emphasis role=\"strong\">version</emphasis> " "(<literal><replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal>). See <xref linkend=\"newrevision\"/> for how the " "<emphasis role=\"strong\">Debian revision</emphasis> is incremented." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This process can be automated using the <citerefentry> " #| "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry> command as follows:" msgid "" "Version strings <placeholder type=\"footnote\" id=\"0\"/> can be compared " "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> as follows." msgstr "" "這個過程可以通過使用 <citerefentry> <refentrytitle>uupdate</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 來更自動化地完成:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgid "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" msgstr "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "The version comparison rule can be summarized as:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Strings are compared from the head to the tail." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are larger than digits." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Numbers are compared as integers." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are compared in ASCII code order." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "There are special rules for period (<literal>.</literal>), plus (<literal>+</" "literal>), and tilde (<literal>~</literal>) characters, as follows." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case occurs when upstream releases <filename>gentoo-0.9.12-" "ReleaseCandidate-99.tar.gz</filename> as the pre-release of " "<filename>gentoo-0.9.12.tar.gz</filename>. You need to make sure that the " "upgrade works properly by renaming the upstream source to " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Set up <command>quilt</command>" msgid "Setting up <command>dh_make</command>" msgstr "設置 <command>quilt</command>" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "The following text assumes you are using Bash as your login shell. If " #| "you use other login shells such as Z shell, use their pertinent " #| "configuration files instead of <filename>~/.bashrc</filename>." msgid "" "The following text assumes you are using Bash as your login shell. If you " "use some other login shell such as Z shell, use their corresponding " "configuration files instead of <filename>~/.bashrc</filename>." msgstr "" "以下默認以 Bash 作爲登陸 shell。如果你使用其他的 shell,例如 Z shell,使用它" "們的設定檔案代替這裏提到的 <filename>~/.bashrc</filename>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's set up the shell environment variable <literal>$DEBEMAIL</literal> " #| "and <literal>$DEBFULLNAME</literal> so many Debian maintenance tools " #| "recognize your name and email address to use for packages as follows." #| "<placeholder type=\"footnote\" id=\"0\"/>." msgid "" "Set up the shell environment variables <literal>$DEBEMAIL</literal> and " "<literal>$DEBFULLNAME</literal> so that various Debian maintenance tools " "recognize your email address and name to use for packages. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "首先我們設置兩個 環境變量,<literal>$DEBEMAIL</literal> 和 <literal>" "$DEBFULLNAME</literal>,使多數 Debian 維護工具能夠正確識別你用於維護套件的姓" "名和電子郵件地址。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ cat >>~/.bashrc <<EOF\n" #| "DEBEMAIL=your.email.address@example.org\n" #| "DEBFULLNAME=Firstname Lastname\n" #| "export DEBEMAIL DEBFULLNAME\n" #| "EOF\n" msgid "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" msgstr "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=your.email.address@example.org\n" "DEBFULLNAME=Firstname Lastname\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Initial Debian package" msgid "Initial non-native Debian package" msgstr "初始化 Debian 套件" #. type: Content of: <book><chapter><section><para> msgid "" "Normal Debian packages are non-native Debian packages made from upstream " "programs. If you wish to create a non-native Debian package of an upstream " "source <filename>gentoo-0.9.12.tar.gz</filename>, you can create an initial " "non-native Debian package for it by issuing the <command>dh_make</command> " "command as follows." msgstr "" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ mkdir ~/gentoo ; cd ~/gentoo\n" #| "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" #| "$ tar xvzf gentoo-0.9.12.tar.gz\n" #| "$ ls -F\n" #| "gentoo-0.9.12/\n" #| "gentoo-0.9.12.tar.gz\n" msgid "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the upstream source provides the <filename>debian</filename> directory " "and its contents, run the <command>dh_make</command> command with the extra " "option <literal>--addmissing</literal>. The new source <literal>3.0 " "(quilt)</literal> format is robust enough not to break even for these " "packages. You may need to update the contents provided by the upstream for " "your Debian package." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This process can be automated using the <citerefentry> " #| "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry> command as follows:" msgid "" "Of course, replace the filename with the name of your original source " "archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> for details." msgstr "" "這個過程可以通過使用 <citerefentry> <refentrytitle>uupdate</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 來更自動化地完成:" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are several choices here: <literal>s</literal> for Single binary " "package, <literal>i</literal> for arch-Independent package, <literal>m</" "literal> for Multiple binary packages, <literal>l</literal> for Library " "package, <literal>k</literal> for Kernel module package, <literal>n</" "literal> for kernel patch package, and <literal>b</literal> for <systemitem " "role=\"package\">cdbs</systemitem> package. This document focuses on the " "use of the <command>dh</command> command (from the package <systemitem role=" "\"package\">debhelper</systemitem>) to create a single binary package, but " "also touches on how to use it for arch-independent or multiple binary " "packages. The package <systemitem role=\"package\">cdbs</systemitem> offers " "an alternative packaging script infrastructure to the <command>dh</command> " "command and is outside the scope of this document." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You should see some output asking you what sort of package you want to " "create. Gentoo is a single binary package - it creates only one binary " "package, i.e, one <filename>.deb</filename> file - so we will select the " "first option (with the <literal>s</literal> key), check the information on " "the screen, and confirm by pressing <literal><replaceable>ENTER</" "replaceable></literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After this execution of <command>dh_make</command>, a copy of the " #| "upstream tarball is created as <filename>gentoo_0.9.12.orig.tar.gz</" #| "filename> in the parent directory to accommodate the creation of the non-" #| "native Debian source package with the <filename>debian.tar.gz</filename> " #| "later." msgid "" "This execution of <command>dh_make</command> creates a copy of the upstream " "tarball as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent " "directory to accommodate the creation of the non-native Debian source " "package with the name <filename>debian.tar.gz</filename> later." msgstr "" "執行 <command>dh_make</command> 後,上一級目錄中自動創建了一份上游 tarball 的" "副本,名爲 <filename>gentoo_0.9.12.orig.tar.gz</filename>,這個檔案和稍後介紹" "的 <filename>debian.tar.gz</filename> 在一起滿足了 Debian 非本地原始碼套件的" "要求。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" msgstr "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Please note 2 key features in this <filename>gentoo_0.9.12.orig.tar.gz</" #| "filename> file name:" msgid "" "Please note two key features of this filename <filename>gentoo_0.9.12.orig." "tar.gz</filename>:" msgstr "" "請注意 <filename>gentoo_0.9.12.orig.tar.gz</filename> 這個檔案名的兩個關鍵特" "點:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Package name and version are separated by the <literal>_</literal> " #| "(underscore)." msgid "" "Package name and version are separated by the character <literal>_</literal> " "(underscore)." msgstr "套件名稱和版本是以底線 <literal>_</literal> 分隔的。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "There is the <filename>.orig</filename> before the <filename>.tar.gz</" #| "filename>." msgid "" "The string <filename>.orig</filename> is inserted before the <filename>.tar." "gz</filename>." msgstr "<filename>.tar.gz</filename> 副檔名前有 <filename>.orig</filename>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You should also notice that many template files are created in the source " #| "under the <filename>debian</filename> directory. These will be explained " #| "in <xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should " #| "also understand that the packaging is not automatic process. You need to " #| "modify the upstream source for Debian as <xref linkend=\"modify\"/>. " #| "After all these, you need to build Debian packages under the proper " #| "method as <xref linkend=\"build\"/>, check them as <xref linkend=\"checkit" #| "\"/>, and upload them as <xref linkend=\"upload\"/>. I will explain all " #| "these steps." msgid "" "You should also notice that many template files are created in the source " "under the <filename>debian</filename> directory. These will be explained in " "<xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should also " "understand that packaging cannot be a fully automated process. You will " "need to modify the upstream source for Debian (see <xref linkend=\"modify\"/" ">). After this, you need to use the proper methods for building Debian " "packages (<xref linkend=\"build\"/>), testing them (<xref linkend=\"checkit" "\"/>), and uploading them (<xref linkend=\"upload\"/>). All the steps will " "be explained." msgstr "" "你應該可以注意到 <filename>debian</filename> 目錄下有了許多模板檔案。這些檔案" "將在 <xref linkend=\"dreq\"/> 和 <xref linkend=\"dother\"/> 一一解釋。你還應" "該明白,打包不是一個自動的過程,你還需要按照 <xref linkend=\"modify\"/> 中的" "方法來修改套件。此後,你還要按照 <xref linkend=\"build\"/> 中敘述的合適的方法" "來編譯 Debian 套件、按照 <xref linkend=\"checkit\"/> 中的方法檢査其中錯誤,最" "終依照 <xref linkend=\"upload\"/> 的介紹將其上傳。我將對所有的這些步驟進行解" "釋。" #. type: Content of: <book><chapter><section><para> msgid "" "If you accidentally erased some template files while working on them, you " "can recover them by running <command>dh_make</command> with the <literal>--" "addmissing</literal> option again in a Debian package source tree." msgstr "" "如果你在修改過程中不小心刪除或弄壞了某些模板檔案,你可以使用 " "<command>dh_make</command> 加上 <literal>--addmissing</literal> 參數來將其還" "原。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Updating an existing package may get complicated since it may be using " #| "older techniques. Please stick with fresh packaging cases for now to " #| "learn basics. I will come back to explain it later in <xref linkend=" #| "\"update\"/>." msgid "" "Updating an existing package may get complicated since it may be using older " "techniques. While learning the basics, please stick to creating a fresh " "package; further explanations are given in <xref linkend=\"update\"/>." msgstr "" "更新一個已存在的套件可能比較複雜,因爲它可能使用舊的技術。請繼續在這裏學習最" "新的打包技術以便掌握必要的基本功。我們會在稍後的 <xref linkend=\"update\"/> " "中回頭講解如何處理這種情況。" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the source file does not need to contain any build system " "discussed in <xref linkend=\"simplemake\"/> and <xref linkend=\"portable\"/" ">. It could be just a collection of graphical data etc. Installation of " "files may be carried out using only <systemitem role=\"package\">debhelper</" "systemitem> configuration files such as <filename>debian/install</filename> " "(see <xref linkend=\"install\"/>)." msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Initial Debian package" msgid "Initial native Debian package" msgstr "初始化 Debian 套件" #. type: Content of: <book><chapter><section><para> msgid "" "If a package contains source files you are only maintaining for Debian, " "possibly only for local use, it may be simpler to create it as a Debian " "native package. If you have source files in <filename>~/mypackage-1.0</" "filename>, you can create an initial native Debian package for it by issuing " "the <command>dh_make</command> command as follows." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Then the <filename>debian</filename> directory and its contents are created " "just like <xref linkend=\"non-native-dh-make\"/>. This does not create a " "tarball since this is a native Debian package. But that is the only " "difference. The rest of the packaging activities are practically the same." msgstr "" #. type: Content of: <book><chapter><title> msgid "Modifying the source" msgstr "修改原始碼" #. type: Content of: <book><chapter><para> msgid "" "Please note that there isn't space here to go into <emphasis>all</emphasis> " "the details of fixing upstream sources, but here are some basic steps and " "problems people often run across." msgstr "" "請注意這裏沒有足夠的篇幅來描述修改上游原始碼的 <emphasis>全部</emphasis> 細" "節,但是這裏介紹了基本的步驟和常見的問題。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Set up <command>quilt</command>" msgid "Setting up <command>quilt</command>" msgstr "設置 <command>quilt</command>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <command>quilt</command> program offers the basic method to record " #| "modification to the source for the Debian packaging. Since slightly " #| "different default is desirable for Debian packaging, let's set up " #| "<filename>~/.quiltrc</filename> as follows. <placeholder type=\"footnote" #| "\" id=\"0\"/>" msgid "" "The program <command>quilt</command> offers a basic method for recording " "modifications to the upstream source for Debian packaging. It's useful to " "have a slightly customized default, so let's create an alias " "<command>dquilt</command> for Debian packaging by adding the following lines " "to <filename>~/.bashrc</filename>. The second line provides the same shell " "completion feature of the <command>quilt</command> command to the " "<command>dquilt</command> command." msgstr "" "<command>quilt</command> 程式爲 Debian 工作提供了對源碼修改的基本記錄方法。由" "於我們的需求與默認設定相當的不同,我們把 <filename>~/.quiltrc</filename> 設置" "成如下的樣子。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "You change the <filename>Makefile</filename> file as follows." msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows." msgstr "現在將 <filename>Makefile</filename> 修改爲如下的樣子。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" #| "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" #| " # Debian packaging case and unset $QUILT_PATCHES\n" #| " QUILT_PATCHES=debian/patches\n" #| " QUILT_PATCH_OPTS=--unified-reject-files\n" #| " QUILT_DIFF_ARGS=-p ab --no-timestamps --no-index --color=auto\n" #| " QUILT_REFRESH_ARGS=-p ab --no-timestamps --no-index\n" #| " QUILT_COLORS=diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\n" #| " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" #| "fi\n" msgid "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" msgstr "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # Debian packaging case and unset $QUILT_PATCHES\n" " QUILT_PATCHES=debian/patches\n" " QUILT_PATCH_OPTS=--unified-reject-files\n" " QUILT_DIFF_ARGS=-p ab --no-timestamps --no-index --color=auto\n" " QUILT_REFRESH_ARGS=-p ab --no-timestamps --no-index\n" " QUILT_COLORS=diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> and <filename>/usr/share/doc/quilt/quilt.html</" #| "filename> for how to use <command>quilt</command>." msgid "" "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <filename>&quilt-pdf;</filename> on how to " "use <command>quilt</command>." msgstr "" "參考 <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 和 <filename>/usr/share/doc/quilt/quilt.html</" "filename> 來了解如何使用 <command>quilt</command>。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Fixing upstream bug" msgid "Fixing upstream bugs" msgstr "修復上游 Bug" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's assume you find an error in the upstream <filename>Makefile</" #| "filename> file as follows where <literal>install: gentoo</literal> should " #| "have been <literal>install: gentoo-target</literal>." msgid "" "Let's assume you find an error in the upstream <filename>Makefile</filename> " "as follows where <literal>install: gentoo</literal> should have been " "<literal>install: gentoo-target</literal>." msgstr "" "讓我們假設你在上游的 <filename>Makefile</filename> 檔案中找到了一個錯誤,其中" "的 <literal>install: gentoo</literal> 應該是 <literal>install: gentoo-" "target</literal> 才正確。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "The <filename>debian/patches</filename> directory should exist now if you " #| "run <command>dh_make</command> as described before. This example " #| "operation creates it just in case you are updating the existing package." msgid "" "The <filename>debian/patches</filename> directory should exist now if you " "ran <command>dh_make</command> as described before. This example operation " "creates it just in case you are updating an existing package." msgstr "" "<filename>debian/patches</filename> 應當在你按照前面所述的步驟運行 " "<command>dh_make</command> 時生成的。這個例子中我們新創建它,因爲假設的是在更" "新一個已存在的套件。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's fix this and record this with the <command>quilt</command> command " #| "as <filename>fix-gentoo-target.patch</filename>. <placeholder type=" #| "\"footnote\" id=\"0\"/>" msgid "" "Let's fix this and record it with the <command>dquilt</command> command as " "<filename>fix-gentoo-target.patch</filename>. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "讓我們使用 <command>quilt</command> 修復它,並把它命名爲 <filename>fix-" "gentoo-target.patch</filename>。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ mkdir debian/patches\n" #| "$ quilt new fix-gentoo-target.patch\n" #| "$ quilt add Makefile\n" msgid "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ mkdir debian/patches\n" "$ quilt new fix-gentoo-target.patch\n" "$ quilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "You change the <filename>Makefile</filename> file as follows." msgstr "現在將 <filename>Makefile</filename> 修改爲如下的樣子。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Ask <command>quilt</command> to refresh the patch to create " #| "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " #| "description." msgid "" "Ask <command>dquilt</command> to generate the patch to create " "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " "description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</" "ulink>." msgstr "" "使用 <command>quilt</command> 更新補丁以創建 <filename>debian/patches/fix-" "gentoo-targe.patch</filename> 並添加描述。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ quilt refresh\n" #| "$ quilt header -e\n" #| "... describe patch\n" msgid "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ quilt refresh\n" "$ quilt header -e\n" "... 描述補丁\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Installation of files to the destination" msgid "Installation of files to their destination" msgstr "把檔案安裝到目的位置" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Normally, programs install themselves in the <filename>/usr/local</" #| "filename> subdirectory. Since it is reserved for system administrator's " #| "(or user's) private use, Debian packages must not use that directory but " #| "should use system directories such as the <filename>/usr/bin</filename> " #| "subdirectory following the Filesystem Hierarchy Standard (<ulink url=" #| "\"&fhs;\">FHS</ulink>, <filename>/usr/share/doc/debian-policy/fhs/fhs-2.3." #| "html</filename>)." msgid "" "Most third-party software installs itself in the <filename>/usr/local</" "filename> directory hierarchy. On Debian this is reserved for private use " "by the system administrator, so packages must not use directories such as " "<filename>/usr/local/bin</filename> but should instead use system " "directories such as <filename>/usr/bin</filename>, obeying the <ulink url=" "\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)." msgstr "" "正常情況下,程式將其本身安裝在 <filename>/usr/local</filename>。因爲它是保留" "給系統管理員(或用戶)的私有位置,Debian 套件不可以使用該目錄,而是按照檔案系統" "層級標準(<ulink url=\"&fhs;\">FHS</ulink>,<filename>/usr/share/doc/debian-" "policy/fhs/fhs-2.3.html</filename>)使用如 <filename>/usr/bin</filename> 等目" "錄。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Normally, <citerefentry> <refentrytitle>make</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> is used to automate building the " #| "program and the execution of <literal>make install</literal> installs " #| "programs directly to the desired destination by the <literal>install</" #| "literal> target of the <filename>Makefile</filename> file. In order for " #| "Debian to provide binary packages, the build system installs programs to " #| "the file tree image created under a temporary directory instead to the " #| "actual destination." msgid "" "Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> is used to automate building the program, and " "executing <literal>make install</literal> installs programs directly to the " "desired destination (following the <literal>install</literal> target in the " "<filename>Makefile</filename>). In order for Debian to provide pre-built " "installable packages, it modifies the build system to install programs into " "a file tree image created under a temporary directory instead of the actual " "destination." msgstr "" "通常在自動編譯程式時使用 <citerefentry> <refentrytitle>make</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 程式,執行 <literal>make install</" "literal> 就把程式直接按照 <filename>Makefile</filename> 檔案中的 " "<literal>install</literal> target 安裝到指定的位置。爲了使 Debian 能夠提供二" "進位套件,編譯系統將檔案安裝到一個臨時目錄中創建的檔案系統樹的鏡像中,而非直" "接安裝到實際的目標位置。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "These 2 differences between (1) the normal program installation and (2) " #| "the Debian packaging can be transparently addressed by the <systemitem " #| "role=\"package\">debhelper</systemitem> package through the " #| "<command>dh_auto_configure</command> and <command>dh_auto_install</" #| "command> commands if the following conditions are met." msgid "" "These two differences between normal program installation on one hand and " "the Debian packaging system on the other can be transparently addressed by " "the <systemitem role=\"package\">debhelper</systemitem> package through the " "<command>dh_auto_configure</command> and <command>dh_auto_install</command> " "commands if the following conditions are met." msgstr "" "普通程式安裝過程和 Debian 打包安裝過程的區別可以由 <systemitem role=\"package" "\">debhelper</systemitem> 套件中的 <command>dh_auto_configure</command> 和 " "<command>dh_auto_install</command> 透明地處理。但程式必須滿足以下條件:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <filename>Makefile</filename> file follows the GNU conventions to " #| "support <literal>$(DESTDIR)</literal> variable (<filename>/usr/share/doc/" #| "gnu-standards/standards.html#Makefile-Conventions</filename>)." msgid "" "The <filename>Makefile</filename> must follow GNU conventions and support " "the <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" " "id=\"0\"/>" msgstr "" "<filename>Makefile</filename> 檔案遵循 GNU 的規定支持 <literal>$(DESTDIR)</" "literal> 變量(<filename>/usr/share/doc/gnu-standards/standards.html#Makefile-" "Conventions</filename>)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "The source follows the Filesystem Hierarchy Standard (FHS)." msgid "The source must follow the Filesystem Hierarchy Standard (FHS)." msgstr "原始碼遵循檔案系統層級標準(FHS)。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Programs that use GNU <command>autoconf</command> " #| "<emphasis>automatically</emphasis> follow the GNU conventions and their " #| "packaging is almost <emphasis>automatic</emphasis>. With this and other " #| "heuristics, the <systemitem role=\"package\">debhelper</systemitem> " #| "package estimates that it works for about 90% of packages without making " #| "any intrusive changes to their build system. So the packaging is not as " #| "complicated as it may seem." msgid "" "Programs that use GNU <command>autoconf</command> follow the GNU conventions " "automatically, so they can be trivial to package. On the basis of this and " "other heuristics, it is estimated that the <systemitem role=\"package" "\">debhelper</systemitem> package will work for about 90% of packages " "without making any intrusive changes to their build system. So packaging is " "not as complicated as it may seem." msgstr "" "使用 GNU <command>autoconf</command> 的程式 <emphasis>自動</emphasis> 遵守了 " "GNU 的規定,這些程式的打包也就 <emphasis>幾乎是自動的</emphasis>。通過這項特" "點和其他啓發式處理,<systemitem role=\"package\">debhelper</systemitem> 套件" "可以直接打包約 90% 的套件而不需對編譯系統做出大的改變。所以打包也不是它看起來" "那樣複雜。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If you need to make changes in the <filename>Makefile</filename> file, " #| "you should make sure to support these <literal>$(DESTDIR)</literal> " #| "variable. The <literal>$(DESTDIR)</literal> variable is unset in it and " #| "is prepended to each file path used for the program installation. The " #| "packaging script will set <literal>$(DESTDIR)</literal> to the temporary " #| "directory." msgid "" "If you need to make changes in the <filename>Makefile</filename>, you should " "be careful to support the <literal>$(DESTDIR)</literal> variable. Although " "it is unset by default, the <literal>$(DESTDIR)</literal> variable is " "prepended to each file path used for the program installation. The " "packaging script will set <literal>$(DESTDIR)</literal> to the temporary " "directory." msgstr "" "如果你需要修改 <filename>Makefile</filename> 檔案,要確保其支持 <literal>" "$(DESTDIR)</literal> 變量。默認情況下 <literal>$(DESTDIR)</literal> 變量沒有" "設置並且默認使用程式選擇的安裝位置。打包腳本會將 <literal>$(DESTDIR)</" "literal> 設置爲臨時目錄。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "For multiple binary packages, the <command>dh_auto_install</command> " #| "command uses <filename>debian/tmp</filename> as the temporary directory " #| "while the <command>dh_install</command> command with the help of " #| "<filename>debian/<replaceable>package-1</replaceable>.install</filename> " #| "and <filename>debian/<replaceable>package-2</replaceable>.install</" #| "filename> files will split contents of <filename>debian/tmp</filename> " #| "into <filename>debian/<replaceable>package-1</replaceable></filename> and " #| "<filename>debian/<replaceable>package-2</replaceable></filename> " #| "temporary directories to create multiple binary <filename>*.deb</" #| "filename> packages." msgid "" "For a source package generating multiple binary packages, the " "<command>dh_auto_install</command> command uses <filename>debian/tmp</" "filename> as the temporary directory while the <command>dh_install</command> " "command with the help of <filename>debian/<replaceable>package-1</" "replaceable>.install</filename> and <filename>debian/<replaceable>package-2</" "replaceable>.install</filename> files will split the contents of " "<filename>debian/tmp</filename> into <filename>debian/" "<replaceable>package-1</replaceable></filename> and <filename>debian/" "<replaceable>package-2</replaceable></filename> temporary directories, to " "create <filename><replaceable>package-1</replaceable>_*.deb</filename> and " "<filename><replaceable>package-2</replaceable>_*.deb</filename> binary " "packages." msgstr "" "對於多個二進位套件,<command>dh_auto_install</command> 將臨時目錄設置爲" "<filename>debian/tmp</filename>,而 <command>dh_install</command> 命令則將檔" "案按照 <filename>debian/<replaceable>package-1</replaceable>.install</" "filename> 和 <filename>debian/<replaceable>package-2</replaceable>.install</" "filename> 等檔案的描述將 <filename>debian/tmp</filename> 中的檔案分別裝入 " "<filename>debian/<replaceable>package-1</replaceable></filename> 和 " "<filename>debian/<replaceable>package-2</replaceable></filename> 等臨時目錄以" "創建 <filename>*.deb</filename> 套件。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The temporary directory used by the <command>dh_auto_install</command> " #| "command is chosen as <filename>debian/<replaceable>package</replaceable></" #| "filename> for single binary packages. <placeholder type=\"footnote\" id=" #| "\"0\"/> Everything that is contained in the temporary directory will be " #| "installed on a user's system when they install your package, the only " #| "difference is that <command>dpkg</command> will be installing the files " #| "in the root directory." msgid "" "For a source package generating a single binary package, the temporary " "directory used by the <command>dh_auto_install</command> command will be set " "to <filename>debian/<replaceable>package</replaceable></filename>. " "<placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in " "the temporary directory will be installed on users' systems when they " "install your package; the only difference is that <command>dpkg</command> " "will be installing the files to paths relative to the root directory rather " "than your working directory." msgstr "" "對於單個二進位套件 <command>dh_auto_install</command> 將臨時目錄設置爲 " "<filename>debian/<replaceable>package</replaceable></filename>。<placeholder " "type=\"footnote\" id=\"0\"/> 臨時目錄中的全部檔案都將在用戶安裝套件時被安裝到" "用戶系統,唯一的區別是 <command>dpkg</command> 會把檔案安裝到真實的根目錄樹" "中。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Bear in mind that even though your program installs in <filename>debian/" #| "<replaceable>package</replaceable></filename>, it still needs to behave " #| "correctly when placed in the root directory, i.e. when installed from " #| "the <filename>.deb</filename> package. So you must not allow the build " #| "system to hardcode strings like <literal>/home/me/deb/" #| "<replaceable>package</replaceable>-<replaceable>version</replaceable>/usr/" #| "share/<replaceable>package</replaceable></literal> into the package file." msgid "" "Bear in mind that even though your program installs in <filename>debian/" "<replaceable>package</replaceable></filename>, it still needs to behave " "correctly when installed from the <filename>.deb</filename> package under " "the root directory. So you must not allow the build system to hardcode " "strings like <literal>/home/me/deb/<replaceable>package</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>package</" "replaceable></literal> into files in the package." msgstr "" "請記住,即使你的程式正確安裝到了<filename>debian/<replaceable>package</" "replaceable></filename>,仍然要考慮它可以在在實際的根目錄中安裝的情形,即從" "<filename>.deb</filename> 套件檔案安裝的情形。所以絕對不允許將諸如 <literal>/" "home/me/deb/<replaceable>package</replaceable>-<replaceable>version</" "replaceable>/usr/share/<replaceable>package</replaceable></literal> 的內容硬" "編碼到編譯系統中並裝入套件檔案。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "This is just an example to show how the <filename>Makefile</filename> " #| "file should look like. If the <filename>Makefile</filename> file is " #| "created by the <command>./configure</command> command, the correct way to " #| "fix this kind of <filename>Makefile</filename> is to executed the " #| "<command>./configure</command> command from the " #| "<command>dh_auto_configure</command> command with default options " #| "including <literal>--prefix=/usr</literal>." msgid "" "This is just an example to show what a <filename>Makefile</filename> should " "look like. If the <filename>Makefile</filename> is created by the " "<command>./configure</command> command, the correct way to fix this kind of " "<filename>Makefile</filename> is to execute <command>./configure</command> " "from the <command>dh_auto_configure</command> command with default options " "including <literal>--prefix=/usr</literal>." msgstr "" "這只是一個 <filename>Makefile</filename> 的例子。如果 <filename>Makefile</" "filename> 是通過 <command>./configure</command> 命令生成的,修復該類的 " "<filename>Makefile</filename> 的方法是通過 <command>dh_auto_configure</" "command> 執行 <command>./configure</command>,並帶上如 <literal>--prefix=/" "usr</literal> 的默認選項。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Here's the relevant part of <systemitem role=\"package\">gentoo</" #| "systemitem>'s <filename>Makefile</filename> file <placeholder type=" #| "\"footnote\" id=\"0\"/>:" msgid "" "Here's the relevant part of <systemitem role=\"package\">gentoo</" "systemitem>'s <filename>Makefile</filename><placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "以下是 <systemitem role=\"package\">gentoo</systemitem> 的 " "<filename>Makefile</filename> 檔案中的相關部分<placeholder type=\"footnote\" " "id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "# Where to put binary on 'make install'?\n" #| "BIN = /usr/local/bin\n" #| "# Where to put icons on 'make install'?\n" #| "ICONS = /usr/local/share/gentoo\n" msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" msgstr "" "# Where to put binary on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "We see that the files are set to install under <filename>/usr/local</" #| "filename>. Change those paths to:" msgid "" "We see that the files are set to install under <filename>/usr/local</" "filename>. As explained above, that directory hierarchy is reserved for " "local use on Debian, so change those paths to:" msgstr "" "可以看到檔案被放到了 <filename>/usr/local</filename> 下。把他們改變爲:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "# Where to put binary on 'make install'?\n" #| "BIN = $(DESTDIR)/usr/bin\n" #| "# Where to put icons on 'make install'?\n" #| "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgstr "" "# Where to put binary on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The more exact locations for binaries, icons, documentation etc. are " #| "specified in the Filesystem Hierarchy Standard (see <filename>/usr/share/" #| "doc/debian-policy/fhs/</filename>). I recommend you browse it and read " #| "the sections that might concern your package." msgid "" "The exact locations that should be used for binaries, icons, documentation, " "etc. are specified in the Filesystem Hierarchy Standard (FHS). You should " "browse through it and read the sections relevant to your package." msgstr "" "二進位檔案、圖示和文件等的更詳細位置均在檔案層級標準(FHS,參考 <filename>/" "usr/share/doc/debian-policy/fhs/</filename>)中作出了詳盡描述。我建議閱讀相關" "章節以瞭解可能影響你套件的內容。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "So, we should install the binary in <filename>/usr/bin</filename> instead " #| "of <filename>/usr/local/bin</filename>, the manual page in <filename>/usr/" #| "share/man/man1</filename> instead of <filename>/usr/local/man/man1</" #| "filename> etc. Notice how there's no manual page mentioned in " #| "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" #| "filename>, but since the Debian Policy requires that every program has " #| "one, we'll make one later and install it in <filename>/usr/share/man/" #| "man1</filename>." msgid "" "So, we should install executable commands in <filename>/usr/bin</filename> " "instead of <filename>/usr/local/bin</filename>, the manual page in " "<filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/" "man1</filename>, and so on. Notice how there's no manual page mentioned in " "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" "filename>, but since Debian Policy requires that every program has one, " "we'll make one later and install it in <filename>/usr/share/man/man1</" "filename>." msgstr "" "因此,我們應當把二進位檔案安裝到 <filename>/usr/bin</filename> 而非 " "<filename>/usr/local/bin</filename>,man 手冊頁則應放在 <filename>/usr/share/" "man/man1</filename> 而非 <filename>/usr/local/man/man1</filename> 等。注意到 " "<systemitem role=\"package\">gentoo</systemitem>的 <filename>Makefile</" "filename> 裏沒有提及手冊頁,而按照 Debian Policy 的要求,每個程式都應當有一個" "手冊頁,我們將在稍後製作一個並安裝到 <filename>/usr/share/man/man1</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Some programs don't use <filename>Makefile</filename> variables to define " "paths such as these. This means you might have to edit some real C sources " "in order to fix them to use the right locations. But where to search, and " "exactly what for? You can find this out by issuing:" msgstr "" "有些程式不使用 <filename>Makefile</filename> 變量定義路徑,這意味着你可能需要" "去編輯 C 程式原始碼來使他們使用正確的路徑。但是到哪裏去搜索,哪些才是呢?你可" "以通過以下的方法找到它們:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ grep -nr -e 'usr/local/lib' --include='*.[c|h]' .\n" msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" msgstr "$ grep -nr -e 'usr/local/lib' --include='*.[c|h]' .\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>grep</command> will run recursively through the source tree and " "tell you the filename and the line number for all matches." msgstr "" "<command>grep</command> 會遞歸搜索整個原始碼樹並告訴你所有匹配項的檔案名和行" "號。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Edit those files and in those lines replace <literal>usr/local/lib</" #| "literal> with <literal>usr/lib</literal>." msgid "" "Edit those files and in those lines replace <literal>usr/local/lib</literal> " "with <literal>usr/lib</literal>. This can be done automatically as follows:" msgstr "" "編輯那些檔案,用 <literal>usr/lib</literal> 替換 <literal>usr/local/lib</" "literal>。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n" #| " $(find . -type f -name '*.[c|h]')\n" msgid "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you want to confirm each substitution instead, this can be done " "interactively as follows:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n" #| " $(find . -type f -name '*.[c|h]')\n" msgid "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After that you should find the install target (search for line that " #| "starts with <literal>install:</literal>, that will usually work) and " #| "rename all references to directories other than ones defined at the top " #| "of the <filename>Makefile</filename>." msgid "" "Next you should find the <literal>install</literal> target (searching for " "the line that starts with <literal>install:</literal> will usually work) and " "rename all references to directories other than ones defined at the top of " "the <filename>Makefile</filename>." msgstr "" "此後你應該找到 install target (通常搜索以 <literal>install:</literal> 開頭的" "行即可),並把所有的相關目錄以及在 <filename>Makefile</filename> 頂部定義變量" "均做修改。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After your upstream bug fix, <systemitem role=\"package\">gentoo</" #| "systemitem>'s install target said:" msgid "" "Originally, <systemitem role=\"package\">gentoo</systemitem>'s " "<literal>install</literal> target said:" msgstr "" "在你修復了上游的 Bug 後,<systemitem role=\"package\">gentoo</systemitem> 的 " "install target 應是這樣:" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's fix this and record this with the <command>quilt</command> command " #| "as <filename>debian/patches/install.patch</filename>." msgid "" "Let's fix this upstream bug and record it with the <command>dquilt</command> " "command as <filename>debian/patches/install.patch</filename>." msgstr "" "讓我們把這些修改使用 <command>quilt</command> 記錄到<filename>debian/patches/" "install.patch</filename>。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ quilt new install.patch\n" #| "$ quilt add Makefile\n" msgid "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ quilt new install.patch\n" "$ quilt add Makefile\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "Let's change this for Debian package as following using the editor:" msgid "In your editor, change this for the Debian package as follows:" msgstr "我們使用編輯器按照以下內容爲 Debian 套件做修改:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" msgstr "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You've surely noticed that there's now a <literal>install -d</literal> " #| "command before the other commands in the rule. The original " #| "<filename>Makefile</filename> didn't have it because usually the " #| "<literal>/usr/local/bin</literal> and other directories already exist on " #| "the system where one runs <literal>make install</literal>. However, " #| "since we will install into our own empty (or even nonexistent) directory, " #| "we will have to create each and every one of those directories." msgid "" "You'll have noticed that there's now an <literal>install -d</literal> " "command before the other commands in the rule. The original " "<filename>Makefile</filename> didn't have it because usually <literal>/usr/" "local/bin</literal> and other directories already exist on the system where " "you are running <literal>make install</literal>. However, since we will be " "installing into a newly created private directory tree, we will have to " "create each and every one of those directories." msgstr "" "你一定會注意到在其他命令前有了一個 <literal>install -d</literal> 命令。原始" "的 <filename>Makefile</filename> 檔案中沒有它,因爲通常情況下 <literal>/usr/" "local/bin</literal> 和用到的其他目錄早已存在於系統,使用 <literal>make " "install</literal> 時不用對此處理。然而因爲我們要向空目錄或尚不存在的目錄中安" "裝,我們必須創建每一個目錄。" #. type: Content of: <book><chapter><section><para> msgid "" "We can also add in other things at the end of the rule, like the " "installation of additional documentation that the upstream authors sometimes " "omit:" msgstr "我們還可以在末尾添加上其他的內容,比如上游作者有時會省略的附加文件:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" msgstr "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After careful check, if everything is fine, ask <command>quilt</command> " #| "to refresh the patch to create <filename>debian/patches/install.patch</" #| "filename> and add its description." msgid "" "Check carefully, and if everything is okay, ask <command>dquilt</command> to " "generate the patch to create <filename>debian/patches/install.patch</" "filename> and add its description." msgstr "" "仔細檢査後如果沒有問題,使用 <command>quilt</command> 更新補丁以創建 " "<filename>debian/patches/install.patch</filename> 檔案並添加對它的描述。" #. type: Content of: <book><chapter><section><para> msgid "Now you have a series of patches." msgstr "現在你有了一格系列的補丁。" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>" msgstr "" "修復上游 Bug:<filename>debian/patches/fix-gentoo-target.patch</filename>" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Debian specific packaging modification: <filename>debian/patches/install." "patch</filename>" msgstr "" "Debian 特有的打包修改:<filename>debian/patches/install.patch</filename>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Whenever you make changes that are not specifically related to Debian " #| "package such as <filename>debian/patches/fix-gentoo-target.patch</" #| "filename>, be sure to send them to the upstream maintainer so they can be " #| "included in the next program revision and be useful to everyone else. " #| "Also remember to make your fixes not specific to Debian or Linux (or even " #| "Unix!) prior to sending them -- make them portable. This will make your " #| "fixes much easier to apply." msgid "" "Whenever you make changes that are not specific to the Debian package such " "as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to " "send them to the upstream maintainer so they can be included in the next " "version of the program and be useful to everyone else. Also remember to " "avoid making your fixes specific to Debian or Linux - or even Unix! Make " "them portable. This will make your fixes much easier to apply." msgstr "" "進行任何不是 Debian 特有的修改時,比如 <filename>debian/patches/fix-gentoo-" "target.patch</filename>,一定要向上遊作者進行反饋,以便上游作者方便在下一版本" "中以使更多人受益。同時請記住在做不特別針對 Debian 或 Linux (甚至是 Unix!)的" "修改時要使其可以移植,這會使你的修改更容易被接受。" #. type: Content of: <book><chapter><section><para> msgid "" "Note that you don't have to send the <filename>debian/*</filename> files " "upstream." msgstr "注意你不一定要把 <filename>debian/*</filename> 都提交到上游。" #. type: Content of: <book><chapter><section><title> msgid "Differing libraries" msgstr "不一樣的函式庫名稱" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "There is one other common problem: libraries are often different from " #| "platform to platform. For example, a <filename>Makefile</filename> can " #| "contain a reference to a library which doesn't exist on Debian systems. " #| "In that case, we need to change it to a library which does exist in " #| "Debian, and serves the same purpose." msgid "" "There is one other common problem: libraries are often different from " "platform to platform. For example, a <filename>Makefile</filename> can " "contain a reference to a library which doesn't exist on the Debian system. " "In that case, we need to change it to a library which does exist in Debian, " "and serves the same purpose." msgstr "" "還有另外一個常見的問題:不同平臺之間的函式庫常常是不同的。例如一個 " "<filename>Makefile</filename> 中可能引了用一個不在 Debian 上存在的函式庫。這" "種情況下我們需要將其修改爲 Debian 中存在的、提供完全相同功能的函式庫。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "So, if there is a line in your program's <filename>Makefile</filename> " #| "(or <filename>Makefile.in</filename>) that says something like this (and " #| "your program doesn't compile) <placeholder type=\"footnote\" id=\"0\"/>:" msgid "" "Let's assume a line in your program's <filename>Makefile</filename> (or " "<filename>Makefile.in</filename>) as the following." msgstr "" "如果你手中程式的 <filename>Makefile</filename>(或 <filename>Makefile.in</" "filename>)中有如下的行(且程式無法通過編譯)<placeholder type=\"footnote\" id=" "\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "LIBS = -lfoo -lbar\n" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If there are API changes from the <literal>foo</literal> library to the " "<literal>foo2</literal> library, required changes to the source code need to " "be made to match the new API." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your program doesn't compile since the <literal>foo</literal> library " "doesn't exist and its equivalent is provided by the <literal>foo2</literal> " "library on the Debian system, you can fix this build problem as " "<filename>debian/patches/foo2.patch</filename> by changing <literal>foo</" "literal> into <literal>foo2</literal>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ quilt new ncurse.patch\n" #| "$ quilt add Makefile\n" #| "$ sed -i -e s/-lcurses/-lncurses/g Makefile\n" #| "$ quilt refresh\n" #| "$ quilt header -e\n" #| "... describe patch\n" msgid "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ quilt new ncurse.patch\n" "$ quilt add Makefile\n" "$ sed -i -e s/-lcurses/-lncurses/g Makefile\n" "$ quilt refresh\n" "$ quilt header -e\n" "... 描述補丁\n" #. type: Content of: <book><chapter><title> msgid "Required files under the <filename>debian</filename> directory" msgstr "<filename>debian</filename> 目錄中的必須內容" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "In this chapter, files in the <filename>debian</filename> directory are " "referred to without the leading <filename>debian/</filename> for simplicity " "whenever the meaning is obvious." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "There is a new subdirectory under the program's source directory, called " "<filename>debian</filename>. There are a number of files in this directory " "that we should edit in order to customize the behavior of the package. The " "most important of them are <filename>control</filename>, " "<filename>changelog</filename>, <filename>copyright</filename>, and " "<filename>rules</filename>, which are required for all packages. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>control</filename> file" msgid "<filename>control</filename>" msgstr "<filename>control</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This file contains various values which <command>dpkg</command>, " #| "<command>dselect</command>, <command>apt-get</command>, <command>apt-" #| "cache</command>, <command>aptitude</command>, and other package " #| "management tools will use to manage the package. It is defined by the " #| "<ulink url=\"&policy-control;\">Debian Policy Manual, 5 'Control files " #| "and their fields'</ulink>." msgid "" "This file contains various values which <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command>, and other package management tools " "will use to manage the package. It is defined by the <ulink url=\"&policy-" "control;\">Debian Policy Manual, 5 \"Control files and their fields\"</" "ulink>." msgstr "" "這個檔案包含了很多供 <command>dpkg</command>、<command>dselect</command>、" "<command>apt-get</command>、<command>apt-cache</command>、<command>aptitude</" "command> 等套件管理工具提取訊息以進行管理時所使用的變量。這些變量均在 <ulink " "url=\"&policy-control;\">Debian Policy Manual, 5 'Control files and their " "fields'</ulink> 中定義。" #. type: Content of: <book><chapter><section><para> msgid "" "Here is the <filename>control</filename> file <command>dh_make</command> " "created for us:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| " 1 Source: gentoo\n" #| " 2 Section: unknown\n" #| " 3 Priority: extra\n" #| " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" #| " 5 Build-Depends: debhelper (>= 7.0.50~)\n" #| " 6 Standards-Version: 3.8.4\n" #| " 7 Homepage: <insert the upstream URL, if relevant>\n" #| " 8\n" #| " 9 Package: gentoo\n" #| "10 Architecture: any\n" #| "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" #| "12 Description: <insert up to 60 chars description>\n" #| "13 <insert long description, indented with spaces>\n" msgid "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>= 7.0.50~)\n" " 6 Standards-Version: 3.8.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" #. type: Content of: <book><chapter><section><para> msgid "(I've added the line numbers.)" msgstr "(注:我爲它添加了行號。)" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "Lines 1-6 are the control information for the source package." msgid "" "Lines 1-7 are the control information for the source package. Lines 9-13 " "are the control information for the binary package." msgstr "第 1-6 行是原始碼套件的控制訊息。" #. type: Content of: <book><chapter><section><para> msgid "Line 1 is the name of the source package." msgstr "第 1 行是原始碼套件的名稱。" #. type: Content of: <book><chapter><section><para> msgid "Line 2 is the section of the distribution the source package goes into." msgstr "第 2 行是該源碼包要進入發行版中的分類。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections" "\"</ulink> and <ulink url=\"§ions-unstable;\">List of sections in " "<literal>sid</literal></ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "As you may have noticed, Debian archive is divided in sections: " #| "<literal>main</literal> (the free software), <literal>non-free</literal> " #| "(the not really free software) and <literal>contrib</literal> (free " #| "software that depends on non-free software). Under those, there are " #| "logical subsections that describe in short what packages are in. So we " #| "have <literal>admin</literal> for administrator-only programs, " #| "<literal>base</literal> for the basic tools, <literal>devel</literal> for " #| "programmer tools, <literal>doc</literal> for documentation, " #| "<literal>libs</literal> for libraries, <literal>mail</literal> for e-mail " #| "readers and daemons, <literal>net</literal> for network apps and daemons, " #| "<literal>x11</literal> for X11 programs that don't fit anywhere else, and " #| "many more. See the <ulink url=\"&policy-subsections;\">Debian Policy " #| "Manual, 2.4 'Sections'</ulink> and <ulink url=\"§ions-unstable;" #| "\">List of sections in 'sid'</ulink> for the guidance." msgid "" "As you may have noticed, the Debian archive is divided into multiple areas: " "<literal>main</literal> (the free software), <literal>non-free</literal> " "(the not really free software) and <literal>contrib</literal> (free software " "that depends on non-free software). Each of these is divided into sections " "that classify packages into rough categories. So we have <literal>admin</" "literal> for administrator-only programs, <literal>devel</literal> for " "programmer tools, <literal>doc</literal> for documentation, <literal>libs</" "literal> for libraries, <literal>mail</literal> for email readers and " "daemons, <literal>net</literal> for network apps and daemons, <literal>x11</" "literal> for X11 programs that don't fit anywhere else, and many more. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "你可能已經注意到,Debian 倉庫被分爲幾個類別:<literal>main</literal> (自由軟" "體)、<literal>non-free</literal> (非自由軟體)以及 <literal>contrib</literal> " "(依賴於非自由軟體的自由軟體)。在這些大的分類之下還有多個邏輯上的子分類,用以" "簡短描述套件的用途類別。<literal>admin</literal> 爲僅供系統管理員使用的程式," "<literal>base</literal> 爲基本工具,<literal>devel</literal> 爲開發工具," "<literal>doc</literal> 爲文件,<literal>libs</literal> 爲函式庫," "<literal>mail</literal> 爲電子郵件閱讀器或郵件系統守護程式,<literal>net</" "literal> 爲網絡應用程式或網絡服務守護進程,<literal>x11</literal> 爲不屬於其" "他分類的爲 X11 程式。更多的子分類見 <ulink url=\"&policy-subsections;" "\">Debian Policy Manual, 2.4 'Sections'</ulink> 和 <ulink url=\"§ions-" "unstable;\">List of sections in 'sid'</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "Let's change it then to x11. (A <literal>main/</literal> prefix is implied " "so we can omit it.)" msgstr "" "我們將本例設置爲 x11。( <literal>main/</literal> 前綴是默認值,可以省略。)" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities" "\"</ulink>." msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "Line 3 describes how important it is that the user installs this package. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <literal>optional</literal> priority will usually work for new " #| "packages that do not conflict with others with <literal>required</" #| "literal>, <literal>important</literal> or <literal>standard</literal> " #| "priorities." msgid "" "The <literal>optional</literal> priority will usually work for new packages " "that do not conflict with others claiming <literal>required</literal>, " "<literal>important</literal>, or <literal>standard</literal> priority." msgstr "" "<literal>optional</literal> 優先級適用於不與優先級爲 <literal>required</" "literal>、<literal>important</literal> 或 <literal>standard</literal> 的套件" "衝突的新套件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>extra</literal> priority will usually work for new packages " "that conflict with others with non-<literal>extra</literal> priorities." msgstr "" "<literal>extra</literal> 優先級適用於與其他非 <literal>extra</literal> 優先級" "套件衝突的新套件。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Section and priority are used by the frontends like <command>aptitude</" #| "command> when they sort packages and select defaults. Once you upload " #| "the package to Debian, the value of these two fields can be overridden by " #| "the archive maintainers, in which case you will be notified by email." msgid "" "Section and priority are used by front-ends like <command>aptitude</command> " "when they sort packages and select defaults. Once you upload the package to " "Debian, the value of these two fields can be overridden by the archive " "maintainers, in which case you will be notified by email." msgstr "" "Section 和 Priority 常被如 <command>aptitude</command> 的前端所使用,以分類套" "件並計算默認值。一旦你把套件上傳到 Debian,這兩項的值可以被倉庫維護人員修改," "在被修改時你將收到郵件。" #. type: Content of: <book><chapter><section><para> msgid "" "As this is a normal priority package and doesn't conflict with anything " "else, we will change the priority to <literal>optional</literal>." msgstr "" "由於這是一個常規優先級的軟體,並不與其他套件衝突,我們將優先級改爲 " "<literal>optional</literal>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Line 4 is the name and email address of the maintainer. Make sure that " #| "this field includes a valid <literal>To</literal> header for an email, " #| "because after you upload it, the bug tracking system will use it to " #| "deliver bug emails to you. Avoid using commas, ampersands and " #| "parenthesis." msgid "" "Line 4 is the name and email address of the maintainer. Make sure that this " "field includes a valid <literal>To</literal> header for email, because after " "you upload it, the bug tracking system will use it to deliver bug emails to " "you. Avoid using commas, ampersands, or parentheses." msgstr "" "第 4 行是維護者的姓名和電子郵件地址。請確保此處的值可以直接用於電子郵件頭的 " "<literal>To</literal> 項。因爲一旦你將套件上傳至倉庫,Bug 跟蹤系統將使用其向" "你發送可能的 Bug 報告郵件。避免使用逗號、“&”符號或括號。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 \"Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The 5th line includes the list of packages required to build your package " #| "as the <literal>Build-Depends</literal> field. You can also have the " #| "<literal>Build-Depends-Indep</literal> field as an additional line, " #| "here. (see the <ulink url=\"&policy-relationships;#s-sourcebinarydeps" #| "\">Debian Policy Manual, 7.7 'Relationships between source and binary " #| "packages - Build-Depends, Build-Depends-Indep, Build-Conflicts, Build-" #| "Conflicts-Indep'</ulink>). Some packages like <systemitem role=\"package" #| "\">gcc</systemitem> and <systemitem role=\"package\">make</systemitem> " #| "which are required by the <systemitem role=\"package\">build-essential</" #| "systemitem> package are implied. If you need to have other tools to " #| "build your package, you should add them to these fields. Multiple " #| "entries are separated with commas; read on for the explanation of binary " #| "dependencies to find out more about the syntax of these lines." msgid "" "Line 5 includes the list of packages required to build your package as the " "<literal>Build-Depends</literal> field. You can also have the " "<literal>Build-Depends-Indep</literal> field as an additional line, here. " "<placeholder type=\"footnote\" id=\"0\"/> Some packages like <systemitem " "role=\"package\">gcc</systemitem> and <systemitem role=\"package\">make</" "systemitem> which are required by the <systemitem role=\"package\">build-" "essential</systemitem> package are implied. If you need to have other tools " "to build your package, you should add them to these fields. Multiple " "entries are separated with commas; read on for the explanation of binary " "package dependencies to find out more about the syntax of these lines." msgstr "" "第 5 行中的 <literal>Build-Depends</literal> 項列出了編譯此套件需要的套件。一" "些情況下你還需要這裏添加一行 <literal>Build-Depends-Indep</literal> (參考 " "<ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 'Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep'</" "ulink>)。<systemitem role=\"package\">build-essential</systemitem> 依賴的套" "件,如 <systemitem role=\"package\">gcc</systemitem> 和 <systemitem role=" "\"package\">make</systemitem> 等,已經默認安裝而不需再寫到此處。如果你需要其" "他工具來編譯這個套件,請將它們加到這裏。多個套件應使用半形逗號分隔,繼續閱讀" "二進位套件依賴關係以增進對這些行的語法的理解。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "For all packages packaged with the <command>dh</command> command in the " #| "<filename>debian/rules</filename> file, you must have <literal>debhelper " #| "(>=7.0.50~)</literal> in the <literal>Build-Depends</literal> field to " #| "satisfy the Debian Policy requirement for the <literal>clean</literal> " #| "target." msgid "" "For all packages packaged with the <command>dh</command> command in the " "<filename>debian/rules</filename> file, you must have <literal>debhelper " "(>=9)</literal> in the <literal>Build-Depends</literal> field to satisfy " "the Debian Policy requirement for the <literal>clean</literal> target." msgstr "" "對於所有在 <filename>debian/rules</filename> 檔案中使用 <command>dh</" "command> 命令的套件,必須在 <literal>Build-Depends</literal> 中包含 " "<literal>debhelper (>=7.0.50~)</literal> 以滿足 Debian Policy 中對 " "<literal>clean</literal> target 的要求。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "For source packages which have some binary packages with " #| "<literal>Architecture: any</literal>, they are rebuild by the " #| "autobuilder. Since this autobuilder procedure runs <literal>debian/rules " #| "build</literal> in it while installing only packages listed in the " #| "<literal>Build-Depends</literal> field (see <xref linkend=\"autobuilder\"/" #| ">), the <literal>Build-Depends</literal> field needs to list practically " #| "all the required packages and the <literal>Build-Depends-indep</literal> " #| "is rarely used." msgid "" "Source packages which have binary packages with <literal>Architecture: any</" "literal> are rebuilt by the autobuilder. Since this autobuilder procedure " "installs only the packages listed in the <literal>Build-Depends</literal> " "field before running <literal>debian/rules build</literal> (see <xref " "linkend=\"autobuilder\"/>), the <literal>Build-Depends</literal> field needs " "to list practically all the required packages and <literal>Build-Depends-" "Indep</literal> is rarely used." msgstr "" "對於生成一些標有 <literal>Architecture: any</literal> 的套件,它們將被 " "autobuilder 編譯。因爲 autobuilder 僅安裝 <literal>Build-Depends</literal> 後" "便執行 <literal>debian/rules build</literal> 中的內容(參考 <xref linkend=" "\"autobuilder\"/>),<literal>Build-Depends</literal> 需要列出所有必須的編譯依" "賴,而 <literal>Build-Depends-indep</literal> 則很少使用。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "For source packages which have binary packages only with " #| "<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" #| "literal> field may list all the required packages unless they are already " #| "listed in the <literal>Build-Depends</literal> field to satisfy the " #| "Debian Policy requirement for the <literal>clean</literal> target." msgid "" "For source packages with binary packages all of which are " "<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" "literal> field may list all the required packages unless they are already " "listed in the <literal>Build-Depends</literal> field to satisfy the Debian " "Policy requirement for the <literal>clean</literal> target." msgstr "" "對於僅有 <literal>Architecture: all</literal> 的套件,<literal>Build-Depends-" "Indep</literal> 中應列出 <literal>Build-Depends</literal> 中未列出的所有需要" "的套件,以便滿足 Debian Policy 中對 <literal>clean</literal> target 的要求。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "This somewhat strange situation is a feature well documented in the " #| "<ulink url=\"&policy-build-depends-indep;\">Debian Policy Manual, " #| "Footnotes 48</ulink>. This is not due to the use of the <command>dh</" #| "command> command in the <filename>debian/rules</filename> file but due to " #| "how the <command>dpkg-buildpackage</command> works. The same situation " #| "applies to the <ulink url=\"https://bugs.launchpad.net/launchpad-buildd/" #| "+bug/238141\">auto build system for Ubuntu</ulink>." msgid "" "This somewhat strange situation is a feature well documented in the <ulink " "url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 55</" "ulink>. This is not due to the use of the <command>dh</command> command in " "the <filename>debian/rules</filename> file but due to how the <command>dpkg-" "buildpackage</command> works. The same situation applies to the <ulink url=" "\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build " "system for Ubuntu</ulink>." msgstr "" "這種奇怪的情況是 <ulink url=\"&policy-build-depends-indep;\">Debian Policy " "Manual, Footnotes 48</ulink> 中詳細描述的一種特性。這不是由於在 " "<filename>debian/rules</filename> 中使用 <command>dh</command> 命令所致的,真" "正的原因是 <command>dpkg-buildpackage</command> 如何運行。相同的情形也適用於 " "<ulink url=\"https://bugs.launchpad.net/launchpad-buildd/" "+bug/238141\">Ubuntu 的自動編譯系統</ulink>。" #. type: Content of: <book><chapter><section><para> msgid "" "If you are not sure which one should be used, use the <literal>Build-" "Depends</literal> field to be on the safe side. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "如果你不知道應該使用哪一個,則使用 <literal>Build-Depends</literal> 以保證安" "全。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "To find out what packages your package needs to be built run the command:" msgstr "要找出編譯你的軟體所需的套件可以使用這個命令:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-depcheck -d ./configure\n" msgstr "$ dpkg-depcheck -d ./configure\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "To manually find exact build dependency for <command><replaceable>/usr/" #| "bin/foo</replaceable></command>, you execute" msgid "" "To manually find exact build dependencies for <command><replaceable>/usr/bin/" "foo</replaceable></command>, execute" msgstr "" "要手工地找到 <command><replaceable>/usr/bin/foo</replaceable></command> 的編" "譯依賴,可以執行:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" msgstr "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" #. type: Content of: <book><chapter><section><para> msgid "" "and for each library listed, e.g., <command>libfoo.so.6</command>, execute" msgstr "對於列出的每個函式庫,例如 <command>libfoo.so.6</command>,運行:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg -S libfoo.so.6\n" msgstr "$ dpkg -S libfoo.so.6\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Then you just take <literal>-dev</literal> version of every package as " #| "<literal>Build-Depends</literal> entry. If you use <command>ldd</" #| "command> for this purpose, it will report indirect lib dependencies as " #| "well, resulting in the problem of excessive build dependencies." msgid "" "Then just take the <literal>-dev</literal> version of every package as a " "<literal>Build-Depends</literal> entry. If you use <command>ldd</command> " "for this purpose, it will report indirect lib dependencies as well, " "resulting in the problem of excessive build dependencies." msgstr "" "接下來直接將相應的 <literal>-dev</literal> 套件的名稱放到 <literal>Build-" "Depends</literal> 項內。如果你使用 <command>ldd</command>,它也會報告出間接的" "函式庫依賴關係,這可能造成填寫了某些不必要的依賴。" #. type: Content of: <book><chapter><section><para> msgid "" "<systemitem role=\"package\">gentoo</systemitem> also happens to require " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> and <systemitem role=\"package" "\">libglib1.2-dev</systemitem> to build, so we'll add them here next to " "<systemitem role=\"package\">debhelper</systemitem>." msgstr "" "<systemitem role=\"package\">gentoo</systemitem> 需要 <systemitem role=" "\"package\">xlibs-dev</systemitem>、<systemitem role=\"package\">libgtk1.2-" "dev</systemitem> 和 <systemitem role=\"package\">libglib1.2-dev</systemitem> " "才能編譯,所以我們將這些套件加在 <systemitem role=\"package\">debhelper</" "systemitem> 之後。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 6 is the version of the <ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink> standards this package follows, the one you read while making " "your package." msgstr "" "第 6 行是此套件所依據的 <ulink url=\"&debian-policy;\">Debian Policy Manual</" "ulink> 標準版本號。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "On line 7 you can put the URL of the homepage for the upstream program." msgid "On line 7 you can put the URL of the software's upstream homepage." msgstr "在第 7 行你可以放置上游項目的首頁地址。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the name of the binary package. This is usually the same as the " "name of the source package, but it doesn't necessarily have to be that way." msgstr "第 9 行是二進位套件的名稱。通常情況下與原始碼套件相同,但不是必須的。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "See <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " "\"Architecture\"</ulink> for exact details." msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "Line 10 describes the architectures the binary package can be compiled for. " "This value is usually one of the following depending on the type of the " "binary package. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>Breaks</literal>" msgid "<literal>Architecture: any</literal>" msgstr "<literal>Breaks</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture dependent one usually in a " "compiled language." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>Breaks</literal>" msgid "<literal>Architecture: all</literal>" msgstr "<literal>Breaks</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture independent one usually " "consisting of text, images, or scripts in an interpreted language." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Line 10 describes the CPU architecture the binary package can be compiled " #| "for. We'll leave this as <literal>any</literal> because <citerefentry> " #| "<refentrytitle>dpkg-gencontrol</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry> will fill in the appropriate value for any machine this " #| "package gets compiled on." msgid "" "We leave line 10 as is since this is written in C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> will fill in the appropriate architecture value " "for any machine this source package gets compiled on." msgstr "" "第 10 行描述了這個套件可以在哪些 CPU 構架上編譯。我們將保持它爲 " "<literal>any</literal>,因爲 <citerefentry> <refentrytitle>dpkg-gencontrol</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 將在這個套件可以編譯" "的平臺上爲此處填寫合適的訊息。" #. type: Content of: <book><chapter><section><para> msgid "" "If your package is architecture independent (for example, a shell or Perl " "script, or a document), change this to <literal>all</literal>, and read " "later in <xref linkend=\"rules\"/> about using the <literal>binary-indep</" "literal> rule instead of <literal>binary-arch</literal> for building the " "package." msgstr "" "如果你的套件是平臺獨立的(例如一個 shell 或 Perl 腳本,或一些文件),將這項改變" "爲 <literal>all</literal>,然後繼續閱讀 <xref linkend=\"rules\"/> 中關於使用 " "<literal>binary-indep</literal> 指令替代 <literal>binary-arch</literal> 來編" "譯套件的內容。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 11 shows one of the most powerful features of the Debian packaging " "system. Packages can relate to each other in various ways. Apart from " "<literal>Depends</literal>, other relationship fields are " "<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" "Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " "<literal>Provides</literal>, and <literal>Replaces</literal>." msgstr "" "第 11 行顯示了 Debian 套件系統中最強大的特性之一。每個套件都可以和其他套件有" "各種不同的關係。除 <literal>Depends</literal> 外,還有 <literal>Recommends</" "literal>、<literal>Suggests</literal>、<literal>Pre-Depends</literal>、" "<literal>Breaks</literal>、<literal>Conflicts</literal>、<literal>Provides</" "literal> 和 <literal>Replaces</literal>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The package management tools usually behave the same way when dealing " #| "with these relations; if not, it will be explained. (see <citerefentry> " #| "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " #| "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " #| "<refentrytitle>apt</refentrytitle> <manvolnum>8</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>aptitude</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> etc.)" msgid "" "The package management tools usually behave the same way when dealing with " "these relations; if not, it will be explained. (See <citerefentry> " "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, etc.)" msgstr "" "套件管理工具通常對這些關係採取相同的操作,如果不是,我將會詳細解釋。(參考 " "<citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> " "</citerefentry>、<citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>、<citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>、<citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 等。)" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " "\"Declaring relationships between packages\"</ulink>." msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <literal>dh $@</literal> command can be customized as follows. " #| "<placeholder type=\"footnote\" id=\"0\"/>" msgid "" "Here is a simplified description of package relationships. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>dh $@</literal> 命令可以按以下方式定製。<placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Depends</literal>" msgstr "<literal>Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed unless the packages it depends on are " "installed. Use this if your program absolutely will not run (or will cause " "severe breakage) unless a particular package is present." msgstr "" "此套件僅當它依賴的套件均已安裝後纔可以安裝。此處寫明你的程式所必須的套件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Recommends</literal>" msgstr "<literal>Recommends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Use this for packages that are not strictly necessary but are typically " #| "used with your program. When a user installs your program, all frontends " #| "will likely prompt them to install the recommended packages. " #| "<command>aptitude</command> and <command>apt-get</command> install " #| "recommended packages along with your package (but the user can disable " #| "this default behaviour). <command>dpkg</command> will ignore this field." msgid "" "Use this for packages that are not strictly necessary but are typically used " "with your program. When a user installs your program, all front-ends will " "probably prompt them to install the recommended packages. " "<command>aptitude</command> and <command>apt-get</command> install " "recommended packages along with your package by default (but the user can " "disable this behavior). <command>dpkg</command> will ignore this field." msgstr "" "這項中的套件不是嚴格意義上必須安裝纔可以保證程式運行。當用戶安裝套件時,所有" "前端工具都會詢問是否要安裝這些推薦的套件。<command>aptitude</command> 和 " "<command>apt-get</command> 會在安裝你的套件的時候自動安裝推薦的套件(用戶可以" "禁用這個默認行爲)。<command>dpkg</command> 則會忽略此項。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Suggests</literal>" msgstr "<literal>Suggests</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Use this for packages which will work nicely with your program but are " #| "not at all necessary. When a user installs your program, all frontends " #| "will likely prompt them to install the suggested packages. " #| "<command>aptitude</command> can be configured to install suggested " #| "packages along with your package but this is not its default. " #| "<command>dpkg</command> and <command>apt-get</command> will ignore this " #| "field." msgid "" "Use this for packages which will work nicely with your program but are not " "at all necessary. When a user installs your program, they will probably not " "be prompted to install suggested packages. <command>aptitude</command> can " "be configured to install suggested packages along with your package but this " "is not its default. <command>dpkg</command> and <command>apt-get</command> " "will ignore this field." msgstr "" "此項中的套件可以使你的程式更好地工作,但不是一定需要的。當用戶安裝程式時,所" "有的前端程式將詢問是否安裝建議的套件。<command>aptitude</command> 可以被設定" "爲安裝軟體時自動安裝建議的套件。<command>dpkg</command> 和 <command>apt-get</" "command> 將忽略此項。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Pre-Depends</literal>" msgstr "<literal>Pre-Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is stronger than <literal>Depends</literal>. The package will not be " "installed unless the packages it pre-depends on are installed and " "<emphasis>correctly configured</emphasis>. Use this <emphasis>very</" "emphasis> sparingly and only after discussing it on the <ulink url=\"&debian-" "devel-ldo;\">debian-devel@lists.debian.org</ulink> mailing list. Read: " "don't use it at all. :-)" msgstr "" "此項中的依賴強於 <literal>Depends</literal> 項。套件僅在預依賴的套件已經安裝" "後纔可以正常安裝並且 <emphasis>正確設定</emphasis> 後纔可以正常安裝。在使用此" "項時應 <emphasis>非常慎重</emphasis>,僅當在 <ulink url=\"&debian-devel-ldo;" "\">debian-devel@lists.debian.org</ulink> 郵件列表討論後才能使用。記住:根本就" "不要用這項。 :-)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Conflicts</literal>" msgstr "<literal>Conflicts</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed until all the packages it conflicts with " "have been removed. Use this if your program absolutely will not run or will " "cause severe problems if a particular package is present." msgstr "" "僅當所有衝突的套件都已經刪除後此套件纔可以安裝。當程式在某些特定套件存在時根" "本無法運行或存在嚴重問題時使用此項。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Breaks</literal>" msgstr "<literal>Breaks</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The package will be installed while all the listed packages will be " #| "broken. Normally a <literal>Breaks</literal> entry has an earlier than " #| "version clause. The resolution is generally to upgrade the listed " #| "packages by the higher-level package management tools." msgid "" "When installed the package will break all the listed packages. Normally a " "<literal>Breaks</literal> entry specifies that it applies to versions " "earlier than a certain value. The resolution is generally to use higher-" "level package management tools to upgrade the listed packages." msgstr "" "此套件安裝後列出的套件將會受到損壞。通常 <literal>Breaks</literal> 要附帶一" "個“版本號小於多少”的說明。這樣,套件管理工具將會選擇升級被損壞的特定版本的套" "件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Provides</literal>" msgstr "<literal>Provides</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "For some types of packages where there are multiple alternatives virtual " #| "names have been defined. You can get the full list in the <filename>/usr/" #| "share/doc/debian-policy/virtual-package-names-list.txt.gz</filename> " #| "file. Use this if your program provides a function of an existing " #| "virtual package." msgid "" "For some types of packages where there are multiple alternatives virtual " "names have been defined. You can get the full list in the <ulink url=" "\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> file. Use " "this if your program provides a function of an existing virtual package." msgstr "" "某些類型的套件會定義有多個可選的虛擬名稱。你可以在 <filename>/usr/share/doc/" "debian-policy/virtual-package-names-list.txt.gz</filename> 檔案中找到完整的列" "表。如果你的程式提供了某個已存在的虛擬套件的功能則使用此項。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Replaces</literal>" msgstr "<literal>Replaces</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this when your program replaces files from another package, or " "completely replaces another package (used in conjunction with " "<literal>Conflicts</literal>). Files from the named packages will be " "overwritten with the files from your package." msgstr "" "當你的程式要替換其他套件的某些檔案,或是完整地替換另一個套件(與 " "<literal>Conflicts</literal> 一起使用)。列出的套件中的某些檔案會被你的套件所" "覆蓋。" #. type: Content of: <book><chapter><section><para> msgid "" "All these fields have uniform syntax. They are a list of package names " "separated by commas. These package names may also be lists of alternative " "package names, separated by vertical bar symbols <literal>|</literal> (pipe " "symbols)." msgstr "" "所有的這些項都使用相同的語法。它們是一個套件列表,套件名稱間使用半形逗號分" "隔。也可以寫出有多個可選的套件名稱,這些套件使用 <literal>|</literal> 符號分" "隔。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The fields may restrict their applicability to particular versions of " #| "each named package. These versions are listed in parentheses after each " #| "individual package name, and they should contain a relation from the list " #| "below followed by the version number. The relations allowed are: " #| "<literal><<</literal>, <literal><=</literal>, <literal>=</" #| "literal>, <literal>>=</literal> and <literal>>></literal> for " #| "strictly lower, lower or equal, exactly equal, greater or equal and " #| "strictly greater, respectively. For example," msgid "" "The fields may restrict their applicability to particular versions of each " "named package. The restriction of each individual package is listed in " "parentheses after its name, and should contain a relation from the list " "below followed by a version number value. The relations allowed are: " "<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " "<literal>>=</literal>, and <literal>>></literal> for strictly " "lower, lower or equal, exactly equal, greater or equal, and strictly " "greater, respectively. For example," msgstr "" "這些項內還可以指定某些套件的版本號之間的關係。版本號在括號內,緊隨套件名稱之" "後,並在以下邏輯符號後寫清具體版本:<literal><<</literal>、" "<literal><=</literal>、<literal>=</literal>、<literal>>=</literal> 和 " "<literal>>></literal>,分別代表嚴格小於、小於或等於、嚴格等於、大於或等" "於以及嚴格大於。例如:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" msgstr "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" #. type: Content of: <book><chapter><section><para> msgid "" "The last feature you need to know about is <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> will scan it for binaries and libraries " #| "determine their shared library dependencies and detect which packages " #| "they are in, such as <systemitem role=\"package\">libc6</systemitem> or " #| "<systemitem role=\"package\">xlib6g</systemitem>, after your package has " #| "been built and installed into the temporary directory. This list of " #| "shared library dependencies is used for <literal>${shlibs:Depends}</" #| "literal>." msgid "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates shared library dependencies for binary " "packages. It generates a list of <ulink url=\"&elf;\">ELF</ulink> " "executables and shared libraries it has found for each binary package. This " "list is used for substituting <literal>${shlibs:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 會在程式編譯完成並被放入臨時檔案夾後掃描二進位檔案" "和函式庫檔案來確定動態函式庫的依賴關係,並檢測包含它們的套件名稱。例如 " "<systemitem role=\"package\">libc6</systemitem> 或 <systemitem role=\"package" "\">xlib6g</systemitem>。 這些套件將被列在 <literal>${shlibs:Depends}</" "literal> 的位置。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The package list generated by the <citerefentry> <refentrytitle>dh_perl</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> is used for " #| "<literal>${perl:Depends}</literal>." msgid "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates Perl dependencies. It generates a " "list of a dependencies on <literal>perl</literal> or <literal>perlapi</" "literal> for each binary package. This list is used for substituting " "<literal>${perl:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 所生成的套件列表將用於 <literal>${perl:Depends}</" "literal> 的位置。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Some <systemitem role=\"package\">debhelper</systemitem> commands may " #| "make the generated package need to depend on some other packages. This " #| "list of required packages is used for <literal>${misc:Depends}</literal>." msgid "" "Some <systemitem role=\"package\">debhelper</systemitem> commands may cause " "the generated package to depend on some additional packages. All such " "commands generate a list of required packages for each binary package. This " "list is used for substituting <literal>${misc:Depends}</literal>." msgstr "" "一些 <systemitem role=\"package\">debhelper</systemitem> 命令可能會使生成的套" "件需要依賴於某些其他套件,這些套件將被列於 <literal>${misc:Depends}</" "literal> 的位置。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The package list generated by the <citerefentry> <refentrytitle>dh_perl</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> is used for " #| "<literal>${perl:Depends}</literal>." msgid "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> generates <filename>DEBIAN/control</filename> for " "each binary package while substituting <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." msgstr "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 所生成的套件列表將用於 <literal>${perl:Depends}</" "literal> 的位置。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Having said all that, we can leave the <literal>Depends</literal> field " #| "exactly as it is now, and insert another line after it saying " #| "<literal>Suggests: file</literal>, because <systemitem role=\"package" #| "\">gentoo</systemitem> can use some features provided by that <systemitem " #| "role=\"package\">file</systemitem> package." msgid "" "Having said all that, we can leave the <literal>Depends</literal> field " "exactly as it is now, and insert another line after it saying " "<literal>Suggests: file</literal>, because <systemitem role=\"package" "\">gentoo</systemitem> can use some features provided by the <systemitem " "role=\"package\">file</systemitem> package." msgstr "" "說過這些以後,我們可以把 <literal>Depends</literal> 項保持現狀不動,並在其下" "插入一行 <literal>Suggests: file</literal>,因爲 <systemitem role=\"package" "\">gentoo</systemitem> 可以使用 <systemitem role=\"package\">file</" "systemitem> 套件提供的某些特性。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the Homepage URL. Let's assume this to be at <ulink url=\"&gentoo;" "\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Line 12 is the short description. Most people screens are 80 columns " #| "wide so this shouldn't be longer than about 60 characters. I'll change " #| "it to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgid "" "Line 12 is the short description. Terminals are conventionally 80 columns " "wide so this shouldn't be longer than about 60 characters. I'll change it " "to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgstr "" "第 12 行是短描述。絕大多數人的螢幕是 80 列寬,所以描述不應超過 60 個字符。在" "這個例子裏我把它寫爲 <literal>fully GUI-configurable, two-pane X file " "manager</literal>。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "These descriptions are in English. Translations of these descriptions are " "provided by <ulink url=\"&ddtp;\">The Debian Description Translation Project " "- DDTP</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Line 13 is where the long description goes. This should be a paragraph " #| "which gives more details about the package. Column 1 of each line should " #| "be empty. There must be no blank lines, but you can put a single " #| "<literal>.</literal> (dot) in a column to simulate that. Also, there " #| "must be no more than one blank line after the long description." msgid "" "Line 13 is where the long description goes. This should be a paragraph " "which gives more details about the package. Column 1 of each line should be " "empty. There must be no blank lines, but you can put a single <literal>.</" "literal> (dot) in a column to simulate that. Also, there must be no more " "than one blank line after the long description. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "第 13 行是長描述開始的地方。這應當是一段更詳細地描述套件的話。每行的第一個格" "應當留空。描述中不應存在空行,如果必須使用空行,則在行中僅放置一個 <literal>." "</literal> (半形句點)。同時,長描述後也不應有超過一行的空白。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "For more help about these, check in <ulink url=\"&developers-reference;" #| "\">Debian Developer's Reference</ulink>." msgid "" "See <ulink url=\"&devref-bpp-vcs;\">Debian Developer's Reference, 6.2.5. " "\"Version Control System location\"</ulink>." msgstr "" "關於這些問題的更多幫助,査看 <ulink url=\"&developers-reference;\">Debian " "Developer's Reference</ulink>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's insert <literal>Vcs-*</literal> fields documented in <ulink url=" #| "\"&devref-bpp-vcs;\">Developer's Reference, 6.2.5. 'Version Control " #| "System location'</ulink> between line 6 and 7. Let's assume that the " #| "<systemitem role=\"package\">gentoo</systemitem> package is located in " #| "Debian Alioth Git Service at <literal>git://git.debian.org/git/collab-" #| "maint/gentoo.git</literal>." msgid "" "We can insert <literal>Vcs-*</literal> fields to document the Version " "Control System (VCS) location between lines 6 and 7. <placeholder type=" "\"footnote\" id=\"0\"/> Let's assume that the <systemitem role=\"package" "\">gentoo</systemitem> package has its VCS located in the Debian Alioth Git " "Service at <literal>git://git.debian.org/git/collab-maint/gentoo.git</" "literal>." msgstr "" "接下來我們按照 <ulink url=\"&devref-bpp-vcs;\">Developer's Reference, " "6.2.5. 'Version Control System location'</ulink> 中記敘的內容在第 6 和第 7 " "行之間添加 <literal>Vcs-*</literal> 項。這裏我們假設 <systemitem role=" "\"package\">gentoo</systemitem> 套件處於 Debian Alioth Git 服務的 " "<literal>git://git.debian.org/git/collab-maint/gentoo.git</literal>" #. type: Content of: <book><chapter><section><para> msgid "Finally, here is the updated <filename>control</filename> file:" msgstr "到此爲止,我們做好了 <filename>control</filename> 檔案:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| " 1 Source: gentoo\n" #| " 2 Section: x11\n" #| " 3 Priority: optional\n" #| " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" #| " 5 Build-Depends: debhelper (>= 7.0.5), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" #| " 6 Standards-Version: 3.8.4\n" #| " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" #| " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" #| " 9 Homepage: &gentoo;\n" #| "10\n" #| "11 Package: gentoo\n" #| "12 Architecture: any\n" #| "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" #| "14 Suggests: file\n" #| "15 Description: fully GUI-configurable, two-pane X file manager\n" #| "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" #| "17 user do (almost) all of the configuration and customizing from within the\n" #| "18 program itself. If you still prefer to hand-edit configuration files,\n" #| "19 they're fairly easy to work with since they are written in an XML format.\n" #| "20 .\n" #| "21 gentoo features a fairly complex and powerful file identification system,\n" #| "22 coupled to a object-oriented style system, which together give you a lot\n" #| "23 of control over how files of different types are displayed and acted upon.\n" #| "24 Additionally, over a hundred pixmap images are available for use in file\n" #| "25 type descriptions.\n" #| "26 .\n" #| "29 gentoo was written from scratch in ANSI C, and it utilises the GTK+ toolkit\n" #| "30 for its interface.\n" msgid "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>= 7.0.5), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.8.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to a object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilises the GTK+ toolkit\n" "30 for its interface.\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>copyright</filename> file" msgid "<filename>copyright</filename>" msgstr "<filename>copyright</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This file contains the information about package upstream resources, " #| "copyright and license information. Its format is not dictated by the " #| "Debian Policy Manual, but the content is (<ulink url=\"&policy-copyright;" #| "\">Debian Policy Manual, 12.5 'Copyright information'</ulink>). You may " #| "also consult <ulink url=\"&dep5;\">DEP-5: Machine-parseable debian/" #| "copyright</ulink>." msgid "" "This file contains information about the copyright and license of the " "upstream sources. <ulink url=\"&policy-copyright;\">Debian Policy Manual, " "12.5 \"Copyright information\"</ulink> dictates its content and <ulink url=" "\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</filename></" "ulink> provides guidelines for its format." msgstr "" "這個檔案包含了上游軟體的資源、版權以及許可證訊息。它的形式沒有在 Debian " "Policy 中詳述,但其內容爲 (<ulink url=\"&policy-copyright;\">Debian Policy " "Manual, 12.5 'Copyright information'</ulink>)。你還可以査看 <ulink url=" "\"&dep5;\">DEP-5: Machine-parseable debian/copyright</ulink>。" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> can give you a template <filename>copyright</" "filename> file. Let's use the <literal>--copyright gpl2</literal> option " "here to get a template file for the <systemitem role=\"package\">gentoo</" "systemitem> package released under GPL-2." msgstr "" "<command>dh_make</command> 可以給出一個 <filename>copyright</filename> 檔案的" "模板。在這裏我們使用 <literal>--copyright gpl2</literal> 參數來獲得一個模板寫" "明 <systemitem role=\"package\">gentoo</systemitem> 套件是發佈於 GPL-2 許可證" "下。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You must fill in missing information such as the place you got the " #| "package from, the actual copyright notice and their license to complete " #| "this file. For the common free software licenses such as GNU GPL-1, GNU " #| "GPL-2, GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, " #| "Apache-2.0 or the Artistic license, you can just refer to the appropriate " #| "file in <filename>/usr/share/common-licenses/</filename> directory that " #| "exists on every Debian system. Otherwise, you must include the complete " #| "license." msgid "" "You must fill in missing information to complete this file, such as the " "place you got the package from, the actual copyright notice, and the " "license. For certain common free software licenses (GNU GPL-1, GNU GPL-2, " "GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0, " "or the Artistic license), you can just refer to the appropriate file in the " "<filename>/usr/share/common-licenses/</filename> directory that exists on " "every Debian system. Otherwise, you must include the complete license." msgstr "" "你必須填寫上其餘的訊息,如你從何處獲得此軟體,實際的版權聲明和它們的許可證。" "對於常見的自由軟體許可證,如 GNU GPL-1、GNU GPL-2、GNU GPL-3、LGPL-2、" "LGPL-2.1、LGPL-3、GNU FDL-1.2、GNU FDL-1.3、Apache-2.0 或 Artistic 許可證,你" "可以直接將其指向存在於所有 Debian 系統的 <filename>/usr/share/common-" "licenses/</filename> 目錄下的相關檔案。其他的許可證則必須包含完整的許可證文" "本。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "In short, here's how <systemitem role=\"package\">gentoo</systemitem>'s " #| "<filename>copyright</filename> file should look like:" msgid "" "In short, here's what <systemitem role=\"package\">gentoo</systemitem>'s " "<filename>copyright</filename> file should look like:" msgstr "" "簡言之,<systemitem role=\"package\">gentoo</systemitem> 的 " "<filename>copyright</filename> 檔案如下所示:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" msgstr "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Please follow the HOWTO provided by ftpmasters and sent to debian-devel-" #| "announce: <ulink url=\"&debian-devel-announce-ldo;2006/03/msg00023.html" #| "\">&debian-devel-announce-ldo;2006/03/msg00023.html</ulink>." msgid "" "Please follow the HOWTO provided by the ftpmasters and sent to debian-devel-" "announce: <ulink url=\"&howto-copyright;\"/>." msgstr "" "另外還可以參考 ftpmasters 發送到 debian-devel-announce 的 HOWTO: <ulink url=" "\"&debian-devel-announce-ldo;2006/03/msg00023.html\">&debian-devel-announce-" "ldo;2006/03/msg00023.html</ulink>" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>changelog</filename> file" msgid "<filename>changelog</filename>" msgstr "<filename>changelog</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This is a required file, which has a special format described in the " #| "<ulink url=\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 'debian/" #| "changelog'</ulink>. This format is used by <command>dpkg</command> and " #| "other programs to obtain the version number, revision, distribution and " #| "urgency of your package." msgid "" "This is a required file, which has a special format described in <ulink url=" "\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</" "ulink>. This format is used by <command>dpkg</command> and other programs " "to obtain the version number, revision, distribution, and urgency of your " "package." msgstr "" "這是一個必須的檔案,它的格式在 <ulink url=\"&policy-dpkgchangelog;\">Debian " "Policy Manual, 4.4 'debian/changelog'</ulink> 中有詳細的描述。這種格式被 " "<command>dpkg</command> 和其他程式用以獲得版本號訊息、適應的發行版和緊急程" "度。" #. type: Content of: <book><chapter><section><para> msgid "" "For you, it is also important, since it is good to have documented all " "changes you have done. It will help people downloading your package to see " "whether there are issues with the package that they should know about. It " "will be saved as <filename>/usr/share/doc/gentoo/changelog.Debian.gz</" "filename> in the binary package." msgstr "" "對於你而言,詳細描述你所做出的更改也是很好且很重要的。它將幫助下載你的套件的" "人瞭解這個套件中是否有他們需要知道的事情。它會被作爲 <filename>/usr/share/" "doc/gentoo/changelog.Debian.gz</filename> 保存在二進位套件中。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<command>dh_make</command> created a default one, and this is how it " #| "looks like:" msgid "" "<command>dh_make</command> created a default one, and this is what it looks " "like:" msgstr "<command>dh_make</command> 創建了一個默認的檔案,這是它的樣子:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Line 1 is the package name, version, distribution, and urgency. The name " #| "must match the source package name, distribution should be either " #| "<literal>unstable</literal> (or even <literal>experimental</literal>) " #| "<placeholder type=\"footnote\" id=\"0\"/>, and urgency shouldn't be " #| "changed to anything higher than <literal>low</literal>. :-)" msgid "" "Line 1 is the package name, version, distribution, and urgency. The name " "must match the source package name; distribution should be " "<literal>unstable</literal>, and urgency shouldn't be changed to anything " "higher than <literal>low</literal>. :-)" msgstr "" "第 1 行是套件名、版本號、發行版和緊急程度。套件名必須與實際的原始碼套件名相" "同,發行版可以是 <literal>unstable</literal>(甚至 <literal>experimental</" "literal>)<placeholder type=\"footnote\" id=\"0\"/>,緊急程度則不要使用任何高" "於 <literal>low</literal> 的內容。 :-)" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Lines 3-5 are a log entry, where you document changes made in this " #| "package revision (not the upstream changes - there is special file for " #| "that purpose, created by the upstream authors, which you will later " #| "install as <filename>/usr/share/doc/gentoo/changelog.gz</filename>). " #| "Let's assume your ITP (Intent To Package) bug report number was " #| "<literal>12345</literal>. New lines must be inserted just before the " #| "uppermost line that begins with <literal>*</literal> (asterisk). You can " #| "do it with <citerefentry> <refentrytitle>dch</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>, or manually with a text editor." msgid "" "Lines 3-5 are a log entry, where you document changes made in this package " "revision (not the upstream changes - there is a special file for that " "purpose, created by the upstream authors, which you will later install as " "<filename>/usr/share/doc/gentoo/changelog.gz</filename>). Let's assume your " "ITP (Intent To Package) bug report number was <literal>12345</literal>. New " "lines must be inserted just below the uppermost line that begins with " "<literal>*</literal> (asterisk). You can do it with <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "or manually with a text editor." msgstr "" "第 3-5 行是一個很長的條目,記錄了你在這個 Debian 版本中做出的修改(不是上游)修" "改——上游修改由上游作者創建另外一個檔案並維護,它們應被安裝爲 <filename>/usr/" "share/doc/gentoo/changelog.gz</filename>)。假設你的 ITP (Intent To Package," "計劃打包)的 Bug 號爲 <literal>12345</literal>。新行必須插入在上一個以星號 " "<literal>*</literal> 開頭的行的正下方。你可以使用 <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "完成這個工作,也可以使用普通的文本編輯器手工完成。" #. type: Content of: <book><chapter><section><para> msgid "" "In order to prevent a package being accidentally uploaded before completing " "the package, it is good idea to change the distribution value to an invalid " "distribution value <literal>UNRELEASED</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "You will end up with something like this:" msgstr "最後它會成爲以下的樣子:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "1 gentoo (0.9.12-1) unstable; urgency=low\n" #| "2\n" #| "3 * Initial Release. Closes: #12345\n" #| "4 * This is my first Debian package.\n" #| "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" #| "6\n" #| "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" #| "8\n" msgid "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "If you use the <literal>dch -r</literal> command to make this last change, " "please make sure to save the <filename>changelog</filename> file explicitly " "by the editor." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are satisfied with all the changes and documented them in " "<filename>changelog</filename>, you should change the distribution value " "from <literal>UNRELEASED</literal> to the target distribution value " "<literal>unstable</literal> (or even <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can read more about updating the <filename>changelog</filename> file " "later in <xref linkend=\"update\"/>." msgstr "" "你可以在關於更新的 <xref linkend=\"update\"/> 中瞭解更多關於 " "<filename>changelog</filename> 的內容。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>rules</filename> file" msgid "<filename>rules</filename>" msgstr "<filename>rules</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Now we need to take a look at the exact rules which <citerefentry> " #| "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> " #| "</citerefentry> will use to actually create the package. This file is " #| "actually another <filename>Makefile</filename>, but different from the " #| "one(s) in the upstream source. Unlike other files in <filename>debian</" #| "filename>, this one is marked as executable." msgid "" "Now we need to take a look at the exact rules which <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> will use to actually create the package. This file is in fact " "another <filename>Makefile</filename>, but different from the one(s) in the " "upstream source. Unlike other files in <filename>debian</filename>, this " "one is marked as executable." msgstr "" "現在我們需要看看 <citerefentry> <refentrytitle>dpkg-buildpackage</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 用於實際創建套件的 " "rules 檔案。這個檔案是一個 <filename>Makefile</filename>,但不同於上游原始碼" "中的那個。和 <filename>debian</filename> 目錄中的其他檔案不同,這個檔案被標記" "爲可執行。" #. type: Content of: <book><chapter><section><section><title> #, fuzzy #| msgid "Targets of <filename>rules</filename> file" msgid "Targets of the <filename>rules</filename> file" msgstr "<filename>rules</filename> 檔案中的 target" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can start learning how to write <filename>Makefile</filename> from " "<ulink url=\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. The " "full documentation is available as <ulink url=\"&gnu-make;\"></ulink> or as " "the <systemitem role=\"package\">make-doc</systemitem> package in the " "<literal>non-free</literal> archive area." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> explains the details." msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Every <filename>rules</filename> file, like any other <filename>Makefile</" "filename>, consists of several rules, each of which defines a target and how " "it is carried out. <placeholder type=\"footnote\" id=\"0\"/> A new rule " "begins with its target declaration in the first column. The following lines " "beginning with the TAB code (ASCII 9) specify the recipe for carrying out " "that target. Empty lines and lines beginning with <literal>#</literal> " "(hash) are treated as comments and ignored. <placeholder type=\"footnote\" " "id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "A rule that you want to execute is invoked by its target name as a command " "line argument. For example, <literal>debian/rules <replaceable>build</" "replaceable></literal> and <literal>fakeroot make -f debian/rules " "<replaceable>binary</replaceable></literal> execute rules for " "<literal><replaceable>build</replaceable></literal> and " "<literal><replaceable>binary</replaceable></literal> targets respectively." msgstr "" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "The simplified explanation of targets are the following." msgid "Here is a simplified explanation of the targets:" msgstr "以下是對各 target 的簡單解釋:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>clean</literal> target: to clean all compiled, generated, and " #| "useless files in the build-tree. (required)" msgid "" "<literal>clean</literal> target: to clean all compiled, generated, and " "useless files in the build-tree. (Required)" msgstr "" "<literal>clean</literal>:清理所有編譯的、生成的或編譯樹中無用的檔案。(必須)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>build</literal> target: to build the source into compiled " #| "programs and formatted documents in the build-tree. (required)" msgid "" "<literal>build</literal> target: to build the source into compiled programs " "and formatted documents in the build-tree. (Required)" msgstr "" "<literal>build</literal>:在編譯樹中將程式碼編譯爲程式並生成格式化的文件。(必" "須)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>build</literal> target: to build the source into compiled " #| "programs and formatted documents in the build-tree. (required)" msgid "" "<literal>build-arch</literal> target: to build the source into arch-" "dependent compiled programs in the build-tree. (Required)" msgstr "" "<literal>build</literal>:在編譯樹中將程式碼編譯爲程式並生成格式化的文件。(必" "須)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>build</literal> target: to build the source into compiled " #| "programs and formatted documents in the build-tree. (required)" msgid "" "<literal>build-indep</literal> target: to build the source into arch-" "independent formatted documents in the build-tree. (Required)" msgstr "" "<literal>build</literal>:在編譯樹中將程式碼編譯爲程式並生成格式化的文件。(必" "須)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>install</literal> target: to install files into a file tree for " #| "each binary package under the <filename>debian</filename> directory. If " #| "defined, <literal>binary*</literal> targets effectively depend on this " #| "target. (optional)" msgid "" "<literal>install</literal> target: to install files into a file tree for " "each binary package under the <filename>debian</filename> directory. If " "defined, <literal>binary*</literal> targets effectively depend on this " "target. (Optional)" msgstr "" "<literal>install</literal>:把檔案安裝到 <filename>debian</filename> 目錄內爲" "各個二進位套件構建的檔案樹。如果有定義,<literal>binary*</literal> target 則" "會依賴於此 target。(可選)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage</literal> as in <xref " "linkend=\"completebuild\"/>." msgstr "" "此 target 被 <literal>dpkg-buildpackage</literal> 用於 <xref linkend=" "\"completebuild\"/> 描述的過程中。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>binary</literal> target: to create all binary packages " #| "(effectively combination of <literal>binary-arch</literal> and " #| "<literal>binary-indep</literal> targets). (required)<placeholder type=" #| "\"footnote\" id=\"0\"/>" msgid "" "<literal>binary</literal> target: to create all binary packages (effectively " "a combination of <literal>binary-arch</literal> and <literal>binary-indep</" "literal> targets). (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary</literal>:創建所有二進位套件(是 <literal>binary-arch</" "literal> 和 <literal>binary-indep</literal> 的合併)。(必須)<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage -B</literal> as in <xref " "linkend=\"autobuilder\"/>." msgstr "" "此 target 被 <literal>dpkg-buildpackage -B</literal> 用於<xref linkend=" "\"autobuilder\"/> 描述的過程中。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>binary-arch</literal> target: to create arch-dependent " #| "(<literal>Architecture: any</literal>) binary packages in the parent " #| "directory. (required)<placeholder type=\"footnote\" id=\"0\"/>" msgid "" "<literal>binary-arch</literal> target: to create arch-dependent " "(<literal>Architecture: any</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-arch</literal>:在父目錄中創建平臺依賴" "(<literal>Architecture: any</literal>)的二進位套件。(必須)<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage -A</literal>." msgstr "此 target 被 <literal>dpkg-buildpackage -A</literal> 使用。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>binary-indep</literal> target: to create arch-independent " #| "(<literal>Architecture: all</literal>) binary packages in the parent " #| "directory. (required)<placeholder type=\"footnote\" id=\"0\"/>" msgid "" "<literal>binary-indep</literal> target: to create arch-independent " "(<literal>Architecture: all</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-indep</literal>:在父目錄中創建平臺獨立" "(<literal>Architecture: all</literal>)的二進位套件。(必須)<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>get-orig-source</literal> target: to obtain the most recent " #| "version of the original source package from upstream archive site. " #| "(optional)" msgid "" "<literal>get-orig-source</literal> target: to obtain the most recent version " "of the original source package from an upstream archive. (Optional)" msgstr "" "<literal>get-orig-source</literal>:從上游站點獲得最新的原始原始碼套件。(可" "選)" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "You are probably confused now, but it will all be clear upon examination " #| "of the <filename>rules</filename> file that <command>dh_make</command> " #| "gives us as a default. You should also read <literal>info make</literal> " #| "for more information." msgid "" "You are probably overwhelmed by now, but things are much simpler upon " "examination of the <filename>rules</filename> file that <command>dh_make</" "command> gives us as a default." msgstr "" "可能你現在感到有些迷惑,在接下來講解 <command>dh_make</command> 給出的默認的 " "<filename>rules</filename> 檔案時會進行詳細的講解。你還應該閱讀 " "<literal>info make</literal> 來了解更多訊息。" #. type: Content of: <book><chapter><section><section><title> msgid "Default <filename>rules</filename> file" msgstr "默認的 <filename>rules</filename> 檔案" #. type: Content of: <book><chapter><section><section><para> msgid "" "Newer <command>dh_make</command> generates a very simple but powerful " "default <filename>rules</filename> file using the <command>dh</command> " "command:" msgstr "" "新版本的 <command>dh_make</command> 會生成一個使用 <command>dh</command> 命令" "的非常簡單但非常強大的默認的 <filename>rules</filename> 檔案:" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" msgstr "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "(I've added the line numbers. In the actual <filename>rules</filename> " #| "file, the leading white spaces are TAB codes.)" msgid "" "(I've added the line numbers. In the actual <filename>rules</filename> " "file, the leading spaces are a TAB code.)" msgstr "" "(注:我添加了行號。實際的 <filename>rules</filename> 檔案裏開頭的空格是 TAB " "填充的。)" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably familiar with lines like line 1 from shell and Perl " "scripts. It tells the operating system that this file is to be processed " "with <filename>/usr/bin/make</filename>." msgstr "" "可能在 shell 或 Perl 腳本中你已經對第一行的形式很熟悉了,它告訴作業系統這個檔" "案應使用 <filename>/usr/bin/make</filename> 處理。" #. type: Content of: <book><chapter><section><section><para> msgid "" "Line 10 can be uncommented to set the <literal>DH_VERBOSE</literal> variable " "to 1, so that the <command>dh</command> command outputs which <command>dh_*</" "command> commands it is executing. You can also add a line <literal>export " "DH_OPTIONS=-v</literal> here, so that each <command>dh_*</command> command " "outputs which commands it is executing. This helps you to understand " "exactly what is going on behind this simple <filename>rules</filename> file " "and to debug its problems. This new <command>dh</command> is designed to " "form a core part of the <systemitem role=\"package\">debhelper</systemitem> " "tools, and not to hide anything from you." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "This uses the new <systemitem role=\"package\">debhelper</systemitem> v7+ " "features. Its design concepts are explained in <ulink url=\"&debhelper-" "slides;\">Not Your Grandpa's Debhelper</ulink> presented at DebConf9 by the " "<systemitem role=\"package\">debhelper</systemitem> upstream. Under " "<literal>lenny</literal>, <command>dh_make</command> created a much more " "complicated <filename>rules</filename> file with explicit rules and many " "<command>dh_*</command> scripts listed for each one, most of which are now " "unnecessary (and show the package's age). The new <command>dh</command> " "command is simpler and frees us from doing the routine work \"manually\". " "You still have full power to customize the process with " "<literal>override_dh_*</literal> targets. See <xref linkend=\"customrules\"/" ">. It is based only on the <systemitem role=\"package\">debhelper</" "systemitem> package and does not obfuscate the package building process as " "the <systemitem role=\"package\">cdbs</systemitem> package tends to." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can verify the actual sequences of <command>dh_*</command> programs " "invoked for a given <literal><replaceable>target</replaceable></literal> " "without really running them by invoking <literal>dh --no-act " "<replaceable>target</replaceable></literal> or <literal>debian/rules -- '--" "no-act <replaceable>target</replaceable>'</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Lines 12 and 13 are where all the work is done with an implicit rule using " "the pattern rule. The percent sign means \"any targets\", which then call a " "single program, <command>dh</command>, with the target name. <placeholder " "type=\"footnote\" id=\"0\"/> The <command>dh</command> command is a wrapper " "script which runs appropriate sequences of <command>dh_*</command> programs " "depending on its argument. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>; " #| "which in turn runs the following:" msgid "" "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>, " "which in turn runs the following:" msgstr "" "<literal>debian/rules clean</literal> 運行了 <literal>dh clean</literal>,實" "際執行的命令爲:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" msgstr "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules build</literal> runs <literal>dh build</literal>; " "which in turn runs the following:" msgstr "" "<literal>debian/rules build</literal> 運行了 <literal>dh build</literal>,實" "際執行的命令爲:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" msgstr "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "The following example assumes your <filename>debian/compat</filename> has a " "value equal or more than 9 to avoid invoking any python support commands " "automatically." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " "binary</literal>; which in turn runs the following<placeholder type=" "\"footnote\" id=\"0\"/>:" msgstr "" "<literal>fakeroot debian/rules binary</literal> 執行了 <literal>fakeroot dh " "binary</literal>; 實際執行的命令爲<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, fuzzy, no-wrap #| msgid "" #| "dh_testroot\n" #| "dh_prep\n" #| "dh_installdirs\n" #| "dh_auto_install\n" #| "dh_install\n" #| "dh_installdocs\n" #| "dh_installchangelogs\n" #| "dh_installexamples\n" #| "dh_installman\n" #| "dh_installcatalogs\n" #| "dh_installcron\n" #| "dh_installdebconf\n" #| "dh_installemacsen\n" #| "dh_installifupdown\n" #| "dh_installinfo\n" #| "dh_pysupport\n" #| "dh_installinit\n" #| "dh_installmenu\n" #| "dh_installmime\n" #| "dh_installmodules\n" #| "dh_installlogcheck\n" #| "dh_installlogrotate\n" #| "dh_installpam\n" #| "dh_installppp\n" #| "dh_installudev\n" #| "dh_installwm\n" #| "dh_installxfonts\n" #| "dh_bugfiles\n" #| "dh_lintian\n" #| "dh_gconf\n" #| "dh_icons\n" #| "dh_perl\n" #| "dh_usrlocal\n" #| "dh_link\n" #| "dh_compress\n" #| "dh_fixperms\n" #| "dh_strip\n" #| "dh_makeshlibs\n" #| "dh_shlibdeps\n" #| "dh_installdeb\n" #| "dh_gencontrol\n" #| "dh_md5sums\n" #| "dh_builddeb\n" msgid "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" msgstr "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_pysupport\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-arch</literal> runs <literal>fakeroot " "dh binary-arch</literal>; which in turn runs the same sequence as " "<literal>fakeroot dh binary</literal> but with the <literal>-a</literal> " "option appended for each command." msgstr "" "<literal>fakeroot debian/rules binary-arch</literal> 執行了 " "<literal>fakeroot dh binary-arch</literal>,其效果等同於 <literal>fakeroot " "dh binary</literal> 並附加 <literal>-a</literal> 參數於每個命令。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-indep</literal> runs <literal>fakeroot " "dh binary-indep</literal>; which in turn runs almost the same sequence as " "<literal>fakeroot dh binary</literal> but excluding <command>dh_strip</" "command>, <command>dh_makeshlibs</command>, and <command>dh_shlibdeps</" "command> with the <literal>-i</literal> option appended for each remaining " "command." msgstr "" "<literal>fakeroot debian/rules binary-indep</literal> 執行了 " "<literal>fakeroot dh binary-indep</literal>,這會運行幾乎和 " "<literal>fakeroot dh binary</literal> 一樣的命令,但 <command>dh_strip</" "command>、<command>dh_makeshlibs</command> 和 <command>dh_shlibdeps</" "command> 除外,其他命令則均附加<literal>-i</literal> 選項。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "For complete information on what all these <command>dh_*</command> scripts " "do exactly, and what their other options are, please read their respective " "manual pages and the <systemitem role=\"package\">debhelper</systemitem> " "documentation." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "These commands support other build environments such as <filename>setup.py</" "filename> which can be listed by executing <literal>dh_auto_build --list</" "literal> in a package source directory." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The functions of <command>dh_*</command> commands are largely self-evident " "from their names. <placeholder type=\"footnote\" id=\"0\"/> There are a few " "notable ones that are worth giving (over)simplified explanations here " "assuming a typical build environment based on a <filename>Makefile</" "filename>. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>distclean</literal>, <literal>realclean</literal>, " "or <literal>clean</literal>, and executes that." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<command>dh_auto_install</command> usually executes the following if " #| "<filename>Makefile</filename> exists with the <literal>install</literal> " #| "target (line folded for readability)." msgid "" "<command>dh_auto_clean</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>distclean</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_install</command> 通常在 <filename>Makefile</filename> 存在" "且有 <literal>install</literal> target 時執行以下命令(進行了換行以便閱讀)。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make distclean\n" msgstr "make distclean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_configure</command> usually executes the following if " "<filename>./configure</filename> exists (arguments abbreviated for " "readability)." msgstr "" "<command>dh_auto_configure</command> 在 <filename>./configure</filename> 存在" "時通常執行以下命令(省略了部分參數以方便此處閱讀)。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" msgstr "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_build</command> usually executes the following to execute " "the first target of <filename>Makefile</filename> if it exists." msgstr "" "<command>dh_auto_build</command> 通常使用以下命令執行 <filename>Makefile</" "filename> 中的第一個 target。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make\n" msgstr "make\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>test</literal> or <literal>check</literal>, and " "executes that." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<command>dh_auto_install</command> usually executes the following if " #| "<filename>Makefile</filename> exists with the <literal>install</literal> " #| "target (line folded for readability)." msgid "" "<command>dh_auto_test</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>test</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_install</command> 通常在 <filename>Makefile</filename> 存在" "且有 <literal>install</literal> target 時執行以下命令(進行了換行以便閱讀)。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make test\n" msgstr "make test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<command>dh_auto_install</command> usually executes the following if " #| "<filename>Makefile</filename> exists with the <literal>install</literal> " #| "target (line folded for readability)." msgid "" "<command>dh_auto_install</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>install</literal> " "target (line folded for readability)." msgstr "" "<command>dh_auto_install</command> 通常在 <filename>Makefile</filename> 存在" "且有 <literal>install</literal> target 時執行以下命令(進行了換行以便閱讀)。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" msgstr "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "Targets which require the <command>fakeroot</command> command contain " #| "<command>dh_testroot</command>. If you are not pretending to be root " #| "using this command, it exits with an error." msgid "" "All targets which require the <command>fakeroot</command> command will " "contain <command>dh_testroot</command>, which exits with an error if you are " "not using this command to pretend to be root." msgstr "" "需要 <command>fakeroot</command> 命令的都包含了 <command>dh_testroot</" "command>。如果你沒有假裝爲 root,將會報錯並退出。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "The important part to know about the <filename>rules</filename> file " #| "created by <command>dh_make</command>, is that it is just a suggestion. " #| "It will work for most packages but for more complicated ones, don't be " #| "afraid to customize it to fit your needs. Only things that you must not " #| "change are the names of the rules, because all the tools use these names, " #| "as mandated by the Debian Policy." msgid "" "The important part to know about the <filename>rules</filename> file created " "by <command>dh_make</command> is that it is just a suggestion. It will work " "for most packages but for more complicated ones, don't be afraid to " "customize it to fit your needs." msgstr "" "關於 <command>dh_make</command> 生成的 <filename>rules</filename> 檔案,你應" "該知道的最重要的事是,它僅僅是一個建議。它對多數簡單的套件有效,但對於更復雜" "的則要大膽對其進行定製以滿足需要。只有一件事不應改變,就是它們的名字,這些名" "稱由 Debian Policy 定義且被所有工具使用。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "Although <literal>install</literal> is not required target, it is " #| "supported. <literal>fakeroot dh install</literal> behaves like " #| "<literal>fakeroot dh binary</literal> but stops after " #| "<command>dh_fixperms</command>." msgid "" "Although <literal>install</literal> is not a required target, it is " "supported. <literal>fakeroot dh install</literal> behaves like " "<literal>fakeroot dh binary</literal> but stops after <command>dh_fixperms</" "command>." msgstr "" "儘管 <literal>install</literal> target 不是必須的,但也被支持。" "<literal>fakeroot dh install</literal> 的操作就像 <literal>fakeroot dh " "binary</literal>一樣,但停止於 <command>dh_fixperms</command>。" #. type: Content of: <book><chapter><section><section><title> msgid "Customization of <filename>rules</filename> file" msgstr "定製 <filename>rules</filename> 檔案" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are many ways to customize the <filename>rules</filename> file created " "with the new <command>dh</command> command." msgstr "" "有很多方法來定製使用新的 <command>dh</command> 命令創建的 <filename>rules</" "filename> 檔案。" #. type: Content of: <book><chapter><section><section><para><footnote><para> #, fuzzy #| msgid "" #| "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" #| "Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " #| "should activate its customization function by <literal>dh --with " #| "<replaceable>custom-name</replaceable> $@</literal>." msgid "" "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " "should activate its customization function by <literal>dh $@ --with " "<replaceable>custom-name</replaceable></literal>." msgstr "" "如果一個套件安裝了 <filename>/usr/share/perl5/Debian/Debhelper/Sequence/" "<replaceable>custom_name</replaceable>.pm</filename> 檔案,你應當使用 " "<literal>dh --with <replaceable>custom-name</replaceable> $@</literal> 命令激" "活其功能。" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>dh $@</literal> command can be customized as follows. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>dh $@</literal> 命令可以按以下方式定製。<placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "Use of the <command>dh_pysupport</command> command is preferred over use " #| "of the <command>dh_pycentral</command> command. Do not use the " #| "<command>dh_python</command> command." msgid "" "Use of the <command>dh_python2</command> command is preferred over use of " "<command>dh_pysupport</command> or <command>dh_pycentral</command> " "commands. Do not use the <command>dh_python</command> command." msgstr "" "在 <command>dh_pysupport</command> 和 <command>dh_pycentral</command> 命令之" "間更推薦使用前者,不要使用 <command>dh_python</command> 命令。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Add support of the <command>dh_pysupport</command> command. (The best " #| "choice for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgid "" "Add support for the <command>dh_python2</command> command. (The best choice " "for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "添加 <command>dh_pysupport</command> 命令支持。(對於 Python 的最佳選" "擇。)<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">python-support</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">python</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package" "\">python-support</systemitem> 套件。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with python-central $@</literal> instead." msgid "Use <literal>dh $@ --with python2</literal>." msgstr "使用 <literal>dh --with python-central $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This handles Python modules using the <systemitem role=\"package\">python-" #| "support</systemitem> framework." msgid "" "This handles Python modules using the <systemitem role=\"package\">python</" "systemitem> framework." msgstr "" "這會使用 <systemitem role=\"package\">python-support</systemitem> 框架處理 " "Python 模塊。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "Add support of the <command>dh_dkms</command> command." msgid "" "Add support for the <command>dh_pysupport</command> command. (deprecated)" msgstr "添加 <command>dh_dkms</command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">python-support</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">python-support</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package" "\">python-support</systemitem> 套件。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with quilt $@</literal> instead." msgid "Use <literal>dh $@ --with pysupport</literal>." msgstr "使用 <literal>dh --with quilt $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "support</systemitem> framework." msgstr "" "這會使用 <systemitem role=\"package\">python-support</systemitem> 框架處理 " "Python 模塊。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "Add support of the <command>dh_pycentral</command> command." msgid "" "Add support for the <command>dh_pycentral</command> command. (deprecated)" msgstr "添加 <command>dh_pycentral</command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">python-central</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">python-central</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package" "\">python-central</systemitem> 套件。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with python-central $@</literal> instead." msgid "Use <literal>dh $@ --with python-central</literal> instead." msgstr "使用 <literal>dh --with python-central $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This also deactivates the <command>dh_pysupport</command> command." msgstr "這樣會同時停用 <command>dh_pysupport</command> 命令。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "central</systemitem> framework." msgstr "" "這會使用 <systemitem role=\"package\">python-central</systemitem> 框架處理 " "Python 模塊。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "Add support of the <command>dh_installtex</command> command." msgid "Add support for the <command>dh_installtex</command> command." msgstr "添加 <command>dh_installtex</command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">tex-common</systemitem> package " #| "in <literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">tex-common</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package\">tex-" "common</systemitem> 套件。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with tex $@</literal> instead." msgid "Use <literal>dh $@ --with tex</literal> instead." msgstr "使用 <literal>dh --with tex $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This registers Type 1 fonts, hyphenation patterns, or formats with TeX." msgid "" "This registers Type 1 fonts, hyphenation patterns, and formats with TeX." msgstr "這樣會註冊 Type 1 字體、斷句樣式或其他使用 TeX 的格式。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Add support of the <command>dh_quilt_patch</command> and " #| "<command>dh_quilt_unpatch</command> commands." msgid "" "Add support for the <command>dh_quilt_patch</command> and " "<command>dh_quilt_unpatch</command> commands." msgstr "" "添加 <command>dh_quilt_patch</command> 和 <command>dh_quilt_unpatch</" "command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">quilt</systemitem> package in " #| "<literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">quilt</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package" "\">quilt</systemitem> 套件。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with quilt $@</literal> instead." msgid "Use <literal>dh $@ --with quilt</literal> instead." msgstr "使用 <literal>dh --with quilt $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This applies and un-applies patches to the upstream source from files in " #| "the <filename>debian/patches</filename> directory for the <literal>1.0</" #| "literal> source package." msgid "" "This applies and un-applies patches to the upstream source from files in the " "<filename>debian/patches</filename> directory for a source package in the " "<literal>1.0</literal> format." msgstr "" "這會在你使用 <literal>1.0</literal> 格式的原始碼套件時自動應用或解除 " "<filename>debian/patches</filename> 目錄中的補丁。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This is not needed if you use the new <literal>3.0 (quilt)</literal> " #| "source package." msgid "" "This is not needed if you use the new <literal>3.0 (quilt)</literal> source " "package format." msgstr "" "如果你使用新的 <literal>3.0 (quilt)</literal> 原始碼套件格式時不需要這些。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "Add support of the <command>dh_dkms</command> command." msgid "Add support for the <command>dh_dkms</command> command." msgstr "添加 <command>dh_dkms</command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">dkms</systemitem> package in " #| "<literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">dkms</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package" "\">dkms</systemitem> 套件。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with dkms $@</literal> instead." msgid "Use <literal>dh $@ --with dkms</literal> instead." msgstr "使用 <literal>dh --with dkms $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "This correctly handles DKMS usage by the kernel module package." msgid "This correctly handles DKMS usage by kernel module packages." msgstr "這會使核心模組套件正確使用 DKMS。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Add support of the <command>dh_autotools-dev_updateconfig</command> and " #| "<command>dh_autotools-dev_restoreconfig</command> commands." msgid "" "Add support for the <command>dh_autotools-dev_updateconfig</command> and " "<command>dh_autotools-dev_restoreconfig</command> commands." msgstr "" "添加 <command>dh_autotools-dev_updateconfig</command> 和 " "<command>dh_autotools-dev_restoreconfig</command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">autotools-dev</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">autotools-dev</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package" "\">autotools-dev</systemitem> 套件。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with autotools-dev $@</literal> instead." msgid "Use <literal>dh $@ --with autotools-dev</literal> instead." msgstr "使用 <literal>dh --with autotools-dev $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates and restores <filename>config.sub</filename> and " "<filename>config.guess</filename>." msgstr "" "這會自動更新或還原 <filename>config.sub</filename> 和 <filename>config." "guess</filename> 檔案。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Add support of the <command>dh_autoreconf</command> and " #| "<command>dh_autoreconf_clean</command> commands." msgid "" "Add support for the <command>dh_autoreconf</command> and " "<command>dh_autoreconf_clean</command> commands." msgstr "" "添加 <command>dh_autoreconf</command> 和 <command>dh_autoreconf_clean</" "command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">dh-autoreconf</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">dh-autoreconf</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package\">dh-" "autoreconf</systemitem> 套件。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with autoreconf $@</literal> instead." msgid "Use <literal>dh $@ --with autoreconf</literal> instead." msgstr "使用 <literal>dh --with autoreconf $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates the GNU Build System files and restores them after the build." msgstr "這樣會在編譯時更新 GNU 編譯系統檔案並在編譯後對其進行恢復。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "Add support of the <command>dh_dkms</command> command." msgid "Add support for the <command>dh_girepository</command> command." msgstr "添加 <command>dh_dkms</command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">bash-completion</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Includes the <systemitem role=\"package\">gobject-introspection</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package\">bash-" "completion</systemitem> 套件。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with quilt $@</literal> instead." msgid "Use <literal>dh $@ --with gir</literal> instead." msgstr "使用 <literal>dh --with quilt $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This computes dependencies for packages shipping GObject introspection data " "and generates the <literal>${gir:Depends}</literal> substitution variable " "for the package dependency." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "Add support to the <command>bash</command> completion feature." msgid "Add support for the <command>bash</command> completion feature." msgstr "添加 <command>bash</command> 補全特性支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">bash-completion</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Includes the <systemitem role=\"package\">bash-completion</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package\">bash-" "completion</systemitem> 套件。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with bash-completion $@</literal> instead." msgid "Use <literal>dh $@ --with bash-completion</literal> instead." msgstr "使用 <literal>dh --with bash-completion $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This installs <command>bash</command> completions using configuration " #| "file at <filename>debian/<replaceable>package</replaceable>.bash-" #| "completion</filename>." msgid "" "This installs <command>bash</command> completions using a configuration file " "at <filename>debian/<replaceable>package</replaceable>.bash-completion</" "filename>." msgstr "" "這會使用 <filename>debian/<replaceable>package</replaceable>.bash-" "completion</filename> 中的設定檔案安裝 <command>bash</command> 補全。" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many <command>dh_*</command> commands invoked by the new <command>dh</" "command> command can be customized by the corresponding configuration files " "in the <filename>debian</filename> directory. See <xref linkend=\"dother\"/" "> and the manpage of each command for the customization of such features." msgstr "" "很多由新的 <command>dh</command> 命令觸發的 <command>dh_*</command> 都可以通" "過修改 <filename>debian</filename> 目錄中的設定檔案來對其行爲進行定製。參考 " "<xref linkend=\"dother\"/> 和每個命令的 man 手冊頁。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Under <literal>lenny</literal>, if you wanted to change the behavior of a " "<command>dh_*</command> script you found the relevant line in the " "<filename>rules</filename> file and adjusted it." msgstr "" "在 <literal>lenny</literal> 下,如果你希望更改某個 <command>dh_*</command> 腳" "本的行爲,你需要在 <filename>rules</filename> 中找到相應的行然後進行調整。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "Some <command>dh_*</command> commands invoked by the new <command>dh</" #| "command> command may require you to run it with some arguments or to run " #| "additional commands with them or to skip them. For such cases, you " #| "create an <literal>override_dh_<replaceable>foo</replaceable></literal> " #| "target with its rule in the <filename>rules</filename> file only for the " #| "<command>dh_<replaceable>foo</replaceable></command> command you want to " #| "change. It basically say <emphasis>run me instead</emphasis>. " #| "<placeholder type=\"footnote\" id=\"0\"/>" msgid "" "You may need to run <command>dh_*</command> commands invoked via the new " "<command>dh</command> with added arguments, or to run additional commands " "with them, or to skip them. For such cases, you create an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target with " "its rule in the <filename>rules</filename> file defining an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target for the " "<command>dh_<replaceable>foo</replaceable></command> command you want to " "change. It basically says <emphasis>run me instead</emphasis>. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "某些由新的 <command>dh</command> 命令所觸發的 <command>dh_*</command> 命令可" "能需要額外的參數使其一同執行或者跳過執行。對於這類情況,你可以在 " "<filename>rules</filename> 檔案中創建一個 " "<literal>override_dh_<replaceable>foo</replaceable></literal> target 來使其完" "成你想要的 <command>dh_<replaceable>foo</replaceable></command> 命令。它的作" "用簡單說就是 <emphasis>把運行的命令換成我</emphasis>。<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "Please note that the <command>dh_auto_*</command> commands tend to do " #| "more than what has been discussed as (over)simplified explanation to take " #| "care all the corner cases. Use of simplified equivalent command instead " #| "of these in <literal>override_dh_*</literal> targets except the " #| "<literal>override_dh_auto_clean</literal> target is a bad idea since it " #| "may kill such <systemitem role=\"package\">debhelper</systemitem>'s smart " #| "features." msgid "" "Please note that the <command>dh_auto_*</command> commands tend to do more " "than what has been discussed in this (over)simplified explanation to take " "care of all the corner cases. It is a bad idea to use " "<literal>override_dh_*</literal> targets to substitute simplified equivalent " "commands (except for the <literal>override_dh_auto_clean</literal> target) " "since it may bypass such smart <systemitem role=\"package\">debhelper</" "systemitem> features." msgstr "" "請注意 <command>dh_auto_*</command> 命令所做的比上述簡化的步驟中介紹的內容更" "多。除了 <literal>override_dh_auto_clean</literal> 外把上面的簡化命令寫成 " "<literal>override_dh_*</literal> 中是不明智的,這樣會使得 <systemitem role=" "\"package\">debhelper</systemitem> 的許多智能特性無法體現。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "If you want to store the system configuration data for the <systemitem " #| "role=\"package\">gentoo</systemitem> package in the <filename>/etc/" #| "gentoo</filename> directory instead of the usual <filename>/etc</" #| "filename> directory, you can override the default <literal>--sysconfig=/" #| "etc</literal> argument given by the <command>dh_auto_configure</command> " #| "command to the <command>./configure</command> command by the following. " #| "<placeholder type=\"footnote\" id=\"0\"/>" msgid "" "So, for instance, if you want to store system configuration data in the " "<filename>/etc/gentoo</filename> directory instead of the usual <filename>/" "etc</filename> directory for the recent <systemitem role=\"package\">gentoo</" "systemitem> package using Autotools, you can override the default <literal>--" "sysconfig=/etc</literal> argument given by the <command>dh_auto_configure</" "command> command to the <command>./configure</command> command by the " "following." msgstr "" "如果你希望把 <systemitem role=\"package\">gentoo</systemitem> 套件的設定檔案" "安裝到 <filename>/etc/gentoo</filename> 而非默認的 <filename>/etc</filename> " "目錄,你可以覆蓋 <command>dh_auto_configure</command> 默認的使用的 " "<literal>--sysconfig=/etc</literal> 參數,改爲向 <command>./configure</" "command> 命令傳遞以下參數:<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "The arguments given after <literal>--</literal> are appended to the default " "arguments of the auto-executed program to override them. Using the " "<command>dh_auto_configure</command> command is better than directly " "invoking the <command>./configure</command> command here since it will only " "override the <literal>--sysconfig</literal> argument and retains any other, " "benign arguments to the <command>./configure</command> command." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> #, fuzzy #| msgid "" #| "<command>dh_auto_build</command> without any arguments will execute the " #| "first target in the <filename>Makefile</filename> file." msgid "" "<command>dh_auto_build</command> without any arguments will execute the " "first target in the <filename>Makefile</filename>." msgstr "" "沒有參數的 <command>dh_auto_build</command>命令將執行 <filename>Makefile</" "filename> 中的第一個 target。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "If <filename>Makefile</filename> of a source for <systemitem role=" #| "\"package\">gentoo</systemitem> requires you to specify <literal>build</" #| "literal> as its target to build it <placeholder type=\"footnote\" id=" #| "\"0\"/>, you create an <literal>override_dh_auto_build</literal> target " #| "to enable it." msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify <literal>build</" "literal> as its target to build it <placeholder type=\"footnote\" id=\"0\"/" ">, you create an <literal>override_dh_auto_build</literal> target to enable " "this." msgstr "" "如果 <systemitem role=\"package\">gentoo</systemitem> 的 <filename>Makefile</" "filename> 需要指定 <literal>build</literal> 作爲其編譯用的 " "target<placeholder type=\"footnote\" id=\"0\"/>,你可以創建一個 " "<literal>override_dh_auto_build</literal> target 來啓用它。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" msgstr "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "This ensures to run $(MAKE) with all the default arguments given by the " #| "<command>dh_auto_build</command> command and <literal>build</literal> " #| "argument." msgid "" "This ensures <literal>$(MAKE)</literal> is run with all the default " "arguments given by the <command>dh_auto_build</command> command plus the " "<literal>build</literal> argument." msgstr "" "這保證了 $(MAKE) 會使用 <command>dh_auto_build</command> 傳遞的所有參數並編譯" "處理 <literal>build</literal> 這個 target。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "If <filename>Makefile</filename> of a source for <systemitem role=" #| "\"package\">gentoo</systemitem> requires you to specify <literal>build</" #| "literal> as its target to build it <placeholder type=\"footnote\" id=" #| "\"0\"/>, you create an <literal>override_dh_auto_build</literal> target " #| "to enable it." msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify the " "<literal>packageclean</literal> target to clean it for the Debian package " "instead of using <literal>distclean</literal> or <literal>clean</literal> " "targets, you can create an <literal>override_dh_auto_clean</literal> target " "to enable thit." msgstr "" "如果 <systemitem role=\"package\">gentoo</systemitem> 的 <filename>Makefile</" "filename> 需要指定 <literal>build</literal> 作爲其編譯用的 " "target<placeholder type=\"footnote\" id=\"0\"/>,你可以創建一個 " "<literal>override_dh_auto_build</literal> target 來啓用它。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" msgstr "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "If <filename>Makefile</filename> of a source for <systemitem role=" #| "\"package\">gentoo</systemitem> contains <literal>test</literal> target " #| "which you do not want to run for the Debian package building process, you " #| "can use empty <literal>override_dh_auto_test</literal> target to skip it." msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> contains a <literal>test</literal> target " "which you do not want to run for the Debian package building process, you " "can use an empty <literal>override_dh_auto_test</literal> target to skip it." msgstr "" "如果 <systemitem role=\"package\">gentoo</systemitem> 的 <filename>Makefile</" "filename> 包含了一個 <literal>test</literal> target 但你不想在 Debian 套件編" "譯過程中運行它,可以使用空的 <literal>override_dh_auto_test</literal> target " "來跳過它。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "override_dh_auto_test:\n" msgstr "override_dh_auto_test:\n" #. type: Content of: <book><chapter><section><section><para><footnote><para> #, fuzzy #| msgid "" #| "The <filename>debian/changelog</filename> and <filename>debian/NEWS</" #| "filename> files are always automatically installed. The upstream " #| "changelog is searched by converting filenames to the lower case and " #| "matching them with the <filename>changelog</filename>, <filename>changes</" #| "filename>, <filename>changelog.txt</filename>, and <filename>changes.txt</" #| "filename>." msgid "" "The <filename>debian/changelog</filename> and <filename>debian/NEWS</" "filename> files are always automatically installed. The upstream changelog " "is found by converting filenames to lower case and matching them against " "<filename>changelog</filename>, <filename>changes</filename>, " "<filename>changelog.txt</filename>, and <filename>changes.txt</filename>." msgstr "" "<filename>debian/changelog</filename> 和 <filename>debian/NEWS</filename> 總" "是會被自動安裝。程式會不分大小寫地搜索以下檔案名來檢測上游 changelog:" "<filename>changelog</filename>、<filename>changes</filename>、" "<filename>changelog.txt</filename>和<filename>changes.txt</filename>。" #. type: Content of: <book><chapter><section><section><para> msgid "" "If <systemitem role=\"package\">gentoo</systemitem> has an unusual upstream " "changelog file called <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> will not install that file by " "default. The <command>dh_installchangelogs</command> command requires " "<filename>FIXES</filename> as its argument to install it. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "如果 <systemitem role=\"package\">gentoo</systemitem> 有某個不常見的上游 " "changelog 檔案名爲 <filename>FIXES</filename>,默認情況下 " "<command>dh_installchangelogs</command> 不會安裝它。" "<command>dh_installchangelogs</command> 命令需要將 <filename>FIXES</" "filename> 作爲它的參數來安裝它。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" msgstr "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "When you use the new <command>dh</command> command, use of explicit " #| "targets such as the ones listed in <xref linkend=\"targets\"/> except " #| "<literal>get-orig-source</literal> target may make it difficult to " #| "understand their exact effects. Please limit explicit targets to " #| "<literal>override_dh_*</literal> targets and completely independent ones, " #| "if possible." msgid "" "When you use the new <command>dh</command> command, use of explicit targets " "such as the ones listed in <xref linkend=\"targets\"/>, other than the " "<literal>get-orig-source</literal> target, may make it difficult to " "understand their exact effects. Please limit explicit targets to " "<literal>override_dh_*</literal> targets and completely independent ones, if " "possible." msgstr "" "如果你使用新的 <command>dh</command> 命令時,還使用 <xref linkend=\"targets" "\"/> 中除 <literal>get-orig-source</literal> 的 target ,會使得其效果難以預" "料。請儘量避免使用獨立的或預設的 target,如果必須修改默認設置則酌情使用 " "<literal>override_dh_*</literal>。" #. type: Content of: <book><chapter><title> msgid "Other files under the <filename>debian</filename> directory" msgstr "<filename>debian</filename> 目錄下的其他檔案" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "To control most of what <systemitem role=\"package\">debhelper</" #| "systemitem> does while building the package, you put optional " #| "configuration files under the <filename>debian</filename> directory. " #| "This chapter will make an overview of what each of these does and its " #| "format. Please read <ulink url=\"&debian-policy;\">Debian Policy Manual</" #| "ulink> and <ulink url=\"&developers-reference;\">Debian Developer's " #| "Reference</ulink> for guidelines for the packaging." msgid "" "To control most of what <systemitem role=\"package\">debhelper</systemitem> " "does while building the package, you put optional configuration files under " "the <filename>debian</filename> directory. This chapter will provide an " "overview of what each of these does and its format. Please read the <ulink " "url=\"&debian-policy;\">Debian Policy Manual</ulink> and <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> for " "guidelines for packaging." msgstr "" "要控制 <systemitem role=\"package\">debhelper</systemitem> 在構建套件過程中的" "行爲,可以在 <filename>debian</filename> 目錄中放置可選的設定檔案。本章將會對" "這些檔案和它們的格式進行概述。請閱讀 <ulink url=\"&debian-policy;\">Debian " "Policy Manual</ulink> 和 <ulink url=\"&developers-reference;\">Debian " "Developer's Reference</ulink> 來了解更多內容。" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "The <command>dh_make</command> command will create some template " #| "configuration files under the <filename>debian</filename> directory. " #| "Most of them come with filenames suffixed by <literal>.ex</literal>. " #| "Some of them come with filenames prefixed by the binary package name such " #| "as <literal><replaceable>package</replaceable></literal>. Take a look at " #| "all of them." msgid "" "The <command>dh_make</command> command will create some template " "configuration files under the <filename>debian</filename> directory. Most " "of them come with filenames suffixed by <literal>.ex</literal>. Some of " "them come with filenames prefixed by the binary package name such as " "<literal><replaceable>package</replaceable></literal>. Take a look at all " "of them. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_make</command> 命令會在 <filename>debian</filename> 目錄中創建一" "些設定檔案模板,它們的檔案名多帶有 <literal>.ex</literal> 的後綴。其中的一些" "可能以套件名作爲前綴,如 <literal><replaceable>package</replaceable></" "literal>。現在對它們進行一個大致的瞭解。" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "The <command>dh_make</command> command may not create some template " #| "configuration files for <systemitem role=\"package\">debhelper</" #| "systemitem>. In such cases, you need to create them with the editor." msgid "" "Some template configuration files for <systemitem role=\"package" "\">debhelper</systemitem> may not be created by the <command>dh_make</" "command> command. In such cases, you need to create them with an editor." msgstr "" "還有一些 <systemitem role=\"package\">debhelper</systemitem> 的設定檔案模板 " "<command>dh_make</command> 命令沒有直接創建。在這種情況下如果你需要它們,則要" "使用文本編輯器手工創建。" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "If you wish or need to activate any of those, please do the following." msgid "If you wish or need to activate any of these, please do the following:" msgstr "如果你希望或需要激活它們中的任意一個或多個,請按照下面的方法做。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "rename template files by removing the <literal>.ex</literal> or <literal>." #| "EX</literal> suffix if the template files have one." msgid "" "rename template files by removing the <literal>.ex</literal> or <literal>." "EX</literal> suffix if they have one;" msgstr "" "如果模板檔案帶有 <literal>.ex</literal> 或 <literal>.EX</literal> 後綴,則重" "命名它去掉後綴。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "rename the name of these configuration files using the actual binary " #| "package name in place of <literal><replaceable>package</replaceable></" #| "literal>." msgid "" "rename the configuration files to use the actual binary package name in " "place of <literal><replaceable>package</replaceable></literal>;" msgstr "" "按照需要,把帶有套件名的設定檔案的前綴改爲實際的二進位套件名,例如 " "<literal><replaceable>package</replaceable></literal>。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> #, fuzzy #| msgid "modify template file contents to suit your needs." msgid "modify template file contents to suit your needs;" msgstr "修改模板檔案來滿足你的需要。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> #, fuzzy #| msgid "remove template files which you do not need." msgid "remove template files which you do not need;" msgstr "刪除不需要的模板檔案。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "modify the <filename>control</filename> file (see <xref linkend=\"control" #| "\"/>), if necessary." msgid "" "modify the <filename>control</filename> file (see <xref linkend=\"control\"/" ">), if necessary;" msgstr "" "如果需要,修改 <filename>control</filename> 檔案(參考 <xref linkend=\"control" "\"/>)。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/>), " "if necessary." msgstr "" "如果需要,修改 <filename>rules</filename> 檔案(參考 <xref linkend=\"rules\"/" ">)。" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "Alternatively, this <filename>install</filename> can have the name of the " #| "file only without the installation directory when the relative directory " #| "path does not change. This format is usually used for a large package " #| "that splits build result into multiple binary packages using " #| "<filename><replaceable>package-1</replaceable>.install</filename>, " #| "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgid "" "Any <systemitem role=\"package\">debhelper</systemitem> configuration files " "without a <filename><replaceable>package</replaceable></filename> prefix, " "such as <filename>install</filename>, apply to the first binary package. " "When there are many binary packages, their configurations can be specified " "by prefixing their name to their configuration filenames such as " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "當然 <filename>install</filename> 檔案也可以只包含相對的源路徑而不帶目標位" "置。這樣的格式通常用於使用 <filename><replaceable>package-1</replaceable>." "install</filename>、<filename><replaceable>package-2</replaceable>.install</" "filename> 等將大套件分割爲多個二進位套件的情況。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>README.Debian</filename> file" msgid "<filename>README.Debian</filename>" msgstr "<filename>README.Debian</filename> 檔案" #. type: Content of: <book><chapter><section><para> msgid "" "Any extra details or discrepancies between the original package and your " "Debian version should be documented here." msgstr "所有關於你的 Debian 版本與原始版本間的額外訊息或差別都應在這裏記錄。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<command>dh_make</command> created a default one, this is what it looks " #| "like:" msgid "" "<command>dh_make</command> created a default one; this is what it looks like:" msgstr "<command>dh_make</command> 創建了一個默認的檔案,以下是它的樣子:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" msgstr "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have nothing to be documented, remove this file. See <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "如果你沒有需要寫在這裏的東西,則刪除這個檔案。參考 <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>compat</filename> file" msgid "<filename>compat</filename>" msgstr "<filename>compat</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <filename>compat</filename> file defines the <systemitem role=" #| "\"package\">debhelper</systemitem> compatibility level. Currently, you " #| "should set it to the <systemitem role=\"package\">debhelper</systemitem> " #| "V7 by the following." msgid "" "The <filename>compat</filename> file defines the <systemitem role=\"package" "\">debhelper</systemitem> compatibility level. Currently, you should set it " "to the <systemitem role=\"package\">debhelper</systemitem> v9 as follows:" msgstr "" "<filename>compat</filename> 檔案定義了 <systemitem role=\"package" "\">debhelper</systemitem> 的兼容級別。目前你應當使用以下命令將其設置爲 " "<systemitem role=\"package\">debhelper</systemitem> V7。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ echo 7 > debian/compat\n" msgid "$ echo 9 > debian/compat\n" msgstr "$ echo 7 > debian/compat\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>conffiles</filename> file" msgid "<filename>conffiles</filename>" msgstr "<filename>conffiles</filename> 檔案" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian " "Policy Manual, \"D.2.5 Conffiles\"</ulink>." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令會安裝這個檔案。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "One of the most annoying things about software is when you spend a great " #| "deal of time and effort customizing a program, only to have an upgrade " #| "stomp all over your changes. Debian solves this problem by marking " #| "configuration files so that when you upgrade a package, you'll be " #| "prompted whether you want to keep your old configuration or not." msgid "" "One of the most annoying things about software is when you spend a great " "deal of time and effort customizing a program, only to have an upgrade stomp " "all over your changes. Debian solves this problem by marking such " "configuration files as conffiles. <placeholder type=\"footnote\" id=\"0\"/> " "When you upgrade a package, you'll be asked whether you want to keep your " "old configuration files or not." msgstr "" "系統管理中有件很惱人的事,就是當你付出了很多時間和經歷來自定義一個程式,但是" "升級後所有的修改都被覆蓋掉了。Debian 通過將設定檔案單獨標記來解決這個問題,當" "套件升級的時候,你將會被詢問是否要保留你的舊設定檔案。" #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry><refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> <emphasis>automatically</emphasis> flags any " "files under the <filename>/etc</filename> directory as conffiles, so if your " "program only has conffiles there you do not need to specify them in this " "file. For most package types, the only place conffiles should ever be is " "under <filename>/etc</filename>, and so this file doesn't need to exist." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your program uses configuration files but also rewrites them on its " #| "own, it's best not to make them as conffiles because <command>dpkg</" #| "command> will then prompt users to verify the changes all the time." msgid "" "If your program uses configuration files but also rewrites them on its own, " "it's best not to make them conffiles because <command>dpkg</command> will " "then prompt users to verify the changes all the time." msgstr "" "如果你的程式使用設定檔案,但程式會自動對設定進行改寫,則最好也將其標記爲設定" "檔案,這樣 <command>dpkg</command> 總是會要求用戶校驗發生了的變更。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If the program you're packaging requires every user to modify the " #| "configuration files in the <filename>/etc</filename> directory, there are " #| "2 popular ways to make them not as conffiles to keep <command>dpkg</" #| "command> quiet." msgid "" "If the program you're packaging requires every user to modify the " "configuration files in the <filename>/etc</filename> directory, there are " "two popular ways to arrange for them to not be conffiles, keeping " "<command>dpkg</command> quiet." msgstr "" "如果你正在打包的程式需要所有用戶都爲自己修改 <filename>/etc</filename> 目錄中" "的設定,有兩種常見的方法讓 <command>dpkg</command> 不將其記錄爲設定檔案。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "You make a symlink under the <filename>/etc</filename> directory pointing " #| "to a file under the <filename>/var</filename> directory generated by the " #| "<emphasis>maintainer scripts</emphasis>." msgid "" "Create a symlink under the <filename>/etc</filename> directory pointing to a " "file under the <filename>/var</filename> directory generated by the " "maintainer scripts." msgstr "" "用 <emphasis>maintainer scripts</emphasis> 在 <filename>/etc</filename> 目錄" "中創建指向 <filename>/var</filename> 相關目錄的符號鏈接。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "You make a file generated by the <emphasis>maintainer scripts</emphasis> " #| "under the <filename>/etc</filename> directory." msgid "" "Create a file generated by the maintainer scripts under the <filename>/etc</" "filename> directory." msgstr "" "用 <emphasis>maintainer scripts</emphasis> 在 <filename>/etc</filename> 目錄" "中生成一個檔案。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For more information on the <emphasis>maintainer scripts</emphasis>, see " #| "<xref linkend=\"maintscripts\"/>." msgid "" "For information on maintainer scripts, see <xref linkend=\"maintscripts\"/>." msgstr "" "更多關於 <emphasis>maintainer scripts</emphasis> 的訊息,參考 <xref linkend=" "\"maintscripts\"/>" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename><replaceable>package</replaceable>.cron.*</filename> files" msgid "<filename><replaceable>package</replaceable>.cron.*</filename>" msgstr "<filename><replaceable>package</replaceable>.cron.*</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your package requires regularly scheduled tasks to operate properly, " #| "you can use this file to set it up. You can either setup regular tasks " #| "that happen hourly, daily, weekly or monthly or alternatively happen any " #| "other time that you wish. The filenames are:" msgid "" "If your package requires regularly scheduled tasks to operate properly, you " "can use these files to set that up. You can set up regular tasks that " "either happen hourly, daily, weekly, or monthly, or alternatively happen at " "any other time that you wish. The filenames are:" msgstr "" "如果你的套件需要有計劃運行的操作以保證正常工作,可以使用這個檔案進行設置。既" "可以設置常規的任務使其在每小時、每天、每星期、每月或其他情況或時間下運行。相" "應的檔案名是:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<filename>cron.hourly</filename> - Installed as <filename>/etc/cron." #| "hourly/<replaceable>package</replaceable></filename>: run once an hour " #| "every hour." msgid "" "<filename><replaceable>package</replaceable>.cron.hourly</filename> - " "Installed as <filename>/etc/cron.hourly/<replaceable>package</replaceable></" "filename>; run once an hour." msgstr "" "<filename>cron.hourly</filename> - 安裝爲 <filename>/etc/cron.hourly/" "<replaceable>package</replaceable></filename>:每小時運行一次。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<filename>cron.daily</filename> - Installed as <filename>/etc/cron.daily/" #| "<replaceable>package</replaceable></filename>: run once a day, usually " #| "early morning." msgid "" "<filename><replaceable>package</replaceable>.cron.daily</filename> - " "Installed as <filename>/etc/cron.daily/<replaceable>package</replaceable></" "filename>; run once a day." msgstr "" "<filename>cron.daily</filename> - 安裝爲 <filename>/etc/cron.daily/" "<replaceable>package</replaceable></filename>:每天運行一次,通常在早晨。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<filename>cron.weekly</filename> - Installed as <filename>/etc/cron." #| "weekly/<replaceable>package</replaceable></filename>: run once a week, " #| "usually early Sunday morning." msgid "" "<filename><replaceable>package</replaceable>.cron.weekly</filename> - " "Installed as <filename>/etc/cron.weekly/<replaceable>package</replaceable></" "filename>; run once a week." msgstr "" "<filename>cron.weekly</filename> - 安裝爲 <filename>/etc/cron.weekly/" "<replaceable>package</replaceable></filename>:每星期運行一次,通常在星期日早" "晨。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<filename>cron.hourly</filename> - Installed as <filename>/etc/cron." #| "hourly/<replaceable>package</replaceable></filename>: run once an hour " #| "every hour." msgid "" "<filename><replaceable>package</replaceable>.cron.monthly</filename> - " "Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></" "filename>: run once a month." msgstr "" "<filename>cron.hourly</filename> - 安裝爲 <filename>/etc/cron.hourly/" "<replaceable>package</replaceable></filename>:每小時運行一次。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<filename>cron.d</filename> - Installed as <filename>/etc/cron.d/" #| "<replaceable>package</replaceable></filename>: for any other time" msgid "" "<filename><replaceable>package</replaceable>.cron.d</filename> - Installed " "as <filename>/etc/cron.d/<replaceable>package</replaceable></filename>: for " "any other time." msgstr "" "<filename>cron.d</filename> - 安裝爲 <filename>/etc/cron.d/" "<replaceable>package</replaceable></filename> 指定的任意時間。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For the named files, the format of them is the shell script. The " #| "different one is <filename><replaceable>package</replaceable>.cron.d</" #| "filename> which follows the format of <citerefentry> " #| "<refentrytitle>crontab</refentrytitle> <manvolnum>5</manvolnum> </" #| "citerefentry>." msgid "" "Most of these files are shell scripts, with the exception of " "<filename><replaceable>package</replaceable>.cron.d</filename> which follows " "the format of <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." msgstr "" "對於前幾個檔案,其格式爲 shell 腳本。唯一不同的是 " "<filename><replaceable>package</replaceable>.cron.d</filename>,它的格式需要" "參照 <citerefentry> <refentrytitle>crontab</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Note that this doesn't include log rotation; for that, see <citerefentry> " #| "<refentrytitle>dh_installlogrotate</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> and <citerefentry> <refentrytitle>logrotate</" #| "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>." msgid "" "No explicit <filename>cron.*</filename> file is needed to set up log " "rotation; for that, see <citerefentry><refentrytitle>dh_installlogrotate</" "refentrytitle> <manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>logrotate</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" "注意這裏的操作不包含日誌旋轉,如果需要日誌旋轉,參考 <citerefentry> " "<refentrytitle>dh_installlogrotate</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> 和 <citerefentry> <refentrytitle>logrotate</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>dirs</filename> file" msgid "<filename>dirs</filename>" msgstr "<filename>dirs</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This file specifies the directories which we need but the normal " #| "installation procedure (<literal>make install DESTDIR=...</literal> " #| "invoked by <literal>dh_auto_install</literal>) somehow doesn't create. " #| "This generally means there is a problem with the <filename>Makefile</" #| "filename>." msgid "" "This file specifies any directories which we need but which are not created " "by the normal installation procedure (<literal>make install DESTDIR=...</" "literal> invoked by <literal>dh_auto_install</literal>). This generally " "means there is a problem with the <filename>Makefile</filename>." msgstr "" "這個檔案指定了我們需要,但正常安裝過程(<literal>dh_auto_install</literal> 觸" "發 <literal>make install DESTDIR=...</literal>)裏沒有被安裝的目錄。通常這是由" "於 <filename>Makefile</filename> 中存在問題。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Files listed in the <filename>install</filename> file doesn't need the " #| "directories created first. See <xref linkend=\"install\"/>." msgid "" "Files listed in an <filename>install</filename> file don't need their " "directories created first. See <xref linkend=\"install\"/>." msgstr "" "<filename>install</filename> 檔案中列出的檔案不需要提前創建目錄,參考 <xref " "linkend=\"install\"/>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "It is best to first try to run the installation first and only use this " #| "if you run into trouble. There is no preceding slash on the directory " #| "names." msgid "" "It is best to try to run the installation first and only use this if you run " "into trouble. There is no preceding slash on the directory names listed in " "the <filename>dirs</filename> file." msgstr "" "最好是先嚐試安裝,如果遇到了相關的問題再使用這個檔案。目錄名中不應有前導的 / " "符號。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.doc-base</filename> file" msgid "<filename><replaceable>package</replaceable>.doc-base</filename>" msgstr "<filename><replaceable>package</replaceable>.doc-base</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your package has documentation other than manual pages and info docs, " #| "you should use the <systemitem role=\"package\">doc-base</systemitem> " #| "file to register it, so the user can find it with e.g. <citerefentry> " #| "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " #| "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>." msgid "" "If your package has documentation other than manual and info pages, you " "should use the <systemitem role=\"package\">doc-base</systemitem> file to " "register it, so the user can find it with e.g. <citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, or <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "如果你的套件在 man 手冊頁和 info 訊息文件外還有其他文件,你應該使用 " "<systemitem role=\"package\">doc-base</systemitem> 檔案註冊它們,這樣用戶可以" "使用例如 <citerefentry> <refentrytitle>dhelp</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>、<citerefentry> <refentrytitle>dwww</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 或 <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 的工具找到它們。" #. type: Content of: <book><chapter><section><para> msgid "" "This usually includes HTML, PS and PDF files, shipped in <filename>/usr/" "share/doc/<replaceable>packagename</replaceable>/</filename>." msgstr "" "這通常包括 HTML、PS 和 PDF 檔案,放置在 <filename>/usr/share/doc/" "<replaceable>packagename</replaceable>/</filename>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This is how <systemitem role=\"package\">gentoo</systemitem>'s doc-base " #| "file <filename>gentoo.doc-base</filename> looks like:" msgid "" "This is what <systemitem role=\"package\">gentoo</systemitem>'s doc-base " "file <filename>gentoo.doc-base</filename> looks like:" msgstr "" "以下是 <systemitem role=\"package\">gentoo</systemitem> 的 doc-base 檔案 " "<filename>gentoo.doc-base</filename> 的樣子:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" msgstr "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For information on the file format, see <citerefentry> " #| "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" #| "citerefentry> and the <systemitem role=\"package\">doc-base</systemitem> " #| "manual, in <filename>/usr/share/doc/doc-base/doc-base.html/</filename>." msgid "" "For information on the file format, see <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and the Debian <systemitem role=\"package\">doc-base</" "systemitem> Manual at the local copy <filename>&doc-base;</filename> " "provided by the <systemitem role=\"package\">doc-base</systemitem> package." msgstr "" "關於檔案格式的更多訊息,參考 <citerefentry> <refentrytitle>install-docs</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry> 和 <filename>/usr/" "share/doc/doc-base/doc-base.html/</filename> 中的 <systemitem role=\"package" "\">doc-base</systemitem> 手冊。" #. type: Content of: <book><chapter><section><para> msgid "" "For more details on installing additional documentation, look in <xref " "linkend=\"destdir\"/>." msgstr "關於安裝附加文件的更多訊息,査看 <xref linkend=\"destdir\"/>。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>docs</filename> file" msgid "<filename>docs</filename>" msgstr "<filename>docs</filename> 檔案" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies the file names of documentation files we can have " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> install into the temporary directory for us." msgstr "" "這個檔案制定了我們使用 <citerefentry> <refentrytitle>dh_installdocs</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 安裝到臨時目錄的檔案" "名。" #. type: Content of: <book><chapter><section><para> msgid "" "By default, it will include all existing files in the top-level source " "directory that are called <filename>BUGS</filename>, <filename>README*</" "filename>, <filename>TODO</filename> etc." msgstr "" "默認情況下它會加入程式碼目錄頂層的所有名爲 <filename>BUGS</filename>、" "<filename>README*</filename>、<filename>TODO</filename> 等的檔案。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For <systemitem role=\"package\">gentoo</systemitem>, I also included " #| "some other files:" msgid "" "For <systemitem role=\"package\">gentoo</systemitem>, some other files are " "also included:" msgstr "" "對於 <systemitem role=\"package\">gentoo</systemitem>,我還加入了一些其他檔" "案:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" msgstr "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>emacsen-*</filename> file" msgid "<filename>emacsen-*</filename>" msgstr "<filename>emacsen-*</filename> 檔案" #. type: Content of: <book><chapter><section><para> msgid "" "If your package supplies Emacs files that can be bytecompiled at package " "installation time, you can use these files to set it up." msgstr "" "如果你的套件提供可以在安裝時編譯爲字節碼的 Emacs 檔案,你可以使用這些檔案設" "置。" #. type: Content of: <book><chapter><section><para> msgid "" "They are installed into the temporary directory by <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "它們會被 <citerefentry> <refentrytitle>dh_installemacsen</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 安裝到臨時目錄。" #. type: Content of: <book><chapter><section><para> msgid "If you don't need these, remove them." msgstr "如果你不需要這些,就刪除它們。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.examples</filename> file" msgid "<filename><replaceable>package</replaceable>.examples</filename>" msgstr "<filename><replaceable>package</replaceable>.examples</filename> 檔案" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs files and " "directories listed in this file as example files." msgstr "" "<citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 會將列出的檔案和目錄作爲範例檔案安" "裝。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.init</filename> and " #| "<filename><replaceable>package</replaceable>.default</filename> files" msgid "" "<filename><replaceable>package</replaceable>.init</filename> and " "<filename><replaceable>package</replaceable>.default</filename>" msgstr "" "<filename><replaceable>package</replaceable>.init</filename> 和 " "<filename><replaceable>package</replaceable>.default</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your package is a daemon that needs to be run at the system start-up, " #| "you've obviously disregarded my initial recommendation, haven't you? :-)" msgid "" "If your package is a daemon that needs to be run at system start-up, you've " "obviously disregarded my initial recommendation, haven't you? :-)" msgstr "" "如果你的套件需要在系統啓動時運行一個守護進程,那麼你顯然沒有按照我最初的建議" "做事,不是嗎? :-)" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <filename><replaceable>package</replaceable>.init</filename> file is " #| "installed as the <filename>/etc/init.d/<replaceable>package</" #| "replaceable></filename> script. Its fairly generic skeleton template is " #| "provided by the <command>dh_make</command> command as <filename>init.d." #| "ex</filename>. You'll likely have to rename and edit it, a lot, while " #| "making sure to provide Filesystem Hierarchy Standard (see <filename>/usr/" #| "share/doc/debian-policy/fhs/</filename>) compliant headers. It gets " #| "installed into the temporary directory by <citerefentry> " #| "<refentrytitle>dh_installinit</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>." msgid "" "The <filename><replaceable>package</replaceable>.init</filename> file is " "installed as the <filename>/etc/init.d/<replaceable>package</replaceable></" "filename> script which starts and stops the daemon. Its fairly generic " "skeleton template is provided by the <command>dh_make</command> command as " "<filename>init.d.ex</filename>. You'll likely have to rename and edit it, a " "lot, while making sure to provide <ulink url=\"&lsb;\">Linux Standard Base</" "ulink> (LSB) compliant headers. It gets installed into the temporary " "directory by <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." msgstr "" "<filename><replaceable>package</replaceable>.init</filename> 檔案會被安裝爲 " "<filename>/etc/init.d/<replaceable>package</replaceable></filename> 腳本。" "<command>dh_make</command> 創建的 <filename>init.d.ex</filename> 是一個很好的" "骨架檔案。你可能要對其改名並做很多修改,同時還要提供檔案系統層級標準(FHS,參" "考 <filename>/usr/share/doc/debian-policy/fhs/</filename>)所要求的檔案頭。它" "們會被 <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 安裝到臨時目錄。" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.default</filename> file " "will be installed as <filename>/etc/default/<replaceable>package</" "replaceable></filename>. This file sets defaults that are sourced by the " "init script. This <filename><replaceable>package</replaceable>.default</" "filename> file is most often used to disable running a daemon, or to set " "some default flags or timeouts. If your init script has certain " "configurable features, you can set them in the " "<filename><replaceable>package</replaceable>.default</filename> file, " "instead of in the init script itself." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your upstream program has an init file you can either use it or not. " #| "If you don't use their init.d script then create a new one in " #| "<filename>debian/<replaceable>package</replaceable>.init</filename>. " #| "However if the upstream init script looks fine and installs in the right " #| "place you still need to setup the <filename>rc*</filename> symlinks. To " #| "do this you will need to override <command>dh_installinit</command> in " #| "the <filename>rules</filename> file with the following lines:" msgid "" "If your upstream program provides a file for the init script, you can either " "use it or not. If you don't use their init script then create a new one in " "<filename><replaceable>package</replaceable>.init</filename>. However if " "the upstream init script looks fine and installs in the right place you " "still need to set up the <filename>rc*</filename> symlinks. To do this you " "will need to override <command>dh_installinit</command> in the " "<filename>rules</filename> file with the following lines:" msgstr "" "如果你的上游程式中包含了 init 檔案,你可以選擇是否使用它。如果不使用,則創建" "相應的 <filename>debian/<replaceable>package</replaceable>.init</filename> 檔" "案;如果上游的 init 腳本很好且被安裝到正確的位置,你仍然需要設置 " "<filename>rc*</filename> 符號鏈接。你需要按照以下的方法在 <filename>rules</" "filename> 檔案中覆蓋 <command>dh_installinit</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" msgstr "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" #. type: Content of: <book><chapter><section><para> msgid "If you don't need this, remove the files." msgstr "如果你不需要這些,就刪除它們。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>install</filename> file" msgid "<filename>install</filename>" msgstr "<filename>install</filename> 檔案" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This replaces the deprecated <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command which is " "configured by the <filename>files</filename> file." msgstr "" "這取代了已經廢棄的 <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 命令,它本是用 " "<filename>files</filename> 檔案所設定的。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If there are files that need to be installed into your package but your " #| "standard <literal>make install</literal> won't do it, you put the " #| "filenames and destinations into this <filename>install</filename> file. " #| "They are installed by <citerefentry> <refentrytitle>dh_install</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.<placeholder type=" #| "\"footnote\" id=\"0\"/> You should first check there is not a more " #| "specific tool to use. For example, documents should be in the " #| "<filename>docs</filename> file and not in this one." msgid "" "If there are files that need to be installed into your package but your " "standard <literal>make install</literal> won't do it, put the filenames and " "destinations into this <filename>install</filename> file. They are " "installed by <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=" "\"0\"/> You should first check there is not a more specific tool to use. " "For example, documents should be in the <filename>docs</filename> file and " "not in this one." msgstr "" "如果你的套件需要標準的 <literal>make install</literal> 沒有安裝的檔案,可以把" "檔案名和目標路徑寫入 <filename>install</filename> 檔案,它們將被 " "<citerefentry> <refentrytitle>dh_install</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 安裝。<placeholder type=\"footnote\" id=\"0\"/> 你" "需要首先檢査要安裝的檔案是否有更有針對性的特定工具會對其進行安裝,例如範例、" "文件應寫在 <filename>docs</filename> 檔案中安裝。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This <filename>install</filename> file has one line per file installed, " #| "with the name of the file (relative to the top build directory) then a " #| "space then the installation directory (relative to the install " #| "directory). One example of where this is used is where a binary is " #| "forgotten to be installed, the <filename>install</filename> file would " #| "look like:" msgid "" "This <filename>install</filename> file has one line per file installed, with " "the name of the file (relative to the top build directory) then a space then " "the installation directory (relative to the install directory). One example " "of where this is used is if a binary <filename>src/<replaceable>bar</" "replaceable></filename> is left uninstalled; the <filename>install</" "filename> file might look like:" msgstr "" "這個 <filename>install</filename> 檔案每行安裝一份檔案,格式上先是相對於編譯" "目錄的源目錄,然後是一個空格,接下來是相對於安裝目錄的目標目錄。假設某個二進" "位檔案沒有被默認安裝,則應在 <filename>install</filename> 檔案添加如下內容:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ debc <replaceable>package</replaceable>.changes\n" msgid "src/<replaceable>bar</replaceable> usr/bin\n" msgstr "$ debc <replaceable>package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This will mean when this package is installed, there will be a binary " #| "file <filename>/usr/bin/mybin</filename>." msgid "" "This means when this package is installed, there will be an executable " "command <filename>/usr/bin/<replaceable>bar</replaceable></filename>." msgstr "" "這意味着安裝這個套件時將有一個二進位檔案 <filename>/usr/bin/mybin</filename>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Alternatively, this <filename>install</filename> can have the name of the " #| "file only without the installation directory when the relative directory " #| "path does not change. This format is usually used for a large package " #| "that splits build result into multiple binary packages using " #| "<filename><replaceable>package-1</replaceable>.install</filename>, " #| "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgid "" "Alternatively, this <filename>install</filename> can have the name of the " "file only without the installation directory when the relative directory " "path does not change. This format is usually used for a large package that " "splits the output of its build into multiple binary packages using " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "當然 <filename>install</filename> 檔案也可以只包含相對的源路徑而不帶目標位" "置。這樣的格式通常用於使用 <filename><replaceable>package-1</replaceable>." "install</filename>、<filename><replaceable>package-2</replaceable>.install</" "filename> 等將大套件分割爲多個二進位套件的情況。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <command>dh_install</command> command will fall back to look in " #| "<filename>debian/tmp</filename> for files, if it doesn't find them in the " #| "current directory (or wherever you've told it to look using <literal>--" #| "sourcedir</literal>)." msgid "" "The <command>dh_install</command> command will fall back to looking in " "<filename>debian/tmp</filename> for files, if it doesn't find them in the " "current directory (or wherever you've told it to look using <literal>--" "sourcedir</literal>)." msgstr "" "如果 <command>dh_install</command> 命令沒有在當前目錄(或者你可能使用 " "<literal>--sourcedir</literal> 參數指定的位置)找到檔案,它會回滾至使用 " "<filename>debian/tmp</filename> 目錄。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename><replaceable>package</replaceable>.info</filename> file" msgid "<filename><replaceable>package</replaceable>.info</filename>" msgstr "<filename><replaceable>package</replaceable>.info</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your package has info pages, you should install them using " #| "<citerefentry> <refentrytitle>dh_installinfo</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> by listing them in the " #| "<filename><replaceable>package</replaceable>.info</filename> files." msgid "" "If your package has info pages, you should install them using <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing them in a <filename><replaceable>package</" "replaceable>.info</filename> file." msgstr "" "如果你的套件有 info 訊息頁,應該使用 <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 安裝,要安裝的檔案列於 <filename><replaceable>package</" "replaceable>.info</filename> 檔案中。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename><replaceable>package</replaceable>.info</filename> file" msgid "<filename><replaceable>package</replaceable>.links</filename>" msgstr "<filename><replaceable>package</replaceable>.info</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your package has info pages, you should install them using " #| "<citerefentry> <refentrytitle>dh_installinfo</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> by listing them in the " #| "<filename><replaceable>package</replaceable>.info</filename> files." msgid "" "If you need to create additional symlinks in package build directories as " "package maintainer, you should install them using <citerefentry> " "<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing their full paths of source and destination files in " "a <filename><replaceable>package</replaceable>.links</filename> file." msgstr "" "如果你的套件有 info 訊息頁,應該使用 <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 安裝,要安裝的檔案列於 <filename><replaceable>package</" "replaceable>.info</filename> 檔案中。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "" #| "<filename>{<replaceable>package</replaceable>.|source/}lintian-overrides</" #| "filename> files" msgid "" "<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</" "filename>" msgstr "" "<filename>{<replaceable>package</replaceable>.|source/}lintian-overrides</" "filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " #| "diagnostics for a case when the policy allows exceptions to some rule, " #| "you can use <filename><replaceable>package</replaceable>.lintian-" #| "overrides</filename> or <filename>source/lintian-overrides</filename> to " #| "quiet it. Please read <filename>/usr/share/doc/lintian/lintian.html/" #| "index.html</filename> and refrain from abusing this." msgid "" "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " "diagnostic for a case where Debian policy allows exceptions to some rule, " "you can use <filename><replaceable>package</replaceable>.lintian-overrides</" "filename> or <filename>source/lintian-overrides</filename> to quieten it. " "Please read Lintian User's Manual (<filename>&lintian-doc;</filename>) and " "refrain from abusing this." msgstr "" "如果 <systemitem role=\"package\">lintian</systemitem> 報告了一個 Debian " "Policy 允許的例外的錯誤診斷,你可以使用 <filename><replaceable>package</" "replaceable>.lintian-overrides</filename> 或 <filename>source/lintian-" "overrides</filename> 使其不再警告。請閱讀 <filename>/usr/share/doc/lintian/" "lintian.html/index.html</filename> 並應嚴格避免濫用。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.lintian-overrides</filename> " #| "is for the binary package named as <systemitem role=\"package" #| "\"><replaceable>package</replaceable></systemitem> and is installed into " #| "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" #| "filename> by the <command>dh_lintian</command> command." msgid "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> is " "for the binary package named <systemitem role=\"package" "\"><replaceable>package</replaceable></systemitem> and is installed into " "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" "filename> by the <command>dh_lintian</command> command." msgstr "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> 是" "對於名爲 <systemitem role=\"package\"><replaceable>package</replaceable></" "systemitem> 有效的設定,會由 <command>dh_lintian</command> 命令安裝到" "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "<filename>source/lintian-overrides</filename> is for the source package. " "This is not installed." msgstr "" "<filename>source/lintian-overrides</filename> 是針對原始碼套件的,不會安裝。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>manpage.*</filename> files" msgid "<filename>manpage.*</filename>" msgstr "<filename>manpage.*</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Your program(s) should have a manual page. If they don't, you should " #| "create them. The <command>dh_make</command> command creates few template " #| "files for a manual page. These need to be copied and edited for each " #| "command without its manual page. Please make sure to remove unused " #| "templates." msgid "" "Your program(s) should have a manual page. If they don't, you should create " "them. The <command>dh_make</command> command creates some template files " "for manual pages. These need to be copied and edited for each command " "missing its manual page. Please make sure to remove unused templates." msgstr "" "你的程式應該有 man 手冊頁,如果它們沒有自帶則需要由你來創建。" "<command>dh_make</command> 命令創建了幾個 man 手冊頁的模板。它們需要被妥善地" "編輯,並且要刪除未使用的模板。" #. type: Content of: <book><chapter><section><section><title> #, fuzzy #| msgid "<filename>manpage.1.ex</filename> file" msgid "<filename>manpage.1.ex</filename>" msgstr "<filename>manpage.1.ex</filename> 檔案" #. type: Content of: <book><chapter><section><section><para> msgid "" "Manual pages are normally written in <citerefentry> <refentrytitle>nroff</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. The " "<filename>manpage.1.ex</filename> template is written in <command>nroff</" "command>, too. See the <citerefentry> <refentrytitle>man</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> manual page for a brief description " "of how to edit such a file." msgstr "" "man 手冊頁通常是使用 <citerefentry> <refentrytitle>nroff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 的格式編寫的。<filename>manpage.1." "ex</filename> 模板也是使用 <command>nroff</command> 格式的。參考 " "<citerefentry> <refentrytitle>man</refentrytitle> <manvolnum>7</manvolnum> </" "citerefentry> 手冊頁來簡要了解如何編輯這個檔案。" #. type: Content of: <book><chapter><section><section><para> msgid "" "The final manual page file name should give the name of the program it is " "documenting, so we will rename it from <literal>manpage</literal> to " "<literal>gentoo</literal>. The file name also includes <literal>.1</" "literal> as the first suffix, which means it's a manual page for a user " "command. Be sure to verify that this section is indeed the correct one. " "Here's a short list of manual page sections:" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Section" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Description" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Notes" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "1" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "User command" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Executable commands or scripts" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "2" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System calls" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions provided by the kernel" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "3" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "library packages," msgid "Library calls" msgstr "函式庫套件;" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions within system libraries" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "4" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Special files" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "Other files under the <filename>debian</filename> directory" msgid "Usually found in <filename>/dev</filename>" msgstr "<filename>debian</filename> 目錄下的其他檔案" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "5" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "File formats" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>compat</filename> file" msgid "E.g. <filename>/etc/passwd</filename>'s format" msgstr "<filename>compat</filename> 檔案" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "6" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games or other frivolous programs" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "7" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "library packages," msgid "Macro packages" msgstr "函式庫套件;" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<command>mc</command> command" msgid "Such as <command>man</command> macros" msgstr "<command>mc</command> 命令" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "8" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System administration" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Programs typically only run by root" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "9" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Kernel routines" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Non-standard calls and internals" msgstr "" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " #| "called <filename>gentoo.1</filename>. If there was no " #| "<filename>gentoo.1</filename> man page in the original source, you should " #| "create it by renaming the <filename>manpage.1.ex</filename> template to " #| "<filename>gentoo.1</filename> and edit it by using information from the " #| "example and from upstream docs." msgid "" "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " "called <filename>gentoo.1</filename>. If there was no <filename>gentoo.1</" "filename> man page in the original source, you should create it by renaming " "the <filename>manpage.1.ex</filename> template to <filename>gentoo.1</" "filename> and editing it using information from the example and from the " "upstream docs." msgstr "" "所以 <systemitem role=\"package\">gentoo</systemitem> 的 man 手冊頁應叫 " "<filename>gentoo.1</filename>。如果原始程式碼中沒有 <filename>gentoo.1</" "filename> man 手冊頁,你需要重命名 <filename>manpage.1.ex</filename> 模板爲 " "<filename>gentoo.1</filename> 並按照範例和上游文件編輯它。" #. type: Content of: <book><chapter><section><section><para><footnote><para> #, fuzzy #| msgid "" #| "If the command is missing <command>info</command> page but have " #| "documentation files in the <filename>/usr/share/<replaceable>package</" #| "replaceable></filename> directory, you should manually edit generated the " #| "man page created by the <command>help2man</command> command." msgid "" "Note that <command>help2man</command>'s placeholder man page will claim that " "more detailed documentation is available in the info system. If the command " "is missing an <command>info</command> page, you should manually edit the man " "page created by the <command>help2man</command> command." msgstr "" "如果命令沒有 <command>info</command> 訊息頁但在 <filename>/usr/share/" "<replaceable>package</replaceable></filename> 目錄中有其他文件,你應該手工編" "輯 <command>help2man</command> 命令所創建的 man 手冊頁。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "You can use the <command>help2man</command> command to generate a man " #| "page out of <literal>--help</literal> and <literal>--version</literal> " #| "output of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgid "" "You can use the <command>help2man</command> command to generate a man page " "out of the <literal>--help</literal> and <literal>--version</literal> output " "of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "你也可以使用 <command>help2man</command> 命令來通過程式的 <literal>--help</" "literal> 和 <literal>--version</literal> 參數的輸出創建 man 手冊頁。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><title> #, fuzzy #| msgid "<filename>manpage.sgml.ex</filename> file" msgid "<filename>manpage.sgml.ex</filename>" msgstr "<filename>manpage.sgml.ex</filename> 檔案" #. type: Content of: <book><chapter><section><section><para> msgid "" "If on the other hand you prefer writing SGML instead of <command>nroff</" "command>, you can use the <filename>manpage.sgml.ex</filename> template. If " "you do this, you have to:" msgstr "" "如果你希望使用 SGML 而非 <command>nroff</command> 格式編寫 man 手冊頁,可以使" "用 <filename>manpage.sgml.ex</filename> 模板。如果你要這樣,需要進行以下步" "驟:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "rename the file to something like <filename>gentoo.sgml</filename>." msgstr "重命名檔案爲類似 <filename>gentoo.sgml</filename> 的名稱。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-to-man</systemitem> package" msgstr "安裝 <systemitem role=\"package\">docbook-to-man</systemitem> 套件。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add <literal>docbook-to-man</literal> to the <literal>Build-Depends</" "literal> line in the <filename>control</filename> file" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "add a <literal>override_dh_auto_build</literal> target to your " #| "<filename>rules</filename> file:" msgid "" "add an <literal>override_dh_auto_build</literal> target to your " "<filename>rules</filename> file:" msgstr "" "在 <filename>rules</filename> 檔案裏添加 <literal>override_dh_auto_build</" "literal> target:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><section><title> #, fuzzy #| msgid "<filename>manpage.xml.ex</filename> file" msgid "<filename>manpage.xml.ex</filename>" msgstr "<filename>manpage.xml.ex</filename> 檔案" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you prefer XML over SGML, you can use the <literal>manpage.xml.ex</" "literal> template. If you do this, you have to:" msgstr "" "如果你希望使用XML 而非 SGML,可以使用 <literal>manpage.xml.ex</literal> 模" "板。如果你要這樣,需要進行以下步驟:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "rename the source file to something like <literal>gentoo.1.xml</literal>" msgstr "重命名源檔案爲類似 <literal>gentoo.1.xml</literal> 的名稱。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-xsl</systemitem> package " "and an XSLT processor like <systemitem role=\"package\">xsltproc</" "systemitem> (recommended)" msgstr "" "安裝 <systemitem role=\"package\">docbook-xsl</systemitem> 套件和一個 XSLT 處" "理器,例如 <systemitem role=\"package\">xsltproc</systemitem> (推薦)。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add the <literal>docbook-xsl</literal>, <literal>docbook-xml</literal>, and " "<literal>xsltproc</literal> packages to the <literal>Build-Depends</literal> " "line in the <literal>control</literal> file" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, fuzzy, no-wrap #| msgid "" #| "override_dh_auto_build:\n" #| " xsltproc --nonet \\\n" #| " --param make.year.ranges 1 \\\n" #| " --param make.single.year.ranges 1 \\\n" #| " --param man.charmap.use.subset 0 \\\n" #| " -o debian/ \\\n" #| " http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" #| " debian/gentoo.1.xml\n" #| " dh_auto_build\n" msgid "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" " http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.manpages</filename> file" msgid "<filename><replaceable>package</replaceable>.manpages</filename>" msgstr "<filename><replaceable>package</replaceable>.manpages</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your package has manual pages, you should install them using " #| "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> by listing them in the " #| "<filename><replaceable>package</replaceable>.manpages</filename> files." msgid "" "If your package has manual pages, you should install them using " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> by listing them in a " "<filename><replaceable>package</replaceable>.manpages</filename> file." msgstr "" "如果你的套件有 man 手冊頁,你應該將它們列在 <filename><replaceable>package</" "replaceable>.manpages</filename> 檔案中以便 <citerefentry> " "<refentrytitle>dh_installman</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 安裝。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "To install <filename>doc/gentoo.1</filename> for the <systemitem role=" #| "\"package\">gentoo</systemitem> package as its manpage, you create a " #| "<filename>gentoo.manpages</filename> file as:" msgid "" "To install <filename>docs/gentoo.1</filename> as a manpage for the " "<systemitem role=\"package\">gentoo</systemitem> package, create a " "<filename>gentoo.manpages</filename> file as follows." msgstr "" "要將 <filename>doc/gentoo.1</filename> 安裝爲 <systemitem role=\"package" "\">gentoo</systemitem> 的 man 手冊頁,創建一個 <filename>gentoo.manpages</" "filename>,內容如下:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "docs/gentoo.1\n" msgstr "docs/gentoo.1\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>menu</filename> file" msgid "<filename>menu</filename>" msgstr "<filename>menu</filename> 檔案" #. type: Content of: <book><chapter><section><para> msgid "" "X Window System users usually have a window manager with a menu that can be " "customized to launch programs. If they have installed the Debian " "<systemitem role=\"package\">menu</systemitem> package, a set of menus for " "every program on the system will be created for them." msgstr "" "X Windows 系統用戶通常有窗口管理器,並且帶有可定製的菜單用於啓動程式。如果他" "們安裝了 Debian 的 <systemitem role=\"package\">menu</systemitem> 套件,整個" "系統中所有已安裝軟體的一系列菜單將會被自動創建。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Here's the default <filename>menu.ex</filename> file that " #| "<command>dh_make</command> created:" msgid "" "Here's the default <filename>menu.ex</filename> file that <command>dh_make</" "command> created." msgstr "" "以下是 <command>dh_make</command> 創建的默認的 <filename>menu.ex</filename> " "檔案:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" msgstr "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The first field after the colon character is <literal>needs</literal>, and " "it specifies what kind of interface the program needs. Change this to one " "of the listed alternatives, e.g. <literal>text</literal> or <literal>X11</" "literal>." msgstr "" "冒號後的第一個欄位是 <literal>needs</literal>,它指定了程式需要何種界面。修改" "此處爲列出的選項之一,例如 <literal>text</literal> 或 <literal>X11</" "literal>。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The current list of sections is in <ulink url=\"&menu-structure;\">The " "Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>. There was " "a major reorganization of menu structure for <literal>squeeze</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The next is <literal>section</literal>, where the menu and submenu the " #| "entry should appear in. The current list of sections <placeholder type=" #| "\"footnote\" id=\"0\"/> is at: <filename>/usr/share/doc/debian-policy/" #| "menu-policy.html/ch2.html#s2.1</filename>" msgid "" "The next is the <literal>section</literal> that the menu and submenu entry " "should appear in. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "接下來是 <literal>section</literal>,包含菜單和子菜單項。當前可用的章節列表" "<placeholder type=\"footnote\" id=\"0\"/>位於:<filename>/usr/share/doc/" "debian-policy/menu-policy.html/ch2.html#s2.1</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>title</literal> field is the name of the program. You can " "start this one in uppercase if you like. Just keep it short." msgstr "" "<literal>title</literal> 欄位是程式的名稱,它可以用大寫字母開頭,只需保證它不" "要很長。" #. type: Content of: <book><chapter><section><para> msgid "" "Finally, the <literal>command</literal> field is the command that runs the " "program." msgstr "最後的 <literal>command</literal> 欄位是運行此程式時使用的命令。" #. type: Content of: <book><chapter><section><para> msgid "" "Let's change the file name to <filename>menu</filename> and change the menu " "entry to this:" msgstr "我們把檔案名修改爲 <filename>menu</filename>,並修改其內容爲:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" msgstr "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You can also add other fields like <literal>longtitle</literal>, " #| "<literal>icon</literal>, <literal>hints</literal> etc. See " #| "<citerefentry> <refentrytitle>dh_installmenu</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " #| "<refentrytitle>menufile</refentrytitle> <manvolnum>5</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>update-menus</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> and <filename>/usr/share/doc/" #| "debian-policy/menu-policy.html/</filename> for more information." msgid "" "You can also add other fields like <literal>longtitle</literal>, " "<literal>icon</literal>, <literal>hints</literal> etc. See <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, and <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> for more information." msgstr "" "你還可以添加諸如 <literal>longtitle</literal>、<literal>icon</literal>、" "<literal>hints</literal> 等欄位。參考 <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>、<citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>、<citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 和 <filename>/usr/share/doc/debian-policy/menu-policy.html/</" "filename> 瞭解更多訊息。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>NEWS</filename> file" msgid "<filename>NEWS</filename>" msgstr "<filename>NEWS</filename> 檔案" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "<citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 命令會安裝這個檔案。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>{post|pre}{inst|rm}</filename> files" msgid "<filename>{pre,post}{inst,rm}</filename>" msgstr "<filename>{post|pre}{inst|rm}</filename> 檔案" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Despite this use of the <command>bash</command> shorthand expression " "<filename>{pre,post}{inst,rm}</filename> to indicate these filenames, you " "should use pure POSIX syntax for these maintainer scripts for compatibility " "with <command>dash</command> as the system shell." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "These <filename>postinst</filename>, <filename>preinst</filename>, " #| "<filename>postrm</filename>, and <filename>prerm</filename> files " #| "<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " #| "scripts</emphasis>. They are scripts which are put in the control area " #| "of the package and run by <command>dpkg</command> when your package is " #| "installed, upgraded or removed." msgid "" "These <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename>, and <filename>prerm</filename> files " "<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " "scripts</emphasis>. They are scripts which are put in the control area of " "the package and run by <command>dpkg</command> when your package is " "installed, upgraded, or removed." msgstr "" "<filename>postinst</filename>、<filename>preinst</filename>、" "<filename>postrm</filename> 和 <filename>prerm</filename> 檔案 <placeholder " "type=\"footnote\" id=\"0\"/> 被稱爲 <emphasis>maintainer scripts</emphasis>。" "它們是放置於套件控制訊息區域,並由 <command>dpkg</command> 在套件安裝、升級或" "反安裝時執行的腳本。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "As a novice maintainer, you should avoid any manual editing of " #| "<emphasis>maintainer scripts</emphasis> because they are problematic. " #| "For more information look in the <ulink url=\"&policy-mantainerscripts;" #| "\">Debian Policy Manual, 6 'Package maintainer scripts and installation " #| "procedure'</ulink>, and take a look at these example files provided by " #| "<command>dh_make</command>." msgid "" "As a novice maintainer, you should avoid any manual editing of maintainer " "scripts because they are problematic. For more information refer to the " "<ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 \"Package " "maintainer scripts and installation procedure\"</ulink>, and take a look at " "the example files provided by <command>dh_make</command>." msgstr "" "作爲一個新維護人員,你應當避免手工編輯 <emphasis>maintainer scripts</" "emphasis>,因爲它們常存在各種問題。更多訊息請閱讀 <ulink url=\"&policy-" "mantainerscripts;\">Debian Policy Manual, 6 'Package maintainer scripts and " "installation procedure'</ulink> 並査看 <command>dh_make</command> 給出的範" "例。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If you did not listen to me and made your custom <emphasis>maintainer " #| "scripts</emphasis> for a package, you should make sure to test them not " #| "only for <emphasis role=\"strong\">install</emphasis> and <emphasis role=" #| "\"strong\">upgrade</emphasis> but also for <emphasis role=\"strong" #| "\">remove</emphasis> and <emphasis role=\"strong\">purge</emphasis>." msgid "" "If you did not listen to me and have created custom maintainer scripts for a " "package, you should make sure to test them not only for <emphasis role=" "\"strong\">install</emphasis> and <emphasis role=\"strong\">upgrade</" "emphasis> but also for <emphasis role=\"strong\">remove</emphasis> and " "<emphasis role=\"strong\">purge</emphasis>." msgstr "" "如果你不聽我的勸告,自己爲一個套件創建了 <emphasis>maintainer scripts</" "emphasis>,你必須保證不僅測試 <emphasis role=\"strong\">install</emphasis> " "和 <emphasis role=\"strong\">upgrade</emphasis>,還應測試 <emphasis role=" "\"strong\">remove</emphasis> 和 <emphasis role=\"strong\">purge</emphasis>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Upgrades to the new version should be silent and non-intrusive (existing " #| "users should not notice the upgrade except by discovering that old bugs " #| "have been fixed and there perhaps are new features)." msgid "" "Upgrades to the new version should be silent and non-intrusive (existing " "users should not notice the upgrade except by discovering that old bugs have " "been fixed and perhaps that there are new features)." msgstr "" "升級到新版本應當是靜默的(已有用戶應當只在發現舊的 Bug 被修復或有新特性時注意" "到升級的變化)。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "When the upgrade is necessarily intrusive (eg., config files scattered " #| "through various home directories with totally different structure), you " #| "may consider to set package to the safe default (e.g., disabled service) " #| "and provide proper documentations required by the policy " #| "(<filename>README.Debian</filename> and <filename>NEWS.Debian</filename>) " #| "as the last resort. Don't bother user with the <command>debconf</" #| "command> note invoked from these <emphasis>maintainer scripts</emphasis> " #| "for upgrades." msgid "" "When the upgrade is necessarily intrusive (eg., config files scattered " "through various home directories with totally different structure), you may " "consider as the last resort switching the package to a safe fallback state " "(e.g., disabling a service) and providing the proper documentation required " "by policy (<filename>README.Debian</filename> and <filename>NEWS.Debian</" "filename>). Don't bother the user with <command>debconf</command> notes " "invoked from these maintainer scripts for upgrades." msgstr "" "當更新必須以非靜默模式進行時(例如多個主目錄中的設定檔案都要改爲完全不同的結構" "時),你應該考慮將套件設置到安全的默認設定(例如禁用服務)並按照 Debian Policy " "提供相應的文件(<filename>README.Debian</filename> 和 <filename>NEWS.Debian</" "filename>)。不要在升級時使用 <emphasis>maintainer scripts</emphasis> 觸發 " "<command>debconf</command> 來打擾用戶。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <systemitem role=\"package\">ucf</systemitem> package provides " #| "<emphasis>conffile-like</emphasis> handling infrastructure to preserve " #| "user changes for files that may not be labeled <emphasis>conffiles</" #| "emphasis> such as ones managed by the <emphasis>maintainer scripts</" #| "emphasis>. This should minimize issues associated with them." msgid "" "The <systemitem role=\"package\">ucf</systemitem> package provides a " "<emphasis>conffile-like</emphasis> handling infrastructure to preserve user " "changes for files that may not be labeled as <emphasis>conffiles</emphasis> " "such as those managed by the maintainer scripts. This should minimize " "issues associated with them." msgstr "" "<systemitem role=\"package\">ucf</systemitem> 套件提供了 <emphasis>類似 " "conffile</emphasis> 的對不應標記爲 <emphasis>conffiles</emphasis> 的檔案的保" "留機制。這可以將與 <emphasis>maintainer scripts</emphasis> 相關的問題減少到最" "低。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "These <emphasis>maintainer scripts</emphasis> are the Debian enhancements " #| "that explain <emphasis role=\"strong\">why people choose Debian</" #| "emphasis>. You must be very careful not to annoy them with these." msgid "" "These maintainer scripts are among the Debian enhancements that explain " "<emphasis role=\"strong\">why people choose Debian</emphasis>. You must be " "very careful not to turn them into a source of annoyance." msgstr "" "這些 <emphasis>maintainer scripts</emphasis> 是 Debian 對於軟體系統的增強特" "性,它們解釋了 <emphasis role=\"strong\">人們爲什麼選擇 Debian</emphasis>。你" "必須非常小心,保證人們不因此產生煩惱。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.examples</filename> file" msgid "<filename><replaceable>package</replaceable>.symbols</filename>" msgstr "<filename><replaceable>package</replaceable>.examples</filename> 檔案" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging of library is not easy for a novice maintainer and should be " "avoided. Having said it, if your package has libraries, you should have " "<filename>debian/<replaceable>package</replaceable>.symbols</filename> " "files. See <xref linkend=\"librarysymbols\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>TODO</filename> file" msgid "<filename>TODO</filename>" msgstr "<filename>TODO</filename> 檔案" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令會安裝這個檔案。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>watch</filename> file" msgid "<filename>watch</filename>" msgstr "<filename>watch</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <filename>watch</filename> file format is documented in the " #| "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> manpage. The <filename>watch</filename> file " #| "configures the <command>uscan</command> program (in the <systemitem role=" #| "\"package\">devscripts</systemitem> package) to watch the site where you " #| "originally got the source from. This is also used by <ulink url=\"&dehs;" #| "\">Debian External Health Status (DEHS)</ulink>." msgid "" "The <filename>watch</filename> file format is documented in the " "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> manpage. The <filename>watch</filename> file configures the " "<command>uscan</command> program (in the <systemitem role=\"package" "\">devscripts</systemitem> package) to watch the site where you originally " "got the source from. This is also used by the <ulink url=\"&dehs;\">Debian " "External Health Status (DEHS)</ulink> service." msgstr "" "<filename>watch</filename> 檔案的格式被詳述於 <citerefentry> " "<refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> man 手冊頁中。<filename>watch</filename> 檔案設定了 " "<command>uscan</command> 程式(<systemitem role=\"package\">devscripts</" "systemitem> 中)以便監視你獲得原始原始碼的網站。它還被用於 <ulink url=\"&dehs;" "\">Debian External Health Status (DEHS)</ulink>。" #. type: Content of: <book><chapter><section><para> msgid "Here are its contents:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" msgstr "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Normally with this <filename>watch</filename> file, the URL at " #| "<literal>&sf-net;/gentoo</literal> is downloaded and searched for links " #| "of the form <literal><a href=...></literal>. The base name (just " #| "the part after the final <literal>/</literal>) of these linked URLs are " #| "matched against Perl regexp (see <citerefentry> <refentrytitle>perlre</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) pattern " #| "<literal>gentoo-(.+)\\.tar\\.gz</literal>. Out of matched files, the " #| "file with the greatest version number is downloaded and the " #| "<command>uupdate</command> program is run to create the updated source " #| "tree from them." msgid "" "Normally with a <filename>watch</filename> file, the URL at <literal>&sf-" "net;/gentoo</literal> is downloaded and searched for links of the form " "<literal><a href=...></literal>. The basename (just the part after " "the final <literal>/</literal>) of each linked URL is compared against the " "Perl regular expression pattern (see <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Out of the files that match, the one with the " "greatest version number is downloaded and the <command>uupdate</command> " "program is run to create an updated source tree." msgstr "" "通常,在按照這個 <filename>watch</filename> 檔案執行時,URL <literal>&sf-" "net;/gentoo</literal> 會被下載,程式在其中搜搜 <literal><a href=...></" "literal>。<literal>/</literal> 後的基本名稱會按照 Perl 正則表達式匹配(參考 " "<citerefentry> <refentrytitle>perlre</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>) <literal>gentoo-(.+)\\.tar\\.gz</literal>。在所" "有匹配的檔案裏,將會下載帶有最大版本號的,此後由 <command>uupdate</command> " "程式創建更新的原始碼樹。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Although this is true for other sites, the SourceForge download service " #| "at <ulink url=\"&sf-net;\">&sf-net;</ulink> is an exception. When the " #| "<filename>watch</filename> file has an URL matching with the Perl regexp " #| "<literal>^http://sf\\.net/</literal>, the <command>uscan</command> " #| "program substitutes it with <literal>&qa-do;watch/sf.php/</literal> and " #| "then applies this rule. The URL redirector service at this <ulink url=" #| "\"&qa-do;\">&qa-do;</ulink> is designed to offer a stable redirect " #| "service to the desired file for the <filename>watch</filename> file " #| "having <literal>&sf-net;/<replaceable>project</replaceable>/" #| "<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This " #| "solves issues related to the periodically changing URL there." msgid "" "Although this is true for other sites, the SourceForge download service at " "<ulink url=\"&sf-net;\"/> is an exception. When the <filename>watch</" "filename> file has an URL matching the Perl regexp <literal>^http://sf\\.net/" "</literal>, the <command>uscan</command> program replaces it with " "<literal>&qa-do;watch/sf.php/</literal> and then applies this rule. The URL " "redirector service at <ulink url=\"&qa-do;\"/> is designed to offer a stable " "redirect service to the desired file for any <filename>watch</filename> " "pattern of the form <literal>&sf-net;/<replaceable>project</replaceable>/" "<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This solves " "issues related to periodically changing SourceForge URLs." msgstr "" "儘管上述內容對於所有站點都適用,但 SourceForge 下載服務(<ulink url=\"&sf-net;" "\">&sf-net;</ulink>)仍是一個例外。當 <filename>watch</filename> 中包含匹配 " "Perl 正則表達式 <literal>^http://sf\\.net/</literal> 的 URL 時," "<command>uscan</command> 程式會將其替換爲 <literal>&qa-do;watch/sf.php/</" "literal> 然後應用此規則。<ulink url=\"&qa-do;\">&qa-do;</ulink> 的 URL 重定向" "服務器被設計用於提供一個穩定的重定向服務以滿足 <filename>watch</filename> 檔" "案中的 <literal>&sf-net;/<replaceable>project</replaceable>/<replaceable>tar-" "name</replaceable>-(.+)\\.tar\\.gz</literal> 形式,這樣解決了關於經常性 URL " "變更導致的問題。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>source/format</filename> file" msgid "<filename>source/format</filename>" msgstr "<filename>source/format</filename> 檔案" #. type: Content of: <book><chapter><section><para> msgid "" "In the <filename>debian/source/format</filename> file, there should be a " "single line indicating the desired format for the source package (check " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> for an exhaustive list). After <literal>squeeze</" "literal>, it should say either:" msgstr "" "在 <filename>debian/source/format</filename> 中只包含一行,寫明瞭此原始碼套件" "的格式(査看 <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 獲得完整列表)。在 <literal>squeeze</" "literal> 後,它應該是以下二者之一:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgstr "<literal>3.0 (native)</literal> - Debian native 軟體" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (quilt)</literal> for everything else." msgstr "<literal>3.0 (quilt)</literal> - 其他所有軟體" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for the summary " #| "information concerning the switch to the new <literal>3.0 (quilt)</" #| "literal> and <literal>3.0 (native)</literal> source formats." msgid "" "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for a summary on the switch " "to the new <literal>3.0 (quilt)</literal> and <literal>3.0 (native)</" "literal> source formats." msgstr "" "參考 <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> 瞭解轉換到新的 <literal>3.0 " "(quilt)</literal> 和 <literal>3.0 (native)</literal> 原始碼格式時的總結考慮。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Actually, this new format also supports multiple upstream tarballs and more " "compression methods. These are beyond the scope of this document." msgstr "" "實際上新格式還支持多個上游 tarball 和更多的壓縮方法,但這已超出本文件講述的範" "圍。" #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format records modifications " "in a <command>quilt</command> patch series within <filename>debian/patches</" "filename>. Those changes are then automatically applied during extraction " "of the source package. <placeholder type=\"footnote\" id=\"0\"/> The Debian " "modifications are simply stored in a <filename>debian.tar.gz</filename> " "archive containing all files under the <filename>debian</filename> " "directory. This new format supports inclusion of binary files such as PNG " "icons by the package maintainer without requiring tricks. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "全新的 <literal>3.0 (quilt)</literal> 原始碼格式將所有修改使用 " "<command>quilt</command> 補丁系列記錄到 <filename>debian/patches</filename>。" "這些修改會在解壓原始碼套件時自動應用。<placeholder type=\"footnote\" id=" "\"0\"/> Debian 修改保存於 <filename>debian.tar.gz</filename> 壓縮檔,其中包含" "了整個 <filename>debian</filename> 目錄。這個新格式支持直接添加例如 PNG 圖示" "等的二進位檔案。<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "When <command>dpkg-source</command> extracts a source package in " "<literal>3.0 (quilt)</literal> source format, it automatically applies all " "patches listed in <filename>debian/patches/series</filename>. You can avoid " "applying patches at the end of the extraction with the <literal>--skip-" "patches</literal> option." msgstr "" "<command>dpkg-source</command> 解壓 <literal>3.0 (quilt)</literal> 格式的源碼" "包時會自動應用所有列於 <filename>debian/patches/series</filename> 的補丁。你" "可以使用 <literal>--skip-patches</literal> 選項避免在解壓後自動應用補丁。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>source/local-options</filename> file" msgid "<filename>source/local-options</filename>" msgstr "<filename>source/local-options</filename> 檔案" #. type: Content of: <book><chapter><section><para> msgid "" "When you want to manage Debian packaging activities under a VCS, you " "typically create one branch (e.g. <literal>upstream</literal>) tracking the " "upstream source and another branch (e.g. typically <literal>master</" "literal> for Git) tracking the Debian package. For the latter, you usually " "want to have unpatched upstream source with your <filename>debian/*</" "filename> files for the Debian packaging to ease merging of the new upstream " "source." msgstr "" "如果你希望使用版本控制系統(VCS)時,你可以創建一個分支(例如叫做 " "<literal>upstream</literal>) 來跟蹤上游程式碼(對於 Git 而言典型的是 " "<literal>master</literal> 分支),和另一個分支來跟蹤你的 Debian 套件。對於後" "者,通常會將未應用補丁的上游程式碼和你的 <filename>debian/*</filename> 檔案放" "在一起以便容易合併上游的新程式碼。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After you build a package, the source is normally left patched. You need " #| "to unpatch it manually by running <literal>quilt pop -a</literal> before " #| "committing to the <literal>master</literal> branch. You can automate " #| "this by adding the optional <filename>debian/source/local-options</" #| "filename> file containing <literal>unapply-patches</literal>. This file " #| "is not included in the generated source package and changes the local " #| "build behavior only. This file may contain <literal>abort-on-upstream-" #| "changes</literal>, too (see <citerefentry> <refentrytitle>dpkg-source</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)." msgid "" "After you build a package, the source is normally left patched. You need to " "unpatch it manually by running <literal>dquilt pop -a</literal> before " "committing to the <literal>master</literal> branch. You can automate this " "by adding the optional <filename>debian/source/local-options</filename> file " "containing <literal>unapply-patches</literal>. This file is not included in " "the generated source package and changes the local build behavior only. " "This file may contain <literal>abort-on-upstream-changes</literal>, too (see " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." msgstr "" "在編譯套件之後,原始碼通常會被保持在應用補丁後的狀態。你需要手工執行 " "<literal>quilt pop -a</literal> 來解除這些補丁,然後再提交到 " "<literal>master</literal> 分支。你可以向 <filename>debian/source/local-" "options</filename> 檔案裏添加一行 <literal>unapply-patches</literal> 來自動實" "現此目的。這個檔案不會被加入到生成的原始碼套件,它隻影響本地的編譯構建行爲。" "這個檔案裏還可以包含 <literal>abort-on-upstream-changes</literal> (參考 " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "unapply-patches\n" "abort-on-upstream-changes\n" msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>source/local-options</filename> file" msgid "<filename>source/options</filename>" msgstr "<filename>source/local-options</filename> 檔案" #. type: Content of: <book><chapter><section><para> msgid "" "The autogenerated files in the source tree can be quite annoying for " "packaging since they generate meaningless large patch files. There are " "custom modules such as <command>dh_autoreconf</command> to ease this problem " "as described in <xref linkend=\"customrules\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You must test your package if it installs without problem. The " #| "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> command helps you to test to install all the " #| "generated binary packages." msgid "" "You can provide a Perl regular expression to the <literal>--extend-diff-" "ignore</literal> option argument of <citerefentry> <refentrytitle>dpkg-" "source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> to ignore " "changes made to the autogenerated files while creating the source package." msgstr "" "你必須測試你的套件看是否存在安裝問題。<citerefentry> <refentrytitle>debi</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 命令可以幫助你測試生" "成的二進位套件。" #. type: Content of: <book><chapter><section><para> msgid "" "As a general solution to address this problem of the autogenerated files, " "you can store such a <command>dpkg-source</command> option argument in the " "<filename>source/options</filename> file of the source package. The " "following will skip creating patch files for <filename>config.sub</" "filename>, <filename>config.guess</filename>, and <filename>Makefile</" "filename>." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>patches/*</filename> files" msgid "<filename>patches/*</filename>" msgstr "<filename>patches/*</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The old <literal>1.0</literal> source format created a single large " #| "<filename>diff.gz</filename> file which contains package maintenance " #| "files in <filename>debian</filename> and patch files to the source. Such " #| "a package is a bit cumbersome to inspect and understand for each source " #| "tree modification later. This is not so nice." msgid "" "The old <literal>1.0</literal> source format created a single large " "<filename>diff.gz</filename> file containing package maintenance files in " "<filename>debian</filename> and patch files for the source. Such a package " "is a bit cumbersome to inspect and understand for each source tree " "modification later. This is not so nice." msgstr "" "舊的 <literal>1.0</literal> 原始碼套件格式使用單一的大 <filename>diff.gz</" "filename> 檔案保存 <filename>debian</filename> 檔案夾和補丁。這樣的套件比較難" "於在事後檢査和分析。這不是很好。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Several methods of patch set maintenance have been proposed and are in use " "for Debian packages. The <command>quilt</command> system is the preferred " "maintenance system in use. Others include <command>dpatch</command>, " "<command>dbs</command>, and <command>cdbs</command>. Many of these keep " "such patches as <filename>debian/patches/*</filename> files." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format stores patches in " "<filename>debian/patches/*</filename> files using the <command>quilt</" "command> command. These patches and other package data which are all " "contained under the <filename>debian</filename> directory are packaged as " "the <filename>debian.tar.gz</filename> file. Since the <command>dpkg-" "source</command> command can handle <command>quilt</command> formatted patch " "data in the <literal>3.0 (quilt)</literal> source without the <systemitem " "role=\"package\">quilt</systemitem> package, it does not need a " "<literal>Build-Depends</literal> on <systemitem role=\"package\">quilt</" "systemitem>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "If you are asking a sponsor to upload your package, this kind of clear " #| "separation and documentation of your changes are very important to " #| "expedite the package review by your sponsor." msgid "" "If you are asking a sponsor to upload your package, this kind of clear " "separation and documentation of your changes is very important to expedite " "the package review by your sponsor." msgstr "" "如果你需要一個 sponsor 上傳你的套件,這種情況下,清晰的套件分解和對你做出的更" "改的描述對於套件的審査都非常重要。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <command>quilt</command> command is explained in <citerefentry> " #| "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>. It records modifications to the source as a stack of " #| "<literal>-p1</literal> patch files in the <filename>debian/patches</" #| "filename> directory and the source tree is untouched outside of the " #| "<filename>debian</filename> directory. The order of these patches are " #| "recorded in the <filename>debian/patches/series</filename> file. You can " #| "apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " #| "type=\"footnote\" id=\"0\"/>" msgid "" "The <command>quilt</command> command is explained in <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. It records modifications to the source as a stack of " "<literal>-p1</literal> patch files in the <filename>debian/patches</" "filename> directory and the source tree is untouched outside of the " "<filename>debian</filename> directory. The order of these patches is " "recorded in the <filename>debian/patches/series</filename> file. You can " "apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "<command>quilt</command> 命令在 <citerefentry> <refentrytitle>quilt</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 中有詳細描述。它將對" "原始碼的修改維護於 <filename>debian/patches</filename> 中一系列 <literal>-" "p1</literal> 級別的補丁檔案中,<filename>debian</filename> 目錄外的檔案沒有任" "何修改。這些補丁的順序記錄於 <filename>debian/patches/series</filename> 檔案" "中。你可以輕鬆地 apply (=push)、un-apply (=pop) 和 refresh 補丁。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For <xref linkend=\"modify\"/>, we created 3 patches in <filename>debian/" #| "patches</filename>." msgid "" "For <xref linkend=\"modify\"/>, we created three patches in <filename>debian/" "patches</filename>." msgstr "" "在 <xref linkend=\"modify\"/> 中,我們在 <filename>debian/patches</filename> " "創建了三個補丁。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Since Debian patches are located in <filename>debian/patches</filename>, " #| "please make sure to setup the <command>quilt</command> command properly " #| "as described in <xref linkend=\"quiltrc\"/>." msgid "" "Since Debian patches are located in <filename>debian/patches</filename>, " "please make sure to set up the <command>dquilt</command> command properly as " "described in <xref linkend=\"quiltrc\"/>." msgstr "" "因爲 Debian 補丁位於 <filename>debian/patches</filename>,請確定按照 <xref " "linkend=\"quiltrc\"/> 中的方法正確設定 <command>quilt</command>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "When someone (including yourself) provides you with a patch " #| "<filename><replaceable>foo</replaceable>.patch</filename> to the source " #| "later, then the modification of a <literal>3.0 (quilt)</literal> source " #| "package is quite simple:" msgid "" "When anyone (including yourself) provides a patch " "<filename><replaceable>foo</replaceable>.patch</filename> to the source " "later, modifying a <literal>3.0 (quilt)</literal> source package is quite " "simple:" msgstr "" "如果在之後有人提供了一個補丁 <filename><replaceable>foo</replaceable>.patch</" "filename>,對於 <literal>3.0 (quilt)</literal> 原始碼套件格式可以很容易修改:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ dpkg-source -x gentoo_0.9.12.dsc\n" #| "$ cd gentoo-0.9.12\n" #| "$ quilt import ../<replaceable>foo</replaceable>.patch\n" #| "$ quilt push\n" #| "$ quilt refresh\n" #| "$ quilt header -e\n" #| "... describe patch\n" msgid "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ quilt import ../<replaceable>foo</replaceable>.patch\n" "$ quilt push\n" "$ quilt refresh\n" "$ quilt header -e\n" "... describe patch\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The patches stored in the newer <literal>3.0 (quilt)</literal> source " #| "format must be <emphasis>fuzz</emphasis> free. You should ensure it as " #| "<literal>quilt pop -a; while quilt push; do quilt refresh; done</literal>." msgid "" "The patches stored in the newer <literal>3.0 (quilt)</literal> source format " "must be <emphasis>fuzz</emphasis> free. You can ensure this with " "<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." msgstr "" "存儲於新的 <literal>3.0 (quilt)</literal> 原始碼套件格式的補丁必須有 " "<emphasis>清晰的邊界</emphasis>。你應該通過 <literal>quilt pop -a; while " "quilt push; do quilt refresh; done</literal> 來驗證這點。" #. type: Content of: <book><chapter><title> msgid "Building the package" msgstr "構建套件" #. type: Content of: <book><chapter><para> msgid "We should now be ready to build the package." msgstr "現在我們已經爲構建套件做好了準備。" #. type: Content of: <book><chapter><section><title> msgid "Complete (re)build" msgstr "完整的(重)構建" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "In order to properly make complete (re)build of a package, you have to " #| "ensure to install" msgid "" "In order to perform a complete (re)build of a package properly, you need to " "make sure you have installed" msgstr "爲保證完整的套件(重)構建能順利進行,你必須保證系統中已經安裝:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <systemitem role=\"package\">build-essential</systemitem> package," msgstr "<systemitem role=\"package\">build-essential</systemitem> 套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>), and" msgstr "" "列於 <literal>Build-Depends</literal> 欄位的套件(參考 <xref linkend=\"control" "\"/>);" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends-indep</literal> field (see " "<xref linkend=\"control\"/>)." msgstr "" "列於 <literal>Build-Depends-indep</literal> 欄位的套件(參考 <xref linkend=" "\"control\"/>)。" #. type: Content of: <book><chapter><section><para> msgid "Then you issue the following command in the source directory:" msgstr "然後在原始碼目錄中執行以下命令:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage\n" msgstr "$ dpkg-buildpackage\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make full binary and source packages for you. It " "will:" msgstr "這樣會自動完成所有從原始碼套件構建二進位套件的工作,包括:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "clean the source tree (<literal>debian/rules clean</literal>)" msgstr "清理原始碼樹(<literal>debian/rules clean</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the source package (<literal>dpkg-source -b</literal>)" msgstr "構建原始碼套件(<literal>dpkg-source -b</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the program (<literal>debian/rules build</literal>)" msgstr "構建程式(<literal>debian/rules build</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)" msgstr "構建二進位套件(<literal>fakeroot debian/rules binary</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "sign the source <filename>.dsc</filename> file, using <command>gpg</command>" msgstr "使用 <command>gpg</command> 簽署 <filename>.dsc</filename> 檔案" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "create and sign the upload <filename>.changes</filename> file, using " "<command>dpkg-genchanges</command> and <command>gpg</command>" msgstr "" "使用 <command>dpkg-genchanges</command> 和 <command>gpg</command> 創建並簽署" "上傳用的 <filename>.changes</filename> 檔案" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This GPG key must be signed by a Debian developer to get connected to the " "web of trust and must be registered to <ulink url=\"&keyring;\">the Debian " "keyring</ulink>. This enables your uploaded packages to be accepted to the " "Debian archives. See <ulink url=\"&keycreate;\">Creating a new GPG key</" "ulink> and <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The only input that will be required of you is your GPG secret pass phrase, " "twice. <placeholder type=\"footnote\" id=\"0\"/> If you are building Debian " "packages only for your own local use, you can skip promptings for the GPG " "signatures on the <filename>.dsc</filename> file and the <filename>.changes</" "filename> file like this:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ dpkg-buildpackage -B\n" msgid "$ dpkg-buildpackage -us -uc\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After all this is done, you will see the following files in the directory " #| "above (<filename>~/gentoo</filename>):" msgid "" "For a non-native Debian package, e.g., <systemitem role=\"package\">gentoo</" "systemitem>, you will see the following files in the parent directory " "(<filename>~/gentoo</filename>) after building packages:" msgstr "之後査看上級目錄(<filename>~/gentoo</filename>):" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This is the original source code tarball, merely renamed to the above so " #| "that it adheres to the Debian standard. Note that this was created " #| "initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgid "" "This is the original upstream source code tarball, merely renamed to the " "above so that it adheres to the Debian standard. Note that this was created " "initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgstr "" "這是原始的原始碼 tarball,由 <literal>dh_make -f ../gentoo-0.9.12.tar.gz</" "literal> 命令重命名以符合 Debian 的標準。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code. The file is generated " "from your <filename>control</filename> file, and is used when unpacking the " "source with <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. This file is GPG signed, so that " "people can be sure that it's really yours." msgstr "" "這是一個從 <filename>control</filename> 檔案生成的原始碼概要,可用於 " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 程式。這個檔案是使用 GPG 簽署過的,以便別人可以確" "信它確實是你所提供的。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This compressed tarball contains your <filename>debian</filename> " #| "directory contents. Each and every addition you made to the original " #| "source code are stored as <command>quilt</command> patches in " #| "<filename>debian/patches</filename>." msgid "" "This compressed tarball contains your <filename>debian</filename> directory " "contents. Each and every addition you made to the original source code is " "stored as a <command>quilt</command> patch in <filename>debian/patches</" "filename>." msgstr "" "這個壓縮的 Tar 歸檔包含你的 <filename>debian</filename> 目錄。其他對於原始碼" "的修改都由 <command>quilt</command> 補丁存儲於 <filename>debian/patches</" "filename> 中。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "You can avoid applying <command>quilt</command> patches in the " #| "<literal>3.0 (quilt)</literal> source format at the end of the extraction " #| "with the <literal>--skip-patches</literal> option. Alternatively, you " #| "can run <literal>quilt pop -a</literal> after normal operation." msgid "" "You can avoid applying <command>quilt</command> patches in the <literal>3.0 " "(quilt)</literal> source format at the end of the extraction with the " "<literal>--skip-patches</literal> option. Alternatively, you can run " "<literal>dquilt pop -a</literal> after normal operation." msgstr "" "你可以使用 <literal>--skip-patches</literal> 選項來在正常的是否操作後避免應" "用 <literal>3.0 (quilt)</literal> 原始碼套件格式中的 <command>quilt</" "command> 補丁。你也可以在正常解壓後使用 <literal>quilt pop -a</literal> 恢復" "這些補丁對源碼的修改。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If someone else wants to re-create your package from scratch, they can " "easily do so using the above three files. The extraction procedure is " "trivial: just copy the three files somewhere else and run <literal>dpkg-" "source -x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "如果其他人想要重新構建你的套件,他們可以使用以上三個檔案很容易地完成。只需複" "製三個檔案,再運行 <literal>dpkg-source -x gentoo_0.9.12-1.dsc</literal>。 " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package. You can use <command>dpkg</command> " "to install and remove this just like any other package." msgstr "" "這是你的二進位套件,可以使用 <command>dpkg</command> 程式安裝或反安裝它,就像" "其他套件一樣。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This file describes all the changes made in the current package revision, " #| "and it is used by the Debian FTP archive maintenance programs to install " #| "the binary and source packages in it. It is partly generated from the " #| "<filename>changelog</filename> file and the <filename>.dsc</filename> " #| "file. This file is GPG signed, so that people can be sure that it's " #| "really yours." msgid "" "This file describes all the changes made in the current package revision; it " "is used by the Debian FTP archive maintenance programs to install the binary " "and source packages. It is partly generated from the <filename>changelog</" "filename> file and the <filename>.dsc</filename> file. This file is GPG " "signed, so that people can be sure that it's really yours." msgstr "" "這個檔案描述了當前版本的套件中的全部變更,它被 Debian FTP 倉庫維護程式用於安" "裝二進位和原始碼套件。它的是部分從 <filename>changelog</filename> 和 " "<filename>.dsc</filename> 檔案生成的,並使用 GPG 簽名以便別人可以確信它確實是" "你提供的。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "As you keep working on the package, behavior will change and new features " #| "will be added. People downloading your package can look at this file and " #| "quickly see what has changed. Debian archive maintenance programs will " #| "also post the contents of this file to the <ulink url=\"&debian-devel-" #| "announce-ldo;\">debian-devel-announce@lists.debian.org</ulink> mailing " #| "list." msgid "" "As you keep working on the package, its behavior will change and new " "features will be added. People downloading your package can look at this " "file and quickly see what has changed. Debian archive maintenance programs " "will also post the contents of this file to the <ulink url=\"&debian-devel-" "changes-ldo;\">debian-devel-changes@lists.debian.org</ulink> mailing list." msgstr "" "隨着你不斷完善這個套件,程式的行爲會發生變化,也會有更多新特性添加進來。下載" "你套件的人可以査看這個檔案來快速找到有那些變化,Debian 倉庫維護程式還會把它的" "內容發表至 <ulink url=\"&debian-devel-announce-ldo;\">debian-devel-" "announce@lists.debian.org</ulink> 郵件列表。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The long strings of numbers in the <filename>.dsc</filename> and " #| "<filename>.changes</filename> files are MD5/SHA1/SHA256 checksums for the " #| "files mentioned. A person downloading your files can test them with " #| "<citerefentry> <refentrytitle>md5sum</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>sha1sum</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, or " #| "<citerefentry> <refentrytitle>sha256sum</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> and if the numbers don't match, they'll know " #| "the file is corrupt or has been tampered with." msgid "" "The long strings of numbers in the <filename>.dsc</filename> and <filename>." "changes</filename> files are SHA1/SHA256 checksums for the files mentioned. " "Anyone downloading your files can test them with <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> or <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> and if the numbers don't match, " "they'll know the file is corrupt or has been tampered with." msgstr "" "<filename>.dsc</filename> 和 <filename>.changes</filename> 檔案中很長的數字串" "是其中提及檔案的 MD5/SHA1/SHA256 校驗和。下載你套件的人可以使用 " "<citerefentry> <refentrytitle>md5sum</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>、<citerefentry> <refentrytitle>sha1sum</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 或 <citerefentry> " "<refentrytitle>sha256sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 來進行覈對。如果校驗和不符,則說明檔案已被損壞或偷換。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After all this is done, you will see the following files in the directory " #| "above (<filename>~/gentoo</filename>):" msgid "" "For a native Debian package, e.g., <systemitem role=\"package\">mypackage</" "systemitem>, you will see the following files in the parent directory after " "building packages:" msgstr "之後査看上級目錄(<filename>~/gentoo</filename>):" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgid "<filename>mypackage_1.0.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the source code tarball created from the <filename>mypackage-1.0</" "filename> directory by the <command>dpkg-source</command> command. (Its " "suffix is not <filename>orig.tar.gz</filename>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgid "<filename>mypackage_1.0.dsc</filename>" msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code as in the non-native " "Debian package. (There is no Debian revision.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgid "<filename>mypackage_1.0_i386.deb</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package as in the non-native Debian package. " "(There is no Debian revision.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgid "<filename>mypackage_1.0_i386.changes</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package version as " "in the non-native Debian package. (There is no Debian revision.)" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Autobuilder" msgstr "自動編譯系統" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The actual autobuilder system involves much more complicated schemes than " "the one documented here. Such details are beyond the scope of this document." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Debian supports many <ulink url=\"&ports;\">ports</ulink> with the <ulink " "url=\"&buildd;\">autobuilder network</ulink> running <command>buildd</" "command> daemons on computers of many different architectures. Although you " "do not need to do this yourself, you should be aware of what will happen to " "your packages. Let's look into roughly how they rebuild your packages for " "multiple architectures. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For <literal>Architecture: any</literal> packages, the autobuilder system " #| "rebuild them. It ensures to install" msgid "" "For <literal>Architecture: any</literal> packages, the autobuilder system " "performs a rebuild. It ensures the installation of" msgstr "" "對於 <literal>Architecture: any</literal> 的套件,自動編譯系統重構建它們,它" "確保系統中已經安裝:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <systemitem role=\"package\">build-essential</systemitem> package, and" msgstr "<systemitem role=\"package\">build-essential</systemitem> 套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>)." msgstr "" "列於 <literal>Build-Depends</literal> 欄位的套件(參考 <xref linkend=\"control" "\"/>)。" #. type: Content of: <book><chapter><section><para> msgid "Then it issues the following command in the source directory:" msgstr "然後在原始碼目錄中執行以下命令:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -B\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make architecture dependent binary packages on " "another architecture. It will:" msgstr "這樣會自動完成從原始碼套件構建平臺依賴二進位套件的工作,包括:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "build architecture dependent binary packages (<literal>fakeroot debian/rules " "binary-arch</literal>)" msgstr "" "構建平臺依賴二進位套件(<literal>fakeroot debian/rules binary-arch</literal>)" #. type: Content of: <book><chapter><section><para> msgid "This is why you see your package for other architectures." msgstr "這就是你看到你的套件在其他平臺上可用的原因。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> " #| "package, the <command>chroot</command> environment under the <systemitem " #| "role=\"package\">sbuild</systemitem> package used by the autobuilder " #| "system does not force the minimal system and may leave many packages " #| "installed." msgid "" "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> package, " "the <command>chroot</command> environment under the <systemitem role=" "\"package\">sbuild</systemitem> package used by the autobuilder system does " "not enforce the use of a minimal system and may have many leftover packages " "installed." msgstr "" "和在 <systemitem role=\"package\">pbuilder</systemitem> 中不同,自動編譯系統" "使用的 <systemitem role=\"package\">sbuild</systemitem> 所維護的 " "<command>chroot</command> 不強制要求最小化的編譯系統,並可能保持很多套件始終" "安裝在其中。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Although packages listed in the <literal>Build-Depends-indep</literal> " #| "field are required to be installed for the normal packaging by us (see " #| "<xref linkend=\"completebuild\"/>), they are not required to be installed " #| "for the autobuilder system since it build only architecture dependent " #| "binary packages. <placeholder type=\"footnote\" id=\"0\"/> This " #| "difference between normal packaging and autobuilder situation dictates " #| "whether you record such required packages in the <literal>Build-Depends</" #| "literal> or <literal>Build-Depends-indep</literal> fields of the " #| "<filename>debian/control</filename> file (see <xref linkend=\"control\"/" #| ">)." msgid "" "Although packages listed in the <literal>Build-Depends-Indep</literal> field " "are required to be installed for our normal packaging work (see <xref " "linkend=\"completebuild\"/>), they are not required to be installed for the " "autobuilder system since it builds only architecture dependent binary " "packages. <placeholder type=\"footnote\" id=\"0\"/> This distinction " "between normal packaging and autobuilding procedures is what dictates " "whether you should record such required packages in the <literal>Build-" "Depends</literal> or <literal>Build-Depends-Indep</literal> fields of the " "<filename>debian/control</filename> file (see <xref linkend=\"control\"/>)." msgstr "" "儘管通常的打包工作中 <literal>Build-Depends-indep</literal> 欄位中列出的套件" "都需要安裝(參考 <xref linkend=\"completebuild\"/>),但是在編譯平臺依賴二進位" "套件時它們無需在自動編譯系統上安裝。<placeholder type=\"footnote\" id=\"0\"/>" "通常打包和自動編譯系統的這種不同爲你指出如何考慮必須的套件應如何放在 " "<filename>debian/control</filename> 檔案的 <literal>Build-Depends</literal> " "或 <literal>Build-Depends-indep</literal> 欄位中(參考 <xref linkend=\"control" "\"/>)。" #. type: Content of: <book><chapter><section><title> msgid "<command>debuild</command> command" msgstr "<command>debuild</command> 命令" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You can automate package build process of the <command>dpkg-buildpackage</" #| "command> command further with the <command>debuild</command> command. " #| "See <citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry>." msgid "" "You can automate the <command>dpkg-buildpackage</command> command's package " "build process further with the <command>debuild</command> command. See " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." msgstr "" "你可以使用 <command>debuild</command> 命令來進一步自動化 <command>dpkg-" "buildpackage</command> 的構建過程。參考 <citerefentry> " "<refentrytitle>debuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Customization of the <command>debuild</command> command can be done " #| "through <filename>/etc/devscripts.conf</filename> or <filename>~/." #| "devscripts</filename>. I would suggest at least following items:" msgid "" "Customization of the <command>debuild</command> command can be done through " "<filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</" "filename>. I would suggest at least the following items:" msgstr "" "對 <command>debuild</command> 命令的自定義可以通過 <filename>/etc/devscripts." "conf</filename> 或 <filename>~/.devscripts</filename> 實現。我建議至少添加以" "下幾項:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" msgstr "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "With these, packages are signed by your specified GPG key ID (good for " #| "sponsoring packages) and checked by the <command>lintian</command> " #| "command in details." msgid "" "With these, packages are signed by your specified GPG key ID (good for " "sponsoring packages) and checked in detail by the <command>lintian</command> " "command." msgstr "" "這樣套件會使用指定的 ID 的 GPG 私鑰簽署(對於 sponsor 套件有好處),並使用 " "<command>lintian</command> 命令對套件做最大程度的檢査。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Cleaning source and rebuilding package from a user account is as simple " #| "as:" msgid "" "Cleaning the source and rebuilding the package from your user account is as " "simple as:" msgstr "在普通用戶帳號中可以使用以下這樣簡單的命令清理原始碼並重構建套件:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild\n" msgstr "$ debuild\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "There is the <filename>.orig</filename> before the <filename>.tar.gz</" #| "filename>." msgid "" "Here, if you are building Debian packages only for your own local use, you " "can skip promptings for the GPG signatures on the <filename>.dsc</filename> " "file and the <filename>.changes</filename> file like this:" msgstr "<filename>.tar.gz</filename> 副檔名前有 <filename>.orig</filename>。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ debuild -sa\n" msgid "$ debuild -us -uc\n" msgstr "$ debuild -sa\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "You can clean source tree as simple as:" msgid "You can clean the source tree as simply as:" msgstr "還可以簡單地清理原始碼樹:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild clean\n" msgstr "$ debuild clean\n" #. type: Content of: <book><chapter><section><title> msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 套件" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Since the <systemitem role=\"package\">pbuilder</systemitem> package is " #| "still evolving, you have to check the actual configuration situation by " #| "consulting the latest official documentation." msgid "" "Since the <systemitem role=\"package\">pbuilder</systemitem> package is " "still evolving, you should check the actual configuration situation by " "consulting the latest official documentation." msgstr "" "<systemitem role=\"package\">pbuilder</systemitem> 套件仍然在改進中,你可以査" "看最新的官方文件來檢査實際的設定狀況。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgid "" "See <ulink url=\"&buildd-do;\"/> for more on Debian package auto-building." msgstr "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For a clean room (<command>chroot</command>) build environment to verify " #| "the build dependencies, the <systemitem role=\"package\">pbuilder</" #| "systemitem> package is very useful. <placeholder type=\"footnote\" id=" #| "\"0\"/> This ensures a clean build from the source under the " #| "<literal>sid</literal> auto-builder for different architectures and " #| "avoids the severity serious FTBFS (Fails To Build From Source) bug which " #| "is always in the RC (release critical) category. See <ulink url=" #| "\"&buildd-do;\">&buildd-do;</ulink> for more on the Debian package auto-" #| "builder." msgid "" "For a clean room (<command>chroot</command>) build environment to verify the " "build dependencies, the <systemitem role=\"package\">pbuilder</systemitem> " "package is very useful. <placeholder type=\"footnote\" id=\"0\"/> This " "ensures a clean build from the source under the <literal>sid</literal> auto-" "builder for different architectures and avoids a severity serious FTBFS " "(Fails To Build From Source) bug which is always in the RC (release " "critical) category. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "對於使用淨室(<command>chroot</command>)編譯環境來驗證編譯依賴而言," "<systemitem role=\"package\">pbuilder</systemitem> 套件是非常有用的。" "<placeholder type=\"footnote\" id=\"0\"/>它確保了套件在不同構架上的 " "<literal>sid</literal> 發行版環境中的自動編譯器中能成功編譯,避免了總是被歸類" "於 RC (Release Critical,影響發佈)的嚴重 FTBFS (Fails To Build From Source," "從原始碼編譯失敗) Bug。參考 <ulink url=\"&buildd-do;\">&buildd-do;</ulink> 以" "更多瞭解 Debian 套件自動編譯系統。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " #| "package by the following." msgid "" "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " "package as follows:" msgstr "" "我們通過以下操作來定製 <systemitem role=\"package\">pbuilder</systemitem> 套" "件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "setting <filename>/var/cache/pbuilder/result</filename> directory " #| "writable by the user." msgid "" "setting the <filename>/var/cache/pbuilder/result</filename> directory " "writable by your user account." msgstr "設置 <filename>/var/cache/pbuilder/result</filename> 對用戶可寫。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" #| "hooks</replaceable></filename>, writable by the user to place hook " #| "scripts." msgid "" "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable></filename>, writable by the user, to place hook scripts " "in." msgstr "" "創建一個對用戶可寫的目錄保存鉤子腳本,例如 <filename><replaceable>/var/cache/" "pbuilder/hooks</replaceable></filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "setting <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" #| "filename> to include as follows." msgid "" "configuring <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" "filename> to include the following." msgstr "" "在 <filename>~/.pbuilderrc</filename> 或 <filename>/etc/pbuilderrc</" "filename> 中添加以下內容:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, fuzzy, no-wrap #| msgid "" #| "AUTO_DEBSIGN=yes\n" #| "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgid "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgstr "" "AUTO_DEBSIGN=yes\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will allow you to sign generated packages with your secret GPG key in " "the <filename>~/.gnupg/</filename> directory." msgstr "" "這使你可以使用 <filename>~/.gnupg/</filename> 目錄中的 GPG 私鑰簽署生成的套" "件。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's then initialize the local <systemitem role=\"package\">pbuilder</" #| "systemitem> <command>chroot</command> system first as follows." msgid "" "First let's initialize the local <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> system as follows." msgstr "" "使用以下命令初始化 <systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> 系統:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo pbuilder create\n" msgstr "$ sudo pbuilder create\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If you already have the completed source packages, issue the following " #| "commands in the directory where the <filename><replaceable>foo</" #| "replaceable>.orig.tar.gz</filename>, <filename><replaceable>foo</" #| "replaceable>.debian.tar.gz</filename>, and <filename><replaceable>foo</" #| "replaceable>.dsc</filename> files exist to update the local <systemitem " #| "role=\"package\">pbuilder</systemitem> <command>chroot</command> system " #| "and to build binary packages in it." msgid "" "If you already have a completed source package, issue the following commands " "in the directory where the <filename><replaceable>foo</replaceable>.orig.tar." "gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</" "filename>, and <filename><replaceable>foo</replaceable>.dsc</filename> files " "exist to update the local <systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> system and to build binary packages in it." msgstr "" "如果你已經創建了原始碼套件,在包含 <filename><replaceable>foo</replaceable>." "orig.tar.gz</filename>、<filename><replaceable>foo</replaceable>.debian.tar." "gz</filename> 和 <filename><replaceable>foo</replaceable>.dsc</filename> 檔案" "的目錄中執行下面的命令來更新 <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> 系統以便執行構建。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ sudo pbuilder --update\n" #| "$ sudo pbuilder --build <replaceable>foo</replaceable>.dsc\n" msgid "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" msgstr "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The newly built packages will be located in <filename>/var/cache/pbuilder/" #| "result/</filename> with non-root ownership." msgid "" "The newly built packages without the GPG signatures will be located in " "<filename>/var/cache/pbuilder/result/</filename> with non-root ownership." msgstr "" "新構建的套件將被放置於 <filename>/var/cache/pbuilder/result/</filename> 且屬" "主不是 root。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "There is the <filename>.orig</filename> before the <filename>.tar.gz</" #| "filename>." msgid "" "The GPG signatures on the <filename>.dsc</filename> file and the <filename>." "changes</filename> file can be generated as:" msgstr "<filename>.tar.gz</filename> 副檔名前有 <filename>.orig</filename>。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgid "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_version</replaceable>.dsc\n" "$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If you already have the updated source tree without generating the " #| "matching source packages, issue the following commands in the source " #| "directory where the <filename>debian</filename> directory exists, instead." msgid "" "If you have an updated source tree but have not generated the matching " "source package, issue the following commands in the source directory where " "the <filename>debian</filename> directory exists, instead." msgstr "" "如果你已經更新了原始碼樹但沒有生成對應的原始碼套件,在存放 <filename>debian</" "filename> 目錄的目錄裏執行:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ pdebuild\n" msgstr "" "$ sudo pbuilder --update\n" "$ pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your local use, you can " "skip promptings for the GPG signatures on the <filename>.dsc</filename> file " "and the <filename>.changes</filename> file as:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ AUTO_DEBSIGN=no pdebuild\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can log into its <command>chroot</command> environment with the " "<literal>pbuilder --login --save-after-login</literal> command and configure " "it as you wish. This environment can be saved by leaving its shell prompt " "with <literal>^D</literal> (Control-D)." msgstr "" "你可以使用 <literal>pbuilder --login --save-after-login</literal> 命令登錄到" "這個 <command>chroot</command> 環境中並按照需要對其進行設定。通過 " "<literal>^D</literal> (Control-D)離開這個 shell 時環境會被保存。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You " #| "can find many examples of the hook script in the <filename>/usr/share/doc/" #| "pbuilder/examples</filename> directory." msgid "" "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You can " "find many examples of hook scripts in the <filename>/usr/share/doc/pbuilder/" "examples</filename> directory." msgstr "" "此處默認 <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>。你可以在 " "<filename>/usr/share/doc/pbuilder/examples</filename> 目錄中找到很多鉤子腳本" "的例子。" #. type: Content of: <book><chapter><section><para> msgid "" "The latest version of the <command>lintian</command> command can be executed " "in the <literal>chroot</literal> environment using the hook script " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> configured as follows. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "最新版的 <command>lintian</command> 命令可以通過設置鉤子腳本 " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> 在 <literal>chroot</literal> 環境中運行。腳本內容如下:" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "#!/bin/sh\n" #| "set -e\n" #| "install_packages() {\n" #| " apt-get -y --force-yes install $@\n" #| " }\n" #| "install_packages lintian\n" #| "echo +++ lintian output +++\n" #| "su -c lintian -i -I --show-overrides /tmp/buildd/*.changes - pbuilder\n" #| "# use this version if you don't want lintian to fail the build\n" #| "#su -c lintian -i -I --show-overrides /tmp/buildd/*.changes; : - pbuilder\n" #| "echo +++ end of lintian output +++\n" msgid "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" msgstr "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install $@\n" " }\n" "install_packages lintian\n" "echo +++ lintian output +++\n" "su -c lintian -i -I --show-overrides /tmp/buildd/*.changes - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c lintian -i -I --show-overrides /tmp/buildd/*.changes; : - pbuilder\n" "echo +++ end of lintian output +++\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You need to have access to the latest <literal>sid</literal> environment " #| "to build packages properly for <literal>sid</literal>. In reality, " #| "<literal>sid</literal> may be experiencing issues which makes it not " #| "desirable for you to migrate your whole system. The <systemitem role=" #| "\"package\">pbuilder</systemitem> package can help you to cope with this " #| "kind of situation." msgid "" "You need to have access to the latest <literal>sid</literal> environment to " "build packages properly for <literal>sid</literal>. In practice, " "<literal>sid</literal> may be experiencing issues which makes it undesirable " "for you to migrate your whole system. The <systemitem role=\"package" "\">pbuilder</systemitem> package can help you to cope with this kind of " "situation." msgstr "" "爲 <literal>sid</literal> 編譯套件需要使用 <literal>sid</literal> 環境。在現" "實中 <literal>sid</literal> 存在很多問題以至於你不願意將整個系統都遷移到其" "上。<systemitem role=\"package\">pbuilder</systemitem> 可以在這種情況下很好地" "解決問題。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are some restrictions for such updates of your <literal>stable</" "literal> package." msgstr "升級你的 <literal>stable</literal> 套件有規定限制。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You may need to update your <literal>stable</literal> packages after " #| "their release for <literal>stable-proposed-updates</literal>, " #| "<literal>stable/updates</literal>, etc. <placeholder type=\"footnote\" " #| "id=\"0\"/> For such occasions, I am running <literal>sid</literal> system " #| "is not good enough excuse not to update them promptly. The <systemitem " #| "role=\"package\">pbuilder</systemitem> package can help you to access " #| "environments of almost any Debian derivative distributions of the same " #| "CPU architecture." msgid "" "You may need to update your <literal>stable</literal> packages after their " "release for <literal>stable-proposed-updates</literal>, <literal>stable/" "updates</literal>, etc. <placeholder type=\"footnote\" id=\"0\"/> For such " "occasions, the fact you may be running a <literal>sid</literal> system is " "not a good enough excuse for failing to update them promptly. The " "<systemitem role=\"package\">pbuilder</systemitem> package can help you to " "access environments of almost any Debian derivative distribution of the same " "architecture." msgstr "" "你可能需要通過 <literal>stable-proposed-updates</literal>、<literal>stable/" "updates</literal> 等升級你的 <literal>stable</literal> 套件。<placeholder " "type=\"footnote\" id=\"0\"/>對於這類情況,“我正在運行 <literal>sid</literal> " "系統” 並不是你不爲它們進行升級的充分理由。<systemitem role=\"package" "\">pbuilder</systemitem> 套件可以幫助你使用到相同 CPU 構架下幾乎所有 Debian " "和 Debian 衍生版系統。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "See <ulink url=\"&pbuilder;\">&pbuilder;</ulink>, <citerefentry> " #| "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>pbuilderrc</refentrytitle> " #| "<manvolnum>5</manvolnum> </citerefentry>, and <citerefentry> " #| "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" #| "citerefentry>." msgid "" "See <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, and <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." msgstr "" "參考 <ulink url=\"&pbuilder;\">&pbuilder;</ulink>、<citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>、<citerefentry> <refentrytitle>pbuilderrc</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> 和 <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>" #. type: Content of: <book><chapter><section><title> msgid "<command>git-buildpackage</command> command and similars" msgstr "<command>git-buildpackage</command> 和相似命令" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your upstream uses the source code management system (<ulink url=" #| "\"&debref-vcs;\">VCS</ulink>) to maintain their code, you should " #| "consider to use them. That makes merging and cherry-picking upstream " #| "patches much easier. There are several specialized wrapper script " #| "packages for the Debian package building for each VCS." msgid "" "If your upstream uses a source code management system (VCS) <placeholder " "type=\"footnote\" id=\"0\"/> to maintain their code, you should consider " "using it as well. This makes merging and cherry-picking upstream patches " "much easier. There are several specialized wrapper script packages for " "Debian package building for each VCS." msgstr "" "如果你的上游對原始碼使用版本控制系統(<ulink url=\"&debref-vcs;\">VCS</" "ulink>),你也應該考慮使用它們。這會使得合併和提取上游補丁更加簡單。在 Debian " "有多個爲不同 VCS 設計的腳本套件來協助 Debian 套件構建。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">git-buildpackage</systemitem>: Suite to help " #| "with Debian packages in Git repositories." msgid "" "<systemitem role=\"package\">git-buildpackage</systemitem>: a suite to help " "with Debian packages in Git repositories." msgstr "" "<systemitem role=\"package\">git-buildpackage</systemitem>:幫助維護 Git 倉庫" "中套件的套件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: helper programs " "to maintain Debian packages with Subversion." msgstr "" "<systemitem role=\"package\">svn-buildpackage</systemitem>:幫助維護 " "Subversion 倉庫中套件的程式。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">cvs-buildpackage</systemitem>: A set of " #| "Debian package scripts for CVS source trees." msgid "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: a set of Debian " "package scripts for CVS source trees." msgstr "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>:爲 CVS 原始碼樹設" "計的 Debian 套件腳本集。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documents how " "to use the <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> service." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Use of <systemitem role=\"package\">git-buildpackage</systemitem> is " "becoming quite popular for Debian Developers to manage Debian packages with " "the Git server on <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>. " "<placeholder type=\"footnote\" id=\"0\"/> This package offers many commands " "to <emphasis>automate</emphasis> packaging activities." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import previous Debian package to a Git " "repository." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令會安裝這個檔案。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import new upstream tar to a Git repository." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令會安裝這個檔案。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: generate the Debian changelog from Git commit " "messages." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令會安裝這個檔案。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令會安裝這個檔案。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> and <filename>/usr/share/doc/quilt/quilt.html</" #| "filename> for how to use <command>quilt</command>." msgid "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository " "using <command>pbuilder</command>/<command>cowbuilder</command>." msgstr "" "參考 <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 和 <filename>/usr/share/doc/quilt/quilt.html</" "filename> 來了解如何使用 <command>quilt</command>。" #. type: Content of: <book><chapter><section><para> msgid "These commands use 3 branches to track packaging activity." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgid "<literal>main</literal> for Debian package source tree." msgstr "<literal>3.0 (native)</literal> - Debian native 軟體" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>quilt delete</literal> to remove it." msgid "<literal>upstream</literal> for upstream source tree." msgstr "使用 <literal>quilt delete</literal> 刪除它。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "The <literal>--pristine-tar</literal> option invokes the <command>pristine-" "tar</command> command which can regenerate an exact copy of a pristine " "upstream tarball using only a small binary delta file and the contents of " "the tarball, which are typically kept in an <literal>upstream</literal> " "branch in the VCS." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " #| "binary</literal>; which in turn runs the following<placeholder type=" #| "\"footnote\" id=\"0\"/>:" msgid "" "<literal>pristine-tar</literal> for upstream tarball generated by the " "<literal>--pristine-tar</literal> option.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<literal>fakeroot debian/rules binary</literal> 執行了 <literal>fakeroot dh " "binary</literal>; 實際執行的命令爲<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "Here are few web resources available for advanced audiences." msgid "Here are some web resources available for advanced audiences." msgstr "對於資深打包人員,有以下幾個可用的資源:" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Building Debian Packages with git-buildpackage at <filename>/usr/share/" #| "doc/git-buildpackage/manual-html/gbp.html</filename>" msgid "" "Building Debian Packages with git-buildpackage (<filename>&git-buildpackage-" "doc;</filename>)" msgstr "" "位於 <filename>/usr/share/doc/git-buildpackage/manual-html/gbp.html</" "filename> 的 Building Debian Packages with git-buildpackage" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" msgstr "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgstr "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</" #| "ulink>" msgid "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" msgstr "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">file</systemitem> - this handy program can " #| "determine what type a file is. (see <citerefentry> <refentrytitle>file</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgid "" "You can configure <systemitem role=\"package\">git-buildpackage</systemitem> " "with <filename>~/.gbp.conf</filename>. See <citerefentry> <refentrytitle>gbp." "conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">file</systemitem> - 這個小程式可以檢測檔案的類" "型。(參考 <citerefentry> <refentrytitle>file</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><title> msgid "Quick rebuild" msgstr "快速重構建" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Environment variables which are normally configured to proper values are not " "set by this method. Never create real packages to be uploaded using this " "<emphasis role=\"strong\">quick</emphasis> method." msgstr "" "常規情形下被設定好的環境變量在此時不會被自動設置。永遠不要將使用這個 " "<emphasis role=\"strong\">快速</emphasis> 方法構建的套件上傳到任何地方。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "With a large package, you may not want to rebuild from scratch every time " #| "while you tune details in <filename>debian/rules</filename>. For testing " #| "purposes, you can make a <filename>.deb</filename> file without " #| "rebuilding the upstream sources like this <placeholder type=\"footnote\" " #| "id=\"0\"/>:" msgid "" "With a large package, you may not want to rebuild from scratch every time " "while you're tuning details in <filename>debian/rules</filename>. For " "testing purposes, you can make a <filename>.deb</filename> file without " "rebuilding the upstream sources like this<placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "對於很大的套件,在調試 <filename>debian/rules</filename> 的過程中你可能不想對" "整個套件進行重構建。僅用於測試目的,你可以不重新構建原始碼套件而使用以下的方" "法創建 <filename>.deb</filename> 檔案<placeholder type=\"footnote\" id=\"0\"/" ">:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules binary\n" msgstr "$ fakeroot debian/rules binary\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "Or, simply as following to see if it build or not." msgid "Or simply do the following to see if it builds or not:" msgstr "或者可以僅査看它是否能通過編譯:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules build\n" msgstr "$ fakeroot debian/rules build\n" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are finished with your tuning, remember to rebuild following the " "proper procedure. You may not be able to upload correctly if you try to " "upload <filename>.deb</filename> files built this way." msgstr "" "一旦完成了調試,記住要按照前面所將的正常過程重構建你的套件。你可能無法正常上" "傳用此種方法構建的 <filename>.deb</filename> 檔案。" #. type: Content of: <book><chapter><title> msgid "Checking the package for errors" msgstr "檢査套件中的錯誤" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "There are few chores you should know to check the package for errors by " #| "yourself before uploading packages to public archives." msgid "" "There are some techniques you should know for checking a package for errors " "before uploading it to the public archives." msgstr "在上傳套件到公共倉庫前,你還需要自己做一些檢査套件錯誤的例行工作。" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "Testing on machine other than your own is also good idea. You must watch " #| "closely for any warnings or errors for all the test described here." msgid "" "It's also a good idea to carry out testing on a machine other than your " "own. You must watch closely for any warnings or errors for all the tests " "described here." msgstr "" "不僅在自己的機器上測試總是一個好主意。你必須謹慎地對待以下敘述的測試中顯示的" "任何一個警告或錯誤訊息。" #. type: Content of: <book><chapter><section><title> msgid "Suspicious changes" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you find a new autogenerated patch file such as <filename>debian-changes-" "*</filename> in the <filename>debian/patches</filename> directory after " "building your non-native Debian package in <literal>3.0 (quilt)</literal> " "format, chances are you changed some files by accident or the build script " "modified the upstream source. If it is your mistake, fix it. If it is " "caused by the build script, fix the root cause with <command>dh-autoreconf</" "command> as in <xref linkend=\"customrules\"/> or work around it with " "<filename>source/options</filename> as in <xref linkend=\"sourceopt\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Verifying package for install" msgid "Verifying a package's installation" msgstr "檢驗套件安裝過程" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You must test your package if it installs without problem. The " #| "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> command helps you to test to install all the " #| "generated binary packages." msgid "" "You must test your package for whether it installs without problem. The " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> command helps you to test installing all the generated " "binary packages." msgstr "" "你必須測試你的套件看是否存在安裝問題。<citerefentry> <refentrytitle>debi</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 命令可以幫助你測試生" "成的二進位套件。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n" msgstr "$ sudo debi gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You have to make sure that there are no overlapped files with other " #| "existing packages using the <filename>Contents-<replaceable>i386</" #| "replaceable></filename> file downloaded from the Debian archive to " #| "prevent installation problem on different systems. The <command>apt-" #| "file</command> command may be handy for this task. If there are " #| "overlapped files, please take actions to avoid the real problem using the " #| "alternatives mechanism (see <citerefentry> <refentrytitle>update-" #| "alternatives</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) by " #| "coordinating with other affected packages or by setting the " #| "<literal>Conflicts</literal> entry in the <filename>debian/control</" #| "filename> file." msgid "" "To prevent installation problem on different systems, you must make sure " "that there are no filenames conflicting with other existing packages, using " "the <filename>Contents-<replaceable>i386</replaceable></filename> file " "downloaded from the Debian archive. The <command>apt-file</command> command " "may be handy for this task. If there are collisions, please take action to " "avoid this real problem, whether by renaming the file, moving a common file " "to a separate package that multiple packages can depend on, using the " "alternatives mechanism (see <citerefentry><refentrytitle>update-" "alternatives</refentrytitle> <manvolnum>1</manvolnum></citerefentry>) in " "coordination with the maintainers of other affected packages, or declaring a " "<literal>Conflicts</literal> relationship in the <filename>debian/control</" "filename> file." msgstr "" "你必須使用從 Debian 倉庫下載的 <filename>Contents-<replaceable>i386</" "replaceable></filename> 檔案校驗是否在不同系統上存在檔案覆蓋的問題。" "<command>apt-file</command> 命令正適合完成這個任務。如果存在問題,請通過與受" "影響的套件合作使用 alternatives 機制來避免實際問題(參考 <citerefentry> " "<refentrytitle>update-alternatives</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>)或在 <filename>debian/control</filename> 檔案中設置 " "<literal>Conflicts</literal> 條目。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Verifying package for <emphasis>maintainer scripts</emphasis>" msgid "Verifying a package's maintainer scripts" msgstr "檢驗 <emphasis>maintainer scripts</emphasis>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "All <emphasis>maintainer scripts</emphasis>, i.e., <filename>preinst</" #| "filename>, <filename>prerm</filename>, <filename>postinst</filename>, and " #| "<filename>postrm</filename> files, are non-trivial unless they are auto-" #| "generated by the <systemitem role=\"package\">debhelper</systemitem> " #| "programs. So do not use them if you are a novice maintainer (see <xref " #| "linkend=\"maintscripts\"/>)." msgid "" "All maintainer scripts (that is, <filename>preinst</filename>, " "<filename>prerm</filename>, <filename>postinst</filename>, and " "<filename>postrm</filename> files) are hard to write correctly unless they " "are auto-generated by the <systemitem role=\"package\">debhelper</" "systemitem> programs. So do not use them if you are a novice maintainer " "(see <xref linkend=\"maintscripts\"/>)." msgstr "" "所有 <emphasis>maintainer scripts</emphasis>,包括 <filename>preinst</" "filename>、<filename>prerm</filename>、<filename>postinst</filename> 和 " "<filename>postrm</filename> 檔案,除非是由 <systemitem role=\"package" "\">debhelper</systemitem> 程式自動生成的,都是測試的重點。如果你是新維護人員" "則不要使用它們(參考 <xref linkend=\"maintscripts\"/>)。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If the package makes use of these non-trivial <emphasis>maintainer " #| "scripts</emphasis>, be sure to test not only for install but also for " #| "remove, purge, and upgrade. Many <emphasis>maintainer script</emphasis> " #| "bugs show up when packages are removed or purged. Use the <command>dpkg</" #| "command> command as follows to test them." msgid "" "If the package makes use of these non-trivial maintainer scripts, be sure to " "test not only for install but also for remove, purge, and upgrade " "processes. Many maintainer script bugs show up when packages are removed or " "purged. Use the <command>dpkg</command> command as follows to test them." msgstr "" "如果套件使用了這些需要嚴格測試的 <emphasis>maintainer scripts</emphasis>,請" "確保不僅測試 install,還要測試 remove、purge 和 upgrade。很多 " "<emphasis>maintainer scripts</emphasis> 的 Bug 都顯現於反安裝或徹底刪除套件" "時。使用 <command>dpkg</command> 命令來測試它們。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" msgstr "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" #. type: Content of: <book><chapter><section><para> msgid "This should be done with sequences such as the following." msgstr "整個測試過程應按照以下序列操作:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the previous version (if needed)." msgstr "如果可能,安裝前一個版本的套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "upgrade it from the previous version." msgstr "從前一個版本升級套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "downgrade it back to the previous version (optional)." msgstr "降級套件到前一個版本(可選);" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "purge it." msgstr "徹底刪除該套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the new package." msgstr "全新安裝該套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "remove it." msgstr "反安裝該套件;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install it again." msgstr "再次安裝該套件。" #. type: Content of: <book><chapter><section><para> msgid "" "If this is your first package, you should create dummy packages with " "different versions to test your package in advance to prevent future " "problems." msgstr "" "如果這是你的第一個套件,你應該使用其他版本號創建一個測試用的套件來完成升級測" "試,這樣可以避免將來的問題。" #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that if your package has previously been released in Debian, " "people will often be upgrading to your package from the version that was in " "the last Debian release. Remember to test upgrades from that version too." msgstr "" "請牢記如果你的套件已經在以往版本的 Debian 中發佈,人們通常會從最近發佈的 " "Debian 發佈裏的版本升級,所以也要測試從那個版本升級到當前的版本。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Although downgrade is not officially supported, it should be nice to " #| "support it." msgid "" "Although downgrading is not officially supported, supporting it is a " "friendly gesture." msgstr "儘管降級沒有被正式支持,支持它也總是不錯的。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<systemitem role=\"package\">lintian</systemitem> package" msgid "Using <systemitem role=\"package\">lintian</systemitem>" msgstr "<systemitem role=\"package\">lintian</systemitem> 套件" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You do not need to provide the <command>lintian</command> option <literal>-i " "-I --show-overrides</literal> if you customized <filename>/etc/devscripts." "conf</filename> or <filename>~/.devscripts</filename> as described in <xref " "linkend=\"debuild\"/>." msgstr "" "如果你按照 <xref linkend=\"debuild\"/> 中的敘述定義了 <filename>/etc/" "devscripts.conf</filename> 或 <filename>~/.devscripts</filename> 檔案,就不需" "要再添加 <command>lintian</command> 選項 <literal>-i -I --show-overrides</" "literal>。" #. type: Content of: <book><chapter><section><para> msgid "" "Run <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> on your <filename>.changes</filename> file. The " "<command>lintian</command> command runs many test scripts to check for many " "common packaging errors. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "使用 <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 檢査你的 <filename>.changes</filename> 檔案。" "<command>lintian</command> 命令會運行很多測試腳本來檢査常見的打包錯誤。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" msgstr "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Of course, replace the filename with the name of the <filename>.changes</" #| "filename> file generated for your package. The output of the " #| "<command>lintian</command> command are marked as follows." msgid "" "Of course, replace the filename with the name of the <filename>.changes</" "filename> file generated for your package. The output of the " "<command>lintian</command> command uses the following flags." msgstr "" "當然,要使用你自己套件所生成的 <filename>.changes</filename> 檔案的檔案名。" "<command>lintian</command> 命令的輸出常帶有以下幾種標記:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>E:</literal> for error; a sure policy violation or a packaging " #| "error." msgid "" "<literal>E:</literal> for error; a sure policy violation or packaging error." msgstr "" "<literal>E:</literal> 代表錯誤:確定違反了 Debian Policy 或是一個肯定的打包錯" "誤。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>W:</literal> for warning; a possible policy violation or a " #| "packaging error." msgid "" "<literal>W:</literal> for warning; a possible policy violation or packaging " "error." msgstr "" "<literal>W:</literal> 代表警告:可能違反了 Debian Policy 或是一個可能的打包錯" "誤。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>I:</literal> for info; a information on certain packaging " #| "aspects." msgid "" "<literal>I:</literal> for info; information on certain aspects of packaging." msgstr "<literal>I:</literal> 代表訊息:對於特定打包類別的訊息。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>N:</literal> for note; a detailed message to help your debugging." msgstr "<literal>N:</literal> 代表註釋:幫助你調試的詳細訊息。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>O:</literal> for overridden; a message overridden by the " "<filename>lintian-overrides</filename> files but displayed by the <literal>--" "show-overrides</literal> option." msgstr "" "<literal>O:</literal> 代表已覆蓋:一個被 <filename>lintian-overrides</" "filename> 檔案覆蓋的訊息,但由於使用 <literal>--show-overrides</literal> 選項" "而顯示。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For warnings, tune the package to avoid them or verify that the warnings " #| "are spurious. If spurious, set the <filename>lintian-overrides</" #| "filename> files as described in <xref linkend=\"lintian\"/>." msgid "" "When you see warnings, tune the package to avoid them or verify that the " "warnings are spurious. If spurious, set up <filename>lintian-overrides</" "filename> files as described in <xref linkend=\"lintian\"/>." msgstr "" "對於警告,你應該改進套件或者檢査警告是否的確無意義。如果確定沒有意義,則按照 " "<xref linkend=\"lintian\"/> 中的敘述使用 <filename>lintian-overrides</" "filename> 檔案將其覆蓋。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Note that you can build the package with <command>dpkg-buildpackage</" #| "command> and run <command>lintian</command> on it in one command with " #| "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> or with <citerefentry> " #| "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>." msgid "" "Note that you can build the package with <command>dpkg-buildpackage</" "command> and run <command>lintian</command> on it in one command, if you use " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> or <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "" "你可以使用 <citerefentry> <refentrytitle>debuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 或 <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 將 <command>dpkg-buildpackage</command> 與在其後運行 " "<command>lintian</command> 合併到一個命令裏。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<command>debc</command> command" msgid "The <command>debc</command> command" msgstr "<command>debc</command> 命令" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You can list files in the binary Debian package by <citerefentry> " #| "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry> command." msgid "" "You can list files in the binary Debian package with the <citerefentry> " "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "command." msgstr "" "你可以使用 <citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令列出一個二進位 Debian 套件中的檔案。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debc <replaceable>package</replaceable>.changes\n" msgstr "$ debc <replaceable>package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<command>debdiff</command> command" msgid "The <command>debdiff</command> command" msgstr "<command>debdiff</command> 命令" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare file contents in two source Debian packages with the " "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "你可以使用 <citerefentry> <refentrytitle>debdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 命令比較兩個 Debian 原始碼套件的內" "容。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also compare file lists in two sets of binary Debian packages with " "the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "你還可以使用 <citerefentry> <refentrytitle>debdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 命令比較兩個 Debian 二進位套件的檔案" "列表。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "These are useful to identify what has been changed in the source " #| "packages, if no files have been unintentionally misplaced or removed in " #| "the binary packages, and if no other inadvertent changes were made when " #| "updating binary packages." msgid "" "These are useful to identify what has been changed in the source packages " "and to check for inadvertent changes made when updating binary packages, " "such as unintentionally misplacing or removing files." msgstr "" "這個命令對於檢査原始碼套件中哪些檔案被修改了非常有用,還可以發現二進位套件中" "是否有檔案被意外替換或刪除,或在更新二進位套件時檢査是否有其他沒有被提及的變" "更。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<command>interdiff</command> command" msgid "The <command>interdiff</command> command" msgstr "<command>interdiff</command> 命令" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare two <filename>diff.gz</filename> files with the " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command. This is useful for verifying that no " "inadvertent changes were made to the source by the maintainer when updating " "packages in the old <literal>1.0</literal> source format." msgstr "" "你可以使用 <citerefentry> <refentrytitle>interdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 命令比較兩個 <filename>diff.gz</" "filename> 檔案。這對於更新使用舊的 <literal>1.0</literal> 原始碼格式的套件" "時,檢査是否有意外的變更非常有用。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" msgstr "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "The new <literal>3.0</literal> source format stores changes in multiple " "patch files as described in <xref linkend=\"patches\"/>. You can trace " "changes of each <filename>debian/patches/*</filename> file using " "<command>interdiff</command>, too." msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<command>mc</command> command" msgid "The <command>mc</command> command" msgstr "<command>mc</command> 命令" #. type: Content of: <book><chapter><section><para> msgid "" "Many of these file inspection operations can be made into an intuitive " "process by using a file manager like <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> which will let you " "browse not only the contents of <filename>*.deb</filename> package files but " "also <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, " "<filename>*.diff.gz</filename>, and <filename>*.orig.tar.gz</filename> files." msgstr "" "很多檔案檢査操作可以通過使用類似 <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 的檔案管理器來完成," "它可以幫助你直接査看 <filename>*.deb</filename> 檔案的內容,除此之外還可以用" "於 <filename>*.udeb</filename>、<filename>*.debian.tar.gz</filename>、" "<filename>*.diff.gz</filename> 和 <filename>*.orig.tar.gz</filename> 檔案。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Be on the lookout for extra unneeded files or zero length files, both in " #| "the binary and source package. Often cruft doesn't get cleaned up " #| "properly; adjust your <filename>rules</filename> file to compensate for " #| "that." msgid "" "Be on the lookout for extra unneeded files or zero length files, both in the " "binary and source package. Often cruft doesn't get cleaned up properly; " "adjust your <filename>rules</filename> file to compensate for this." msgstr "" "還要檢査在二進位套件和原始碼套件中是否有不需要的檔案或者空檔案。這些檔案經常" "沒有被正確清理,如果存在這種情況,要調整 <filename>rules</filename> 檔案進行" "處理。" #. type: Content of: <book><chapter><title> msgid "Updating the package" msgstr "更新套件" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "Once you release a package, you need to update it soon." msgid "After you release a package, you will soon need to update it." msgstr "一旦你發佈了一個套件,在之後的某個時間裏就需要對它進行更新。" #. type: Content of: <book><chapter><section><title> msgid "New Debian revision" msgstr "新的 Debian 版本" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's say that a bug report was filed against your package as " #| "<literal>#54321</literal>, and it describes a problem that you can " #| "solve. To create a new Debian revision of the package, you need to:" msgid "" "Let's say that a bug report was filed against your package as " "<literal>#654321</literal>, and it describes a problem that you can solve. " "Here's what you need to do to create a new Debian revision of the package." msgstr "" "假設針對你的套件報告的 Bug 號爲 <literal>#54321</literal>,它描述了一個你可以" "解決的問題。要創建套件的一個新 Debian 版本,你需要:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to be recorded as a new patch, do the following." msgstr "如果要將它記錄於新的補丁中,這樣做:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>quilt new <replaceable>bugname.patch</replaceable></literal> to " #| "set patch name;" msgid "" "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> to " "set the patch name;" msgstr "" "<literal>quilt new <replaceable>bugname.patch</replaceable></literal> 設置補" "丁名稱;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>quilt add <replaceable>buggy-file</replaceable></literal> to " #| "declare file to be modified;" msgid "" "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> to " "declare the file to be modified;" msgstr "" "<literal>quilt add <replaceable>buggy-file</replaceable></literal> 聲明檔案將" "被更改;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Correct the problem in the package source for the upstream bug;" msgstr "修正套件程式碼中的上游 Bug;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>quilt refresh</literal> to record to " #| "<filename><replaceable>bugname.patch</replaceable></filename>;" msgid "" "<literal>dquilt refresh</literal> to record it to " "<filename><replaceable>bugname.patch</replaceable></filename>;" msgstr "" "<literal>quilt refresh</literal> 將修改記錄到 <filename><replaceable>bugname." "patch</replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>quilt header -e</literal> to add its description;" msgid "<literal>dquilt header -e</literal> to add its description;" msgstr "<literal>quilt header -e</literal> 添加對它的描述;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to update an existing patch, do the following." msgstr "如果是更新一個已存在的補丁,這樣做:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>quilt pop <replaceable>foo.patch</replaceable></literal> to " #| "recall existing <filename><replaceable>foo.patch</replaceable></filename>;" msgid "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> to recall " "the existing <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "" "<literal>quilt pop <replaceable>foo.patch</replaceable></literal> 重現已存在" "的 <filename><replaceable>foo.patch</replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Correct the problem in the old <filename><replaceable>foo.patch</" "replaceable></filename>;" msgstr "" "修正舊的 <filename><replaceable>foo.patch</replaceable></filename> 中的問題;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>quilt refresh</literal> to update <filename><replaceable>foo." #| "patch</replaceable></filename>;" msgid "" "<literal>dquilt refresh</literal> to update <filename><replaceable>foo." "patch</replaceable></filename>;" msgstr "" "<literal>quilt refresh</literal> 更新 <filename><replaceable>foo.patch</" "replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>quilt header -e</literal> to update its description;" msgid "<literal>dquilt header -e</literal> to update its description;" msgstr "<literal>quilt header -e</literal> 更新對它的描述;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>while quilt push; do quilt refresh; done</literal> to apply all " #| "patches while removing <emphasis>fuzz</emphasis>;" msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>;" msgstr "" "<literal>while quilt push; do quilt refresh; done</literal> 應用所有補丁以確" "保它們 <emphasis>邊界清晰</emphasis>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "To get the date in the required format, use <literal>LANG=C date -R</" "literal>." msgstr "要獲得需要的日期格式,使用 <literal>LANG=C date -R</literal>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add a new revision at the top of the Debian <filename>changelog</filename> " "file, for example with <literal>dch -i</literal>, or explicitly with " "<literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal> and then insert the comments using your preferred " "editor. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "在 Debian <filename>changelog</filename> 檔案的頂部添加一個條目。例如可以使" "用 <literal>dch -i</literal> 或用 <literal>dch -v <replaceable>version</" "replaceable>-<replaceable>revision</replaceable></literal> 來指定版本,然後用" "你喜歡的編輯器插入訊息。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Include a short description of the bug and the solution in the changelog " #| "entry, followed by <literal>Closes: #54321</literal>. That way, the bug " #| "report will be <emphasis>automagically</emphasis> closed by the archive " #| "maintenance software the moment your package gets accepted in the Debian " #| "archive." msgid "" "Include a short description of the bug and the solution in the changelog " "entry, followed by <literal>Closes: #654321</literal>. That way, the bug " "report will be <emphasis>automagically</emphasis> closed by the archive " "maintenance software the moment your package gets accepted into the Debian " "archive." msgstr "" "在 changlog 條目中簡要描述 Bug 和相應的解決辦法,並在後面添加 " "<literal>Closes: #54321</literal>。這樣 Bug 報告會在你的套件被 Debian 倉庫接" "受的同時被倉庫管理軟體 <emphasis>自動關閉</emphasis>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in the above to fix more bugs while updating the Debian " "<filename>changelog</filename> file with <literal>dch</literal> as needed." msgstr "" "重複上述操作來修復更多的 Bug,並在需要的時候使用 <literal>dch</literal> 更新 " "Debian <filename>changelog</filename> 檔案。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "You can release this updated source by repeating what you did in <xref " #| "linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref " #| "linkend=\"upload\"/>." msgid "" "Repeat what you did in <xref linkend=\"completebuild\"/> and <xref linkend=" "\"checkit\"/>." msgstr "" "重複 <xref linkend=\"completebuild\"/> 、<xref linkend=\"checkit\"/> 和 " "<xref linkend=\"upload\"/> 中的操作,即可發佈此更新的套件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Once you are satisfied, you should change the distribution value in " "<filename>changelog</filename> from <literal>UNRELEASED</literal> to the " "target distribution value <literal>unstable</literal> (or even " "<literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Repeat what you did in <xref linkend=\"completebuild\"/>, <xref linkend=" #| "\"checkit\"/>, and <xref linkend=\"upload\"/>. The difference is that " #| "this time, the original source archive won't be included, as it hasn't " #| "been changed and it already exists in the Debian archive." msgid "" "Upload the package as <xref linkend=\"upload\"/>. The difference is that " "this time, the original source archive won't be included, as it hasn't been " "changed and it already exists in the Debian archive." msgstr "" "重複在 <xref linkend=\"completebuild\"/> 、<xref linkend=\"checkit\"/> 和 " "<xref linkend=\"upload\"/> 中進行的操作。惟一的區別是這次不需要再包含原始程式" "碼檔案,因爲它們沒有變化且已經存在於 Debian 倉庫中。" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case can occur when you make a local package to experiment with " "the packaging before uploading the normal version to the official archive, e." "g., <literal><replaceable>1.0.1</replaceable>-<replaceable>1</replaceable></" "literal>. For smoother upgrades, it is a good idea to create a " "<filename>changelog</filename> entry with a version string as " "<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" "literal>. You may unclutter <filename>changelog</filename> by consolidating " "such local change entries into a single entry for the official package. See " "<xref linkend=\"namever\"/> for the order of version strings." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Inspection of the new upstream release" msgstr "檢査新上游版本" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "When preparing packages of the new upstream release for the Debian " #| "archive, you must check the new upstream release, first." msgid "" "When preparing packages of a new upstream release for the Debian archive, " "you must check the new upstream release, first." msgstr "在爲 Debian 倉庫準備新上游版本的套件前,你必須首先檢査它。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You start this by reading the upstream <filename>changelog</filename>, " #| "<filename>NEWS</filename>, and whatever other documentations they may " #| "have released with the new version." msgid "" "Start by reading the upstream <filename>changelog</filename>, " "<filename>NEWS</filename>, and whatever other documentation they may have " "released with the new version." msgstr "" "檢査工作應從閱讀 <filename>changelog</filename>、<filename>NEWS</filename> 以" "及所有隨新版本一同發佈的文件。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You then inspect changes between the old and new upstream sources as " #| "follow to watch out for anything suspicious." msgid "" "You can then inspect changes between the old and new upstream sources as " "follows, watching out for anything suspicious." msgstr "然後應按照以下步驟檢査新舊版本之間的差別,看是否存在可疑的內容:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgstr "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Changes to some auto-generated files by Autotools such as " #| "<filename>missing</filename>, <filename>aclocal.m4</filename>, " #| "<filename>config.guess</filename>, <filename>config.h.in</filename>, " #| "<filename>config.sub</filename>, <filename>configure</filename>, " #| "<filename>depcomp</filename>, <filename>install-sh</filename>, " #| "<filename>ltmain.sh</filename>, and <filename>Makefile.in</filename> may " #| "be ignored. You may erase them before running <command>diff</command> to " #| "the source for inspection." msgid "" "Changes to some auto-generated files by Autotools such as <filename>missing</" "filename>, <filename>aclocal.m4</filename>, <filename>config.guess</" "filename>, <filename>config.h.in</filename>, <filename>config.sub</" "filename>, <filename>configure</filename>, <filename>depcomp</filename>, " "<filename>install-sh</filename>, <filename>ltmain.sh</filename>, and " "<filename>Makefile.in</filename> may be ignored. You may delete them before " "running <command>diff</command> on the source for inspection." msgstr "" "對於 Autotools 自動生成的檔案,例如 <filename>missing</filename>、" "<filename>aclocal.m4</filename>、<filename>config.guess</filename>、" "<filename>config.h.in</filename>、<filename>config.sub</filename>、" "<filename>configure</filename>、<filename>depcomp</filename>、" "<filename>install-sh</filename>、<filename>ltmain.sh</filename> 和 " "<filename>Makefile.in</filename> 是可以忽略的。你可以在運行 <command>diff</" "command> 進行程式碼檢査前刪除它們。" #. type: Content of: <book><chapter><section><title> msgid "New upstream release" msgstr "新上游版本" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is packaged in the old <literal>1.0</literal> format, this can " "be done by running <literal>zcat /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" "literal> in the new extracted source, instead." msgstr "" "如果套件 <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> 是使用舊的 <literal>1.0</literal> 格式的,可以在新解壓的原始碼目" "錄裏運行 <literal>zcat /<replaceable>path</replaceable>/<replaceable>to</" "replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</" "replaceable>.diff.gz|patch -p1</literal> 來完成。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" #| "systemitem> is properly packaged in the newer <literal>3.0 (native)</" #| "literal> or <literal>3.0 (quilt)</literal> formats, packaging a new " #| "upstream version is essentially moving the old <filename>debian</" #| "filename> directory to the new source. This can be done by running " #| "<literal>tar xvzf /<replaceable>path</replaceable>/<replaceable>to</" #| "replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</" #| "replaceable>.debian.tar.gz</literal> in the new extracted source. " #| "<placeholder type=\"footnote\" id=\"0\"/> Of course, you need to do few " #| "obvious chores." msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is properly packaged in the newer <literal>3.0 (native)</" "literal> or <literal>3.0 (quilt)</literal> formats, packaging a new upstream " "version is essentially moving the old <filename>debian</filename> directory " "to the new source. This can be done by running <literal>tar xvzf /" "<replaceable>path</replaceable>/<replaceable>to</replaceable>/" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian." "tar.gz</literal> in the new extracted source. <placeholder type=\"footnote" "\" id=\"0\"/> Of course, you need to do some obvious chores." msgstr "" "如果套件 <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> 是使用新的 <literal>3.0 (native)</literal> 或 <literal>3.0 " "(quilt)</literal> 格式打包的,製作新的上游版本時需要先把舊的 " "<filename>debian</filename> 目錄移至新的原始碼內。這可以通過在新解壓的原始碼" "目錄裏運行 <literal>tar xvzf /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.debian.tar.gz</literal> 完" "成。<placeholder type=\"footnote\" id=\"0\"/>當然,你需要做幾個很顯然的雜事。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a copy of the upstream source as the " "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename> " "file." msgstr "" "創建一份上游原始碼的副本,命名爲 <filename>foo_<replaceable>newversion</" "replaceable>.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Update the Debian <filename>changelog</filename> file with <literal>dch -v " "<replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." msgstr "" "使用 <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</" "replaceable></literal> 更新 Debian <filename>changelog</filename> 檔案。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Add an entry with New upstream release." msgid "Add an entry with <literal>New upstream release</literal>." msgstr "添加一個條目,內容爲 New upstream release。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Describe concisely the changes <emphasis>in the new upstream release</" #| "emphasis> that fix reported bugs and close those bugs." msgid "" "Describe concisely the changes <emphasis>in the new upstream release</" "emphasis> that fix reported bugs and close those bugs by adding " "<literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "簡明地介紹 <emphasis>在新上游版本中</emphasis> 上游修復和關閉的 Bug。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Describe concisely the changes <emphasis>to the new upstream release</" #| "emphasis> by the maintainer that fix reported bugs and close those bugs." msgid "" "Describe concisely the changes <emphasis>to the new upstream release</" "emphasis> by the maintainer that fix reported bugs and close those bugs by " "adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "簡明地介紹維護者 <emphasis>對此新上游版本</emphasis> 做出的修改,修復和關閉" "的 Bug。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>while quilt push; do quilt refresh; done</literal> to apply all " #| "patches while removing <emphasis>fuzz</emphasis>." msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>." msgstr "" "運行 <literal>while quilt push; do quilt refresh; done</literal> 以應用全部補" "丁並使它們 <emphasis>邊界清晰</emphasis>。" #. type: Content of: <book><chapter><section><para> msgid "" "If the patch/merge did not apply cleanly, inspect the situation (clues are " "left in <filename>.rej</filename> files)." msgstr "" "如果補丁沒有乾淨地被應用,檢査原因(線索在 <filename>.rej</filename> 檔案裏)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If a patch you applied to the source was integrated to the upstream " #| "source," msgid "" "If a patch you applied to the source was integrated into the upstream source," msgstr "如果你的補丁已經被上游接受:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>quilt delete</literal> to remove it." msgid "<literal>dquilt delete</literal> to remove it." msgstr "使用 <literal>quilt delete</literal> 刪除它。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source conflicted with new changes in the " "upstream source," msgstr "如果你的補丁與上游程式碼中的變更有衝突:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>quilt push -f</literal> to apply old patches while forcing " #| "rejects as <filename><replaceable>baz</replaceable>.rej</filename>." msgid "" "<literal>dquilt push -f</literal> to apply old patches while forcing rejects " "as <filename><replaceable>baz</replaceable>.rej</filename>." msgstr "" "使用 <literal>quilt push -f</literal> 應用舊補丁,未應用的部分會被保存爲 " "<filename><replaceable>baz</replaceable>.rej</filename>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Edit the <filename><replaceable>baz</replaceable></filename> file " #| "manually to realize intended effect of <filename><replaceable>baz</" #| "replaceable>.rej</filename>." msgid "" "Edit the <filename><replaceable>baz</replaceable></filename> file manually " "to bring about the intended effect of <filename><replaceable>baz</" "replaceable>.rej</filename>." msgstr "" "手工編輯 <filename><replaceable>baz</replaceable></filename> 來在新的程式碼中" "實現 <filename><replaceable>baz</replaceable>.rej</filename> 中應有的效果。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>quilt refresh</literal> to update the patch." msgid "<literal>dquilt refresh</literal> to update the patch." msgstr "使用 <literal>quilt refresh</literal> 更新補丁。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Continue back to <literal>while quilt push; do quilt refresh; done</" #| "literal>." msgid "" "Continue as usual with <literal>while dquilt push; do dquilt refresh; done</" "literal>." msgstr "再次運行 <literal>while quilt push; do quilt refresh; done</literal>。" #. type: Content of: <book><chapter><section><para> msgid "" "This process can be automated using the <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> command as follows:" msgstr "" "這個過程可以通過使用 <citerefentry> <refentrytitle>uupdate</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 來更自動化地完成:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ apt-get source <replaceable>foo</replaceable>\n" #| "...\n" #| "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" #| "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" #| "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" #| "$ ls -F\n" #| "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" #| "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" #| "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" #| "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" #| "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" #| "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" #| "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" #| "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" #| "$ while quilt push; do quilt refresh; done\n" #| "$ dch\n" #| "... document changes made\n" msgid "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" msgstr "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while quilt push; do quilt refresh; done\n" "$ dch\n" "... document changes made\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the <command>uscan</command> command downloads the updated source but it " "does not run the <command>uupdate</command> command, you should correct the " "<filename>debian/watch</filename> file to have <literal>debian uupdate</" "literal> at the end of the URL." msgstr "" "如果 <command>uscan</command> 命令下載並更新了原始碼,但沒有運行 " "<command>uupdate</command> 命令,你應該修正 <filename>debian/watch</" "filename> 檔案,使 URL 末尾後帶有 <literal>debian uupdate</literal>。" #. type: Content of: <book><chapter><section><para> msgid "" "If you set up a <filename>debian/watch</filename> file as described in <xref " "linkend=\"watch\"/>, you can skip the <command>wget</command> command. You " "simply run <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> in the <filename><replaceable>foo</replaceable>-" "<replaceable>oldversion</replaceable></filename> directory instead of the " "<command>uupdate</command> command. This will <emphasis>automagically</" "emphasis> look for the updated source, download it, and run the " "<command>uupdate</command> command. <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "如果你按照 <xref linkend=\"watch\"/> 的敘述設置了 <filename>debian/watch</" "filename> 檔案,你可以跳過這個 <command>wget</command> 命令,轉而在 " "<filename><replaceable>foo</replaceable>-<replaceable>oldversion</" "replaceable></filename> 目錄中運行 <citerefentry> <refentrytitle>uscan</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>,且無需再執行 " "<command>uupdate</command> 命令。它會 <emphasis>自動</emphasis> 査找新的原始" "碼、下載並運行 <command>uupdate</command> 命令。<placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can release this updated source by repeating what you did in <xref " "linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref linkend=" "\"upload\"/>." msgstr "" "重複 <xref linkend=\"completebuild\"/> 、<xref linkend=\"checkit\"/> 和 " "<xref linkend=\"upload\"/> 中的操作,即可發佈此更新的套件。" #. type: Content of: <book><chapter><section><title> msgid "Updating the packaging style" msgstr "更新打包風格" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "If your sponsor or other maintainers object to updating the existing " #| "packaging style, it is not worth bothering nor arguing. There are more " #| "important things to do." msgid "" "If your sponsor or other maintainers object to updating the existing " "packaging style, don't bother arguing. There are more important things to " "do." msgstr "" "如果你的 sponsor 或其他維護者一定反對更新已有的打包風格,則不值得去爲此煩惱或" "爭論,總是有更重要的事要做。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Updating the package style is not a required activity for the update of a " #| "package. But, you can use the full capability of the modern <systemitem " #| "role=\"package\">debhelper</systemitem> system and the <literal>3.0</" #| "literal> source format by doing this. <placeholder type=\"footnote\" id=" #| "\"0\"/>" msgid "" "Updating the package style is not a required activity for the update of a " "package. However, doing so lets you use the full capabilities of the modern " "<systemitem role=\"package\">debhelper</systemitem> system and the " "<literal>3.0</literal> source format. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "更新打包風格不是更新套件的必須步驟,但是這樣可以使你的套件得到對現代的 " "<systemitem role=\"package\">debhelper</systemitem> 系統和 <literal>3.0</" "literal> 原始碼套件格式完整的兼容性。<placeholder type=\"footnote\" id=\"0\"/" ">" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If you need to add erased template files for any reason, you may run " #| "<command>dh_make</command> again in the same Debian package source tree " #| "with <literal>--addmissing</literal> option. Then edit them properly." msgid "" "If you need to recreate deleted template files for any reason, you can run " "<command>dh_make</command> again in the same Debian package source tree with " "the <literal>--addmissing</literal> option. Then edit them appropriately." msgstr "" "如果你需要重新添加已刪除的模板檔案,可以在同一個 Debian 套件原始碼樹中運行 " "<command>dh_make</command>,並添加 <literal>--addmissing</literal> 選項。然後" "對模板進行相應的編輯。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If the package has not updated to use the <systemitem role=\"package" #| "\">debhelper</systemitem> V7 <command>dh</command> syntax for the " #| "<filename>debian/rules</filename> file, update it to use <command>dh</" #| "command>. Update the <filename>debian/control</filename> file " #| "accordingly." msgid "" "If the package has not been updated to use the <systemitem role=\"package" "\">debhelper</systemitem> v7+ <command>dh</command> syntax for the " "<filename>debian/rules</filename> file, update it to use <command>dh</" "command>. Update the <filename>debian/control</filename> file accordingly." msgstr "" "如果套件的 <filename>debian/rules</filename> 檔案沒有更新爲使用 <systemitem " "role=\"package\">debhelper</systemitem> V7 的 <command>dh</command> 語法,則" "更新它使用 <command>dh</command>。在需要的時候更新 <filename>debian/control</" "filename> 檔案。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If you want to update the <filename>rules</filename> file created with " #| "the <filename>Makefile</filename> inclusion mechanism of the Common " #| "Debian Build System (<systemitem role=\"package\">cdbs</systemitem>) to " #| "the <command>dh</command> syntax, see <filename>/usr/share/doc/cdbs/cdbs-" #| "doc.html</filename> and understand its <literal>DEB_*</literal> " #| "configuration variables. <placeholder type=\"footnote\" id=\"0\"/>" msgid "" "If you want to update the <filename>rules</filename> file created with the " "<filename>Makefile</filename> inclusion mechanism of the Common Debian Build " "System (<systemitem role=\"package\">cdbs</systemitem>) to the <command>dh</" "command> syntax, see the following to understand its <literal>DEB_*</" "literal> configuration variables." msgstr "" "如果你希望將使用 <systemitem role=\"package\">cdbs</systemitem> 的 " "<filename>Makefile</filename> 語法創建的 <filename>rules</filename> 檔案更新" "爲 <command>dh</command> 語法,參考 <filename>/usr/share/doc/cdbs/cdbs-doc." "html</filename> 並理解各 <literal>DEB_*</literal> 設定變量。<placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>docs</filename> file" msgid "local copy of <filename>&cdbs-doc;</filename>" msgstr "<filename>docs</filename> 檔案" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If you have a <literal>1.0</literal> source package without the " #| "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " #| "update it to the newer <literal>3.0 (native)</literal> source format by " #| "creating <filename>debian/source/format</filename> with <literal>3.0 " #| "(native)</literal>. The rest of <filename>debian/*</filename> files can " #| "be just copied." msgid "" "If you have a <literal>1.0</literal> source package without the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (native)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(native)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied." msgstr "" "如果你有一個不帶有 <filename><replaceable>foo</replaceable>.diff.gz</" "filename> 檔案的 <literal>1.0</literal> 格式的原始碼套件,你可以通過創建 " "<filename>debian/source/format</filename> 檔案並在其中添加 <literal>3.0 " "(native)</literal> 來將其更新爲新的 <literal>3.0 (native)</literal> 原始碼套" "件格式。<filename>debian</filename> 目錄中的其他檔案可以直接複製過來。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "You may split <filename>big.diff</filename> into many small incremental " #| "patches using the <command>splitdiff</command> command." msgid "" "You can split <filename>big.diff</filename> into many small incremental " "patches using the <command>splitdiff</command> command." msgstr "" "你可能使用 <command>splitdiff</command> 命令將 <filename>big.diff</filename> " "分割爲多個有各自作用的補丁。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If you have a <literal>1.0</literal> source package with the " #| "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " #| "update it to the newer <literal>3.0 (quilt)</literal> source format by " #| "creating <filename>debian/source/format</filename> with <literal>3.0 " #| "(quilt)</literal>. The rest of <filename>debian/*</filename> files can " #| "be just copied. Import the <filename>big.diff</filename> file generated " #| "by the <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" #| "replaceable>.diff.gz > big.diff</literal> command to your " #| "<command>quilt</command> system, if needed. <placeholder type=\"footnote" #| "\" id=\"0\"/>" msgid "" "If you have a <literal>1.0</literal> source package with the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (quilt)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(quilt)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied. Import the <filename>big.diff</filename> file generated by " "the command <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" "replaceable>.diff.gz > big.diff</literal> to your <command>quilt</" "command> system, if needed. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "如果你有一個帶有 <filename><replaceable>foo</replaceable>.diff.gz</filename> " "檔案的 <literal>1.0</literal> 格式的原始碼套件,你可以通過創建 " "<filename>debian/source/format</filename> 檔案並在其中添加 <literal>3.0 " "(quilt)</literal> 來將其更新爲新的 <literal>3.0 (quilt)</literal> 原始碼套件" "格式。<filename>debian</filename> 目錄中的其他檔案可以直接複製過來。如果需" "要,把 <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</replaceable>." "diff.gz > big.diff</literal> 生成的 <filename>big.diff</filename> 檔案導入" "到 <command>quilt</command> 系統。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If it was packaged with another patch system such as <systemitem role=" #| "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" #| "systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " #| "<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</" #| "literal>, convert it to the <systemitem role=\"package\">quilt</" #| "systemitem> command using <filename>deb3</filename> at <ulink url=\"&deb3;" #| "\">&deb3;</ulink>." msgid "" "If it was packaged using another patch system such as <systemitem role=" "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" "systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " "<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, " "convert it to the <systemitem role=\"package\">quilt</systemitem> command " "using <filename>deb3</filename> at <ulink url=\"&deb3;\"/>." msgstr "" "如果它使用了其他的補丁系統,例如 <systemitem role=\"package\">dpatch</" "systemitem>、<systemitem role=\"package\">dbs</systemitem> 或 <systemitem " "role=\"package\">cdbs</systemitem>,使用 <literal>-p0</literal>、<literal>-" "p1</literal> 或 <literal>-p2</literal> 級別,使用 <ulink url=\"&deb3;" "\">&deb3;</ulink> 的 <filename>deb3</filename> 命令將其轉換到 <systemitem " "role=\"package\">quilt</systemitem> 系統。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If it was packaged with the <command>dh</command> command with the " #| "<literal>--with quilt</literal> option or with the " #| "<command>dh_quilt_patch</command> and <command>dh_quilt_unpatch</command> " #| "commands, remove such things and make it use the newer <literal>3.0 " #| "(native)</literal> source format." msgid "" "If it was packaged with the <command>dh</command> command with the " "<literal>--with quilt</literal> option or with the <command>dh_quilt_patch</" "command> and <command>dh_quilt_unpatch</command> commands, remove these and " "make it use the newer <literal>3.0 (native)</literal> source format." msgstr "" "如果它使用 <command>dh</command> 命令的 <literal>--with quilt</literal> 選" "項,或 <command>dh_quilt_patch</command> 和 <command>dh_quilt_unpatch</" "command> 命令,刪除它們並使其使用新的 <literal>3.0 (native)</literal> 原始碼" "套件格式。" #. type: Content of: <book><chapter><section><para> msgid "" "You should check <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> and adopt ACCEPTED proposals." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You need to do other tasks described in <xref linkend=\"newupstream\"/>, " #| "too." msgid "" "You need to do the other tasks described in <xref linkend=\"newupstream\"/>, " "too." msgstr "當然你還需要按照 <xref linkend=\"newupstream\"/> 完成其他的步驟。" #. type: Content of: <book><chapter><section><title> msgid "UTF-8 conversion" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream documents are encoded in old encoding schemes, converting them " "to <ulink url=\"&utf8;\">UTF-8</ulink> is a good idea." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "Use <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert encodings of plain text files." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令會安裝這個檔案。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, fuzzy, no-wrap #| msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgid "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs files and " #| "directories listed in this file as example files." msgid "" "Use <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert from HTML files to UTF-8 plain text " "files. When you do this, make sure to execute it under UTF-8 locale." msgstr "" "<citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 會將列出的檔案和目錄作爲範例檔案安" "裝。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Reminders for updating packages" msgstr "對更新套件的幾點提示" #. type: Content of: <book><chapter><section><para> msgid "Here are few reminders for updating packages." msgstr "以下是對更新套件的幾點提示。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Preserve old <filename>changelog</filename> entries (sounds obvious, but " #| "there have been incidents to type <literal>dch</literal> when you should " #| "have typed <literal>dch -i</literal>.)" msgid "" "Preserve old <filename>changelog</filename> entries (sounds obvious, but " "there have been cases of people typing <literal>dch</literal> when they " "should have typed <literal>dch -i</literal>.)" msgstr "" "保留舊的 <filename>changelog</filename> 條目(看似顯然,但是總有可能把 " "<literal>dch -i</literal> 輸入爲 <literal>dch</literal>)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Existing Debian changes need to be reevaluated; throw away stuff that " "upstream has incorporated (in one form or another) and remember to keep " "stuff that hasn't been incorporated by upstream, unless there is a " "compelling reason not to." msgstr "" "已存在的 Debian 修改需要被重新校驗,去除上游已經接受的東西,除非有必要的原" "因,還要記錄尚未被上游接受的部分。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If any changes were made to the build system (hopefully you'd know from " "inspecting upstream changes) then update the <filename>debian/rules</" "filename> and <filename>debian/control</filename> build dependencies if " "necessary." msgstr "" "如果對編譯系統作出了修改(希望你已經在檢査上游變更時瞭解了這些),那麼要在必要" "時更新 <filename>debian/rules</filename> 和 <filename>debian/control</" "filename> 編譯依賴關係。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Check to see <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</" #| "ulink> if someone have provided patches to bugs that are currently open " #| "in it." msgid "" "Check the <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> to " "see if someone has provided patches to bugs that are currently open." msgstr "" "檢査 <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> 是否有人爲" "某些仍然未修復的 Bug 提供了補丁。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Check the contents of the <filename>.changes</filename> file to make sure " #| "you are uploading to the correct distribution, the proper bugs closures " #| "are listed in the <literal>Closes</literal> field, the " #| "<literal>Maintainer</literal> and <literal>Changed-By</literal> fields " #| "match, the file is GPG-signed, etc." msgid "" "Check the contents of the <filename>.changes</filename> file to make sure " "you are uploading to the correct distribution, the proper bug closures are " "listed in the <literal>Closes</literal> field, the <literal>Maintainer</" "literal> and <literal>Changed-By</literal> fields match, the file is GPG-" "signed, etc." msgstr "" "檢査 <filename>.changes</filename> 檔案以確保你正要上傳到正確的發行版、正確的" "列於 <literal>Closes</literal> 欄位的 Bug、<literal>Maintainer</literal> 和 " "<literal>Changed-By</literal> 欄位相匹配,且該檔案已經使用 GPG 簽署等。" #. type: Content of: <book><chapter><title> msgid "Uploading the package" msgstr "上傳套件" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "Now that you have tested your new package thoroughly, you will be " #| "technically ready to start the Debian new maintainer application process, " #| "as described at <ulink url=\"&nm-join;\">&nm-join;</ulink>" msgid "" "Now that you have tested your new package thoroughly, you want to release it " "to a public archive to share it." msgstr "" "當你完成了對套件的徹底測試,在技術上你已經滿足了申請 Debian 新維護人員的要" "求,詳細的描述參考 <ulink url=\"&nm-join;\">&nm-join;</ulink>" #. type: Content of: <book><chapter><section><title> msgid "Uploading to the Debian archive" msgstr "上傳到 Debian 倉庫" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <xref linkend=\"socialdynamics\"/>." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are publicly accessible archives such as <ulink url=\"&mentors-dn;\"/> " "which work almost the same way as the Debian archive and provide an upload " "area for non-DDs. You can set up an equivalent archive by yourself using " "the tools listed at <ulink url=\"&deb-archive;\"/>. So this section is " "useful for non-DDs, too." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "The <systemitem role=\"package\">dput</systemitem> package seems to come " #| "with more features and becoming more popular than the <systemitem role=" #| "\"package\">dupload</systemitem> package. It uses the <filename>/etc/" #| "dput</filename> file for the global configuration and the <filename>~/." #| "dput.cf</filename> file for the per-user one. It supports Ubuntu related " #| "services out-of-box, too." msgid "" "The <systemitem role=\"package\">dput</systemitem> package seems to come " "with more features and to be becoming more popular than the <systemitem role=" "\"package\">dupload</systemitem> package. It uses the file <filename>/etc/" "dput</filename> for its global configuration and the file <filename>~/.dput." "cf</filename> for per-user configuration. It supports Ubuntu-related " "services out-of-the-box, too." msgstr "" "<systemitem role=\"package\">dput</systemitem> 套件提供了更多的特性,相比於 " "<systemitem role=\"package\">dupload</systemitem> 也越來越受歡迎。它使用 " "<filename>/etc/dput</filename> 檔案作爲全局設定檔案、<filename>~/.dput.cf</" "filename> 作爲用戶設定檔案。它也直接支持 Ubuntu 相關的服務。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Once you become an official developer, you'll need to upload the package " #| "to the Debian archive. You can do this manually, but it's easier to use " #| "the provided automated tools, like <citerefentry> <refentrytitle>dupload</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " #| "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>. We'll describe how it's done with <command>dupload</" #| "command>. <placeholder type=\"footnote\" id=\"0\"/>" msgid "" "Once you become an official developer, <placeholder type=\"footnote\" id=" "\"0\"/> you can upload the package to the Debian archive. <placeholder type=" "\"footnote\" id=\"1\"/> You can do this manually, but it's easier to use the " "existing automated tools, like <citerefentry> <refentrytitle>dupload</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. We'll describe how it's done with <command>dupload</" "command>. <placeholder type=\"footnote\" id=\"2\"/>" msgstr "" "當你成爲正式的開發人員,你會需要把套件上傳到 Debian 倉庫。你可以手工進行這項" "工作,但使用例如 <citerefentry> <refentrytitle>dupload</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 或 <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "的自動化工具可以幫你更好地完成這項操作。在此我們將敘述如何使用 " "<command>dupload</command> 操作。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "First you have to set up <command>dupload</command>'s config file. You can " "either edit the system-wide <filename>/etc/dupload.conf</filename> file, or " "have your own <filename>~/.dupload.conf</filename> file override the few " "things you want to change." msgstr "" "首先需要設置 <command>dupload</command> 的設定檔案。你既可以編輯系統級的 " "<filename>/etc/dupload.conf</filename> 檔案,也可以使用自己的 <filename>~/." "dupload.conf</filename> 檔案覆蓋一些需要修改的設置。" #. type: Content of: <book><chapter><section><para> msgid "" "You can read the <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> manual page to understand what each " "of these options means." msgstr "" "你可以閱讀 <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> man 手冊頁來了解各選項的含義。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "For more help about these, check in <ulink url=\"&developers-reference;" #| "\">Debian Developer's Reference</ulink>." msgid "" "See <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. " "\"Uploading a package\"</ulink>." msgstr "" "關於這些問題的更多幫助,査看 <ulink url=\"&developers-reference;\">Debian " "Developer's Reference</ulink>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <literal>$default_host</literal> option determines which of the " #| "upload queues will be used by default. <literal>anonymous-ftp-master</" #| "literal> is the primary one, but it's possible that you will want to use " #| "another one." msgid "" "The <literal>$default_host</literal> option determines which of the upload " "queues will be used by default. <literal>anonymous-ftp-master</literal> is " "the primary one, but it's possible that you will want to use another one. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>$default_host</literal> 選項決定了默認使用哪個上傳隊列," "<literal>anonymous-ftp-master</literal> 是最基本的一個,但你很可能希望改用其" "他的。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "While connected to the Internet, you can upload your package by the " #| "following:" msgid "" "While connected to the Internet, you can upload your package as follows:" msgstr "連接到互聯網後,可以使用以下命令上傳你的套件:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dupload gentoo_0.9.12-1_i386.changes\n" msgstr "$ dupload gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<command>dupload</command> checks that the MD5/SHA1/SHA256 checksums of " #| "the files match those from the <filename>.changes</filename> file. If " #| "they do not match, it will warn you to rebuild it as described in <xref " #| "linkend=\"completebuild\"/> so it can be properly uploaded." msgid "" "<command>dupload</command> checks that the SHA1/SHA256 file checksums match " "those listed in the <filename>.changes</filename> file. If they do not " "match, it will warn you to rebuild it as described in <xref linkend=" "\"completebuild\"/> so it can be properly uploaded." msgstr "" "<command>dupload</command> 會檢査檔案的 MD5/SHA1/SHA256 校驗和是否與 " "<filename>.changes</filename> 檔案中的相匹配,如果不匹配它會做出警告。你應按" "照如 <xref linkend=\"completebuild\"/> 所述來重構建套件使得它可以被正常上傳。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&uploadqueue-readme;\"/>. Alternatively, you can use the " "<command>dcut</command> command from the <systemitem role=\"package\">dput</" "systemitem> package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you encounter an upload problem at <ulink url=\"&uploadqueue;\"/>, you " "can fix this by manually uploading a GPG-signed <filename>*.commands</" "filename> file to there with <command>ftp</command>. <placeholder type=" "\"footnote\" id=\"0\"/> For example, using <filename>hello.commands</" "filename>:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "-----BEGIN PGP SIGNED MESSAGE-----\n" #| "Uploader: Foo Bar <Foo.Bar@example.org>\n" #| "Commands: \n" #| " rm hello_1.0-1_i386.deb\n" #| " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" #| "-----BEGIN PGP SIGNATURE-----\n" #| "Version: 2.6.3ia\n" #| "iQCVAwUBNFiQSXVhJ0HiWnvJAQG58AP+IDJVeSWmDvzMUphScg1EK0mvChgnuD7h\n" #| "BRiVQubXkB2DphLJW5UUSRnjw1iuFcYwH/lFpNpl7XP95LkLX3iFza9qItw4k2/q\n" #| "tvylZkmIA9jxCyv/YB6zZCbHmbvUnL473eLRoxlnYZd3JFaCZMJ86B0Ph4GFNPAf\n" #| "Z4jxNrgh7Bc=\n" #| "=pH94\n" #| "-----END PGP SIGNATURE-----\n" msgid "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" msgstr "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: 2.6.3ia\n" "iQCVAwUBNFiQSXVhJ0HiWnvJAQG58AP+IDJVeSWmDvzMUphScg1EK0mvChgnuD7h\n" "BRiVQubXkB2DphLJW5UUSRnjw1iuFcYwH/lFpNpl7XP95LkLX3iFza9qItw4k2/q\n" "tvylZkmIA9jxCyv/YB6zZCbHmbvUnL473eLRoxlnYZd3JFaCZMJ86B0Ph4GFNPAf\n" "Z4jxNrgh7Bc=\n" "=pH94\n" "-----END PGP SIGNATURE-----\n" #. type: Content of: <book><chapter><section><title> msgid "Including <filename>orig.tar.gz</filename> for upload" msgstr "在上傳時包含 <filename>orig.tar.gz</filename> 檔案" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "When you first upload the package to the archive, you need to include the " #| "original <filename>orig.tar.gz</filename> source. If the last changelog " #| "entry is not the first one for the given upstream version, you must " #| "provide <command>dpkg-buildpackage</command> command with the <literal>-" #| "sa</literal> option. On the other hand, the <literal>-sd</literal> " #| "option will force to exclude the original <filename>orig.tar.gz</" #| "filename> source." msgid "" "When you first upload the package to the archive, you need to include the " "original <filename>orig.tar.gz</filename> source, too. If the Debian " "revision number of this package is neither <literal>1</literal> nor " "<literal>0</literal>, you must provide the <command>dpkg-buildpackage</" "command> option <literal>-sa</literal>." msgstr "" "第一次向倉庫上傳套件時要包含 <filename>orig.tar.gz</filename> 原始碼歸檔。如" "果 changelog 中的最後一個條目是這個上游版本的第一次上傳,那麼應爲 " "<command>dpkg-buildpackage</command> 命令傳遞 <literal>-sa</literal> 選項。相" "反,<literal>-sd</literal> 選項會強制將原始的 <filename>orig.tar.gz</" "filename> 原始碼歸檔排除在外。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "<command>debc</command> command" msgid "For the <command>dpkg-buildpackage</command> command:" msgstr "<command>debc</command> 命令" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ dpkg-buildpackage -B\n" msgid "$ dpkg-buildpackage -sa\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "<command>debuild</command> command" msgid "For the <command>debuild</command> command:" msgstr "<command>debuild</command> 命令" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -sa\n" msgstr "$ debuild -sa\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "<command>debuild</command> command" msgid "For the <command>pdebuild</command> command:" msgstr "<command>debuild</command> 命令" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts -sa\n" msgstr "$ pdebuild --debbuildopts -sa\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Please note that the <command>dpkg-buildpackage</command> option " #| "<literal>-sa</literal> to include the original <filename>orig.tar.gz</" #| "filename> source can be specified as:" msgid "" "On the other hand, the <literal>-sd</literal> option will force the " "exclusion of the original <filename>orig.tar.gz</filename> source." msgstr "" "請注意用於包含 <filename>orig.tar.gz</filename> 原始碼歸檔的 <command>dpkg-" "buildpackage</command> 參數 <literal>-sa</literal> 可以這樣傳遞:" #. type: Content of: <book><chapter><section><title> msgid "Skipped uploads" msgstr "跳過的上傳" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If you created multiple entries in <filename>debian/changelog</filename> " #| "by skipping uploads, you must create a proper <filename>*_.changes</" #| "filename> file which includes all changes from the last upload." msgid "" "If you created multiple entries in <filename>debian/changelog</filename> by " "skipping uploads, you must create a proper <filename>*_.changes</filename> " "file which includes all changes from the last upload. This can be done by " "specifying the <command>dpkg-buildpackage</command> option <literal>-v</" "literal> with the version, e.g., <literal><replaceable>1.2</replaceable></" "literal>." msgstr "" "如果你在 <filename>debian/changelog</filename> 創建了多個條目並跳過了上傳,你" "必須創建一個對應的 <filename>*_.changes</filename> 檔案,其中包含自上次上傳以" "來的全部變更記錄。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ debc <replaceable>package</replaceable>.changes\n" msgid "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" msgstr "$ debc <replaceable>package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ debc <replaceable>package</replaceable>.changes\n" msgid "$ debuild -v<replaceable>1.2</replaceable>\n" msgstr "$ debc <replaceable>package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ sudo pbuilder --build --debbuildopts -sa <replaceable>foo</replaceable>.dsc\n" msgid "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" msgstr "$ sudo pbuilder --build --debbuildopts -sa <replaceable>foo</replaceable>.dsc\n" #. type: Content of: <book><appendix><title> #, fuzzy #| msgid "Updating the packaging style" msgid "Advanced packaging" msgstr "更新打包風格" #. type: Content of: <book><appendix><para> msgid "" "Here are some hints and pointers for advanced packaging topics which you are " "most likely to deal with. You are strongly advised to read all the " "references suggested here." msgstr "" #. type: Content of: <book><appendix><section><title> #, fuzzy #| msgid "Differing libraries" msgid "Shared libraries" msgstr "不一樣的函式庫名稱" #. type: Content of: <book><appendix><section><para> msgid "" "Before packaging shared <ulink url=\"&library;\">libraries</ulink>, you " "should read the following primary references in detail." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><para> msgid "Here are some oversimplified hints for you to get started." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are <ulink url=\"&elf;\">ELF</ulink> object files " "containing compiled code." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "There is the <filename>.orig</filename> before the <filename>.tar.gz</" #| "filename>." msgid "" "Shared libraries are distributed as <filename>*.so</filename> files. " "(Neither <filename>*.a</filename> files nor <filename>*.la</filename> files)" msgstr "<filename>.tar.gz</filename> 副檔名前有 <filename>.orig</filename>。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are mainly used to share common codes among multiple " "executables with the <command>ld</command> mechanism." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are sometimes used to provide multiple plugins to an " "executable with the <command>dlopen</command> mechanism." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries export <ulink url=\"&symbol;\">symbols</ulink> which " "represent compiled objects such as variables, functions, and classes; and " "enables access to them from the linked executables." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "Update the Debian <filename>changelog</filename> file with <literal>dch -" #| "v <replaceable>newversion</replaceable>-<replaceable>1</replaceable></" #| "literal>." msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" msgstr "" "使用 <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</" "replaceable></literal> 更新 Debian <filename>changelog</filename> 檔案。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&soname;\">SONAME</ulink> of a shared library " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of a shared library usually matches the library file name (but " "not always)." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "Update the Debian <filename>changelog</filename> file with <literal>dch -" #| "v <replaceable>newversion</replaceable>-<replaceable>1</replaceable></" #| "literal>." msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" msgstr "" "使用 <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</" "replaceable></literal> 更新 Debian <filename>changelog</filename> 檔案。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of shared libraries linked to <filename><replaceable>/usr/bin/" "foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/foo</" "replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "See <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time " "shared libraries\"</ulink>." msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" #| "systemitem> is packaged in the old <literal>1.0</literal> format, this " #| "can be done by running <literal>zcat /<replaceable>path</replaceable>/" #| "<replaceable>to</replaceable>/<replaceable>foo</" #| "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" #| "literal> in the new extracted source, instead." msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: the library package " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> with the SONAME ABI version " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "如果套件 <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> 是使用舊的 <literal>1.0</literal> 格式的,可以在新解壓的原始碼目" "錄裏運行 <literal>zcat /<replaceable>path</replaceable>/<replaceable>to</" "replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</" "replaceable>.diff.gz|patch -p1</literal> 來完成。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "See <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig" "\"</ulink>." msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The package maintainer scripts of the library package must call " "<command>ldconfig</command> under the specific circumstances to create the " "necessary symbolic links for the SONAME.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: the debugging " "symbols package which contains the debugging symbols for the shared library " "package <systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> and <ulink url=\"&policy-dev;\">Debian Policy Manual, " "8.4 \"Development files\"</ulink>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" #| "systemitem> is packaged in the old <literal>1.0</literal> format, this " #| "can be done by running <literal>zcat /<replaceable>path</replaceable>/" #| "<replaceable>to</replaceable>/<replaceable>foo</" #| "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" #| "literal> in the new extracted source, instead." msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: the development package which contains the header files etc. " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "如果套件 <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> 是使用舊的 <literal>1.0</literal> 格式的,可以在新解壓的原始碼目" "錄裏運行 <literal>zcat /<replaceable>path</replaceable>/<replaceable>to</" "replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</" "replaceable>.diff.gz|patch -p1</literal> 來完成。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not contain <filename>*.la</filename> Libtool archive " "files in general.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgid "See <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Please read the other manuals if you need more details on terminology." msgid "" "Debian package should not use RPATH in general.<placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "如果你需要更詳細地瞭解術語,請閱讀其他手冊。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Although it is somewhat outdated and is only a secondary reference, <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "may still be useful." msgstr "" #. type: Content of: <book><appendix><section><title> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.examples</filename> file" msgid "" "Managing <filename>debian/<replaceable>package</replaceable>.symbols</" "filename>" msgstr "<filename><replaceable>package</replaceable>.examples</filename> 檔案" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Backward-incompatible ABI changes normally require you to update the SONAME " "of the library and the shared library package name to new ones." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "When you package a shared library, you should create <filename>debian/" "<replaceable>package</replaceable>.symbols</filename> file to manage the " "minimal version associated to each symbol for backward-compatible ABI " "changes under the same SONAME of the library for the same shared library " "package name.<placeholder type=\"footnote\" id=\"0\"/> You should read the " "following primary references in detail." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "For C++ libraries and other cases where tracking individual symbols is too " "difficult, follow <ulink url=\"&policy-library-shlibs;\">Debian Policy " "Manual, 8.6.4 \"The shlibs system\"</ulink>, instead." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令會安裝這個檔案。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令會安裝這個檔案。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令會安裝這個檔案。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令會安裝這個檔案。" #. type: Content of: <book><appendix><section><para> msgid "" "Here is a rough example to create the <systemitem role=\"package\">libfoo1</" "systemitem> package to the upstream version <literal>1.3</literal> with the " "proper <filename>debian/libfoo1.symbols</filename> file." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Prepare the skeleton debianized source tree using the upstream " "<filename>libfoo-1.3.tar.gz</filename> file." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "To install <filename>doc/gentoo.1</filename> for the <systemitem role=" #| "\"package\">gentoo</systemitem> package as its manpage, you create a " #| "<filename>gentoo.manpages</filename> file as:" msgid "" "If this is the first packaging of the <systemitem role=\"package\">libfoo1</" "systemitem> package, create the <filename>debian/libfoo1.symbols</filename> " "file with empty content." msgstr "" "要將 <filename>doc/gentoo.1</filename> 安裝爲 <systemitem role=\"package" "\">gentoo</systemitem> 的 man 手冊頁,創建一個 <filename>gentoo.manpages</" "filename>,內容如下:" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was packaged as the " "<systemitem role=\"package\">libfoo1</systemitem> package with the proper " "<filename>debian/libfoo1.symbols</filename> in its source package, use it " "again." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "All previous versions of Debian packages are available at <ulink url=" "\"&snapshot;\">http://snapshot.debian.org/</ulink>. The Debian revision is " "dropped from the version to make it easier to backport the package: " "<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " "<literal>1.1-1</literal> and <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was not packaged " "with the <filename>debian/libfoo1.symbols</filename>, create it as the " "<filename>symbols</filename> file from all available binary packages of the " "same shared library package name containing the same SONAME of the library, " "for example, versions <literal>1.1-1</literal> and <literal>1.2-1</" "literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Make trial builds of the source tree with tools such as <command>debuild</" "command> and <command>pdebuild</command>. (If this fails due to missing " "symbols etc., there were some backward-incompatible ABI changes which " "require you to bump the shared library package name to something like " "<systemitem role=\"package\">libfoo1a</systemitem> and you should start over " "again.)" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "The Debian revision is dropped from the version to make it easier to " "backport the package: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "If you see the diff printed by the <command>dpkg-gensymbols</command> as " "above, extract the updated proper <filename>symbols</filename> file from the " "generated binary package of the shared library. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Add support of the <command>dh_quilt_patch</command> and " #| "<command>dh_quilt_unpatch</command> commands." msgid "" "Build release packages with tools such as <command>debuild</command> and " "<command>pdebuild</command>." msgstr "" "添加 <command>dh_quilt_patch</command> 和 <command>dh_quilt_unpatch</" "command> 命令支持。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" msgstr "" #. type: Content of: <book><appendix><section><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "See <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 \"Shared " "library ABI changes\"</ulink>." msgstr "" "第 3 行描述了用戶安裝此套件的優先級。具體說明參考 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><para> msgid "" "In addition to the above examples, we need to check the ABI compatibility " "further and bump versions for some symbols manually as needed. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Although it is only a secondary reference, <ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> and its linked web pages may be " "useful." msgstr "" #. type: Content of: <book><appendix><section><title> msgid "Multiarch" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "The multiarch feature introduced to Debian wheezy integrates support for " "cross-architecture installation of binary packages (particularly " "<literal>i386</literal><-><literal>amd64</literal>, but also other " "combinations) in <systemitem role=\"package\">dpkg</systemitem> and " "<systemitem role=\"package\">apt</systemitem>. You should read the " "following references in detail." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (upstream)" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian situation)" msgstr "" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Old special purpose library paths such as <filename>/lib32/</filename> and " "<filename>/lib64/</filename> are not used any more." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "It uses the triplet such as <literal>i386-linux-gnu</literal> and " "<literal>x86_64-linux-gnu</literal> for the install path of shared " "libraries. The actual triplet path is dynamically set into <literal>" "$(DEB_HOST_MULTIARCH)</literal> value by <citerefentry> <refentrytitle>dpkg-" "architecture</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for " "each build. For example, the path to install multiarch libraries are " "changed as follows.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> #, fuzzy #| msgid "library packages," msgid "Old path" msgstr "函式庫套件;" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "i386 multiarch path" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> #, fuzzy #| msgid "library packages," msgid "amd64 multiarch path" msgstr "函式庫套件;" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>dirs</filename> file" msgid "<filename>/lib/</filename>" msgstr "<filename>dirs</filename> 檔案" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>menu</filename> file" msgid "<filename>/lib/i386-linux-gnu/</filename>" msgstr "<filename>menu</filename> 檔案" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>menu</filename> file" msgid "<filename>/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>menu</filename> 檔案" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>rules</filename> file" msgid "<filename>/usr/lib/</filename>" msgstr "<filename>rules</filename> 檔案" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>install</filename> file" msgid "<filename>/usr/lib/i386-linux-gnu/</filename>" msgstr "<filename>install</filename> 檔案" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>install</filename> file" msgid "<filename>/usr/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>install</filename> 檔案" #. type: Content of: <book><appendix><section><para> msgid "" "Here are some typical multiarch package split scenario examples for the " "followings:" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename><replaceable>package</replaceable>.cron.*</filename> files" msgid "" "a library source <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" msgstr "<filename><replaceable>package</replaceable>.cron.*</filename> 檔案" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Create a copy of the upstream source as the " #| "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</" #| "filename> file." msgid "" "a tool source <filename><replaceable>bar</replaceable>-1.tar.gz</filename> " "written in a compiled language" msgstr "" "創建一份上游原始碼的副本,命名爲 <filename>foo_<replaceable>newversion</" "replaceable>.orig.tar.gz</filename>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename><replaceable>package</replaceable>.info</filename> file" msgid "" "a tool source <filename><replaceable>baz</replaceable>-1.tar.gz</filename> " "written in an interpreted language" msgstr "<filename><replaceable>package</replaceable>.info</filename> 檔案" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Architecture:" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Multi-Arch:" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> #, fuzzy #| msgid "Package name and version" msgid "Package content" msgstr "套件名稱和版本" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "" #| "Update the Debian <filename>changelog</filename> file with <literal>dch -" #| "v <replaceable>newversion</replaceable>-<replaceable>1</replaceable></" #| "literal>." msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" msgstr "" "使用 <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</" "replaceable></literal> 更新 Debian <filename>changelog</filename> 檔案。" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "any" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "same" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library, co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "" #| "Update the Debian <filename>changelog</filename> file with <literal>dch -" #| "v <replaceable>newversion</replaceable>-<replaceable>1</replaceable></" #| "literal>." msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" msgstr "" "使用 <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</" "replaceable></literal> 更新 Debian <filename>changelog</filename> 檔案。" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library debug symbols, co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 套件" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "Required files under the <filename>debian</filename> directory" msgid "the shared library header files etc., co-installable" msgstr "<filename>debian</filename> 目錄中的必須內容" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 套件" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "foreign" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the run-time support programs, not co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 套件" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "all" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library documentation files" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 套件" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the compiled program files, not co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 套件" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the documentation files for the program" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgid "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 套件" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the interpreted program files" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Please note that the development package should contain a symlink for the " "associated shared library <emphasis role=\"strong\">without a version " "number</emphasis>. E.g.: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</" "filename> -> <filename>libfoo.so.1</filename>" msgstr "" #. type: Content of: <book><appendix><section><title> #, fuzzy #| msgid "Building the package" msgid "Building a shared library package" msgstr "構建套件" #. type: Content of: <book><appendix><section><para> #, fuzzy #| msgid "" #| "You can list files in the binary Debian package by <citerefentry> " #| "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry> command." msgid "" "You can build a Debian library package enabling the multiarch support using " "<citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> as follows." msgstr "" "你可以使用 <citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令列出一個二進位 Debian 套件中的檔案。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>control</filename> file" msgid "Update <filename>debian/control</filename>." msgstr "<filename>control</filename> 檔案" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgid "" "Add <literal>Build-Depends: debhelper (>=9)</literal> for the source package " "section." msgstr "<literal>3.0 (native)</literal> - Debian native 軟體" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Pre-Depends: ${misc:Pre-Depends}</literal> for each shared " "library binary package." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgid "" "Add <literal>Multi-Arch:</literal> stanza for each binary package section." msgstr "<literal>3.0 (native)</literal> - Debian native 軟體" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>compat</filename> file" msgid "Set <filename>debian/compat</filename> to \"9\"." msgstr "<filename>compat</filename> 檔案" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Adjust the path from the normal <literal>/usr/lib/</literal> to the " "multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> for all " "packaging scripts." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Call <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> in <filename>debian/rules</filename> to set " "<literal>DEB_HOST_MULTIARCH</literal> variable, first." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace <literal>/usr/lib/</literal> with <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> in <filename>debian/rules</filename>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively, you can add <literal>--libdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> and <literal>--libexecdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> arguments to <literal>./configure</" "literal>. Please note that <literal>--libexecdir</literal> specifies the " "default path to install executable programs run by other programs rather " "than by users. Its Autotools default is <filename>/usr/libexec/</filename> " "but its Debian default is <filename>/usr/lib/</filename>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If <literal>./configure</literal> is used in the part of " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>, make sure to replace it with <literal>dh_auto_configure -- " "</literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace all occurrences of <literal>/usr/lib/</literal> with <literal>/usr/" "lib/*/</literal> in <filename>debian/<replaceable>foo</replaceable>.install</" "filename> files." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Generate files like <filename>debian/<replaceable>foo</replaceable>.links</" "filename> from <filename>debian/<replaceable>foo</replaceable>.links.in</" "filename> dynamically by adding a script to " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Please make sure to verify that the shared library package contains only the " "expected files, and that your -dev package still works." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "All files installed simultaneously as the multiarch package to the same file " "path should have exactly the same file content. You must be careful on " "differences generated by the data byte order and by the compression " "algorithm." msgstr "" #, fuzzy #~| msgid "Building the package" #~ msgid "Build release packages." #~ msgstr "構建套件" #, fuzzy #~| msgid "<filename>dirs</filename> file" #~ msgid "<filename>/lib64/</filename>" #~ msgstr "<filename>dirs</filename> 檔案" #, fuzzy #~| msgid "<filename>rules</filename> file" #~ msgid "<filename>/usr/lib64/</filename>" #~ msgstr "<filename>rules</filename> 檔案" #, fuzzy #~| msgid "" #~| "install: gentoo-target\n" #~| " install ./gentoo $(BIN)\n" #~| " install icons/* $(ICONS)\n" #~| " install gentoorc-example $(HOME)/.gentoorc\n" #~ msgid "" #~ "install: gentoo-target\n" #~ "install ./gentoo $(BIN)\n" #~ "install icons/* $(ICONS)\n" #~ "install gentoorc-example $(HOME)/.gentoorc\n" #~ msgstr "" #~ "install: gentoo-target\n" #~ " install ./gentoo $(BIN)\n" #~ " install icons/* $(ICONS)\n" #~ " install gentoorc-example $(HOME)/.gentoorc\n" #, fuzzy #~| msgid "" #~| "Some people use invalid distribution values such as <literal>UNRELEASED</" #~| "literal> to prevent a package to be accidentally uploaded when updating " #~| "a package in a shared VCS." #~ msgid "" #~ "Some people use invalid distribution values such as <literal>UNRELEASED</" #~ "literal> to prevent a package being accidentally uploaded when updating a " #~ "package in a shared VCS." #~ msgstr "" #~ "有些人使用無效的發行版名稱,如 <literal>UNRELEASED</literal> 以防止某些套" #~ "件在共享的 VCS 中修改時被意外上傳。" #, fuzzy #~| msgid "" #~| "These packages offer more elegant working environment than manual use of " #~| "the <command>quilt</command> commands for advanced audiences to " #~| "<emphasis>automate</emphasis> building of packages. I will not explain " #~| "them in this tutorial. <placeholder type=\"footnote\" id=\"0\"/>" #~ msgid "" #~ "For advanced audiences, there are packages which <emphasis>automate</" #~ "emphasis> the building of packages under a VCS-managed source tree. I " #~ "will not explain them in this tutorial. <placeholder type=\"footnote\" " #~ "id=\"0\"/>" #~ msgstr "" #~ "這些套件爲需要 <emphasis>自動化</emphasis> 編譯套件的資深打包人員提供了相" #~ "比於手工使用 <command>quilt</command> 命令更加整潔的工作環境,本文件裏不會" #~ "對此進行更多敘述。<placeholder type=\"footnote\" id=\"0\"/>" #, fuzzy #~| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #~ msgid "" #~ "<ulink url=\"&debpkg-tutorial2;\">Practical session 2: Packaging GNUjump</" #~ "ulink>" #~ msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #, fuzzy #~| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #~ msgid "" #~ "<ulink url=\"&debpkg-tutorial3;\">Practical session 3: Packaging a Java " #~ "library</ulink>" #~ msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #~ msgid "" #~ "This assumes that the <systemitem role=\"package\">python-support</" #~ "systemitem> package is installed on the system." #~ msgstr "" #~ "此處默認 <systemitem role=\"package\">python-support</systemitem> 套件已經" #~ "安裝在系統中。" #, fuzzy #~| msgid "" #~| "Use <literal>dh $@</literal> as usual. (This is enabled by default)" #~ msgid "" #~ "Use <literal>dh $@</literal> as usual. (Use of <command>dh_pysupport</" #~ "command> is the default)" #~ msgstr "照常使用 <literal>dh $@</literal>。(它被默認啓用)" #, fuzzy #~| msgid "" #~| "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" #~ msgid "" #~ "<ulink url=\"&git-buildpackage-doc;\">Building Debian Packages with git-" #~ "buildpackage</ulink>" #~ msgstr "" #~ "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" #, fuzzy #~| msgid "" #~| "Every <filename>rules</filename> file, as any other <filename>Makefile</" #~| "filename>, consists of several targets and their rules specifying how to " #~| "handle the source. <ulink url=\"&policy-debianrules;\">Debian Policy " #~| "Manual, 4.9 'Main building script: debian/rules'</ulink> explains its " #~| "details." #~ msgid "" #~ "Every <filename>rules</filename> file, as any other <filename>Makefile</" #~ "filename>, consists of several targets and their rules specifying how to " #~ "handle the source. <ulink url=\"&policy-debianrules;\">Debian Policy " #~ "Manual, 4.9 \"Main building script: debian/rules\"</ulink> explains its " #~ "details." #~ msgstr "" #~ "每個 <filename>rules</filename> 檔案都和其他的 <filename>Makefile</" #~ "filename> 一樣包含多個 target 和其中指定如何處理原始碼的規則。<ulink url=" #~ "\"&policy-debianrules;\">Debian Policy Manual, 4.9 'Main building script: " #~ "debian/rules'</ulink> 中對此做出了詳細解釋。" #~ msgid "" #~ "Rules that you want to execute are invoked as command line arguments (for " #~ "example, <literal>./debian/rules build</literal> or <literal>fakeroot " #~ "make -f debian/rules binary</literal>). After the target name, you can " #~ "name the dependency, program or file that the rule depends on. After " #~ "that, there can be any number of commands, indented with " #~ "<literal><replaceable>TAB</replaceable></literal>. A new rule begins " #~ "with the target declaration in the first column. Empty lines and lines " #~ "beginning with <literal>#</literal> (hash) are treated as comments and " #~ "ignored." #~ msgstr "" #~ "你希望執行的 target 規則可以通過命令行參數的方式觸發(例如 <literal>./" #~ "debian/rules build</literal> 或 <literal>fakeroot make -f debian/rules " #~ "binary</literal>)。target 名稱後你可以添加其依賴的 target 或檔案。此後是" #~ "以 <literal><replaceable>TAB</replaceable></literal> 開頭的任意數量的名" #~ "錄,每行一個。一個新的 target 則在行首頂格開始。空行和以 <literal>#</" #~ "literal> 開頭的行將被視爲註釋而忽略。" #~ msgid "" #~ "This document will explain every little (at first maybe irrelevant) step, " #~ "and help you create that first package, and to gain some experience in " #~ "building next releases of that and maybe other packages later on." #~ msgstr "" #~ "本文件會講述每一個細節(在開始時或許給人感覺毫不相關),並幫助你創建出自己的" #~ "第一個 Debian 套件,從而使你學習到如何打包該軟體的下一個版本或其他軟體的經" #~ "驗。" #~ msgid "Official Debian Developer" #~ msgstr "正式的 Debian Developer" #~ msgid "Basic terminology" #~ msgstr "基本術語" #~ msgid "There are two types of packages." #~ msgstr "一共有兩種類型的套件。" #~ msgid "" #~ "<emphasis role=\"strong\">source package</emphasis>: A source package is " #~ "a set of files which contain code and data which you can compile and " #~ "process into execution programs and formatted documents. It usually " #~ "comes as a combination of <filename>*.orig.tar.gz</filename>, <filename>*." #~ "debian.tar.gz</filename> (or <filename>*.diff.gz</filename>), and " #~ "<filename>*.dsc</filename>. Some other archive and compression methods " #~ "may be used, too." #~ msgstr "" #~ "<emphasis role=\"strong\">原始碼套件</emphasis>:原始碼套件包含了程式碼和" #~ "數據,可以編譯成爲可執行的程式和格式化的文件。它通常是以 <filename>*.orig." #~ "tar.gz</filename>、<filename>*.debian.tar.gz</filename> (或 <filename>*." #~ "diff.gz</filename>) 和 <filename>*.dsc</filename> 的組合形式出現的。也可能" #~ "使用一些其他的格式和壓縮方法。" #~ msgid "" #~ "<emphasis role=\"strong\">binary package</emphasis>: A binary package " #~ "contains execution programs and formatted documents. It usually comes as " #~ "<filename>*.deb</filename> for the normal Debian system and as " #~ "<filename>*.udeb</filename> for the Debian Installer." #~ msgstr "" #~ "<emphasis role=\"strong\">二進位套件</emphasis>:二進位套件包含了可執行的" #~ "程式和格式化的文件。它通常是以 <filename>*.deb</filename> 檔案的形式提供給" #~ "普通 Debian 系統,以及 <filename>*.udeb</filename> 檔案形式提供給 Debian " #~ "安裝程式。" #~ msgid "" #~ "Don't mix terms like source of the program and the source package of the " #~ "program!" #~ msgstr "不要混淆程式原始碼和程式的原始碼套件這樣相似但有區別的概念!" #, fuzzy #~| msgid "There are several version names used around Debian." #~ msgid "" #~ "There are several version names<placeholder type=\"footnote\" id=\"0\"/> " #~ "used around Debian." #~ msgstr "Debian 中使用了幾種不同的版本號。" #~ msgid "" #~ "<emphasis role=\"strong\">upstream source version</emphasis>: The " #~ "upstream source version is referred as <literal><replaceable>version</" #~ "replaceable></literal>." #~ msgstr "" #~ "<emphasis role=\"strong\">上游原始碼版本</emphasis>:上游原始碼版本被指代" #~ "爲 <literal><replaceable>version</replaceable></literal>。" #~ msgid "" #~ "<emphasis role=\"strong\">Debian revision</emphasis>: The revision by " #~ "Debian on package is referred as <literal><replaceable>revision</" #~ "replaceable></literal>." #~ msgstr "" #~ "<emphasis role=\"strong\">Debian 版本</emphasis>:Debian 套件的版本被指代" #~ "爲 <literal><replaceable>revision</replaceable></literal>。" #~ msgid "" #~ "<emphasis role=\"strong\">Debian package version</emphasis>: The Debian " #~ "package version is referred as the following." #~ msgstr "" #~ "<emphasis role=\"strong\">Debian 套件版本</emphasis>:Debian 套件版本被按" #~ "以下規則指代。" #~ msgid "" #~ "<literal><replaceable>version</replaceable></literal> for the native " #~ "Debian binary package and for the Debian source package." #~ msgstr "" #~ "對於 Debian 創建的軟體,其原始碼套件的版本即爲上文所述的 " #~ "<literal><replaceable>version</replaceable></literal>。" #~ msgid "" #~ "<literal><replaceable>version</replaceable>-<replaceable>revision</" #~ "replaceable></literal> for the non-native Debian binary package." #~ msgstr "" #~ "對於不是 Debian 創建的軟體,其原始碼套件的版本爲 " #~ "<literal><replaceable>version</replaceable>-<replaceable>revision</" #~ "replaceable></literal>。" #, fuzzy #~| msgid "<filename>changelog</filename> file" #~ msgid "files in <filename>/usr/share/doc/dpkg</filename>" #~ msgstr "<filename>changelog</filename> 檔案" #, fuzzy #~| msgid "Other files under the <filename>debian</filename> directory" #~ msgid "files in <filename>/usr/share/doc/debian</filename>" #~ msgstr "<filename>debian</filename> 目錄下的其他檔案" #, fuzzy #~| msgid "<filename>source/local-options</filename> file" #~ msgid "files in <filename>/usr/share/doc/autotools-dev</filename>" #~ msgstr "<filename>source/local-options</filename> 檔案" #~ msgid "" #~ "That program should result in binary executable form, libraries are " #~ "harder to handle." #~ msgstr "程式應當最終以二進位可執行程式的形式呈現,函式庫則較難處理。" #~ msgid "Free portable programs" #~ msgstr "自由的可移植程式" #, fuzzy #~| msgid "" #~| "See <ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and " #~| "<filename>/usr/share/doc/autotools-dev/README.Debian.gz</filename>." #~ msgid "" #~ "See <ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and " #~ "<ulink url=\"&autotools-readme;\"/>." #~ msgstr "" #~ "參考 <ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> 和 " #~ "<filename>/usr/share/doc/autotools-dev/README.Debian.gz</filename>。" #~ msgid "" #~ "For the package to be built correctly, you must make the program's " #~ "original name lowercase (if it isn't already), and you should move the " #~ "source directory to <filename><replaceable>packagename</replaceable>-" #~ "<replaceable>version</replaceable></filename>." #~ msgstr "" #~ "爲了讓套件可以正確地編譯和構建,如果程式原有的名字不是完全小寫的則必須將其" #~ "改成小寫,並且應當把原始碼以 <filename><replaceable>packagename</" #~ "replaceable>-<replaceable>version</replaceable></filename> 的形式命名。" #~ msgid "" #~ "If the program name consists of more than one word, contract them to one " #~ "word, or make an abbreviation. For example, program John's little editor " #~ "for X package would be named <systemitem role=\"package\">johnledx</" #~ "systemitem>, or <systemitem role=\"package\">jle4x</systemitem>, or " #~ "whatever you decide, as long as it's under some reasonable limit, e.g. " #~ "20 characters." #~ msgstr "" #~ "如果程式的名稱超過一個單詞,把它改成一個單詞或縮寫成合適的形式。例如,程" #~ "式“John's little editor for X”可以命名爲 <systemitem role=\"package" #~ "\">johnledx</systemitem> 或 <systemitem role=\"package\">jle4x</" #~ "systemitem>,或者隨便你認爲合適的其他名字。它需要符合一定的限制,比如長度" #~ "不要超過 20 和字符。" #~ msgid "" #~ "Version string can be compared by <literal>dpkg --compare-versions " #~ "<replaceable>ver1</replaceable> <replaceable>op</replaceable> " #~ "<replaceable>ver2</replaceable></literal>. See <citerefentry> " #~ "<refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> </" #~ "citerefentry> manpage." #~ msgstr "" #~ "Version 字符串可以用 <literal>dpkg --compare-versions <replaceable>ver1</" #~ "replaceable> <replaceable>op</replaceable> <replaceable>ver2</" #~ "replaceable></literal> 命令比較。參考 <citerefentry> <refentrytitle>dpkg</" #~ "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> man 手冊頁。" #~ msgid "" #~ "Also check for the exact version of the program (to be included in the " #~ "package version). If that piece of software is not numbered with " #~ "versions like <literal>X.Y.Z</literal>, but with some kind of date, feel " #~ "free to use that date as the version number, as long as newer version " #~ "numbers will look larger. While it is best to use the same version " #~ "number as what upstream uses, if it is in the format of <literal>09Oct23</" #~ "literal> you may need to convert it to <literal>YYYYMMDD</literal> " #~ "format, which would be <literal>20091023</literal>, to ensure proper " #~ "order for upgrade with the <command>dpkg</command> program.<placeholder " #~ "type=\"footnote\" id=\"0\"/>" #~ msgstr "" #~ "還要檢査程式的版本號,它將被包含到套件版本內。如果手中的軟體版本號不是 " #~ "<literal>X.Y.Z</literal> 的形式,而是使用日期等形式。那麼可以繼續使用日期" #~ "來作爲版本號,只要新版本程式的版本號能變得比老闆本大即可。最好能與上游使用" #~ "相同的版本號,如果上游使用了諸如 <literal>09Oct23</literal> 的格式,那麼最" #~ "好將其轉換爲 <literal>YYYYMMDD</literal> 的格式,此例中爲 " #~ "<literal>20091023</literal>,以便保證 <command>dpkg</command> 程式在更新軟" #~ "體時能正確處理新舊版本。<placeholder type=\"footnote\" id=\"0\"/>" #~ msgid "" #~ "Some programs won't be numbered at all, in which case you should contact " #~ "the upstream maintainer to see if they've got some other revision-" #~ "tracking method." #~ msgstr "" #~ "還有一些程式根本就沒有版本號,這是你應該聯繫上游維護者,看他們是否使用了其" #~ "他的版本跟蹤方法。" #~ msgid "" #~ "Let's make an initial Debian package by issuing the <command>dh_make</" #~ "command> command as follows." #~ msgstr "" #~ "讓我們按照以下方法使用 <command>dh_make</command> 來初始化 Debian 套件。" #~ msgid "" #~ "$ . ~/.bashrc\n" #~ "$ cd ~/gentoo/gentoo-0.9.12\n" #~ "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #~ msgstr "" #~ "$ . ~/.bashrc\n" #~ "$ cd ~/gentoo/gentoo-0.9.12\n" #~ "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #~ msgid "" #~ "It's not too hard, but it does require a bit more knowledge, so we won't " #~ "describe all of it here." #~ msgstr "" #~ "它們並非特別難於掌握,但確實需要更多的知識,所以我們不在這裏對所有情況進行" #~ "描述。" #~ msgid "" #~ "But why in that directory, and not some other? Because Debian packages " #~ "never install files beneath <filename>/usr/local</filename> -- that tree " #~ "is reserved for the system administrator's use. Such files on Debian " #~ "systems go under <filename>/usr</filename> instead." #~ msgstr "" #~ "爲什麼要放在那個目錄,而非其他的呢?因爲 Debian 套件從不在 <filename>/usr/" #~ "local</filename> 下安裝檔案——那是保留給系統管理員使用的。在 Debian 中這些" #~ "檔案被直接放入 <filename>/usr</filename>。" #~ msgid "Be careful that you don't mess up the rest of the code! :-)" #~ msgstr "小心不要弄亂其他部分的程式碼! :-)" #~ msgid "" #~ "The author realizes that this is not the best example considering our " #~ "<systemitem role=\"package\">libncurses</systemitem> package now ships " #~ "with a <filename>libcurses.so</filename> symlink, but he couldn't think " #~ "of a better one. Suggestions very welcome :-)" #~ msgstr "" #~ "作者已經意識到這不是一個最好的例子,因爲我們的 <systemitem role=\"package" #~ "\">libncurses</systemitem> 套件現在提供了一個 <filename>libcurses.so</" #~ "filename> 的符號鏈接,但作者還沒有想出更好的例子。非常歡迎提出建議 :-)" #~ msgid "LIBS = -lcurses -lsomething -lsomethingelse\n" #~ msgstr "LIBS = -lcurses -lsomething -lsomethingelse\n" #~ msgid "" #~ "Let's fix this as <filename>debian/patches/ncurse.patch</filename> by " #~ "changing <literal>curses</literal> into <literal>ncurses</literal>." #~ msgstr "" #~ "我們將這個補丁命名爲 <filename>debian/patches/ncurse.patch</filename>,內" #~ "容是把 <literal>curses</literal> 改爲 <literal>ncurses</literal>。" #~ msgid "" #~ "For sources using Autotools, use combination of above as <literal>dh --" #~ "with autotools-dev --with autoreconf $@</literal> to be most current with " #~ "the GNU Build System." #~ msgstr "" #~ "對於使用 Autotools 的原始碼,使用 <literal>dh --with autotools-dev --with " #~ "autoreconf $@</literal> 讓其使用最新的 GNU 編譯系統。" #~ msgid "" #~ "<filename>cron.monthly</filename> - Installed as <filename>/etc/cron." #~ "monthly/<replaceable>package</replaceable></filename>: run once a month, " #~ "usually early morning on the first of the month." #~ msgstr "" #~ "<filename>cron.monthly</filename> - 安裝爲 <filename>/etc/cron.monthly/" #~ "<replaceable>package</replaceable></filename>:每月運行一次,通常在該月第" #~ "一天的早晨。" #~ msgid "src/foo/mybin usr/bin\n" #~ msgstr "src/foo/mybin usr/bin\n" #~ msgid "" #~ "Although I used Bash short hand expression to indicate these files as " #~ "<filename>{post|pre}{inst|rm}</filename> here, I recommend you to use " #~ "pure POSIX (non-Bash) shell for these <emphasis>maintainer scripts</" #~ "emphasis> as much as possible for the better compatibility." #~ msgstr "" #~ "儘管我使用了 Bash 短表達式在此處指出這些檔案是 <filename>{post|pre}{inst|" #~ "rm}</filename>,但仍然建議你在這些 <emphasis>maintainer scripts</" #~ "emphasis> 中儘可能地使用純粹的 POSIX (非 Bash)腳本來提供最佳的兼容性。" #~ msgid "Here's what I put in it:" #~ msgstr "以下是我寫入的內容:" #, fuzzy #~| msgid "" #~| "The only input that will be required of you is your GPG secret pass " #~| "phrase, twice." #~ msgid "" #~ "The only input that will be required of you is your GPG secret pass " #~ "phrase, twice. <placeholder type=\"footnote\" id=\"0\"/>" #~ msgstr "這個過程中你需要做的就是輸入兩次你的 GPG 私鑰密碼。" #~ msgid "" #~ "This can be done by specifying <literal>-v</literal> option to the " #~ "package building programs such as <command>dpkg-buildpackage</command>, " #~ "<command>debuild</command>, <command>pdebuild</command>, etc." #~ msgstr "" #~ "這可以通過傳遞 <literal>-v</literal> 選項給例如 <command>dpkg-" #~ "buildpackage</command>、<command>debuild</command>、<command>pdebuild</" #~ "command> 等軟體構建程式來完成。" #~ msgid "" #~ "In the <systemitem role=\"package\">cdbs</systemitem> (0.4.74) package, " #~ "there are some negative descriptions of the <filename>rules</filename> " #~ "file created by the <command>dh_make</command> command for the non-" #~ "<systemitem role=\"package\">cdbs</systemitem> choices. Do not worry " #~ "about it. It applies only for <literal>lenny</literal> which created " #~ "explicit targets with long list of <command>dh_*</command> commands." #~ msgstr "" #~ "在 <systemitem role=\"package\">cdbs</systemitem> (0.4.74)套件中有一些對" #~ "於 <command>dh_make</command> 創建的非 <systemitem role=\"package\">cdbs</" #~ "systemitem> 的 <filename>rules</filename> 檔案的消極描述。不要擔心它們,它" #~ "們僅是針對於 <literal>lenny</literal> 中需要列出大串的 <command>dh_*</" #~ "command> 命令而言的。" #~ msgid "<firstname>Josip</firstname> <surname>Rodin</surname>" #~ msgstr "<firstname>Josip</firstname> <surname>Rodin</surname>" #~ msgid "<firstname>Osamu</firstname> <surname>Aoki</surname>" #~ msgstr "<firstname>Osamu</firstname> <surname>Aoki</surname>" #, fuzzy #~| msgid "New Debian revision" #~ msgid "How Debian functions" #~ msgstr "新的 Debian 版本" #, fuzzy #~| msgid "There are several role names used around Debian." #~ msgid "Here are my reminders on how Debian functions." #~ msgstr "在 Debian 社群中有幾個常見的角色。" #, fuzzy #~| msgid "" #~| "The <systemitem role=\"package\">gentoo</systemitem> package uses the " #~| "GNU build system, also known as the Autotools. See <ulink url=\"&gnu-" #~| "build-system;\">&gnu-build-system;</ulink>." #~ msgid "" #~ "The <systemitem role=\"package\">gentoo</systemitem> package uses the " #~ "<ulink url=\"&gnu-build-system;\">GNU build system</ulink>, also known as " #~ "the Autotools." #~ msgstr "" #~ "<systemitem role=\"package\">gentoo</systemitem> 套件使用 GNU 編譯系統,又" #~ "稱 Autotools。參考 <ulink url=\"&gnu-build-system;\">&gnu-build-system;</" #~ "ulink>" #~ msgid "" #~ "The last feature you need to know about is <literal>${shlibs:Depends}</" #~ "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" #~ "literal>, etc. These entries are substituted by the list generated by " #~ "other <systemitem role=\"package\">debhelper</systemitem> components when " #~ "the <citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> " #~ "<manvolnum>1</manvolnum> </citerefentry> command is executed." #~ msgstr "" #~ "你應當知道的最後一個特性是關於 <literal>${shlibs:Depends}</literal>、" #~ "<literal>${perl:Depends}</literal>、<literal>${misc:Depends}</literal> " #~ "等。這些條目的值會由 <systemitem role=\"package\">debhelper</systemitem> " #~ "的其他組件在 <citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> " #~ "<manvolnum>1</manvolnum> </citerefentry> 運行時生成。" #, fuzzy #~| msgid "" #~| "See <ulink url=\"&mentors-dn;cgi-bin/welcome\">mentors.debian.net</" #~| "ulink> for publically accessible upload area for non-DD." #~ msgid "" #~ "See <ulink url=\"&mentors-dn;\"/> for publically accessible upload area " #~ "for non-DD." #~ msgstr "" #~ "査看 <ulink url=\"&mentors-dn;cgi-bin/welcome\">mentors.debian.net</" #~ "ulink> 來了解對於非 Debian Developer 可用的公共上傳位置。" #~ msgid "" #~ "See <ulink url=\"&debref-archive;\">Debian Reference, 2.7.12. 'Small " #~ "public package archive'</ulink> for an example for creating a small " #~ "public package archive compatible with the modern secure APT system." #~ msgstr "" #~ "訪問 <ulink url=\"&debref-archive;\">Debian Reference, 2.7.12. 'Small " #~ "public package archive'</ulink> 來査看一個創建與現代的安全 APT 系統兼容的" #~ "公共套件倉庫的例子。" #~ msgid "" #~ "If you still have questions about packaging that you couldn't find " #~ "answers to in the available documentation and web resources, you can ask " #~ "them on the Debian Mentors' mailing list at <ulink url=\"&debian-mentors-" #~ "ldo;\">debian-mentors@lists.debian.org</ulink>. The more experienced " #~ "Debian developers will gladly help you, but do read at least some of the " #~ "documentation before asking a question!" #~ msgstr "" #~ "如果在所有可用的文件和在線資源中都無法找到答案,你可以在 Debian Mentors 郵" #~ "件列表詢問(<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists." #~ "debian.org</ulink>)。在那裏會有經驗更加豐富的 Debian 開發人員幫助你,但在" #~ "發問前請確定要閱讀已有的文件!" #~ msgid "" #~ "If you still have questions, ask on the Debian Developers' mailing list " #~ "at <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org</" #~ "ulink>. See <ulink url=\"&debian-devel-ldo;\">&debian-devel-ldo;</ulink> " #~ "for more information about this mailing list." #~ msgstr "" #~ "如果仍然不能解決所有的問題,則到 Debian Developers 郵件列表詢問(<ulink " #~ "url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org</ulink>)。關於此" #~ "郵件列表,參考 <ulink url=\"&debian-devel-ldo;\">&debian-devel-ldo;</" #~ "ulink>" #~ msgid "" #~ "You can also check package information through <ulink url=\"&packages-do;" #~ "\">package search page</ulink> and <ulink url=\"&packages-qa-do;\">Debian " #~ "Package Tracking System</ulink>." #~ msgstr "" #~ "你還可以通過 <ulink url=\"&packages-do;\">套件搜索頁面</ulink> 和 <ulink " #~ "url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> (Debian 套" #~ "件跟蹤系統,PTS)査詢套件訊息。" #~ msgid "" #~ "Several different views of orphaned or RFA'ed packages are available at:" #~ msgstr "有幾種査看 RFA 套件的方法:" #~ msgid "" #~ "You can disable this configuration by starting the <command>quilt</" #~ "command> command as <literal>quilt --quiltrc /dev/null ...</literal>." #~ msgstr "" #~ "你可以通過 <literal>quilt --quiltrc /dev/null ...</literal> 來運行 " #~ "<command>quilt</command> 來禁用此設定檔案。" #~ msgid "This is what the dependencies mean:" #~ msgstr "以下是各種依賴關係的含義:" #~ msgid "" #~ "Section | Description | Notes\n" #~ " 1 User commands Executable commands or scripts.\n" #~ " 2 System calls Functions provided by the kernel.\n" #~ " 3 Library calls Functions within system libraries.\n" #~ " 4 Special files Usually found in /dev\n" #~ " 5 File formats E.g. /etc/passwd's format\n" #~ " 6 Games Or other frivolous programs\n" #~ " 7 Macro packages Such as man macros.\n" #~ " 8 System administration Programs typically only run by root.\n" #~ " 9 Kernel routines Non-standard calls and internals.\n" #~ msgstr "" #~ "章節 | 描述 | 註釋\n" #~ " 1 用戶命令 可執行命令或腳本。\n" #~ " 2 系統調用 核心提供的函數。\n" #~ " 3 函數函式庫調用 系統函式庫提供的函數。\n" #~ " 4 特殊檔案 常見於 /dev\n" #~ " 5 檔案格式 例如 /etc/passwd 的格式。\n" #~ " 6 遊戲 遊戲或其他無足輕重的程式。\n" #~ " 7 巨集包 例如 man 巨集。\n" #~ " 8 系統管理 典型由 root 運行的程式。\n" #~ " 9 核心函數 非標準調用和內部控制結構。\n" #~ msgid "" #~ "There were a major reorganization of menu structure for <literal>squeeze</" #~ "literal>." #~ msgstr "<literal>squeeze</literal> 的列表和以前的有了較大的調整。" #~ msgid "" #~ "<systemitem role=\"package\">topgit</systemitem>: a Git patch queue " #~ "manager" #~ msgstr "" #~ "<systemitem role=\"package\">topgit</systemitem>:一個 Git 補丁隊列管理" #~ "器。" #~ msgid "" #~ "<ulink url=\"http://git.debian.org/?p=collab-maint/topgit.git;" #~ "a=blob_plain;f=debian/HOWTO-tg2quilt;hb=HEAD\">Using TopGit to generate " #~ "quilt series for Debian packaging</ulink>" #~ msgstr "" #~ "<ulink url=\"http://git.debian.org/?p=collab-maint/topgit.git;" #~ "a=blob_plain;f=debian/HOWTO-tg2quilt;hb=HEAD\">Using TopGit to generate " #~ "quilt series for Debian packaging</ulink>" #~ msgid "" #~ "=====COMMENT===== Translation in [[this language]] is also available in " #~ "the <systemitem role=\"package\">maint-guide-xy</systemitem> package. " #~ "=====TNEMMOC=====" #~ msgstr "" #~ "=====COMMENT===== Translation in [[this language]] is also available in " #~ "the <systemitem role=\"package\">maint-guide-xy</systemitem> package. " #~ "=====TNEMMOC=====" #~ msgid "" #~ "=====COMMENT===== /usr/share/doc/debian is used be doc-debian and debian-" #~ "faq =====TNEMMOC=====" #~ msgstr "" #~ "=====COMMENT===== /usr/share/doc/debian is used be doc-debian and debian-" #~ "faq =====TNEMMOC=====" #~ msgid "" #~ "=====COMMENT===== No more use of ftp-master nor faster queue. It is not " #~ "so useful these days. If you upload to ftp-master, <command>dupload</" #~ "command> will ask for your password on Debian machines, and then upload " #~ "the packages. =====TNEMMOC=====" #~ msgstr "" #~ "=====COMMENT===== No more use of ftp-master nor faster queue. It is not " #~ "so useful these days. If you upload to ftp-master, <command>dupload</" #~ "command> will ask for your password on Debian machines, and then upload " #~ "the packages. =====TNEMMOC=====" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/ja.tex������������������������������������������������������������������������0000644�0000000�0000000�00000000017�12256550104�012420� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\hyphenation{} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/it.tex������������������������������������������������������������������������0000644�0000000�0000000�00000000017�12256550103�012441� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\hyphenation{} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/it.po�������������������������������������������������������������������������0000644�0000000�0000000�00002074521�12262517632�012303� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Italian translation of "Debian New Maintainers' Guide" # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the maint-guide package. # Calogero Lo Leggio <kalos@nerdrug.org>, 2010, 2011, 2012, 2013. # Jacopo Reggiani <jacopo.reggiani@gmail.com>, 2010. msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2014-01-06 00:00+0900\n" "PO-Revision-Date: 2013-12-28 17:16+0200\n" "Last-Translator: Calogero Lo Leggio <kalos@nerdrug.org>\n" "Language-Team: <debian-l10n-italian@lists.debian.org>\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Virtaal 0.7.1\n" #. type: Attribute 'lang' of: <book> msgid "en" msgstr "it" #. type: Content of: <book><title> msgid "Debian New Maintainers' Guide" msgstr "Guida per il nuovo Maintainer" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Josip Rodin" msgstr "Josip Rodin" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "joy-mg@debian.org" msgstr "joy-mg@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "original contents" msgstr "contenuti originali" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Osamu Aoki" msgstr "Osamu Aoki" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "osamu@debian.org" msgstr "osamu@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "updated contents" msgstr "contenuti aggiornati" #. type: Content of: <book><bookinfo><releaseinfo> msgid "version &docversion;" msgstr "versione &docversion;" #. type: Content of: <book><bookinfo> msgid "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" msgstr "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "" "This document may be used under the terms the GNU General Public License " "version 2 or higher." msgstr "" "Questa guida può essere utilizzata nei termini della GNU General Public " "License versione 2 o successive." #. type: Content of: <book><bookinfo><legalnotice><para> msgid "This document was made using these two documents as examples:" msgstr "" "Questo documento è stato realizzato utilizzando come modello i due documenti " "seguenti:" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." msgstr "" "Making a Debian Package (noto come Manuale di Debmake), copyright © 1997 " "Jaldhar Vyas." #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." msgstr "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." #. type: Content of: <book><chapter><title> msgid "Getting started The Right Way" msgstr "Partire nel modo giusto" #. type: Content of: <book><chapter><para> msgid "" "This document tries to describe the building of a Debian package to ordinary " "Debian users and prospective developers. It uses fairly non-technical " "language, and it's well covered with working examples. There is an old " "Latin saying: <emphasis>Longum iter est per praecepta, breve et efficax per " "exempla</emphasis> (It's a long way by the rules, but short and efficient " "with examples)." msgstr "" "Questo documento cerca di descrivere la costruzione di un pacchetto Debian " "GNU/Linux, sia per un normale utente Debian che per un aspirante " "sviluppatore. Utilizzando un linguaggio immediato, non tecnico e con " "l'ausilio di esempi concreti. C'è un detto latino che dice <emphasis>Longum " "iter est per preaecepta, breve et efficax per exempla!</emphasis> (La via è " "lunga usando la teoria, ma breve ed efficiente con gli esempi!)." #. type: Content of: <book><chapter><para><footnote><para> msgid "" "The document assumes you are using a <literal>&base-release;</literal> or " "newer system. If you need to follow this text in an older system (including " "an older Ubuntu system etc.), you must install backported <systemitem role=" "\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</" "systemitem> packages, at least." msgstr "" "Nel documento si suppone l'utilizzo di un sistema <literal>&base-release;</" "literal> o superiore. Se si intende seguire questo documento per un vecchio " "sistema (incluse le vecchie versioni si Ubuntu), bisognerebbe almeno " "installare delle versioni backport (n.d.t. versioni dei programmi presenti " "nei pacchetti di testing e unstable, compilate per poter funzionare in un " "sistema stable) di <systemitem role=\"package\">dpkg</systemitem> e " "<systemitem role=\"package\">debhelper</systemitem>." #. type: Content of: <book><chapter><para> msgid "" "This document has been updated for the Debian <literal>&base-release;</" "literal> release. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Questo documento è stato aggiornato per la distribuzione Debian " "<literal>&base-release;</literal>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "You can learn about the basic handling of a Debian system from the <ulink " "url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to " "learn about Unix programming, too." msgstr "" "Si possono avere più informazioni sulla gestione base di un sistema Debian " "dal documento <ulink url=\"&debref;\">Debian Reference</ulink>. Questo " "documento contine anche alcune riferimenti utili per approfondire la " "programmazioni Unix." #. type: Content of: <book><chapter><para> msgid "" "One of the things that makes Debian such a top-notch distribution is its " "package system. While there is a vast quantity of software already in the " "Debian format, sometimes you need to install software that isn't. You may " "be wondering how you can make your own packages; and perhaps you think it is " "a very difficult task. Well, if you are a real novice on Linux, it is hard, " "but if you were a rookie, you wouldn't be reading this document " "now :-) You do need to know a little about Unix programming but you " "certainly don't need to be a wizard. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Una delle cose che rende Debian una delle distribuzioni più importanti, è il " "suo sistema di pacchettizzazione. Sebbene ci sia una vasta quantità di " "software disponibile sotto forma di pacchetto Debian, qualche volta è " "necessario installare del software per il quale non è stato ancora creato il " "pacchetto. Si potrebbe pensare che creare dei pacchetti sia un compito " "molto difficile. In effetti, se si è alle prime armi con GNU/Linux è dura, " "ma se si ha esperienza non si può non leggere questo documento :-) " "Servirà conoscere dei rudimenti di programmazione Unix, ma di sicuro non " "sarà necessario essere un mago della programmazione. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para> msgid "" "One thing is certain, though: to properly create and maintain Debian " "packages takes many hours. Make no mistake, for our system to work the " "maintainers need to be both technically competent and diligent." msgstr "" "Una cosa però è certa: per creare in maniera corretta e manutenere dei " "pacchetti Debian serviranno svariate ore di lavoro. Per far funzionare il " "nostro sistema, i maintainer devono stare attenti a non commettere errori, " "essere scrupolosi e tecnicamente competenti." #. type: Content of: <book><chapter><para> msgid "" "If you need some help on packaging, please read <xref linkend=\"helpme\"/>." msgstr "" "Se è necessario qualche aiuto sulla pacchettizzazione, si consiglia la " "lettura di <xref linkend=\"helpme\"/>." #. type: Content of: <book><chapter><para> msgid "" "Newer versions of this document should always be available online at <ulink " "url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</" "systemitem> package. The translations may be available in packages such as " "<systemitem role=\"package\">maint-guide-es</systemitem>. Please note that " "this documentation may be slightly outdated." msgstr "" "Le versioni aggiornate di questo documento dovrebbero sempre essere " "disponibile online all'indirizzo <ulink url=\"&maint-guide;\"/> e nel " "pacchetto <systemitem role=\"package\">maint-guida</systemitem>. Le " "traduzioni saranno disponibili in pacchetti come <systemitem role=\"package" "\">maint-guide-es</systemitem> . Si noti che questa documentazione può " "essere leggermente obsoleta." #. type: Content of: <book><chapter><para> msgid "" "Since this is a tutorial, I choose to explain each detailed step for some " "important topics. Some of them may look irrelevant to you. Please be " "patient. I have also intentionally skipped some corner cases and provided " "only pointers to keep this document simple." msgstr "" "Poiché si tratta di un tutorial, si è scelto di spiegare dettagliatamente " "ogni passo per alcuni argomenti importanti. Alcuni passi possono apparire " "irrilevanti per alcuni di voi. Si prega di essere pazienti. Si sono anche " "volutamente evitati alcuni casi particolari fornendo solo dei riferimenti, " "per mantenere questo semplice documento." #. type: Content of: <book><chapter><section><title> msgid "Social dynamics of Debian" msgstr "Dinamiche sociali di Debian" #. type: Content of: <book><chapter><section><para> msgid "" "Here are some observations of Debian's social dynamics, presented in the " "hope that it will prepare you for interactions with Debian." msgstr "" "Qui sono presenti alcune osservazioni delle dinamiche sociali di Debian, " "nella speranza che siano di aiuto per le interazioni con Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "We all are volunteers." msgstr "Siamo tutti volontari." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You cannot impose on others what to do." msgstr "Non si può imporre agli altri cosa fare." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be motivated to do things by yourself." msgstr "Si dovrebbe essere motivati a fare le cose da soli." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Friendly cooperation is the driving force." msgstr "La coooperazione amichevole è la forza motrice." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution should not overstrain others." msgstr "Il vostro contributo non deve affaticare gli altri." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution is valuable only when others appreciate it." msgstr "Il vostro contributo è prezioso solo quando gli altri lo apprezzano." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Debian is not your school where you get automatic attention of teachers." msgstr "" "Debian non è la vostra scuola in cui si ottiene in automatico l'attenzione " "degli insegnanti." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be able to learn many things by yourself." msgstr "Dovreste essere in grado di imparare molte cose da soli." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Attention from other volunteers is a very scarce resource." msgstr "L'attenzione degli altri volontari è una risorsa molto scarsa." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Debian is constantly improving." msgstr "Debian è in costante miglioramento." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You are expected to make high quality packages." msgstr "Ci si aspetta che vengano creati pacchetti di alta qualità." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should adapt yourself to change." msgstr "Si consiglia di adattarsi al cambiamento." #. type: Content of: <book><chapter><section><para> msgid "" "There are several types of people interacting around Debian with different " "roles." msgstr "" "Ci sono molti tipi di persone, che interagiscono nel mondo Debian, con ruoli " "diversi." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream author</emphasis>: the person who made " "the original program." msgstr "" "<emphasis role=\"strong\">autore originale (upstream author)</emphasis>: La " "persona che ha iniziato lo sviluppo del programma." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who " "currently maintains the program." msgstr "" "<emphasis role=\"strong\">responsabile del programma (upstream maintainer)</" "emphasis>: La persona che attualmente sviluppa il programma." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">maintainer</emphasis>: the person making the " "Debian package of the program." msgstr "" "<emphasis role=\"strong\">responsabile del pacchetto (maintainer)</" "emphasis>: La persona che ha creato il pacchetto Debian del programma." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">sponsor</emphasis>: a person who helps maintainers " "to upload packages to the official Debian package archive (after checking " "their contents)." msgstr "" "<emphasis role=\"strong\">sponsor</emphasis>: La persona che aiuta i " "responsabili dei pacchetti a verificarne la correttezza dei contenuti ed a " "depositarli nell'archivio Debian ufficiale." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">mentor</emphasis>: a person who helps novice " "maintainers with packaging etc." msgstr "" "<emphasis role=\"strong\">mentore</emphasis>: La persona che aiuta i " "responsabili dei pacchetti alle prime armi nelle operazioni di creazione del " "pacchetto, ecc." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): a member of the " "Debian project with full upload rights to the official Debian package " "archive." msgstr "" "<emphasis role=\"strong\">sviluppatore Debian (Debian Developer)</emphasis> " "(DD): membro del progetto Debian con i permessi di depositare i pacchetti " "all'interno dell'archivio Debian ufficiale." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): a person with " "limited upload rights to the official Debian package archive." msgstr "" "<emphasis role=\"strong\">responsabile Debian (Debian Maintainer)</emphasis> " "(DM): persona con permessi di accesso limitati all'archivio ufficiale dei " "pacchetti di Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you cannot become an official <emphasis role=\"strong" "\">Debian Developer</emphasis> (DD) overnight, because it takes more than " "technical skill. Please do not be discouraged by this. If it is useful to " "others, you can still upload your package either as a <emphasis role=\"strong" "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</" "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>." msgstr "" "Si noti che non è possibile diventare uno <emphasis role=\"strong" "\">sviluppatore Debian</emphasis> (DD) ufficiale dal giorno alla notte, " "poiché questo richiede più che delle semplici conoscenze tecniche. Ma non " "ci si deve lasciare scoraggiare da questo. Se il lavoro che si è fatto è " "utile a qualcun altro, si può sempre depositare il proprio pacchetto sia " "come <emphasis role=\"strong\">maintainer</emphasis> attraverso uno " "<emphasis role=\"strong\">sponsor</emphasis> che come <emphasis role=\"strong" "\">maintainer Debian</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you do not need to create any new package to become an " "official Debian Developer. Contributing to the existing packages can " "provide a path to becoming an official Debian Developer too. There are many " "packages waiting for good maintainers (see <xref linkend=\"choose\"/>)." msgstr "" "Si noti che non è necessario creare un nuovo pacchetto per diventare uno " "sviluppatore Debian ufficiale. Lo si può diventare anche semplicemente " "contribuendo alla manutenzione di pacchetti già esistenti. Ci sono molti " "pacchetti che aspettano solo dei bravi responsabili (vedere <xref linkend=" "\"choose\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "Since we focus only on technical aspects of packaging in this document, " "please refer to the following to learn how Debian functions and how you can " "get involved." msgstr "" "Dal momento che in questo documento si trattano solo gli aspetti tecnici " "della pacchettizzazione, si prega di fare riferimento a quanto segue per " "conoscere come relazionarsi con Debian e come partecipare." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (Introductory slides)" msgstr "" "<ulink url=\"&logiciellibre;\"> Debian: 17 anni di Software Libero, \"do-" "ocracy\", e la democrazia</ulink> (Slides introduttive)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)" msgstr "" "<ulink url=\"&debianorghelp;\">Come aiutare Debian?</ulink> (Ufficiale)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "\"Contributing to the Debian Project\"</ulink> (semi-official)" msgstr "" "<ulink url=\"&debianfaqhelp;\">Debian GNU/Linux FAQ, capitolo 13 - " "\"Contribuire al Progetto Debian\"</ulink> (Semi-ufficiale)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " "(supplemental)" msgstr "" "<ulink url=\"&debianwikihelp;\">Il Wiki di Debian, HelpDebian</ulink> " "(supplementare)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (official)" msgstr "<ulink url=\"&nm-do;\">Sito del New Member Debian</ulink> (ufficiale)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)" msgstr "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplementare)" #. type: Content of: <book><chapter><section><title> msgid "Programs needed for development" msgstr "Programmi necessari per lo sviluppo" #. type: Content of: <book><chapter><section><para> msgid "" "Before you start anything, you should make sure that you have properly " "installed some additional packages needed for development. Note that the " "list doesn't contain any packages marked <literal>essential</literal> or " "<literal>required</literal> - we expect that you have those installed " "already." msgstr "" "Prima di iniziare, bisogna assicurarsi di avere installato correttamente " "alcuni pacchetti aggiuntivi, necessari per lo sviluppo. Da notare che la " "lista non contiene nessun pacchetto etichettato come <literal>essenziale</" "literal> o <literal>richiesto</literal> - ci aspettiamo che siano già " "installati nel sistema." #. type: Content of: <book><chapter><section><para> msgid "" "The following packages come with the standard Debian installation, so you " "probably have them already (along with any additional packages they depend " "on). Still, you should check it with <literal>aptitude show " "<replaceable>package</replaceable></literal> or with <literal>dpkg -s " "<replaceable>package</replaceable></literal>." msgstr "" "I seguenti pacchetti fanno parte dell'installazione standard di Debian, per " "cui probabilmente sono già presenti nel sistema (insieme ai pacchetti " "aggiuntivi dai quali dipendono). Si può effettuare un controllo con " "<literal>aptitude show <replaceable>pacchetto</replaceable></literal> o con " "<literal>dpkg -s <replaceable>pacchetto</replaceable></literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The most important package to install on your development system is the " "<systemitem role=\"package\">build-essential</systemitem> package. Once you " "try to install that, it will <emphasis>pull in</emphasis> other packages " "required to have a basic build environment." msgstr "" "Il pacchetto più importante da installare in un sistema in cui si ha " "intenzione di sviluppare è <systemitem role=\"package\">build-essential</" "systemitem>. Questo <emphasis>includerà</emphasis> altri pacchetti " "necessari per avere un ambiente di base per la compilazione dei programmi." #. type: Content of: <book><chapter><section><para> msgid "" "For some types of packages, that is all you will require; however, there is " "another set of packages that while not essential for all package builds are " "useful to have installed or may be required by your package:" msgstr "" "Per alcuni tipi di pacchetti questo è tutto quello che serve, ci sono però " "una serie di pacchetti che, pur non essendo essenziali per lo sviluppo, " "vengono in aiuto allo sviluppatore o possono essere richiesti dal pacchetto " "su cui si lavora:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem>, and <systemitem role=\"package" "\">autotools-dev</systemitem> - many newer programs use configure scripts " "and <filename>Makefile</filename> files preprocessed with the help of " "programs like these (see <literal>info autoconf</literal>, <literal>info " "automake</literal>). <systemitem role=\"package\">autotools-dev</" "systemitem> keeps up-to-date versions of certain auto files and has " "documentation about the best way to use those files." msgstr "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem> e <systemitem role=\"package\">autotools-" "dev</systemitem> - diversi programmi recenti usano script di configurazione " "e <filename>Makefile</filename> preprocessati con l'aiuto di programmi come " "questi. (vedere <literal>info autoconf</literal>, <literal>info automake</" "literal>) <systemitem role=\"package\">autotools-dev</systemitem> tiene " "aggiornate le versioni di alcuni file di automazione e contiene la " "documentazione che spiega il modo migliore per utilizzare questi file." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "There are also some more specialized but similar packages such as " "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" "\"package\">dh-make-php</systemitem>, etc." msgstr "" "Ci sono un paio di pacchetti specializzati ma simili, come <systemitem role=" "\"package\">dh-make-perl</systemitem>, <systemitem role=\"package\">dh-make-" "php</systemitem>, ecc." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debhelper</systemitem> and <systemitem role=" "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> is necessary to create the skeleton of our example package, and " "it will use some of the <systemitem role=\"package\">debhelper</systemitem> " "tools for creating packages. They are not essential for this purpose, but " "are <emphasis>highly</emphasis> recommended for new maintainers. It makes " "the whole process very much easier to start, and to control afterwards. " "(See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">debhelper</systemitem> e <systemitem role=" "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> è necessario per creare lo scheletro del pacchetto, utilizza " "alcuni strumenti di <systemitem role=\"package\">debhelper</systemitem> per " "creare i pacchetti. Non sono essenziali per la creazione di pacchetti, ma " "sono <emphasis>fortemente</emphasis> consigliati per i nuovi maintainer. " "Questo rende l'intero processo molto più semplice da iniziare e controllare " "successivamente. (vedere <citerefentry> <refentrytitle>dh_make</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>debhelper</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.) <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">devscripts</systemitem> - this package contains " "some useful scripts that can be helpful for maintainers, but they are also " "not necessary for building packages. Packages recommended and suggested by " "this package are worth looking into. (See <filename>&devscripts-readme;</" "filename>.)" msgstr "" "<systemitem role=\"package\">devscripts</systemitem> - questo pacchetto " "contiene alcuni pratici script che possono essere utili ai maintainer, anche " "se non sono strettamente necessari per la creazione dei pacchetti. I " "pacchetti consigliati o suggeriti da questo pacchetto andrebbero presi in " "considerazione. (vedere <filename>&devscripts-readme;</filename>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you " "emulate being root which is necessary for some parts of the build process. " "(See <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">fakeroot</systemitem> - questo programma " "permette di fingere di essere root, dato che è necessario per l'esecuzione " "di alcune parti del processo di creazione del pacchetto. (vedere " "<citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">file</systemitem> - this handy program can " "determine what type a file is. (See <citerefentry> <refentrytitle>file</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">file</systemitem> - questo semplice programma " "determina la tipologia di un file. (vedere <citerefentry> " "<refentrytitle>file</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " "compiler, necessary if your program is written in Fortran. (See " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gfortran</systemitem> - il compilatore GNU " "Fortran 95, necessario se il programma è scritto in Fortran. (vedere " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git</systemitem> - this package provides a " "popular version control system designed to handle very large projects with " "speed and efficiency; it is used for many high profile open source projects, " "most notably the Linux kernel. (See <citerefentry> <refentrytitle>git</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, git Manual " "(<filename>&git-doc;</filename>).)" msgstr "" "<systemitem role=\"package\">git</systemitem> - questo pacchetto contiene un " "famoso sistema per il controllo delle versioni, progettato per gestire " "progetti molto grandi con velocità ed efficienza; è utilizzato da molti " "progetti open source, tra cui il kernel Linux. (Vedere <citerefentry> " "<refentrytitle>git</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "Manuale di git (<filename>&git-doc;</filename>).)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to " "digitally <emphasis>sign</emphasis> packages. This is especially important " "if you want to distribute it to other people, and you will certainly be " "doing that when your work gets included in the Debian distribution. (See " "<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">gnupg</systemitem> - questo programma consente " "di <emphasis>firmare</emphasis> elettronicamente i pacchetti. Questo è " "importante soprattutto se si vuole distribuirli ad altre persone, e verrà " "sicuramente fatto quando un pacchetto sarà pronto per essere incluso nella " "distribuzione Debian. (vedere <citerefentry> <refentrytitle>gpg</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " "necessary if your program is written in Pascal. Worthy of note here is " "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " "Compiler, which is also good at this task. (See <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gpc</systemitem> - il compilatore GNU Pascal, " "necessario se il programma è scritto in Pascal. Un sostituto degno di nota " "è <systemitem role=\"package\">fp-compiler</systemitem>, il Compilatore Free " "Pascal. (vedere <citerefentry> <refentrytitle>gpc</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>ppc386</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lintian</systemitem> - this is the Debian " "package checker, which can let you know of any common mistakes after you " "build the package, and explains the errors found. (See <citerefentry> " "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)" msgstr "" "<systemitem role=\"package\">lintian</systemitem> - questo è l'analizzatore " "dei pacchetti Debian, una volta costruito il pacchetto, permette di scoprire " "gli errori più comuni, cercando di spiegarli. (vedere <citerefentry> " "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patch</systemitem> - this very useful utility " "will take a file containing a difference listing (produced by the " "<command>diff</command> program) and apply it to the original file, " "producing a patched version. (See <citerefentry> <refentrytitle>patch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">patch</systemitem> - questo utile programma usa " "un file contenente una serie di differenze (prodotta dal programma diff) e " "le applica al file originale, per produrre una versione modificata. (vedere " "<citerefentry> <refentrytitle>patch</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patchutils</systemitem> - this package contains " "some utilities to work with patches such as the <command>lsdiff</command>, " "<command>interdiff</command> and <command>filterdiff</command> commands." msgstr "" "<systemitem role=\"package\">patchutils</systemitem> - questo pacchetto " "contiene dei programmi che lavorano con le patch, come <command>lsdiff</" "command>, <command>interdiff</command> e <command>filterdiff</command>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">pbuilder</systemitem> - this package contains " "programs which are used for creating and maintaining <command>chroot</" "command> environment. Building Debian package in this <command>chroot</" "command> environment verifies the proper build dependency and avoid FTBFS " "(Fails To Build From Source) bugs. (see <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" msgstr "" "<systemitem role=\"package\">pbuilder</systemitem> - questo pacchetto " "contiene i programmi che vengono usati per creare e manutenere un ambiente " "<command>chroot</command>. Creare pacchetti Debian nell'ambiente " "<command>chroot</command> permette di verificare le dipendenze appropriate " "ed evitare bug di tipo FTBFS (Fails To Build From Source, non compila da " "sorgente). (vedere <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry> e <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">perl</systemitem> - Perl is one of the most " "used interpreted scripting languages on today's Unix-like systems, often " "referred to as Unix's Swiss Army Chainsaw. (See <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">perl</systemitem> - Perl è uno dei linguaggi di " "scripting interpretato più utilizzati sugli odierni sistemi Unix e derivati, " "spesso definito come il coltellino svizzero di Unix. (vedere <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">python</systemitem> - Python is another of the " "most used interpreted scripting languages on the Debian system, combining " "remarkable power with very clear syntax. (See <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">python</systemitem> - Python è un altro " "linguaggio di scripting interpretato molto utilizzato sui sistemi Debian, " "combina una notevole potenza con una sintassi molto chiara. (vedere " "<citerefentry> <refentrytitle>python</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">quilt</systemitem> - this package helps you to " "manage large numbers of patches by keeping track of the changes each patch " "makes. Patches can be applied, un-applied, refreshed, and more. (See " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum></citerefentry>, and <filename>&quilt-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">quilt</systemitem> - questo pacchetto aiuta a " "gestire una gran numero di patch, tenendo traccia dei cambiamenti " "apportati. Le patch sono organizzate in maniera logica come una pila, è " "possibile applicare(=push) le modifiche apportate dalla patch, oppure " "annullarle(=pop), semplicemente muovendosi attraverso la pila. (vedere " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum></citerefentry> e <filename>&quilt-pdf;</filename>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " "usually those made for X11, also use these programs to generate " "<filename>Makefile</filename> files from sets of macro functions. (See " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">xutils-dev</systemitem> - alcuni programmi, " "generalmente quelli fatti per X11, usano questi strumenti per generare i " "<filename>Makefile</filename> da una serie di funzioni macro. (vedere " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.)" #. type: Content of: <book><chapter><section><para> msgid "" "The short descriptions that are given above only serve to introduce you to " "what each package does. Before continuing please read the documentation of " "each relevant program including ones installed through the package " "dependency such as <command>make</command>, at least, for the standard " "usage. It may seem like heavy going now, but later on you'll be " "<emphasis>very</emphasis> glad you read it. If you have specific questions " "later, I would suggest re-reading the documents mentioned above." msgstr "" "Le brevi note elencate qui sopra servono solo ad accennare lo scopo di ogni " "pacchetto. Prima di continuare, è opportuno leggere la documentazione di " "ogni programma rilevante, compresi quelli installati per via delle " "dipendenze del pacchetto come <command>make</command>, almeno per un " "utilizzo di base. Può sembrare molto pesante farlo adesso, ma in seguito ci " "si renderà conto che sarà stato <emphasis>utilissimo</emphasis>. Se si hanno " "dubbi specifici potrebbe essere utile rileggere i documenti di cui sopra." #. type: Content of: <book><chapter><section><title> msgid "Documentation needed for development" msgstr "Documentazione necessaria per lo sviluppo" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>very important</emphasis> documentation which " "you should read along with this document:" msgstr "" "Segue una serie di documenti <emphasis>molto importanti</emphasis> che è " "consigliabile leggere insieme a questo documento:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " "the structure and contents of the Debian archive, several OS design issues, " "the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which " "says where each file and directory should be), etc. For you, the most " "important thing is that it describes requirements that each package must " "satisfy to be included in the distribution. (See the local copies of " "<filename>&policy-pdf;</filename> and <filename>&fhs-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">debian-policy</systemitem> - il <ulink url=" "\"&debian-policy;\">manuale delle policy Debian</ulink> comprende le " "spiegazioni riguardanti la struttura e il contenuto dell'archivio Debian, " "numerose problematiche inerenti la progettazione del sistema operativo, lo " "<ulink url=\"&fhs;\">Standard della Gerarchia del Filesystem</ulink> (ndr. " "Filesystem Hierarchy Standard), (che indica la posizione prevista per ogni " "file e directory), ecc. In questo contesto, l'argomento più importante è la " "descrizione dei requisiti che ogni pacchetto deve soddisfare per essere " "incluso nella distribuzione. (vedere le copie locali di <filename>&policy-" "pdf;</filename> and <filename>&fhs-pdf;</filename>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">developers-reference</systemitem> - the <ulink " "url=\"&developers-reference;\">Debian Developer's Reference</ulink> " "describes all matters not specifically about the technical details of " "packaging, like the structure of the archive, how to rename, orphan, or " "adopt packages, how to do NMUs, how to manage bugs, best packaging " "practices, when and where to upload etc. (See the local copy of " "<filename>&developers-refpdf;</filename>.)" msgstr "" "<systemitem role=\"package\">developers-reference</systemitem> - La <ulink " "url=\"&developers-reference;\">Debian Developer's Reference</ulink> descrive " "tutte le questioni non prettamente legate alle tecniche di " "pacchettizzazione, come la struttura dell'archivio, come rinominare, " "abbandonare o adottare un pacchetto, come fare gli NMUs, come gestire i bug, " "suggerimenti pratici di pacchettizzazione,quando e dove fare i caricamenti, " "ecc. (Si veda la copia locale di <filename>&developers-refpdf;</filename>.)" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>important</emphasis> documentation which you " "should read along with this document:" msgstr "" "Segue una serie di documenti <emphasis>importanti</emphasis> che è " "consigliabile leggere insieme a questo documento:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides a " "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " "System known as the GNU Autotools</ulink> whose most important components " "are Autoconf, Automake, Libtool, and gettext." msgstr "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> contiene un " "ottimo tutorial su <ulink url=\"&gnu-build-system;\">the GNU Build System " "known as the GNU Autotools</ulink> i cui componenti più importanti sono " "Autoconf, Automake, Libtool, e gettext." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnu-standards</systemitem> - this package " "contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-" "standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;" "\">Information for Maintainers of GNU Software</ulink>. Although Debian " "does not require these to be followed, these are still helpful as guidelines " "and common sense. (See the local copies of <filename>&gnu-standard-pdf;</" "filename> and <filename>&gnu-maintainer-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">gnu-standards</systemitem> - questo pacchetto " "contiene due documenti provenienti dal progetto GNU: <ulink url=\"&gnu-" "standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;" "\">Information for Maintainers of GNU Software</ulink>. Nonostante Debian " "non necessiti del loro utilizzo, sono comunque utili come linee guida e " "buona prassi. (vedere le copie locali di <filename>&gnu-standard-pdf;</" "filename> e <filename>&gnu-maintainer-pdf;</filename>.)" #. type: Content of: <book><chapter><section><para> msgid "" "If this document contradicts any of the documents mentioned above, they are " "correct. Please file a bug report on the <systemitem role=\"package\">maint-" "guide</systemitem> package using <command>reportbug</command>." msgstr "" "Se questo documento contraddice uno dei documenti cui sopra, si considerino " "corretti quest'ultimi. Si prega di inviare una segnalazione di bug relativa " "al pacchetto <systemitem role=\"package\">maint-guide</systemitem> usando " "<command>reportbug</command>." #. type: Content of: <book><chapter><section><para> msgid "" "The following is an alternative tutorial documentation which you may read " "along with this document:" msgstr "" "Segue una serie di tutorial alternativi che si possono leggere insieme a " "questo documento:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" msgstr "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" #. type: Content of: <book><chapter><section><title> msgid "Where to ask for help" msgstr "Dove chiedere aiuto" #. type: Content of: <book><chapter><section><para> msgid "" "Before you decide to ask your question in some public place, please read the " "fine documentation." msgstr "" "Prima di decidere di fare una domanda in qualche luogo pubblico, si prega di " "leggere la documentazione." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "files in <filename>/usr/share/doc/<replaceable>package</replaceable></" "filename> for all pertinent packages" msgstr "" "i file in <filename>/usr/share/doc/<replaceable>pacchetto</replaceable></" "filename> per tutti i pacchetti pertinenti" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>man</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "il contenuto di <literal><command>man</command><replaceable>comando</" "replaceable></literal> per tutti i comandi pertinenti" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>info</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "il contenuto di <literal><command>info</command><replaceable>comando</" "replaceable></literal> per tutti i comandi pertinenti" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian." "org mailing list archive</ulink>" msgstr "" "il contenuto dell'archivio della lista<ulink url=\"&debian-mentors-ldo;" "\">debian-mentors@lists.debian.org</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org " "mailing list archive</ulink>" msgstr "" "il contenuto dell'archivio della lista<ulink url=\"&debian-devel-ldo;" "\">debian-devel@lists.debian.org</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "You can use web search engines more effectively by including search strings " "such as <literal>site:lists.debian.org</literal> to limit the domain." msgstr "" "È possibile utilizzare i motori di ricerca web più efficacemente includendo " "stringhe di ricerca come <literal>sito:lists.debian.org</literal> per " "limitare le ricercha ad un determinato dominio." #. type: Content of: <book><chapter><section><para> msgid "" "Making a small test package is a good way to learn details of packaging. " "Inspecting existing well maintained packages is the best way to learn how " "other people make packages." msgstr "" "Creare un piccolo pacchetto di test è un ottimo metodo per imparare i " "dettagli della pacchettizzazione. Analizzare dei pacchetti già esistenti e " "ben manutenuti, è invece, il metodo migliore per capire come creano i " "pacchetti le altre persone." #. type: Content of: <book><chapter><section><para> msgid "" "If you still have questions about packaging that you couldn't find answers " "to in the available documentation and web resources, you can ask them " "interactively." msgstr "" "Se si hanno ancora domande sulla pacchettizzazione alle quale non si trova " "risposta nella documentazione disponibile e le risorse web, si può chiedere " "aiuto nei seguenti luoghi." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (This mailing list is for the novice.)" msgstr "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (Questa è la mailing list per i principianti.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " "list</ulink>. (This mailing list is for the expert.)" msgstr "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " "list</ulink>. (Questa è la mailing list per gli esperti.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</" "literal>." msgstr "" "su <ulink url=\"&irc-debian;\">IRC</ulink> in canali come <literal>#debian-" "mentors</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The more experienced Debian developers will gladly help you, if you ask " "properly after making your required efforts." msgstr "" "Gli sviluppatori di Debian più esperti saranno lieti di aiutere, se viene " "chiesto correttamente e dopo aver fatto gli sforzi necessari." #. type: Content of: <book><chapter><section><para> msgid "" "When you receive a bug report (yes, actual bug reports!), you will know that " "it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking " "System</ulink> and read the documentation there, to be able to deal with the " "reports efficiently. I highly recommend reading the <ulink url=\"&devref-" "bug-handling;\">Debian Developer's Reference, 5.8. \"Handling bugs\"</" "ulink>." msgstr "" "Quando si ricevono delle segnalazioni di bug (sì, proprio quelle!), si dovrà " "approfondire l'utilizzo del <ulink url=\"&bts;\">Sistema di tracciamento dei " "bug di Debian</ulink> e leggere la relativa documentazione, per essere in " "grado di gestire le segnalazioni in maniera efficiente. È vivamente " "consigliato leggere <ulink url=\"&devref-bug-handling;\">Debian Developer's " "Reference, 5.8. \"Handling bugs\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Even if it all worked well, it's time to start praying. Why? Because in " "just a few hours (or days) users from all around the world will start to use " "your package, and if you made some critical error you'll get mailbombed by " "numerous angry Debian users... Just kidding. :-)" msgstr "" "Anche se tutto è andato per il meglio, è arrivato il momento di pregare. " "Perché? Perché in poche ore (o giorni) utenti da tutto il mondo cominceranno " "ad usare il vostro pacchetto, e se si è commesso qualche errore grave, la " "proprio email sarà inondata da messaggi di molti utenti Debian " "incavolati... Si scherza ovviamente. :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Relax and be ready for bug reports, because there is a lot more work to be " "done before your package will be fully in line with Debian policies and its " "best practice guidelines (once again, read the <emphasis>real documentation</" "emphasis> for details). Good luck!" msgstr "" "Ci si deve rilassare ed essere pronti per le segnalazioni di bug, perché c'è " "molto lavoro prima che un pacchetto sia completamente conforme alle policy " "di Debian (ancora una volta, si legga la <emphasis>vera documentazione</" "emphasis> per i dettagli). In bocca al lupo!" #. type: Content of: <book><chapter><title> msgid "First steps" msgstr "Primi passi" #. type: Content of: <book><chapter><para> msgid "" "Let's start by creating a package of your own (or, even better, adopting an " "existing one)." msgstr "" "Iniziamo a creare un pacchetto (o, meglio ancora, adottiamone uno già " "esistente)." #. type: Content of: <book><chapter><section><title> msgid "Debian package building workflow" msgstr "Flusso di lavoro per la costruzione dei pacchetti Debian" #. type: Content of: <book><chapter><section><para> msgid "" "If you are making a Debian package with an upstream program, the typical " "workflow of Debian package building involves generating several specifically " "named files for each step as follows." msgstr "" "Se si sta facendo un pacchetto Debian con un programma, il flusso di lavoro " "tipico per la costruzione di pacchetti Debian comporta la generazione di " "diversi file indicati in modo specifico per ogni passo come segue." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Get a copy of the upstream software, usually in a compressed tar format." msgstr "" "Procuriamoci una copia del programma, di solito in formato tar compresso." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>pacchetto</replaceable>-<replaceable>versione</replaceable>.tar." "gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add Debian-specific packaging modifications to the upstream program under " "the <filename>debian</filename> directory, and create a non-native source " "package (that is, the set of input files used for Debian package building) " "in <literal>3.0 (quilt)</literal> format." msgstr "" "Aggiungiamo le modifiche specifiche per il pacchetto Debian del programma, " "nella directory <filename>debian</filename>, e creiamo un archivio sorgente " "non nativo (ovvero con l'isieme di file di input utilizzati per la creazione " "del pacchetto) in formato <literal>3.0 (quilt)</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig." "tar.gz" msgstr "" "<replaceable>pacchetto</replaceable>_<replaceable>versione</replaceable>." "orig.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.debian.tar.gz" msgstr "" "<replaceable>pacchetto</replaceable>_<replaceable>versione</replaceable>-" "<replaceable>revisione</replaceable>.debian.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><footnote><para> msgid "" "For the older style of non-native Debian source packages in <literal>1.0</" "literal> format, <literal><replaceable>package</" "replaceable>_<replaceable>version</replaceable>-<replaceable>revision</" "replaceable>.diff.gz</literal> is used instead." msgstr "" "Per gli archivi non nativi nel vecchio formato <literal>1.0</literal>, viene " "utilizzato il nome <literal><replaceable>pacchetto</" "replaceable>_<replaceable>versione</replaceable>-<replaceable>revisione</" "replaceable>.diff.gz</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.dsc" msgstr "" "<replaceable>pacchetto</replaceable>_<replaceable>versione</replaceable>-" "<replaceable>revisione</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Build Debian binary packages, which are ordinary installable package files " "in <literal>.deb</literal> format (or <literal>.udeb</literal> format, used " "by the Debian Installer) from the Debian source package." msgstr "" "Costruiamo i pacchetti binari Debian, che sono normali pacchetti " "installabili nel formato <literal>.deb</literal> (o nel formato <literal>." "udeb</literal>, usato dall'installer Debian) dal sorgente del pacchetto " "Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>pacchetto</replaceable>_<replaceable>versione</replaceable>-" "<replaceable>revisione</replaceable>_<replaceable>arch</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the character separating <literal><replaceable>package</" "replaceable></literal> and <literal><replaceable>version</replaceable></" "literal> was changed from <literal>-</literal> (hyphen) in the tarball name " "to <literal>_</literal> (underscore) in the Debian package filenames." msgstr "" "Si prega di notare che il carattere di separazione tra " "<literal><replaceable>pacchetto</replaceable></literal> e " "<literal><replaceable>versione</replaceable></literal> è stato modificato da " "<literal>-</literal> (trattino) nel nome dell'archivio, a <literal>_</" "literal> (trattino basso) nel nome del pacchetto Debian." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. The <emphasis role=\"strong" "\">package architecture</emphasis> follows the <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> and is " "automatically assigned by the package build process." msgstr "" "Vedere <ulink url=\"&policy-source;\">5.6.1 \"Sorgente\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Pacchetto\"</ulink>, e <ulink url=\"&policy-" "version;\">5.6.12 \"Versione\"</ulink>. L'<emphasis role=\"strong" "\">architettura del pacchetto</emphasis> è conforme al manuale delle Policy " "di Debian: <ulink url=\"&policy-architecture;\">5.6.8 \"Architettura\"</" "ulink> ed è assegnata automaticamente al processo di creazione del pacchetto." #. type: Content of: <book><chapter><section><para> msgid "" "In the file names above, replace the <literal><replaceable>package</" "replaceable></literal> part with the <emphasis role=\"strong\">package name</" "emphasis>, the <literal><replaceable>version</replaceable></literal> part " "with the <emphasis role=\"strong\">upstream version</emphasis>, the " "<literal><replaceable>revision</replaceable></literal> part with the " "<emphasis role=\"strong\">Debian revision</emphasis>, and the " "<literal><replaceable>arch</replaceable></literal> part with the <emphasis " "role=\"strong\">package architecture</emphasis>, as defined in the Debian " "Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Nel file di nomi di cui sopra, sostituire la parte relativa al " "<literal><replaceable>pacchetto</replaceable></literal> con il <emphasis " "role=\"strong\">nome del pacchetto</emphasis>, la " "<literal><replaceable>versione</replaceable></literal> con la <emphasis role=" "\"strong\">versione originale</emphasis>, la " "<literal><replaceable>revisione</replaceable></literal> con la <emphasis " "role=\"strong\">revisione Debian</emphasis>, e l'<literal><replaceable> " "architettura</replaceable></literal> con l'<emphasis role=\"strong" "\">architettura del pacchetto</emphasis>, come definito nel manuale delle " "Policy di Debian. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "If instead you are making a Debian-specific package with no upstream, the " "typical workflow of Debian package building is simpler." msgstr "" "Se invece si sta creando un nuovo pacchetto specifico per Debian, senza un " "precedente sviluppatore, il flusso di lavoro tipico della costruzione del " "pacchetto è più semplice." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a native Debian source package in the <literal>3.0 (native)</literal> " "format using a single compressed tar file in which all files are included." msgstr "" "Creare un pacchetto sorgente nativo di Debian nel formato <literal>3.0 " "(native)</literal> usando un singolo file tar compresso che include tutti i " "file." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>pacchetto</replaceable>_<replaceable>versione</replaceable>.tar." "gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" msgstr "" "<replaceable>pacchetto</replaceable>_<replaceable>versione</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Build Debian binary packages from the native Debian source package." msgstr "" "Costruire pacchetti binari Debian dal pacchetto sorgente nativo di Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>pacchetto</replaceable>_<replaceable>versione</" "replaceable>_<replaceable>arch</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Each step of this outline is explained with detailed examples in later " "sections." msgstr "" "Ogni passo di questo schema è spiegato con esempi dettagliati nelle sezioni " "successive." #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "Scegliamo il programma" #. type: Content of: <book><chapter><section><para> msgid "" "You have probably chosen the package you want to create. The first thing " "you need to do is check if the package is in the distribution archive " "already by using the following." msgstr "" "Probabilmente avete già scelto il pacchetto da creare. La prima cosa da fare " "è controllare se il pacchetto è già presente negli archivi della " "distribuzione, utilizzando i seguenti strumenti." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <command>aptitude</command> command" msgstr "Il comando <command>aptitude</command>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page" msgstr "la pagina web <ulink url=\"&packages-do;\">Pacchetti Debian</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> " "web page" msgstr "" "la pagina web <ulink url=\"&packages-qa-do;\">Debian Package Tracking " "System</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. " "\"Adopting a package\"</ulink>." msgstr "" "Per maggiori informazioni, consulta la <ulink url=\"&developers-reference;" "\">Guida di riferimento per lo sviluppatore Debian 5.9.5. \"Adottare un " "pacchetto\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If the package already exists, well, install it! :-) If it happens to be " "<emphasis role=\"strong\">orphaned</emphasis> (that is, if its maintainer is " "set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>), you may be able to " "pick it up if it's still available. You may also adopt a package whose " "maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</" "emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Se il pacchetto esiste già, bene, basta installarlo! :-) Se dovesse essere " "<emphasis role=\"strong\">orfano</emphasis> (cioè, se il mantainer è <ulink " "url=\"&qa-do;\">Debian QA Group</ulink>), lo si può prendere in carico se è " "ancora disponibile. Si può adottare anche un pacchetto per il quale il suo " "manutentore ha presentato una richiesta di adozione (<emphasis role=\"strong" "\">RFA</emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "There are several package ownership status resources." msgstr "" "Ci sono diverse risorse per controllare lo stato di appartenenza dei " "pacchetti." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" msgstr "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" msgstr "" "<ulink url=\"&wnpp-bts;\">Registri di Debian delle segnalazioni dei bug: bug " "nello pseudo-pacchetto <systemitem role=\"package\">wnpp</systemitem> in " "<literal>unstable</literal></ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgstr "" "<ulink url=\"&wnpp-dn;\">Pacchetti Debian che hanno bisogno d'amore</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" msgstr "" "<ulink url=\"&wnpp-debtags;\">Sfogliare i bug di <systemitem role=\"package" "\">wnpp</systemitem> basati su debtags</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Having said that, there will of course always be new programs that are worth " "packaging." msgstr "" "Detto questo, ovviamente ci sarà sempre qualche nuovo programma che vale la " "pena pacchettizzare." #. type: Content of: <book><chapter><section><para> msgid "" "As a side note, it's important to point out that Debian already has packages " "for most kinds of programs, and the number of packages already in the Debian " "archive is much larger than that of contributors with upload rights. Thus, " "contributions to packages already in the archive are far more appreciated " "(and more likely to receive sponsorship) by other developers <placeholder " "type=\"footnote\" id=\"0\"/>. You can contribute in various ways." msgstr "" "Come nota a margine, è importante sottolineare che Debian ha già i pacchetti " "per la maggior parte dei programmi e che il numero di pacchetti presenti " "nell'archivio Debian è molto più grande di quello dei contribuenti con " "permessi di caricamento. Pertanto, i contributi sui pacchetti già presenti " "in archivio sono molto più apprezzati dagli altri sviluppatori (ed è molto " "più probabile che si ottenga una sponsorizzazione). <placeholder type=" "\"footnote\" id=\"0\"/>. Si può contribuire in diversi modi." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "adottando dei pacchetti orfani, ma ancora attivamente utilizzati" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>" msgstr "" "entrando a far parte dei <ulink url=\"&teams;\">team di pacchettizzazione</" "ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "aiutando nella risoluzione dei bug di pacchetti molto popolari" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" msgstr "preparando <ulink url=\"&devref-nmu;\">QA o caricando NMU</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "If you are able to adopt the package, get the sources (with something like " "<literal>apt-get source <replaceable>packagename</replaceable></literal>) " "and examine them. This document unfortunately doesn't include comprehensive " "information about adopting packages. Thankfully you shouldn't have a hard " "time figuring out how the package works since someone has already done the " "initial setup for you. Keep reading, though; a lot of the advice below will " "still be applicable for your case." msgstr "" "Appena ci si sente in grado di adottare un pacchetto, bisogna scaricare i " "sorgenti (con qualcosa tipo <literal>apt-get source <replaceable>pacchetto</" "replaceable></literal>) ed esaminarli. Questo documento purtroppo non " "include tutte le informazioni che riguardano l'adozione dei pacchetti. " "Fortunatamente non sarà difficile capire come funziona il pacchetto dal " "momento che qualcuno avrà già effettuato la configurazione iniziale. " "Continua comunque a leggere, molti dei suggerimenti qui di seguito saranno " "utili per il nostro scopo." #. type: Content of: <book><chapter><section><para> msgid "" "If the package is new, and you decide you'd like to see it in Debian, " "proceed as follows:" msgstr "" "Se il pacchetto è nuovo, e si pensa che sarebbe bello entrare a far parte di " "Debian, ecco come procedere:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "First, you must know that the program works, and have tried it for some time " "to confirm its usefulness." msgstr "" "Prima di tutto bisogna capire se il programma funziona in modo corretto, e " "averlo provato per almeno un po' di tempo e dimostrarne l'utilità." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "You must check that no one else is already working on the package on the " "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> " "site. If no one else is working on it, file an ITP (Intent To Package) bug " "report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " "using <command>reportbug</command>. If someone's already on it, contact " "them if you feel you need to. If not - find another interesting program " "that nobody is maintaining." msgstr "" "Bisogna controllare nella <ulink url=\"&wnpp-do;being_packaged\">lista dei " "pacchetti sui quali si lavora</ulink> che nessun altro stia lavorando sullo " "stesso pacchetto. Se nessuno ci sta lavorando, si può segnalare un bug di " "tipo ITP (Intent To Package) allo pseudo-pacchetto <systemitem role=\"package" "\">wnpp</systemitem> usando il programma <command>reportbug</command>. Se " "qualcuno ci sta lavorando e si ritiene necessario si potrebbe contattare il " "maintainer. Altrimenti - si potrebbe trovare un altro programma " "interessante che è non manutenuto." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The software <emphasis role=\"strong\">must have a license</emphasis>." msgstr "" "il programma <emphasis role=\"strong\">deve avere una licenza</emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>main</literal> section, Debian Policy requires it <emphasis " "role=\"strong\">to be fully compliant with the Debian Free Software " "Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis " "role=\"strong\">not to require a package outside of <literal>main</literal></" "emphasis> for compilation or execution. This is the desired case." msgstr "" "I programmi nella sezione <literal>main</literal>, <emphasis role=\"strong" "\">devono essere completamente compatibili con le Linee Guida per il " "Software Libero Debian (DFSG, Debian Free Software Guidelines)</emphasis> " "(vedere <ulink url=\"&dfsg;\">DSFG</ulink>) e <emphasis role=\"strong\">non " "devono richiede nessun pacchetto che non sia presente nella sezione " "<literal>main</literal></emphasis>, per la compilazione o l'esecuzione. " "Questo è il caso preferito." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>contrib</literal> section, it must comply with the DFSG but " "it may require a package outside of <literal>main</literal> for compilation " "or execution." msgstr "" "I programmi nella sezione <literal>contrib</literal>, devono essere conformi " "alle DFSG, ma potrebbero richiedere, per la compilazione o l'esecuzione, un " "pacchetto che non è presente nella sezione <literal>main</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>non-free</literal> section, it may be non-compliant with " "the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>." msgstr "" "I programmi nella sezione <literal>non-free</literal>, possono non essere " "conformi alle DFSG, ma <emphasis role=\"strong\">devono poter essere " "distribuibili</emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If you are unsure about where it should go, post the license text on <ulink " "url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for " "advice." msgstr "" "Se non si è sicuri su quale sezione il pacchetto dovrebbe essere incluso, si " "può mandare il testo della licenza alla mailing list <ulink url=\"&debian-" "legal-ldo;\">debian-legal@lists.debian.org</ulink> e chiedere consigli." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The program should <emphasis role=\"strong\">not</emphasis> introduce " "security and maintenance concerns to the Debian system." msgstr "" "il programma <emphasis role=\"strong\">non</emphasis> dovrebbe introdurre " "problemi si sicurezza e di manutenzione al il sistema Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should be well documented and its code needs to be " "understandable (i.e. not obfuscated)." msgstr "" "il programma dovrebbe essere ben documentato e il suo codice facilmente " "comprensibile (ad es. non offuscato)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "You should contact the program's author(s) to check if they agree with " "packaging it and are amicable to Debian. It is important to be able to " "consult with the author(s) in case of any problems with the program, so " "don't try to package unmaintained software." msgstr "" "Si dovrebbe contattare l'autore o gli autori del programma per verificare " "che siano d'accordo con la sua pacchettizzazione. È importante essere in " "grado di consultarsi con l'autore/i sul programma nel caso di problemi " "specifici del programma, per questo è meglio non provare a pacchettizzare " "programmi non più manutenuti." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program certainly should <emphasis role=\"strong\">not</emphasis> run " "setuid root, or even better, it shouldn't need to be setuid or setgid to " "anything." msgstr "" "il programma <emphasis role=\"strong\">non</emphasis> dovrebbe certamente " "girare come setuid root, o meglio, non dovrebbe per niente richiedere di " "essere setuid o setgid." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should not be a daemon, or go in an <filename>*/sbin</filename> " "directory, or open a port as root." msgstr "" "il programma non dovrebbe essere un daemon, o essere installato nelle " "directory <filename>*/sbin</filename>, o aprire una porta come root." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, the last one is just a safety measures, and intended to save you " "from enraging users if you do something wrong in some setuid daemon... When " "you gain more experience in packaging, you'll be able to package such " "software." msgstr "" "Ovviamente queste sono solo misure di sicurezza, fatte per salvarti dall'ira " "degli utenti se si commette qualche errore in qualche daemon setuid... Una " "volta acquisita esperienza nella pacchettizzazione, sarai in grado di creare " "pure quel tipo di pacchetti." #. type: Content of: <book><chapter><section><para> msgid "" "As a new maintainer, you are encouraged to get some experience in packaging " "with easier packages and discouraged from creating complicated packages." msgstr "" "Visto che si è alle prime armi come maintainer, si consiglia di acquisire un " "po' d'esperienza creando dei pacchetti semplici cercando di evitare quelli " "più complicati." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Simple packages" msgstr "Pacchetti semplici" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (collection of data such as wallpaper " "graphics)" msgstr "" "pacchetto binario singolo, arch = all (collezione di dati, come le immagini " "di sfondo)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (executables written in an interpreted " "language such as POSIX shell)" msgstr "" "pacchetto binario singolo, arch = all (esegubili scritti in un linguaggio " "interpretato come lo shell POSIX)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Intermediate complexity packages" msgstr "Pacchetti di media difficoltà" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = any (ELF binary executables compiled from " "languages such as C and C++)" msgstr "" "pacchetto bianrio singolo, arch = any (binari ELF eseguibili compilati da " "linguaggi come C e C++)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "multiple binary packages, arch = any + all (packages for ELF binary " "executables + documentation)" msgstr "" "pacchetti binari multipli, arch = any + all (pacchetti per binari ELF " "eseguibili + documentazione)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "upstream source in a format other than <filename>tar.gz</filename> or " "<filename>tar.bz2</filename>" msgstr "" "sorgente originale in un formato diverso da <filename>tar.gz</filename> o " "<filename>tar.bz2</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "upstream source containing undistributable contents" msgstr "l'archivio dei sorgenti originale ha contenuti non distribuibili." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "High complexity packages" msgstr "Pacchetti complessi" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter module package used by other packages" msgstr "pacchetto di un modulo di un interprete utilizzato da altri pacchetti" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "generic ELF library package used by other packages" msgstr "libreria ELF generica utilizzata da altri pacchetti" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "multiple binary packages including an ELF library package" msgstr "" "pacchetti binari multipli che includono un pacchetto di una libreria ELF" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "source package with multiple upstream sources" msgstr "pacchetto con molteplici sorgenti originali" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel module packages" msgstr "pacchetti di moduli del kernel" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel patch packages" msgstr "pacchetti di patch del kernel" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "any package with non-trivial maintainer scripts" msgstr "ogni paccheto con degli script di manutenzione non banali" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging high complexity packages is not too hard, but it requires a bit " "more knowledge. You should seek specific guidance for every complex feature. " "For example, some languages have their own sub-policy documents:" msgstr "" "Creare pacchetti complessi non è troppo difficile, ma richiede un po' più di " "conoscenza. Si dovrebbe cercare una guida specifica per ogni caratteristica " "complessa. Ad esempio, alcuni linguaggi hanno dei loro documenti con le loro " "linee guida:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>" msgstr "<ulink url=\"&policy-perl;\">Perl policy</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-python;\">Python policy</ulink>" msgstr "<ulink url=\"&policy-python;\">Python policy</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-java;\">Java policy</ulink>" msgstr "<ulink url=\"&policy-java;\">Java policy</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Do not worry about the missing <filename>Makefile</filename>. You can " "install the <command>hello</command> command by simply using " "<command>debhelper</command> as in <xref linkend=\"install\"/>, or by " "modifying the upstream source to add a new <filename>Makefile</filename> " "with the <literal>install</literal> target as in <xref linkend=\"modify\"/>." msgstr "" "Non ci si preoccupi della mancanza dei <filename>Makefile</filename>. È " "possibile installare il programma <command>hello</command> semplicemente " "usando il comando <command>debhelper</command> come in <xref linkend=" "\"install\"/>, oppure modificando il sorgente originale aggiungendo un nuovo " "<filename>Makefile</filename> con la destinazione dell' <literal>install</" "literal> come in <xref linkend=\"modify\"/> ." #. type: Content of: <book><chapter><section><para> msgid "" "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " "practice and experiment with all the steps of Debian packaging with simple " "packages while reading this tutorial. A trivial upstream tarball " "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a " "good starting point.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "C'è un altro vecchio detto latino che dice: <emphasis>fabricando fit faber</" "emphasis> (la pratica rende perfetti). Si tratta di una pratica " "<emphasis>vivamente</emphasis> consigliata, sperimentate tutte le fasi di " "pacchettizzazione Debian con un pacchetto semplice durante la lettura di " "questo tutorial. Un archivio compresso banale come <filename>hello-sh-1.0." "tar.gz</filename> creato come segue, può offrire un buon punto di partenza. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" msgstr "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "Prendere il programma e provarlo" #. type: Content of: <book><chapter><section><para> msgid "" "So the first thing to do is to find and download the original source code. " "Presumably you already have the source file that you picked up at the " "author's homepage. Sources for free Unix programs usually come in " "<command>tar</command>+<command>gzip</command> format with the extension " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> format with the extension <filename>.tar.bz2</filename>, or " "<command>tar</command>+<command>xz</command> format with the extension " "<filename>.tar.xz</filename>. These usually contain a directory called " "<filename><replaceable>package</replaceable>-<replaceable>version</" "replaceable></filename> with all the sources inside." msgstr "" "La prima cosa da fare è trovare e scaricare il codice sorgente originale del " "programma. Supponendo che si è recuperato il file dal sito web " "dell'autore. Generalmente il codice sorgente dei programmi liberi per Unix " "e derivati sono in formato <command>tar</command>+<command>gzip</command> " "con estensione <filename>.tar.gz</filename>, oppure in formato <command>tar</" "command>+<command>bzip2</command> con estensione <filename>.tar.bz2</" "filename>. Di solito, questi file, contengono la sottodirectory dal nome " "<filename><replaceable>pacchetto</replaceable>-<replaceable>versione</" "replaceable></filename> con tutti i sorgenti." #. type: Content of: <book><chapter><section><para> msgid "" "If the latest version of the source is available through a VCS such as Git, " "Subversion, or CVS, you need to get it with <literal>git clone</literal>, " "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into " "<command>tar</command>+<command>gzip</command> format yourself by using the " "<literal>--exclude-vcs</literal> option." msgstr "" "Se è presente un sistema di controllo di versione (VCS) come Git, Subversion " "o CVS, è possibile scaricare l'ultima versione del codice sorgente con " "<literal>git clone</literal>, <literal>svn co</literal>, o <literal>cvs co</" "literal> e comprimerlo in formato <command>tar</command>+<command>gzip</" "command> utilizzando l'opzione <literal>--exclude-vcs</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can identify the archive format using the <command>file</command> " "command when the file extension is not enough." msgstr "" "Si può utilizzare il comando <command>file</command> per scoprire il formato " "di archiviazione" #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes as some other sort of archive (for instance, " "the filename ends in <filename>.Z</filename> or <filename>.zip</" "filename><placeholder type=\"footnote\" id=\"0\"/>), you should also unpack " "it with the appropriate tools and repack it." msgstr "" "Se il codice sorgente è in qualche altro formato di archiviazione (per " "esempio, con estensione <filename>.Z</filename> o <filename>.zip</" "filename><placeholder type=\"footnote\" id=\"0\"/>), scompattarlo con i " "programmi appropriati, e ricomprimerlo." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes with some contents which do not comply with " "DFSG, you should also unpack it to remove such contents and repack it with a " "modified upstream version containing <literal>dfsg</literal>." msgstr "" "Se il sorgente del programma viene fornito con alcuni contenuti che non sono " "conformi con il DFSG, si dovrebbe scompattarlo, rimuovere questi contenuti e " "ricomprimerlo con una versione modificata dei sorgenti originali contenenti " "<literal>dfsg</literal> ." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This program is already packaged. The <ulink url=\"&gentoo-package;" "\">current version</ulink> uses Autotools as its build structure and is " "substantially different from the following examples, which were based on " "version 0.9.12." msgstr "" "Il programma in questione è già stato pacchettizzato. La <ulink url=" "\"&gentoo-package;\">versione corrente</ulink> usa gli Autotools e la sua " "costruzione e struttura è molto sostanzialmente differente dagli esempi " "seguenti, che sono basati sulla versione 0.9.12." #. type: Content of: <book><chapter><section><para> msgid "" "As an example, I'll use a program called <command>gentoo</command>, a GTK+ " "file manager. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "A titolo di esempio, verrà utilizzato il programma <command>gentoo</" "command>, un gestore file grafico basato su GTK+.<placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Create a subdirectory under your home directory named <filename>debian</" "filename> or <filename>deb</filename> or anything you find appropriate (e." "g. just <filename>~/gentoo</filename> would do fine in this case). Place " "the downloaded archive in it, and extract it (with <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " "tools may or may not ignore these anomalies, so they may have problems " "unpacking them. Your shell command line may look something like this:" msgstr "" "È buona regola creare una sottodirectory nella directory home e nominarla " "<filename>debian</filename> o <filename>deb</filename> o qualsiasi altro " "nome appropriato (ad es. in questo caso <filename>~/gentoo</filename> " "andrebbe più che bene). Scaricare l'archivio e scompattarlo (con il comando " "<literal>tar xzf gentoo-0.9.12.tar.gz</literal>). Bisogna assicurarsi che " "non ci siano errori, per quanto in apparenza <emphasis>irrilevanti</" "emphasis>, perché potrebbero causare problemi nell'estrazione dell'archivio " "sul sistema di altre persone, alcuni strumenti di estrazione a volte " "ignorano queste anomalie. Nella console dovrebbe esserci quanto segue." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Now you have another subdirectory, called <filename>gentoo-0.9.12</" "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " "read the provided documentation. Usually there are files named " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> or <filename>*.html</filename>. You must find instructions " "on how to compile and install the program (most probably they'll assume you " "want to install to the <filename>/usr/local/bin</filename> directory; you " "won't be doing that, but more on that later in <xref linkend=\"destdir\"/>)." msgstr "" "A questo punto si avrà un'altra sottodirectory, dal nome " "<filename>gentoo-0.9.12</filename>. Spostarsi in questa directory e leggere " "<emphasis>attentamente</emphasis> la documentazione fornita. Di solito si " "avranno dei file come <filename>README*</filename>, <filename>INSTALL*</" "filename>, <filename>*.lsm</filename> o <filename>*.html</filename>. È " "necessario trovare istruzioni su come compilare e installare correttamente " "il programma (si potrebbe supporre di installare il programma nella " "directory <filename>/usr/local/bin</filename>, ma questo non è il " "comportamento corretto, tratteremo l'argomento più avanti <xref linkend=" "\"destdir\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "You should start packaging with a completely clean (pristine) source " "directory, or simply with freshly unpacked sources." msgstr "" "Si dovrebbe iniziare la pacchettizzazione con la directory dei sorgenti " "completamente ripulita, o semplicemente partendo da una nuova estrazione " "dall'archivio dei sorgenti." #. type: Content of: <book><chapter><section><title> msgid "Simple build systems" msgstr "Sistemi di compilazione semplici" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Many modern programs come with a script <filename>configure</filename> which " "when executed creates a <filename>Makefile</filename> customized for your " "system." msgstr "" "Molti programmi moderni sono dotati di uno script <filename>configure</" "filename> che, una volta eseguto, crea un <filename>Makefile</filename> " "personalizzato per il proprio sistema." #. type: Content of: <book><chapter><section><para> msgid "" "Simple programs usually come with a <filename>Makefile</filename> and can be " "compiled just by invoking <literal>make</literal>.<placeholder type=" "\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, " "which runs included self-tests. Installation to the destination directories " "is usually done with <literal>make install</literal>." msgstr "" "I programmi più semplici sono dotati di un file <filename>Makefile</" "filename>, e possono essere compilati semplicemente con il comando " "<literal>make</literal>.<placeholder type=\"footnote\" id=\"0\"/> Alcuni " "supportano <literal>make check</literal>, che esegue dei controlli " "automatici. Per installare il programma nella directory di destinazione, di " "solito basta eseguire <literal>make install</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Now try to compile and run your program, to make sure it works properly and " "doesn't break something else while it's installing or running." msgstr "" "Adesso si provi a compilare ed eseguire il programma, assicurandosi che " "funzioni correttamente e che niente sia andato storto durante " "l'installazione o l'esecuzione." #. type: Content of: <book><chapter><section><para> msgid "" "Also, you can usually run <literal>make clean</literal> (or better " "<literal>make distclean</literal>) to clean up the build directory. " "Sometimes there's even a <literal>make uninstall</literal> which can be used " "to remove all the installed files." msgstr "" "Di solito, per ripulire la directory di compilazione, si usa il comando " "<literal>make clean</literal> (o meglio ancora <literal>make distclean</" "literal>). Talvolta c'è anche il comando <literal>make uninstall</literal> " "che serve a rimuovere tutti i file installati." #. type: Content of: <book><chapter><section><title> msgid "Popular portable build systems" msgstr "Sistemi di compilazione portabili più utilizzati" #. type: Content of: <book><chapter><section><para> msgid "" "A lot of free software programs are written in the <ulink url=\"&c-program;" "\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these " "use Autotools or CMake to make them portable across different platforms. " "These build tools need to be used to generate the <filename>Makefile</" "filename> and other required source files first. Then, such programs are " "built using the usual <literal>make; make install</literal>." msgstr "" "Molti programmi liberi sono scritti utilizzando i linguaggi di " "programmazione <ulink url=\"&c-program;\">C</ulink> e <ulink url=\"&cxx;\">C+" "+</ulink>. Molti di questi utilizzano Autotools o CMake per essere " "portabili su diverse piattaforme. Questi strumenti vengono utilizzati per " "generare il <filename>Makefile</filename> e altri file sorgenti necessari. " "Dopo di questo, i programmi vengono compilati utilizzando il solito " "<literal>make; make install</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Autotools is too big to deal in this small tutorial. This section is meant " "to provide keywords and references only. Please make sure to read the " "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and the local " "copy of <filename>&autotools-readme;</filename>, if you need to use it." msgstr "" "Autotools è troppo vasto per essere approfondito in questa piccolo tutorial. " "Questa sezione ha lo scopo di fornire i concetti base ed i riferimenti. " "Assicurarsi di leggere il <ulink url=\"&autotools-tutorial;\">tutorial " "Autotools</ulink> e la copia locale di <filename>&autotools-readme;</" "filename>, se si intende usarlo." #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> is the GNU build system " "comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, " "and <ulink url=\"&gettext;\">gettext</ulink>. You can recognize such " "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" "filename>, and <filename>Makefile.in</filename> files. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> è il sistema di " "compilazione della GNU, che compendre <ulink url=\"&autoconf;\">Autoconf</" "ulink>, <ulink url=\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;" "\">Libtool</ulink>, e <ulink url=\"&gettext;\">gettext</ulink>. Per capire " "meglio ciò che avviene, si possono leggere i seguenti file sorgenti: " "<filename>configure.ac</filename>, <filename>Makefile.am</filename>, e " "<filename>Makefile.in</filename>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "The first step of the Autotools workflow is usually that upstream runs " "<literal>autoreconf -i -f</literal> in the source directory and distributes " "the generated files along with the source." msgstr "" "Il primo passo del flusso di lavoro degli Autotools consiste solitamente " "nell'esecuzione del comando <literal>autoreconf -i -f</literal> per i " "sorgenti che verranno successivamente distribuiti insieme ai file generati." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" msgstr "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" #. type: Content of: <book><chapter><section><para> msgid "" "Editing <filename>configure.ac</filename> and <filename>Makefile.am</" "filename> files requires some knowledge of <command>autoconf</command> and " "<command>automake</command>. See <literal>info autoconf</literal> and " "<literal>info automake</literal>." msgstr "" "La modifica dei file <filename>configure.ac</filename> e <filename>Makefile." "am</filename> richiede una minima conoscenza di <command>autoconf</command> " "e <command>automake</command>. Vedere<literal>info autoconf</literal> e " "<literal>info automake</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The second step of the Autotools workflow is usually that the user obtains " "this distributed source and runs <literal>./configure && make</" "literal> in the source directory to compile the program into an executable " "command <command><replaceable>binary</replaceable></command>." msgstr "" "Il passo successivo da compiere con Autotools, di solito, consiste nel " "procurarsi il sorgente del programma e nel compilarlo nella directory " "<command><replaceable>binary</replaceable></command> tramite l'esecuzione " "dei comandi <literal>./configure && make</literal> all'interno della " "directory dei sorgenti stessi." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" msgstr "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can change many things in the <filename>Makefile</filename>; for " "instance you can change the default location for file installation using the " "option <literal>./configure --prefix=/usr</literal>." msgstr "" "Si possono modificare molte cose nel file <filename>Makefile</filename>, " "come la posizione predefinita di installazione dei file utilizzando " "l'opzione <command>./configure --prefix=/usr</command>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can automate this by using <systemitem role=\"package\">dh-autoreconf</" "systemitem> package. See <xref linkend=\"customrules\"/>." msgstr "" "Si possono automatizzare queste operazioni utilizzando il pacchetto " "<systemitem role=\"package\">dh-autoreconf</systemitem>. Vedere <xref " "linkend=\"customrules\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Although it is not required, updating the <filename>configure</filename> and " "other files with <literal>autoreconf -i -f</literal> may improve the " "compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Nonostante non sia richiesto, l'aggiornamento di <filename>configure</" "filename> e degli altri file con <literal>autoreconf -i -f</literal> può " "migliorare la compatibilità del sorgente. <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You " "can recognize such sources by the <filename>CMakeLists.txt</filename> file." msgstr "" "<ulink url=\"&cmake;\">CMake</ulink> è un alternativo sistema di " "compilazione. Per conoscerlo meglio si può leggere il file " "<filename>CMakeLists.txt</filename>." #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "Nome e versione del pacchetto" #. type: Content of: <book><chapter><section><para> msgid "" "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " "you can take <literal>gentoo</literal> as the (source) <emphasis role=" "\"strong\">package name</emphasis> and <literal>0.9.12</literal> as the " "<emphasis role=\"strong\">upstream version</emphasis>. These are used in " "the <filename>debian/changelog</filename> file described later in <xref " "linkend=\"changelog\"/>, too." msgstr "" "Se il sorgente del programma originale è nominato <filename>gentoo-0.9.12." "tar.gz</filename>, si può usare <literal>gentoo</literal> come <emphasis " "role=\"strong\">nome pacchetto</emphasis> e <literal>0.9.12</literal> come " "<emphasis role=\"strong\">versione del programma originale</emphasis>. " "Queste stringhe saranno utilizzate nel file <filename>debian/changelog</" "filename> come vedremo più avanti nel <xref linkend=\"changelog\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Although this simple approach works most of the times, you may need to " "adjust <emphasis role=\"strong\">package name</emphasis> and <emphasis role=" "\"strong\">upstream version</emphasis> by renaming the upstream source to " "follow Debian Policy and existing convention." msgstr "" "Sebbene questo semplice approccio il più delle volte funzioni, può essere " "necessario modificare il <emphasis role=\"strong\">nome pacchetto</emphasis> " "e la <emphasis role=\"strong\">versione del programma originale</emphasis> " "rinominando il sorgente originale in qualcosa conforme la policy di Debian " "ed alle convenzioni esistenti." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default package name field length of <command>aptitude</command> is 30. " "For more than 90% of packages, the package name is less than 24 characters." msgstr "" "Il campo di default di <command>aptitude</command> del nome del pacchetto è " "di 30 caratteri. Oltre il 90% dei pacchetti ha un nome più piccolo di 24 " "caratteri." #. type: Content of: <book><chapter><section><para> msgid "" "You must choose the <emphasis role=\"strong\">package name</emphasis> to " "consist only of lower case letters (<literal>a-z</literal>), digits " "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" "literal>) signs, and periods (<literal>.</literal>). It must be at least two " "characters long, must start with an alphanumeric character, and must not be " "the same as existing ones. It is a good idea to keep its length within 30 " "characters. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "È necessario scegliere il <emphasis role=\"strong\">nome del pacchetto</" "emphasis> con sole lettere minuscole (<literal>a-z</literal>), cifre " "(<literal>0-9</literal>), il segno più (<literal>+</literal>) e il segno " "meno (<literal>-</literal>), e il punto ( <literal>.</literal> ). Il nome " "deve essere di almeno due caratteri, deve iniziare con un carattere " "alfanumerico, e non deve essere la stesso di quelli già esistenti. E' " "consigliabile mantenere la lunghezza intorno ai 30 caratteri. <placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you follow the <ulink url=\"&devref-newpackage;\">Debian Developer's " "Reference 5.1. \"New packages\"</ulink>, the ITP process will usually catch " "this kind of issues." msgstr "" "Se si segue la <ulink url=\"&devref-newpackage;\">guida dello sviluppatore " "Debian 5.1. \"New packages\"</ulink>, il processo di ITP di solito dovrebbe " "risolvere questo tipo di problemi." #. type: Content of: <book><chapter><section><para> msgid "" "If upstream uses some generic term such as <literal>test-suite</literal> for " "its name, it is a good idea to rename it to identify its contents explicitly " "and avoid namespace pollution. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Se il sorgente originale usa un nome troppo generico come <literal>test-" "suite</literal> è consigliabile rinominarlo, in modo da identificare meglio " "il suo contenuto e per non rischiare di sporcare il namespace. <placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This stricter rule should help you avoid confusing file names." msgstr "" "Questa regola dovrebbe aiutare ad evitare confusione con i nome dei file." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default version field length of <command>aptitude</command> is 10. The " "Debian revision with preceding hyphen usually consumes 2. For more than 80% " "of packages, the upstream version is less than 8 characters and the Debian " "revision is less than 2 characters. For more than 90% of packages, the " "upstream version is less than 10 characters and the Debian revision is less " "than 3 characters." msgstr "" "La lunghezza predefinita del campo \"versione\" di <command>aptitude</" "command> è di 10 caratteri. Di solito le revisioni Debian precedute da un " "trattino ne utilizzano 2. Per più dell'80% dei pacchetti, la lunghezza " "della versione dei sorgenti originali è più piccola di 10 caratteri e la " "revisione Debian è inferiore a 3 caratteri." #. type: Content of: <book><chapter><section><para> msgid "" "You should choose the <emphasis role=\"strong\">upstream version</emphasis> " "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>), and periods " "(<literal>.</literal>). It must start with a digit (<literal>0-9</" "literal>). <placeholder type=\"footnote\" id=\"0\"/> It is good idea to " "keep its length within 8 characters if possible. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "Si consiglia di scegliere un nome della <emphasis role=\"strong\">versione " "del programma originale</emphasis> contenente solo caratteri alfanumerici " "(<literal>0-9A-Za-z</literal>), il segno più (<literal>+</literal>), il " "simbolo tilde (<literal>~</literal>), e il punto (<literal>.</literal>). Il " "nome deve iniziare con una cifra (<literal>0-9</literal>). <placeholder " "type=\"footnote\" id=\"0\"/> È consigliabile, se possibile, mantenere una " "lunghezza entro gli 8 caratteri. <placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream does not use a normal versioning scheme such as " "<literal>2.30.32</literal> but uses some kind of date such as " "<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " "part of the version, make sure to remove them from the <emphasis role=" "\"strong\">upstream version</emphasis>. Such information can be recorded in " "the <filename>debian/changelog</filename> file. If you need to invent a " "version string, use the <literal>YYYYMMDD</literal> format such as " "<literal>20110429</literal> as upstream version. This ensures that " "<command>dpkg</command> interprets later versions correctly as upgrades. If " "you need to ensure smooth transition to the normal version scheme such as " "<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format " "such as <literal>0~110429</literal> as upstream version, instead." msgstr "" "Se il programma originale non utilizza un normale sistema di versioning, " "come ad esempio <literal>2.30.32</literal>, ma utilizza qualche tipo di " "data, come <literal>11Apr29</literal>, un stringa con un codice casuale, o " "un valoro di hash di un VCS, bisogna assicurarsi di rimuoverli dalla " "<emphasis role=\"strong\">versione originale</emphasis>. Queste " "informazioni possono essere registrate nel file <filename>debian/changelog</" "filename>. Se si ha bisogno di inventare una stringa di versione, bisogna " "utilizzare il formato <literal>YYYYMMDD</literal>, ad esempio " "<literal>20110429</literal> come versione originale. Questo fa in modo che " "<command>dpkg</command> interpreti in modo corretto le versioni successive " "del programma, per gli aggiornamenti. Se ci si vuole assicurare, in futuro, " "una transazione indolore ad un normale sistema di versioning, come " "<literal>0.1</literal>, si utilizzi il formato <literal>0~YYMMDD</literal>, " "ed esempio <literal>0~110429</literal>, anzichè la versione originale." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Version strings may be <emphasis role=\"strong\">upstream version</emphasis> " "(<literal><replaceable>version</replaceable></literal>), <emphasis role=" "\"strong\">Debian revision</emphasis> (<literal><replaceable>revision</" "replaceable></literal>), or <emphasis role=\"strong\">version</emphasis> " "(<literal><replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal>). See <xref linkend=\"newrevision\"/> for how the " "<emphasis role=\"strong\">Debian revision</emphasis> is incremented." msgstr "" "La stringa della versione può essere costituita da <emphasis role=\"strong" "\">versione del programma originale</emphasis> " "(<literal><replaceable>versione</replaceable></literal>), <emphasis role=" "\"strong\">revisione Debian</emphasis> (<literal><replaceable>revisione</" "replaceable></literal>), oppure da <emphasis role=\"strong\">versione</" "emphasis> (<literal><replaceable>versione</replaceable>-" "<replaceable>revisione</replaceable></literal>). Vedere <xref linkend=" "\"newrevision\"/> per conoscere come incrementare il numero della <emphasis " "role=\"strong\">revisione Debian</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Version strings <placeholder type=\"footnote\" id=\"0\"/> can be compared " "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> as follows." msgstr "" "Le stringhe di versione <placeholder type=\"footnote\" id=\"0\"/> possono " "essere confrontate usando <citerefentry> <refentrytitle>dpkg</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> come segue." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" msgstr "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "The version comparison rule can be summarized as:" msgstr "" "Le regole per il confronto delle versioni possono essere riassunte in questo " "modo:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Strings are compared from the head to the tail." msgstr "" "Le stringhe sono confrontate dall'inizio alla fine (da sinistra verso " "destra)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are larger than digits." msgstr "Le lettere hanno più priorità delle cifre." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Numbers are compared as integers." msgstr "I numeri sono confrontati come interi." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are compared in ASCII code order." msgstr "Le lettere sono confrontate in ordine di codice ASCII." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "There are special rules for period (<literal>.</literal>), plus (<literal>+</" "literal>), and tilde (<literal>~</literal>) characters, as follows." msgstr "" "Ci sono regole speciali per il punto (<literal>.</literal>), il segno più " "(<literal>+</literal>), e il carattere tilde (<literal>~</literal>), eccole " "descritte." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" msgstr "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case occurs when upstream releases <filename>gentoo-0.9.12-" "ReleaseCandidate-99.tar.gz</filename> as the pre-release of " "<filename>gentoo-0.9.12.tar.gz</filename>. You need to make sure that the " "upgrade works properly by renaming the upstream source to " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." msgstr "" "Un esempio di caso intricato si ha, ad esempio, quando una è presente una " "pre-release RC come <filename>gentoo-0.9.12-ReleaseCandidate-99.tar.gz</" "filename> per il programma <filename>gentoo-0.9.12.tar.gz</filename>. In " "questo caso è necessario assicurarsi che l'aggiornamento funzioni " "correttamente, rinominando il sorgente originale " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>dh_make</command>" msgstr "Configurare <command>dh_make</command>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The following text assumes you are using Bash as your login shell. If you " "use some other login shell such as Z shell, use their corresponding " "configuration files instead of <filename>~/.bashrc</filename>." msgstr "" "Il seguente testo assume che stiate utilizzando Bash come shell di login. " "Se si utilizza un'altra shell di login, come la Z shell, bisognerà usare i " "suoi file di configurazione al posto di <filename>~/.bashrc</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Set up the shell environment variables <literal>$DEBEMAIL</literal> and " "<literal>$DEBFULLNAME</literal> so that various Debian maintenance tools " "recognize your email address and name to use for packages. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Una delle prime cose da fare è impostare le variabili d'ambiente della shell " "<literal>$DEBEMAIL</literal> e <literal>$DEBFULLNAME</literal> visto che " "molti strumenti di gestione di Debian usano queste variabili per recuperare " "il nome e l'email da utilizzare nei pacchetti.<placeholder type=\"footnote\" " "id=\"0\"/>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" msgstr "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" #. type: Content of: <book><chapter><section><title> msgid "Initial non-native Debian package" msgstr "Il primo pacchetto non nativo per Debian" #. type: Content of: <book><chapter><section><para> msgid "" "Normal Debian packages are non-native Debian packages made from upstream " "programs. If you wish to create a non-native Debian package of an upstream " "source <filename>gentoo-0.9.12.tar.gz</filename>, you can create an initial " "non-native Debian package for it by issuing the <command>dh_make</command> " "command as follows." msgstr "" "I pacchetti classici per Debian sono pacchetti non-nativi, ovvero non " "specificamente pensati per debian, come ad esempio qualche programma di " "manutenzione per Debian. Se si desidera creare un pacchetto Debian non-" "nativo del programma con il sorgente <filename>gentoo-0.9.12.tar.gz</" "filename> si può utilizzare il programma <command>dh_make</command> come " "segue." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" msgstr "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the upstream source provides the <filename>debian</filename> directory " "and its contents, run the <command>dh_make</command> command with the extra " "option <literal>--addmissing</literal>. The new source <literal>3.0 " "(quilt)</literal> format is robust enough not to break even for these " "packages. You may need to update the contents provided by the upstream for " "your Debian package." msgstr "" "Se i sorgenti originali contengono già la directory <filename>debian</" "filename> e il suo contenuto, si deve eseguire il comando <command>dh_make</" "command> con l'opzione <literal>--addmissing</literal>. Il nuovo formato " "dei sorgenti <literal>3.0 (quilt)</literal> è abbastanza maturo da non " "danneggiare questi pacchetti. Potrebbe essere necessario aggiornare i " "contenuti forniti nei sorgenti originali per il pacchetto Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of your original source " "archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> for details." msgstr "" "Ovviamente, si deve sostituire il nome del file con il nome dell'archivio " "dei sorgenti originali. <placeholder type=\"footnote\" id=\"0\"/> Vedere " "<citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry> per i dettagli." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are several choices here: <literal>s</literal> for Single binary " "package, <literal>i</literal> for arch-Independent package, <literal>m</" "literal> for Multiple binary packages, <literal>l</literal> for Library " "package, <literal>k</literal> for Kernel module package, <literal>n</" "literal> for kernel patch package, and <literal>b</literal> for <systemitem " "role=\"package\">cdbs</systemitem> package. This document focuses on the " "use of the <command>dh</command> command (from the package <systemitem role=" "\"package\">debhelper</systemitem>) to create a single binary package, but " "also touches on how to use it for arch-independent or multiple binary " "packages. The package <systemitem role=\"package\">cdbs</systemitem> offers " "an alternative packaging script infrastructure to the <command>dh</command> " "command and is outside the scope of this document." msgstr "" "Ecco le varie opzioni: <literal>s</literal> che sta per binario Singolo, " "<literal>i</literal> per Indipendente dall'architettura, <literal>m</" "literal> per binario Multiplo, <literal>l</literal> per Libreria, " "<literal>k</literal> per modulo del Kernel, <literal>n</literal> per patch " "del kernel e <literal>b</literal> per <systemitem role=\"package\">cdbs</" "systemitem>. Questo documento si basa sull'uso del comando <command>dh</" "command> (contenuto nel pacchetto <systemitem role=\"package\">debhelper</" "systemitem>) per la creazione di un pacchetto contenente un singolo binario, " "verrà trattato anche il funzionamento dei pacchetti indipendenti " "dall'architettura e i pacchetti con binari multipli. Il pacchetto " "<systemitem role=\"package\">cdbs</systemitem> offre un'infrastruttura di " "script alternativa al comando <command>dh</command> e non rientra " "nell'ambito di questo documento." #. type: Content of: <book><chapter><section><para> msgid "" "You should see some output asking you what sort of package you want to " "create. Gentoo is a single binary package - it creates only one binary " "package, i.e, one <filename>.deb</filename> file - so we will select the " "first option (with the <literal>s</literal> key), check the information on " "the screen, and confirm by pressing <literal><replaceable>ENTER</" "replaceable></literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Verranno visualizzate alcune informazioni e verrà chiesto che tipo di " "pacchetto creare. Gentoo è un pacchetto binario singolo - crea un solo " "binario, e quindi un solo file <filename>.deb</filename> - per cui si dovrà " "selezionare la prima opzione (con il tasto <literal>s</literal>), " "controllare le informazioni sullo schermo e confermare la scelta con " "<literal><replaceable>ENTER</replaceable></literal>. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "This execution of <command>dh_make</command> creates a copy of the upstream " "tarball as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent " "directory to accommodate the creation of the non-native Debian source " "package with the name <filename>debian.tar.gz</filename> later." msgstr "" "L'esecuzione di <command>dh_make</command>, creerà una copia dell'archivio " "originale del programma, come nome <filename>gentoo_0.9.12.orig.tar.gz</" "filename>, nella directory superiore, per consentire, più avanti, la " "creazione di un pacchetto Debian sorgente non-nativo con nome " "<filename>debian.tar.gz</filename>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" msgstr "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please note two key features of this filename <filename>gentoo_0.9.12.orig." "tar.gz</filename>:" msgstr "" "Si presti attenzione a due caratteristiche chiave presenti nel nome del file " "<filename>gentoo_0.9.12.orig.tar.gz</filename>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Package name and version are separated by the character <literal>_</literal> " "(underscore)." msgstr "" "Il nome del pacchetto e la versione sono separati da <literal>_</literal> " "(trattino basso)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The string <filename>.orig</filename> is inserted before the <filename>.tar." "gz</filename>." msgstr "" "La stringa <filename>.orig</filename> è inserita prima di <filename>.tar.gz</" "filename>." #. type: Content of: <book><chapter><section><para> msgid "" "You should also notice that many template files are created in the source " "under the <filename>debian</filename> directory. These will be explained in " "<xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should also " "understand that packaging cannot be a fully automated process. You will " "need to modify the upstream source for Debian (see <xref linkend=\"modify\"/" ">). After this, you need to use the proper methods for building Debian " "packages (<xref linkend=\"build\"/>), testing them (<xref linkend=\"checkit" "\"/>), and uploading them (<xref linkend=\"upload\"/>). All the steps will " "be explained." msgstr "" "Si dovrebbe aver notato che nella sottodirectory dei sorgenti " "<filename>debian</filename> sono stati creati molti modelli di file. Questo " "verrà trattato in <xref linkend=\"dreq\"/> e <xref linkend=\"dother\"/>. " "Dovreste aver capito che la pacchettizzazione non è un processo automatico. " "È necessario modificare il sorgente originale per Debian (come descritto in " "<xref linkend=\"modify\"/>). Dopo di questo, è necessario creare i " "pacchetti Debian in maniera appropriata (<xref linkend=\"build\"/>), " "provarli <xref linkend=\"checkit\"/>, e caricarli (<xref linkend=\"upload\"/" ">). Tutti i passaggi verranno approfonditi in seguito." #. type: Content of: <book><chapter><section><para> msgid "" "If you accidentally erased some template files while working on them, you " "can recover them by running <command>dh_make</command> with the <literal>--" "addmissing</literal> option again in a Debian package source tree." msgstr "" "Se accidentalmente viene cancellato qualche modello di file mentre ci si " "lavora, è possibile recuperarlo eseguendo <command>dh_make</command> con " "l'opzione <literal>--addmissing</literal> nella directory dei sorgenti del " "pacchetto Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Updating an existing package may get complicated since it may be using older " "techniques. While learning the basics, please stick to creating a fresh " "package; further explanations are given in <xref linkend=\"update\"/>." msgstr "" "L'aggiornamento di un pacchetto già esistente può diventare complicato, " "perché è possibile che si siano usate vecchie tecniche di " "pacchettizzazione. Per adesso, è consigliabile, concentrarsi sulla " "creazione di nuovi pacchetti per imparare le basi. Si tornerà ad " "approfondire l'argomento più avanti su <xref linkend=\"update\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the source file does not need to contain any build system " "discussed in <xref linkend=\"simplemake\"/> and <xref linkend=\"portable\"/" ">. It could be just a collection of graphical data etc. Installation of " "files may be carried out using only <systemitem role=\"package\">debhelper</" "systemitem> configuration files such as <filename>debian/install</filename> " "(see <xref linkend=\"install\"/>)." msgstr "" "Si tenga presente che non è necessario che il file dei sorgenti contenga " "qualsiasi sistema di creazione, discusso in <xref linkend=\"simplemake\"/> " "and <xref linkend=\"portable\"/>. Potrebbe essere solo una collezione di " "file grafici, ecc. L'installazione di questi file può essere effettuata " "utilizzando solamente i file di configurazione di <systemitem role=\"package" "\">debhelper</systemitem>, come <filename>debian/install</filename> (Vedere " "<xref linkend=\"install\"/>)." #. type: Content of: <book><chapter><section><title> msgid "Initial native Debian package" msgstr "Il primo pacchetto nativo Debian" #. type: Content of: <book><chapter><section><para> msgid "" "If a package contains source files you are only maintaining for Debian, " "possibly only for local use, it may be simpler to create it as a Debian " "native package. If you have source files in <filename>~/mypackage-1.0</" "filename>, you can create an initial native Debian package for it by issuing " "the <command>dh_make</command> command as follows." msgstr "" "Se un pacchetto contiene i file sorgenti per Debian che si vogliono " "solamente mantenere, possibilmente per uso locale, può essere più semplice " "crearlo come pacchetto Debian nativo. Se si hanno i sorgenti nella directory " "<filename>~/mypackage-1.0</filename>, su può creare un primo pacchetto " "Debian nativo utilizzando il comendo <command>dh_make</command> come segue." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" msgstr "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then the <filename>debian</filename> directory and its contents are created " "just like <xref linkend=\"non-native-dh-make\"/>. This does not create a " "tarball since this is a native Debian package. But that is the only " "difference. The rest of the packaging activities are practically the same." msgstr "" "La directory <filename>debian</filename> e il suo contenuto, sono creati " "proprio come <xref linkend=\"non-native-dh-make\"/>. Questo non crea un " "archivio poiché si tratta di un pacchetto Debian nativo. Questa è l'unica " "differenza. Il resto delle attività di pacchettizzazione sono praticamente " "le stesse." #. type: Content of: <book><chapter><title> msgid "Modifying the source" msgstr "Modificare i sorgenti" #. type: Content of: <book><chapter><para> msgid "" "Please note that there isn't space here to go into <emphasis>all</emphasis> " "the details of fixing upstream sources, but here are some basic steps and " "problems people often run across." msgstr "" "Non c'è spazio qui per approfondire <emphasis>tutti</emphasis> i dettagli su " "come modificare i sorgenti originali, ma verranno trattati alcuni passaggi " "fondamentali e le problematiche più comuni." #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>quilt</command>" msgstr "Configurare <command>quilt</command>" #. type: Content of: <book><chapter><section><para> msgid "" "The program <command>quilt</command> offers a basic method for recording " "modifications to the upstream source for Debian packaging. It's useful to " "have a slightly customized default, so let's create an alias " "<command>dquilt</command> for Debian packaging by adding the following lines " "to <filename>~/.bashrc</filename>. The second line provides the same shell " "completion feature of the <command>quilt</command> command to the " "<command>dquilt</command> command." msgstr "" "Il programma <command>quilt</command> offre un metodo semplice per " "registrare le modifiche dei sorgenti originali per la pacchettizzazione " "Debian. E' comodo averlo leggermente personalizzato per la " "pacchettizzazione Debian, utilizzando l'alias <command>dquilt</command>, " "aggiungendo la seguente linea al file <filename>~/.bashrc</filename>. La " "seconda riga fornisce la stessa funzionalità di shell completion del comando " "<command>quilt</command> al comando <command>dquilt</command>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" msgstr "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" #. type: Content of: <book><chapter><section><para> msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows." msgstr "Si crei il file <filename>~/.quiltrc-dpkg</filename> come segue." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" msgstr "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" #. type: Content of: <book><chapter><section><para> msgid "" "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <filename>&quilt-pdf;</filename> on how to " "use <command>quilt</command>." msgstr "" "Per l'utilizzo di <command>quilt</command> si veda <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> e <filename>&quilt-pdf;</filename>." #. type: Content of: <book><chapter><section><title> msgid "Fixing upstream bugs" msgstr "Correggere i bug nel sorgente originale" #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume you find an error in the upstream <filename>Makefile</filename> " "as follows where <literal>install: gentoo</literal> should have been " "<literal>install: gentoo-target</literal>." msgstr "" "Si supponga di trovare un errore, nel file <filename>Makefile</filename> " "distribuito con il programma originale, ad esempio la stringa " "<literal>install: gentoo</literal> avrebbe dovuto essere <literal>install: " "gentoo-target</literal>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <filename>debian/patches</filename> directory should exist now if you " "ran <command>dh_make</command> as described before. This example operation " "creates it just in case you are updating an existing package." msgstr "" "La directory <filename>debian/patches</filename> dovrebbe essere essere " "stata creata se si è eseguito <command>dh_make</command>, come descritto " "prima. Questo esempio crea la directory nel caso in cui si stia aggiornando " "un pacchetto esistente." #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this and record it with the <command>dquilt</command> command as " "<filename>fix-gentoo-target.patch</filename>. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Si può correggere questo errore e registrarlo, con il comando " "<command>dquilt</command> utilizzando come file <filename>fix-gentoo-target." "patch</filename>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "You change the <filename>Makefile</filename> file as follows." msgstr "Si modifichi il file <filename>Makefile</filename> come segue." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "Ask <command>dquilt</command> to generate the patch to create " "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " "description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</" "ulink>." msgstr "" "Adesso bisogna chiedere a <command>dquilt</command> di generare la patch " "<filename>debian/patches/fix-gentoo-target.patch</filename> e di aggiungere " "una descrizione conforme a <ulink url=\"&dep3;\">DEP-3: Patch Tagging " "Guidelines</ulink>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" #. type: Content of: <book><chapter><section><title> msgid "Installation of files to their destination" msgstr "Installazione dei file nei loro percorsi" #. type: Content of: <book><chapter><section><para> msgid "" "Most third-party software installs itself in the <filename>/usr/local</" "filename> directory hierarchy. On Debian this is reserved for private use " "by the system administrator, so packages must not use directories such as " "<filename>/usr/local/bin</filename> but should instead use system " "directories such as <filename>/usr/bin</filename>, obeying the <ulink url=" "\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)." msgstr "" "La maggiorparte dei programmi di terze parti si auto-installano in " "sottodirectory di <filename>/usr/local</filename>. I pacchetti Debian " "invece non devono usare quella directory, dal momento che è riservata agli " "amministratori (o utenti) del sistema per uso privato, ma dovrebbero usare " "le directory di sistema come la sottodirectory <filename>/usr/bin</" "filename>, conformi allo Standard di Gerarchia dei Filesystem (<ulink url=" "\"&fhs;\">FHS</ulink>, <filename>/usr/share/doc/debian-policy/fhs/fhs-2.3." "html</filename>)." #. type: Content of: <book><chapter><section><para> msgid "" "Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> is used to automate building the program, and " "executing <literal>make install</literal> installs programs directly to the " "desired destination (following the <literal>install</literal> target in the " "<filename>Makefile</filename>). In order for Debian to provide pre-built " "installable packages, it modifies the build system to install programs into " "a file tree image created under a temporary directory instead of the actual " "destination." msgstr "" "Normalmente, <citerefentry> <refentrytitle>make</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> è usato per costruire " "automaticamente il programma, invece l'esecuzione di <literal>make install</" "literal> installa il programma direttamente nella destinazione prestabilita " "(configurata nella sezione <literal>install</literal> nel file " "<filename>Makefile</filename>). Per far in modo che Debian fornisca dei " "pacchetti installabili pre-compilati, viene modificato il sistema di " "compilazione in modo da installare i programmi in un'immagine dell'albero " "dei file, creata dentro una directory temporanea, anziché nella destinazione " "prestabilita." #. type: Content of: <book><chapter><section><para> msgid "" "These two differences between normal program installation on one hand and " "the Debian packaging system on the other can be transparently addressed by " "the <systemitem role=\"package\">debhelper</systemitem> package through the " "<command>dh_auto_configure</command> and <command>dh_auto_install</command> " "commands if the following conditions are met." msgstr "" "Le 2 differenze tra la normale installazione di un programma e " "l'installazione tramite il sistema di pacchettizzazione Debian può essere " "affrontato in modo trasparente dal pacchetto <systemitem role=\"package" "\">debhelper</systemitem>, attraverso i comandi <command>dh_auto_configure</" "command> e <command>dh_auto_install</command>, se le seguenti condizioni " "sono soddisfatte." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." msgstr "" "Vedere <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <filename>Makefile</filename> must follow GNU conventions and support " "the <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" " "id=\"0\"/>" msgstr "" "Il file <filename>Makefile</filename> deve seguire le convenzioni GNU e " "supportare la variabile <literal>$(DESTDIR)</literal>. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The source must follow the Filesystem Hierarchy Standard (FHS)." msgstr "" "Il sorgente deve essere conforme allo Standard di Gerarchia dei Filesystem " "(FHS)." #. type: Content of: <book><chapter><section><para> msgid "" "Programs that use GNU <command>autoconf</command> follow the GNU conventions " "automatically, so they can be trivial to package. On the basis of this and " "other heuristics, it is estimated that the <systemitem role=\"package" "\">debhelper</systemitem> package will work for about 90% of packages " "without making any intrusive changes to their build system. So packaging is " "not as complicated as it may seem." msgstr "" "I programmi che usano GNU <command>autoconf</command> sono automaticamente " "conformi alle convenzioni GNU e la loro pacchettizzazione può essere molto " "semplice. Con questi ed altri accorgimenti, si stima che il pacchetto " "<systemitem role=\"package\">debhelper</systemitem> funzioni sul quasi il " "90% dei pacchetti senza apportare pesanti modifiche al loro sistema di " "compilazione. La pacchettizzazione non è così complicata come potrebbe " "sembrare." #. type: Content of: <book><chapter><section><para> msgid "" "If you need to make changes in the <filename>Makefile</filename>, you should " "be careful to support the <literal>$(DESTDIR)</literal> variable. Although " "it is unset by default, the <literal>$(DESTDIR)</literal> variable is " "prepended to each file path used for the program installation. The " "packaging script will set <literal>$(DESTDIR)</literal> to the temporary " "directory." msgstr "" "Se è necessario apportare delle modifiche al <filename>Makefile</filename>, " "si dovrebbe fare attenzione a supportare la variabilie <literal>$(DESTDIR)</" "literal>. Anche se non è impostata di default, la viarbile <literal>" "$(DESTDIR)</literal> viene anteposta ad ogni percorso usato per " "l'installazione del programma. Lo script di pacchettizzazione imposta la " "variabile <literal>$(DESTDIR)</literal> nella directory temporanea." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "For a source package generating multiple binary packages, the " "<command>dh_auto_install</command> command uses <filename>debian/tmp</" "filename> as the temporary directory while the <command>dh_install</command> " "command with the help of <filename>debian/<replaceable>package-1</" "replaceable>.install</filename> and <filename>debian/<replaceable>package-2</" "replaceable>.install</filename> files will split the contents of " "<filename>debian/tmp</filename> into <filename>debian/" "<replaceable>package-1</replaceable></filename> and <filename>debian/" "<replaceable>package-2</replaceable></filename> temporary directories, to " "create <filename><replaceable>package-1</replaceable>_*.deb</filename> and " "<filename><replaceable>package-2</replaceable>_*.deb</filename> binary " "packages." msgstr "" "Per il pacchetto sorgente che genera pacchetti binari multipli, il comando " "<command>dh_auto_install</command> utilizza la directory temporanea " "<filename>debian/tmp</filename>, mentre il comando <command>dh_install</" "command>, con l'aiuto dei file <filename>debian/<replaceable>pacchetto-1</" "replaceable>.install</filename> e <filename>debian/<replaceable>pacchetto-2</" "replaceable>.install</filename> suddivide il contenuto di <filename>debian/" "tmp</filename> nelle directory temporanee <filename>debian/" "<replaceable>pacchetto-1</replaceable></filename> e <filename>debian/" "<replaceable>pacchetto-2</replaceable></filename> per creare pacchetti " "binari <filename><replaceable>pacchetto-1</replaceable>_*.deb</filename> e " "<filename><replaceable>pacchetto-2</replaceable>_*.deb</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "For a source package generating a single binary package, the temporary " "directory used by the <command>dh_auto_install</command> command will be set " "to <filename>debian/<replaceable>package</replaceable></filename>. " "<placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in " "the temporary directory will be installed on users' systems when they " "install your package; the only difference is that <command>dpkg</command> " "will be installing the files to paths relative to the root directory rather " "than your working directory." msgstr "" "Per il pacchetto sorgente che genera un singolo pacchetto binario, la " "directory temporanea, utilizzata dal comando <command>dh_auto_install</" "command>, è <filename>debian/<replaceable>pacchetto</replaceable></" "filename>. <placeholder type=\"footnote\" id=\"0\"/> Tutto quello contenuto " "nella directory temporanea verrà installato sul sistema dell'utente, appena " "si installa il pacchetto, l'unica differenza è che <command>dpkg</command> " "installerà i file nella radice del file system anzichè nella directory di " "lavoro." #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that even though your program installs in <filename>debian/" "<replaceable>package</replaceable></filename>, it still needs to behave " "correctly when installed from the <filename>.deb</filename> package under " "the root directory. So you must not allow the build system to hardcode " "strings like <literal>/home/me/deb/<replaceable>package</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>package</" "replaceable></literal> into files in the package." msgstr "" "Bisogna tenere in considerazione che, anche se il programma viene installato " "in <filename>debian/<replaceable>pacchetto</replaceable></filename>, deve " "comunque potersi installare nella direcotry radice dal pacchetto <filename>." "deb</filename>. Per questo motivo non bisogna consentire al sistema di " "compilazione di utilizzare stringhe impostate manualmente come costanti, ad " "esempio <literal>/home/me/deb/<replaceable>pacchetto</replaceable>-" "<replaceable>versione</replaceable>/usr/share/<replaceable>pacchetto</" "replaceable></literal> nei file del pacchetto." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This is just an example to show what a <filename>Makefile</filename> should " "look like. If the <filename>Makefile</filename> is created by the " "<command>./configure</command> command, the correct way to fix this kind of " "<filename>Makefile</filename> is to execute <command>./configure</command> " "from the <command>dh_auto_configure</command> command with default options " "including <literal>--prefix=/usr</literal>." msgstr "" "Questo è solo un esempio che mostra come un <filename>Makefile</filename> " "dovrebbe apparire. Se il <filename>Makefile</filename> è creato dal comando " "<command>./configure</command>, il modo giusto per correggere il " "<filename>Makefile</filename> è eseguire il comando <command>./configure</" "command> dal comando <command>dh_auto_configure</command> includendo come " "opzione predefinita <literal>--prefix=/usr</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Here's the relevant part of <systemitem role=\"package\">gentoo</" "systemitem>'s <filename>Makefile</filename><placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "Questa è la parte più importante del <filename>Makefile</filename> del " "pacchetto <systemitem role=\"package\">gentoo</systemitem> <placeholder type=" "\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" msgstr "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "We see that the files are set to install under <filename>/usr/local</" "filename>. As explained above, that directory hierarchy is reserved for " "local use on Debian, so change those paths to:" msgstr "" "Da notare che i file verranno installati in <filename>/usr/local</" "filename>. Come descritto sopra, questa directory, in Debian, è riservata " "per l'utilizzo locale, si modifichino questi percorsi con:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgstr "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The exact locations that should be used for binaries, icons, documentation, " "etc. are specified in the Filesystem Hierarchy Standard (FHS). You should " "browse through it and read the sections relevant to your package." msgstr "" "Le posizioni che dovrebbero essere usate per i binari, le icone, la " "documentazione, ecc. sono specificate nella Gerarchia dei Filesystem (FHS). " "Si consiglia di sfogliarlo e leggere le sezioni riguardanti il pacchetto " "interessato." #. type: Content of: <book><chapter><section><para> msgid "" "So, we should install executable commands in <filename>/usr/bin</filename> " "instead of <filename>/usr/local/bin</filename>, the manual page in " "<filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/" "man1</filename>, and so on. Notice how there's no manual page mentioned in " "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" "filename>, but since Debian Policy requires that every program has one, " "we'll make one later and install it in <filename>/usr/share/man/man1</" "filename>." msgstr "" "Si dovrà installare, quindi, il file eseguibile in <filename>/usr/bin</" "filename> anziché in <filename>/usr/local/bin</filename>, la pagina di " "manuale in <filename>/usr/share/man/man1</filename> anziché <filename>/usr/" "local/man/man1</filename>, ecc. Da notare che nel <filename>Makefile</" "filename> del pacchetto <systemitem role=\"package\">gentoo</systemitem> non " "è presente una pagina di manuale, ma dal momento che la policy di Debian " "prevede che ogni programma ne abbia una, ne verrà creata una e sarà " "installata in <filename>/usr/share/man/man1</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Some programs don't use <filename>Makefile</filename> variables to define " "paths such as these. This means you might have to edit some real C sources " "in order to fix them to use the right locations. But where to search, and " "exactly what for? You can find this out by issuing:" msgstr "" "Alcuni programmi non usano le variabili nel <filename>Makefile</filename> " "per definire dei percorsi come questi. Questo indica che potrebbe essere " "necessario modificare qualche sorgente in C, per fargli usare il percorso " "giusto. Ma dove cercarlo, e per farci cosa? Lo si può scoprire eseguendo " "questo:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" msgstr "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>grep</command> will run recursively through the source tree and " "tell you the filename and the line number for all matches." msgstr "" "<command>grep</command> cercherà tutte le corrispondenze in maniera " "ricorsiva attraverso tutto l'albero dei sorgenti, indicando il nome del file " "e il numero della riga." #. type: Content of: <book><chapter><section><para> msgid "" "Edit those files and in those lines replace <literal>usr/local/lib</literal> " "with <literal>usr/lib</literal>. This can be done automatically as follows:" msgstr "" "Si modifichino quei file in quelle righe, sostituendo <literal>usr/local/" "lib</literal> con <literal>/usr/lib</literal>. Questo può essere fatto " "automaticamente, come mostrato di seguito:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you want to confirm each substitution instead, this can be done " "interactively as follows:" msgstr "" "Se invece si vuole dare la conferma per ogni sostituzione, si può utilizzare " "il seguento comando:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "Next you should find the <literal>install</literal> target (searching for " "the line that starts with <literal>install:</literal> will usually work) and " "rename all references to directories other than ones defined at the top of " "the <filename>Makefile</filename>." msgstr "" "A questo punto si dovrebbe trovare il target <literal>install</literal> (si " "cerchi la riga che inizia con <literal>install:</literal>, di solito è " "quella corretta) e modificare tutti i riferimenti alle directory diverse da " "quelle definite nel <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Originally, <systemitem role=\"package\">gentoo</systemitem>'s " "<literal>install</literal> target said:" msgstr "" "Originariamente, il target del pacchetto <systemitem role=\"package" "\">gentoo</systemitem> riporterà:" #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this upstream bug and record it with the <command>dquilt</command> " "command as <filename>debian/patches/install.patch</filename>." msgstr "" "Si può correggere e registrare la modifica con il comando <command>dquilt</" "command> salvandola come <filename>debian/patches/install.patch</filename>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "In your editor, change this for the Debian package as follows:" msgstr "" "Per il pacchetto debian si modifichi come segue, utilizzando un editor:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" msgstr "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You'll have noticed that there's now an <literal>install -d</literal> " "command before the other commands in the rule. The original " "<filename>Makefile</filename> didn't have it because usually <literal>/usr/" "local/bin</literal> and other directories already exist on the system where " "you are running <literal>make install</literal>. However, since we will be " "installing into a newly created private directory tree, we will have to " "create each and every one of those directories." msgstr "" "Si sarà fatto caso che adesso c'è un comando <literal>install -d</literal> " "prima degli altri, nella regola. Il <filename>Makefile</filename> originale " "non ce l'ha perché generalmente usa <literal>/usr/local/bin</literal> e " "altre directory che già esistono nel sistema su cui si esegue <literal>make " "install</literal>. Tuttavia, dal momento che verrà installato nella nostra " "directory vuota (o anche inesistente), si dovrà creare ogni singola " "directory." #. type: Content of: <book><chapter><section><para> msgid "" "We can also add in other things at the end of the rule, like the " "installation of additional documentation that the upstream authors sometimes " "omit:" msgstr "" "È possibile anche aggiungere altre cose alla fine della regola, come " "l'installazione di documentazione aggiuntiva che gli autori originali " "talvolta omettono:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" msgstr "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" #. type: Content of: <book><chapter><section><para> msgid "" "Check carefully, and if everything is okay, ask <command>dquilt</command> to " "generate the patch to create <filename>debian/patches/install.patch</" "filename> and add its description." msgstr "" "Dopo un'attenta analisi, se tutto è andato bene, si può generare con " "<command>dquilt</command> la patch che crea il file <filename>debian/patches/" "install.patch</filename> ed aggiungendogli una descrizione." #. type: Content of: <book><chapter><section><para> msgid "Now you have a series of patches." msgstr "Adesso si avranno una serie di patch." #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>" msgstr "" "Correzione del bug riguardante il sorgente originale: <filename>debian/" "patches/fix-gentoo-target.patch</filename>" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Debian specific packaging modification: <filename>debian/patches/install." "patch</filename>" msgstr "" "Modifica specifica per il sistema di pacchettizzazione Debian: " "<filename>debian/patches/install.patch</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Whenever you make changes that are not specific to the Debian package such " "as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to " "send them to the upstream maintainer so they can be included in the next " "version of the program and be useful to everyone else. Also remember to " "avoid making your fixes specific to Debian or Linux - or even Unix! Make " "them portable. This will make your fixes much easier to apply." msgstr "" "Ogni volta che si apportano delle modifiche che non sono specificatamente " "legate alla pacchettizzazione Debian, come <filename>debian/patches/fix-" "gentoo-target.patch</filename>, bisogna assicurarsi di inviare le modifiche " "al manutentore originale, in modo che possano essere incluse nella prossima " "versione del programma e possano beneficiarne altri utenti. Ci si ricordi, " "di creare delle correzioni portabili, ovvero di non renderle specifiche per " "Debian o Linux (o altri Unix!). Questo renderà più semplice applicare le " "correzioni." #. type: Content of: <book><chapter><section><para> msgid "" "Note that you don't have to send the <filename>debian/*</filename> files " "upstream." msgstr "" "Da notare che non è necessario inviare i file <filename>debian/*</filename> " "all'autore originale." #. type: Content of: <book><chapter><section><title> msgid "Differing libraries" msgstr "Distinguere le librerie" #. type: Content of: <book><chapter><section><para> msgid "" "There is one other common problem: libraries are often different from " "platform to platform. For example, a <filename>Makefile</filename> can " "contain a reference to a library which doesn't exist on the Debian system. " "In that case, we need to change it to a library which does exist in Debian, " "and serves the same purpose." msgstr "" "C'è un altro problema comune: le librerie sono spesso diverse da piattaforma " "a piattaforma. Per esempio, il <filename>Makefile</filename> può contenere " "un riferimento a una libreria che non esiste nei sistemi Debian. In tal " "caso occorre cambiare il riferimento ad una libreria che serve allo stesso " "scopo e che esista in Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume a line in your program's <filename>Makefile</filename> (or " "<filename>Makefile.in</filename>) as the following." msgstr "" "Supponiamo che una riga nel <filename>Makefile</filename> del programma (o " "nel <filename>Makefile.in</filename>) che riporta qualcosa come segue." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "LIBS = -lfoo -lbar\n" msgstr "LIBS = -lfoo -lbar\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If there are API changes from the <literal>foo</literal> library to the " "<literal>foo2</literal> library, required changes to the source code need to " "be made to match the new API." msgstr "" "Se ci sono modifiche delle API dalla libreria<literal>foo</literal> alla " "libreria <literal>foo2</literal>, le modifiche necessarie per il codice " "sorgente devono essere fatte basandosi sulle nuove API." #. type: Content of: <book><chapter><section><para> msgid "" "If your program doesn't compile since the <literal>foo</literal> library " "doesn't exist and its equivalent is provided by the <literal>foo2</literal> " "library on the Debian system, you can fix this build problem as " "<filename>debian/patches/foo2.patch</filename> by changing <literal>foo</" "literal> into <literal>foo2</literal>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Se il programma non viene compilato perché la libreria <literal>foo</" "literal> non esiste e il suo equivalente, su un sistema Debian, è fornito " "dalla libreria <literal>foo2</literal>, è possibile risolvere questo " "problema di compilazione, modificando il file <filename>debian/patches/foo2." "patch</filename> cambiando <literal>foo</literal> con <literal>foo2</" "literal> . <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" #. type: Content of: <book><chapter><title> msgid "Required files under the <filename>debian</filename> directory" msgstr "File richiesti nella directory <filename>debian</filename>" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "In this chapter, files in the <filename>debian</filename> directory are " "referred to without the leading <filename>debian/</filename> for simplicity " "whenever the meaning is obvious." msgstr "" "In questo capitolo, per semplicità, i file nella directory <filename>debian</" "filename> sono indicati senza la direcotry radice <filename>debian/</" "filename>, ogni volta che il loro significato è scontato." #. type: Content of: <book><chapter><para> msgid "" "There is a new subdirectory under the program's source directory, called " "<filename>debian</filename>. There are a number of files in this directory " "that we should edit in order to customize the behavior of the package. The " "most important of them are <filename>control</filename>, " "<filename>changelog</filename>, <filename>copyright</filename>, and " "<filename>rules</filename>, which are required for all packages. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "C'è una nuova sottodirectory all'interno della cartella contenente i " "sorgenti del programma ed è chiamata <filename>debian</filename>. " "All'interno di questa vi sono una serie di file che dovranno essere " "modificati per personalizzare il comportamento del pacchetto. I più " "importanti fra tutti questi sono i file <filename>control</filename>, " "<filename>changelog</filename>, <filename>copyright</filename> e " "<filename>rules</filename>, che vengono richiesti per tutti i pacchetti. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "<filename>control</filename>" msgstr "<filename>control</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains various values which <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command>, and other package management tools " "will use to manage the package. It is defined by the <ulink url=\"&policy-" "control;\">Debian Policy Manual, 5 \"Control files and their fields\"</" "ulink>." msgstr "" "Questo file contiene diversi valori che <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command>, ed altri strumenti utilizzeranno per " "gestire il pacchetto. Il tutto è definito nel <ulink url=\"&policy-control;" "\">Manuale delle policy di Debian, 5 \"File di controllo ed i loro campi\"</" "ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Here is the <filename>control</filename> file <command>dh_make</command> " "created for us:" msgstr "" "Questo è il file di <filename>control</filename> che <command>dh_make</" "command> crea:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" #. type: Content of: <book><chapter><section><para> msgid "(I've added the line numbers.)" msgstr "(Sono stati aggiunti i numeri di riga.)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 1-7 are the control information for the source package. Lines 9-13 " "are the control information for the binary package." msgstr "" "Le righe 1-7 contengono le informazioni di controllo per il pacchetto " "sorgente. Le righe 9-13 contengono le informazioni di controllo per il " "pacchetto binario." #. type: Content of: <book><chapter><section><para> msgid "Line 1 is the name of the source package." msgstr "La riga 1 contiene il nome del pacchetto sorgente." #. type: Content of: <book><chapter><section><para> msgid "Line 2 is the section of the distribution the source package goes into." msgstr "" "La riga 2 indica la sezione della distribuzione in cui il pacchetto sorgente " "dovrà andare." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections" "\"</ulink> and <ulink url=\"§ions-unstable;\">List of sections in " "<literal>sid</literal></ulink>." msgstr "" "Vedere <ulink url=\"&policy-subsections;\">Manuale delle policy di Debian, " "2.4 \"Sezioni\"</ulink> e <ulink url=\"§ions-unstable;\">Elenco delle " "sezioni in <literal>sid</literal></ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "As you may have noticed, the Debian archive is divided into multiple areas: " "<literal>main</literal> (the free software), <literal>non-free</literal> " "(the not really free software) and <literal>contrib</literal> (free software " "that depends on non-free software). Each of these is divided into sections " "that classify packages into rough categories. So we have <literal>admin</" "literal> for administrator-only programs, <literal>devel</literal> for " "programmer tools, <literal>doc</literal> for documentation, <literal>libs</" "literal> for libraries, <literal>mail</literal> for email readers and " "daemons, <literal>net</literal> for network apps and daemons, <literal>x11</" "literal> for X11 programs that don't fit anywhere else, and many more. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Come si sarà notato, l'archivio Debian è diviso in diverse aree: " "<literal>main</literal> (software libero), <literal>non-free</literal> " "(software non propriamente libero) e <literal>contrib</literal> (software " "libero che dipende da software non libero). All'interno di queste esistono " "delle sezioni che descrivono brevemente quali pacchetti vi si possono " "trovare. Quindi si hanno le sezioni <literal>admin</literal> per i " "programmi legati all'amministrazione di sistema, <literal>base</literal> per " "gli strumenti di base, <literal>devel</literal> per gli strumenti di " "sviluppo, <literal>doc</literal> per la documentazione, <literal>libs</" "literal> per le librerie, <literal>mail</literal> per client di posta e " "server associati, <literal>net</literal> per applicazioni e servizi di rete, " "<literal>x11</literal> per programmi X11 che non appartengono alle altre " "categorie, e tanti altri. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Let's change it then to x11. (A <literal>main/</literal> prefix is implied " "so we can omit it.)" msgstr "" "Si può cambiare il valore in x11. (Il prefisso <literal>main/</literal> è " "implicito e può essere omesso.)" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities" "\"</ulink>." msgstr "" "Vedere <ulink url=\"&policy-priorities;\">Manuale delle policy di Debian, " "2.5 \"Priorità\"</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "Line 3 describes how important it is that the user installs this package. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La riga numero 3 indica quanto sia importante per l'utente installare questo " "pacchetto. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>optional</literal> priority will usually work for new packages " "that do not conflict with others claiming <literal>required</literal>, " "<literal>important</literal>, or <literal>standard</literal> priority." msgstr "" "La priorità <literal>optional</literal> solitamente viene usata per i nuovi " "pacchetti che non vanno in conflitto con altri pacchetti con priorità " "<literal>required</literal>, <literal>important</literal> o " "<literal>standard</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>extra</literal> priority will usually work for new packages " "that conflict with others with non-<literal>extra</literal> priorities." msgstr "" "La priorità <literal>extra</literal> è usata solitamente per i nuovi " "pacchetti che sono in conflitto con altri pacchetti con priorità non-" "<literal>extra</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Section and priority are used by front-ends like <command>aptitude</command> " "when they sort packages and select defaults. Once you upload the package to " "Debian, the value of these two fields can be overridden by the archive " "maintainers, in which case you will be notified by email." msgstr "" "Le sezioni e le priorità vengono solitamente utilizzate da interfacce come " "<command>aptitude</command> in cui i pacchetti vengono suddivisi e vengono " "selezionati quelli predefiniti. Una volta caricato il pacchetto in Debian, " "il valore di ciascuno di questi due campi può essere sovrascritto dai " "manutentori dell'archivio, in tal caso si verrà avvertiti via mail." #. type: Content of: <book><chapter><section><para> msgid "" "As this is a normal priority package and doesn't conflict with anything " "else, we will change the priority to <literal>optional</literal>." msgstr "" "Dal momento che il pacchetto trattato ha una priorità normale e non va in " "conflitto con altri, si cambierà la priorità a <literal>optional</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 4 is the name and email address of the maintainer. Make sure that this " "field includes a valid <literal>To</literal> header for email, because after " "you upload it, the bug tracking system will use it to deliver bug emails to " "you. Avoid using commas, ampersands, or parentheses." msgstr "" "La riga 4 indica il nome e l'indirizzo email del manutentore. Ci si " "assicuri che questo campo includa una testata <literal>To</literal> valida " "per un indirizzo mail, perché una volta caricato il pacchetto, il sistema di " "rilevazione bug la userà per inviare le mail contenenti i bug. Si eviti di " "utilizzare virgole, 'e' commerciali o parentesi." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 \"Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</" "ulink>." msgstr "" "Vedere <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Manuale " "delle policy di Debian, 7.7 \"Relazioni tra pacchetti sorgenti e i " "pacchetti binari - Build-Depends, Build-Depends-Indep, Build-Conflicts, " "Build-Conflicts-Indep\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 5 includes the list of packages required to build your package as the " "<literal>Build-Depends</literal> field. You can also have the " "<literal>Build-Depends-Indep</literal> field as an additional line, here. " "<placeholder type=\"footnote\" id=\"0\"/> Some packages like <systemitem " "role=\"package\">gcc</systemitem> and <systemitem role=\"package\">make</" "systemitem> which are required by the <systemitem role=\"package\">build-" "essential</systemitem> package are implied. If you need to have other tools " "to build your package, you should add them to these fields. Multiple " "entries are separated with commas; read on for the explanation of binary " "package dependencies to find out more about the syntax of these lines." msgstr "" "La riga 5 include la lista dei pacchetti richiesti per costruire il " "pacchetto, ad es. il campo <literal>Build-Depends</literal>. Si può, " "inoltre, avere una riga contenente il campo <literal>Build-Depends-Indep</" "literal>. <placeholder type=\"footnote\" id=\"0\"/> . Alcuni pacchetti come " "<systemitem role=\"package\">gcc</systemitem> e <systemitem role=\"package" "\">make</systemitem> sono richiesti implicitamente, dal pacchetto " "<systemitem role=\"package\">build-essential</systemitem>. Se si ha la " "necessità di avere altri strumenti per costruire il pacchetto, questi devono " "essere aggiunti negli appositi campi. I campi multipli sono separati con le " "virgole; si legga una spiegazione sulle dipendenze binarie per scoprirne di " "più sulla sintassi di queste righe." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For all packages packaged with the <command>dh</command> command in the " "<filename>debian/rules</filename> file, you must have <literal>debhelper " "(>=9)</literal> in the <literal>Build-Depends</literal> field to satisfy " "the Debian Policy requirement for the <literal>clean</literal> target." msgstr "" "Per tutti i pacchetti creati utilizzando il comando <command>dh</command> " "nel file <filename>debian/rules</filename>, è necessario avere " "<literal>debhelper (>=9)</literal> nel campo <literal>Build-Depends</" "literal>, per aderire alle policy di Debian che richiedono per l'obiettivo " "<literal>clean</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Source packages which have binary packages with <literal>Architecture: any</" "literal> are rebuilt by the autobuilder. Since this autobuilder procedure " "installs only the packages listed in the <literal>Build-Depends</literal> " "field before running <literal>debian/rules build</literal> (see <xref " "linkend=\"autobuilder\"/>), the <literal>Build-Depends</literal> field needs " "to list practically all the required packages and <literal>Build-Depends-" "Indep</literal> is rarely used." msgstr "" "I sorgenti dei pacchetti che hanno i pacchetti binari con il campo " "<literal>Architecture: any</literal>, vengono ricompilati con autobuilder. " "Poichè questa procedura installa i soli pacchetti elencati nel campo " "<literal>Build-Depends</literal>, prima di eseguire <literal>debian/rules " "build</literal> (vedere <xref linkend=\"autobuilder\"/>), il campo " "<literal>Build-Depends</literal> ha bisogno di tutti i pacchetti necessari, " "ed il campo <literal>Build-Depends-Indep</literal> è raramente utilizzato." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For source packages with binary packages all of which are " "<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" "literal> field may list all the required packages unless they are already " "listed in the <literal>Build-Depends</literal> field to satisfy the Debian " "Policy requirement for the <literal>clean</literal> target." msgstr "" "Per i sorgenti dei pacchetti che hanno i pacchetti binari con campo " "<literal>Architecture: all</literal>, il campo <literal>Build-Depends-Indep</" "literal> elenca tutti i pacchetti necessari, se non sono già elencati nel " "campo <literal>Build-Depends</literal>, per essere conforme alle linee guida " "di Debian riguardanti il target <literal>clean</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This somewhat strange situation is a feature well documented in the <ulink " "url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 55</" "ulink>. This is not due to the use of the <command>dh</command> command in " "the <filename>debian/rules</filename> file but due to how the <command>dpkg-" "buildpackage</command> works. The same situation applies to the <ulink url=" "\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build " "system for Ubuntu</ulink>." msgstr "" "Questa strana situazione è ben documentata in <ulink url=\"&policy-build-" "depends-indep;\">Debian Policy Manual, Footnotes 55</ulink>. Questo non è " "dovuto all'uso del comando <command>dh</command> nel file <filename>debian/" "rules</filename>, ma bensì al funzionamento di <command>dpkg-buildpackage</" "command>.La stessa situazione si presenta per il <ulink url=\"https://bugs." "launchpad.net/launchpad-buildd/+bug/238141\">sistema automatico di " "compilazione di Ubuntu</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If you are not sure which one should be used, use the <literal>Build-" "Depends</literal> field to be on the safe side. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Se non si è sicuri sul campo da utilizzare, si può scegliere il campo " "<literal>Build-Depends</literal>.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "To find out what packages your package needs to be built run the command:" msgstr "" "Per scoprire di quali pacchetti si ha bisogno per la compilazione si può " "eseguire il comando:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-depcheck -d ./configure\n" msgstr "$ dpkg-depcheck -d ./configure\n" #. type: Content of: <book><chapter><section><para> msgid "" "To manually find exact build dependencies for <command><replaceable>/usr/bin/" "foo</replaceable></command>, execute" msgstr "" "Per scoprire manualmente le esatte dipendenze per <command><replaceable>/usr/" "bin/foo</replaceable></command>, basta eseguire" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" msgstr "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" #. type: Content of: <book><chapter><section><para> msgid "" "and for each library listed, e.g., <command>libfoo.so.6</command>, execute" msgstr "" "e per ogni libreria elencata, ad esempio, <command>libfoo.so.6</command>, si " "esegue" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg -S libfoo.so.6\n" msgstr "$ dpkg -S libfoo.so.6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then just take the <literal>-dev</literal> version of every package as a " "<literal>Build-Depends</literal> entry. If you use <command>ldd</command> " "for this purpose, it will report indirect lib dependencies as well, " "resulting in the problem of excessive build dependencies." msgstr "" "A questo punto si indica la versione <literal>-dev</literal> di ogni " "pacchetto come voce <literal>Build-Depends</literal>. Se si usa " "<command>ldd</command> per questo scopo, verranno considerate anche le " "dipendenze indirette, il che potrà portare ad avere un numero eccessivo di " "dipendenze." #. type: Content of: <book><chapter><section><para> msgid "" "<systemitem role=\"package\">gentoo</systemitem> also happens to require " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> and <systemitem role=\"package" "\">libglib1.2-dev</systemitem> to build, so we'll add them here next to " "<systemitem role=\"package\">debhelper</systemitem>." msgstr "" "Il pacchetto <systemitem role=\"package\">gentoo</systemitem> richiede anche " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> e <systemitem role=\"package" "\">libglib1.2-dev</systemitem> per poter essere costruito, quindi tali " "dipendenze si aggiungeranno subito dopo <systemitem role=\"package" "\">debhelper</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 6 is the version of the <ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink> standards this package follows, the one you read while making " "your package." msgstr "" "La riga 6 indica la versione delle delle <ulink url=\"&debian-policy;" "\">linee guida Debian</ulink> che il pacchetto deve rispettare, che " "corrisponde a quello che si legge quando lo si crea." #. type: Content of: <book><chapter><section><para> msgid "On line 7 you can put the URL of the software's upstream homepage." msgstr "" "Nella riga 7 si può inserire l'URL della pagina del programma originale." #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the name of the binary package. This is usually the same as the " "name of the source package, but it doesn't necessarily have to be that way." msgstr "" "La riga 9 indica il nome del pacchetto binario. Questo è normalmente lo " "stesso nome del pacchetto sorgente, ma non deve essere necessariamente così." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " "\"Architecture\"</ulink> for exact details." msgstr "" "Vedere <ulink url=\"&policy-architecture;\">Manuale delle policy di Debian, " "5.6.8 \"Architettura\"</ulink> per maggiori informazioni." #. type: Content of: <book><chapter><section><para> msgid "" "Line 10 describes the architectures the binary package can be compiled for. " "This value is usually one of the following depending on the type of the " "binary package. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La riga 10 specifica le architetture per cui è possibile compilare il " "pacchetto. Questo valore è di solito uno dei seguenti, a seconda del tipo di " "pacchetto binario. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: any</literal>" msgstr "<literal>Architecture: any</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture dependent one usually in a " "compiled language." msgstr "" "Il pacchetto binario generato è compatibile con una sola architettura, " "solitamente è utilizzato in programmi creati con un linguaggio compilato." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: all</literal>" msgstr "<literal>Architecture: all</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture independent one usually " "consisting of text, images, or scripts in an interpreted language." msgstr "" "Il pacchetto binario generato è indipendente dall'architettura, di solito si " "tratta di testo, immagini o script in un linguaggio interpretato." #. type: Content of: <book><chapter><section><para> msgid "" "We leave line 10 as is since this is written in C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> will fill in the appropriate architecture value " "for any machine this source package gets compiled on." msgstr "" "Si lasci la riga 10 così com'è visto che il programma è scritto in C." "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> riempirà il campo dell'architettura con un valore " "adeguato per ciascuna macchina in cui il pacchetto viene compilato." #. type: Content of: <book><chapter><section><para> msgid "" "If your package is architecture independent (for example, a shell or Perl " "script, or a document), change this to <literal>all</literal>, and read " "later in <xref linkend=\"rules\"/> about using the <literal>binary-indep</" "literal> rule instead of <literal>binary-arch</literal> for building the " "package." msgstr "" "Se il pacchetto è indipendente dall'architettura (per esempio, uno script " "shell o Perl, o un documento), si cambi questo valore in <literal>all</" "literal>, e si legga in seguito in <xref linkend=\"rules\"/> riguardo " "l'utilizzo della regola <literal>binary-indep</literal> al posto di " "<literal>binary-arch</literal> per costruire il pacchetto." #. type: Content of: <book><chapter><section><para> msgid "" "Line 11 shows one of the most powerful features of the Debian packaging " "system. Packages can relate to each other in various ways. Apart from " "<literal>Depends</literal>, other relationship fields are " "<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" "Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " "<literal>Provides</literal>, and <literal>Replaces</literal>." msgstr "" "La riga 11 mostra una delle caratteristiche più potenti del sistema di " "pacchettizzazione Debian. I pacchetti possono relazionarsi tra di loro in " "vari modi. A parte <literal>Depends</literal>, altri campi di relazione sono " "<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" "Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " "<literal>Provides</literal> e <literal>Replaces</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The package management tools usually behave the same way when dealing with " "these relations; if not, it will be explained. (See <citerefentry> " "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, etc.)" msgstr "" "Gli strumenti di gestione dei pacchetti solitamente si comportano allo " "stesso modo quando si occupano di tali relazioni; in caso contrario, il " "comportamento verrà spiegato. (si legga <citerefentry> <refentrytitle>dpkg</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>dselect</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>apt</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> ecc.)" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " "\"Declaring relationships between packages\"</ulink>." msgstr "" "Vedere <ulink url=\"&policy-relationships;\">Manuale delle policy di Debian, " "7 \"Dichiarare le relazioni tra i pacchetti\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Here is a simplified description of package relationships. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Ecco una descrizione semplificata delle relazioni tra i pacchetti. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Depends</literal>" msgstr "<literal>Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed unless the packages it depends on are " "installed. Use this if your program absolutely will not run (or will cause " "severe breakage) unless a particular package is present." msgstr "" "Il pacchetto non verrà installato a meno che tutti i pacchetti da cui " "dipende vengono installati. Si usi questa relazione se il programma non " "funzionerà assolutamente (o sarà praticamente inutilizzabile) a meno della " "presenza di particolari pacchetti." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Recommends</literal>" msgstr "<literal>Recommends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages that are not strictly necessary but are typically used " "with your program. When a user installs your program, all front-ends will " "probably prompt them to install the recommended packages. " "<command>aptitude</command> and <command>apt-get</command> install " "recommended packages along with your package by default (but the user can " "disable this behavior). <command>dpkg</command> will ignore this field." msgstr "" "Si usi questa relazione per i pacchetti che non sono strettamente necessari " "ma sono solitamente utilizzati dal programma. Quando un utente installa il " "programma, tutte le interfacce di APT probabilmente chiederanno " "l'installazione dei pacchetti raccomandati. <command>aptitude</command> e " "<command>apt-get</command> installano, in modo predefinito, i pacchetti " "raccomandati insieme al pacchetto principale (ma l'utente può disabilitare " "questo comportamento predefinito). <command>dpkg</command> ignorerà questo " "campo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Suggests</literal>" msgstr "<literal>Suggests</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages which will work nicely with your program but are not " "at all necessary. When a user installs your program, they will probably not " "be prompted to install suggested packages. <command>aptitude</command> can " "be configured to install suggested packages along with your package but this " "is not its default. <command>dpkg</command> and <command>apt-get</command> " "will ignore this field." msgstr "" "Si usi questa relazione per pacchetti che funzionano bene con il programma " "ma non sono per niente necessari. Quando un utente installa il programma, " "probabilmente non verrà chiesta l'installazione dei pacchetti consigliati. " "<command>aptitude</command> può essere configurato per installare i " "pacchetti consigliati insieme al pacchetto principale ma questo non è il " "comportamento predefinito. <command>dpkg</command> ed <command>apt-get</" "command> ignoreranno questo campo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Pre-Depends</literal>" msgstr "<literal>Pre-Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is stronger than <literal>Depends</literal>. The package will not be " "installed unless the packages it pre-depends on are installed and " "<emphasis>correctly configured</emphasis>. Use this <emphasis>very</" "emphasis> sparingly and only after discussing it on the <ulink url=\"&debian-" "devel-ldo;\">debian-devel@lists.debian.org</ulink> mailing list. Read: " "don't use it at all. :-)" msgstr "" "Questa relazione è più forte di <literal>Depends</literal>. Il pacchetto " "non verrà installato a meno che i pacchetti da cui pre-dipende sono stati " "installati e <emphasis>correttamente configurati</emphasis>. Si usi questa " "relazione con <emphasis>molta</emphasis> parsimonia e solo dopo averne " "discusso sulla mailing list <ulink url=\"&debian-devel-ldo;\">debian-" "devel@lists.debian.org</ulink>. Leggasi: non utilizzarla affatto. :-)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Conflicts</literal>" msgstr "<literal>Conflicts</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed until all the packages it conflicts with " "have been removed. Use this if your program absolutely will not run or will " "cause severe problems if a particular package is present." msgstr "" "Il pacchetto non verrà installato a meno che tutti i pacchetti con i quali " "va in conflitto siano rimossi. Si usi questa relazione se il programma non " "funzionerà o causerà gravi problemi se un certo pacchetto è presente." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Breaks</literal>" msgstr "<literal>Breaks</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "When installed the package will break all the listed packages. Normally a " "<literal>Breaks</literal> entry specifies that it applies to versions " "earlier than a certain value. The resolution is generally to use higher-" "level package management tools to upgrade the listed packages." msgstr "" "Una volta installato il pacchetto verranno marcati come \"guasti\" tutti i " "pacchetti elencati. Normalmente la voce <literal>Breaks</literal> specifica " "che si applica a version precedenti di un certo valore. Per risolvere il " "problema, generalmente, basta aggiornare la lista dei pacchetti utilizzando " "uno strumento di gestione di alto livello, del sistema di pacchettizzazione." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Provides</literal>" msgstr "<literal>Provides</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For some types of packages where there are multiple alternatives virtual " "names have been defined. You can get the full list in the <ulink url=" "\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> file. Use " "this if your program provides a function of an existing virtual package." msgstr "" "Per alcuni tipi di pacchetto di cui vi sono molteplici alternative, sono " "stati definiti dei nomi virtuali. Si può trovare la lista completa nel file " "<ulink url=\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink>. " "Si consulti questo file se il programma da pacchettizzare fornisce la " "funzione di un pacchetto virtuale esistente." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Replaces</literal>" msgstr "<literal>Replaces</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this when your program replaces files from another package, or " "completely replaces another package (used in conjunction with " "<literal>Conflicts</literal>). Files from the named packages will be " "overwritten with the files from your package." msgstr "" "Si usi questa relazione quando il programma rimpiazza i file di un altro " "pacchetto, o lo rimpiazza completamente (utilizzato in congiunzione con " "<literal>Conflicts</literal>). I file dei pacchetti indicati saranno " "sovrascritti con i file del nuovo pacchetto." #. type: Content of: <book><chapter><section><para> msgid "" "All these fields have uniform syntax. They are a list of package names " "separated by commas. These package names may also be lists of alternative " "package names, separated by vertical bar symbols <literal>|</literal> (pipe " "symbols)." msgstr "" "Tutti i campi qui descritti hanno una sintassi uniforme. Sono costituiti da " "una lista contenente i nomi dei pacchetti separati da virgole. Questi " "possono essere anche costituiti da liste di nomi di pacchetto alternativi, " "separati da barre verticali <literal>|</literal> (simboli pipe)." #. type: Content of: <book><chapter><section><para> msgid "" "The fields may restrict their applicability to particular versions of each " "named package. The restriction of each individual package is listed in " "parentheses after its name, and should contain a relation from the list " "below followed by a version number value. The relations allowed are: " "<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " "<literal>>=</literal>, and <literal>>></literal> for strictly " "lower, lower or equal, exactly equal, greater or equal, and strictly " "greater, respectively. For example," msgstr "" "I campi possono limitare la loro applicabilità a particolari versioni di " "ogni pacchetto indicato. Le restrizioni di ogni singolo sono elencate tra " "parentesi dopo il nome de pacchetto, e dovrebbero contenere una relazione " "presa dalla lista qui sotto, seguita dal numero di versione. Le relazioni " "permesse sono: <literal><<</literal>, <literal><=</literal>, " "<literal>=</literal>, <literal>>=</literal> e <literal>>></literal> " "per strettamente inferiore, inferiore o uguale, esattamente uguale, " "superiore o uguale e strettamente superiore, rispettivamente. Per esempio," #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" msgstr "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" #. type: Content of: <book><chapter><section><para> msgid "" "The last feature you need to know about is <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." msgstr "" "L'ultima caratteristica utile da conoscere è <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, ecc." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates shared library dependencies for binary " "packages. It generates a list of <ulink url=\"&elf;\">ELF</ulink> " "executables and shared libraries it has found for each binary package. This " "list is used for substituting <literal>${shlibs:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calcola le dipendenze delle librerie condivise " "per i pacchetti binari. Questo genera un'elenco di eseguibili <ulink url=" "\"&elf;\">ELF</ulink> e di librerie condivise che sono stati trovati in ogni " "pacchetto binario. Questa lista è utilizzata per <literal>${shlibs:Depends}" "</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates Perl dependencies. It generates a " "list of a dependencies on <literal>perl</literal> or <literal>perlapi</" "literal> for each binary package. This list is used for substituting " "<literal>${perl:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calcola le dipenendenze perl. Questo genera un " "elenco di dipendenze <literal>perl</literal> o <literal>perlapi</literal> " "per ogni pacchetto binario. Questa lista è utilizzata per <literal>${perl:" "Depends}</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Some <systemitem role=\"package\">debhelper</systemitem> commands may cause " "the generated package to depend on some additional packages. All such " "commands generate a list of required packages for each binary package. This " "list is used for substituting <literal>${misc:Depends}</literal>." msgstr "" "Alcuni comandi <systemitem role=\"package\">debhelper</systemitem> possono " "far si che il pacchetto generato abbia bisogno di dipendere da altri " "pacchetti. Questa lista di pacchetti richiesti è utilizzata per <literal>" "${misc:Depends}</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> generates <filename>DEBIAN/control</filename> for " "each binary package while substituting <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." msgstr "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> genera il file <filename>DEBIAN/control</" "filename> per ogni pacchetto binario che utilizza <literal>${shlibs:Depends}" "</literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, ecc." #. type: Content of: <book><chapter><section><para> msgid "" "Having said all that, we can leave the <literal>Depends</literal> field " "exactly as it is now, and insert another line after it saying " "<literal>Suggests: file</literal>, because <systemitem role=\"package" "\">gentoo</systemitem> can use some features provided by the <systemitem " "role=\"package\">file</systemitem> package." msgstr "" "Detto ciò, si può lasciare la riga <literal>Depends</literal> esattamente " "come è ora, e si può inserire un'altra riga dopo questa che dica " "<literal>Suggests: file</literal>, perché <systemitem role=\"package" "\">gentoo</systemitem> può utilizzare alcune caratteristiche fornite dal " "pacchetto <systemitem role=\"package\">file</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the Homepage URL. Let's assume this to be at <ulink url=\"&gentoo;" "\"/>." msgstr "" "La riga 9 è l'URL dell'homepage. Supponiamo che questa sia <ulink url=" "\"&gentoo;\"/> ." #. type: Content of: <book><chapter><section><para> msgid "" "Line 12 is the short description. Terminals are conventionally 80 columns " "wide so this shouldn't be longer than about 60 characters. I'll change it " "to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgstr "" "La riga 12 contiene una breve descrizione del pacchetto. Usualmente la " "larghezza dei terminali è di 80 colonne quindi il contenuto non dovrebbe " "superare i 60 caratteri. Si cambia questo valore in <literal>fully GUI-" "configurable, two-pane X file manager</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "These descriptions are in English. Translations of these descriptions are " "provided by <ulink url=\"&ddtp;\">The Debian Description Translation Project " "- DDTP</ulink>." msgstr "" "Queste descrizioni sono in inglese. Le traduzioni di queste descrizioni " "sono fornite da <ulink url=\"&ddtp;\">The Debian Description Translation " "Project - DDTP</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 13 is where the long description goes. This should be a paragraph " "which gives more details about the package. Column 1 of each line should be " "empty. There must be no blank lines, but you can put a single <literal>.</" "literal> (dot) in a column to simulate that. Also, there must be no more " "than one blank line after the long description. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Nella riga 13 va messa la descrizione lunga. Questa dovrebbe consistere in " "un paragrafo che fornisce più dettagli sul pacchetto. La prima colonna di " "ogni riga dovrebbe essere vuota. Non ci dovrebbero essere linee vuote, ma " "si può mettere un singolo <literal>.</literal> (punto) in una colonna per " "simularle. Inoltre non ci dovrebbe essere più di una linea vuota dopo " "questa descrizione. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-bpp-vcs;\">Debian Developer's Reference, 6.2.5. " "\"Version Control System location\"</ulink>." msgstr "" "Vedere <ulink url=\"&devref-bpp-vcs;\">Guida di riferimento per lo " "sviluppatore Debian, 6.2.5. \"Version Control System location\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "We can insert <literal>Vcs-*</literal> fields to document the Version " "Control System (VCS) location between lines 6 and 7. <placeholder type=" "\"footnote\" id=\"0\"/> Let's assume that the <systemitem role=\"package" "\">gentoo</systemitem> package has its VCS located in the Debian Alioth Git " "Service at <literal>git://git.debian.org/git/collab-maint/gentoo.git</" "literal>." msgstr "" "Si possono inseriscono i campi <literal>Vcs-*</literal> per documentatare " "il Version Control System (VCS) tra la linea 6 e 7. <placeholder type=" "\"footnote\" id=\"0\"/> Si supponga che il pacchetto <systemitem role=" "\"package\">gentoo</systemitem> abbia il suo VCS nel servizio Git Debian " "Alioth su <literal>git://git.debian.org/git/collab-maint/gentoo.git</" "literal>." #. type: Content of: <book><chapter><section><para> msgid "Finally, here is the updated <filename>control</filename> file:" msgstr "" "E per concludere, questo è il file <filename>control</filename> aggiornato:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>copyright</filename>" msgstr "<filename>copyright</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains information about the copyright and license of the " "upstream sources. <ulink url=\"&policy-copyright;\">Debian Policy Manual, " "12.5 \"Copyright information\"</ulink> dictates its content and <ulink url=" "\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</filename></" "ulink> provides guidelines for its format." msgstr "" "Questo file contiene le informazioni sul copyright e la licenza del " "programma originale. Il suo contenuto è descritto nel <ulink url=\"&policy-" "copyright;\">Manuale delle policy di Debian, 12.5 'Informazioni di " "copyright'</ulink>, e il documento <ulink url=\"&dep5;\">DEP-5: Machine-" "parseable debian/copyright</ulink> fornisce le linee guida del suo formato." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> can give you a template <filename>copyright</" "filename> file. Let's use the <literal>--copyright gpl2</literal> option " "here to get a template file for the <systemitem role=\"package\">gentoo</" "systemitem> package released under GPL-2." msgstr "" "<command>dh_make</command> può fornire un modello di file del " "<filename>copyright</filename>, basta utilizzare l'opzione <literal>--" "copyright</literal> per selezionare quello giusto, se si desidera rilasciare " "il pacchetto <systemitem role=\"package\">gentoo</systemitem> sotto licenza " "GPL-2." #. type: Content of: <book><chapter><section><para> msgid "" "You must fill in missing information to complete this file, such as the " "place you got the package from, the actual copyright notice, and the " "license. For certain common free software licenses (GNU GPL-1, GNU GPL-2, " "GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0, " "or the Artistic license), you can just refer to the appropriate file in the " "<filename>/usr/share/common-licenses/</filename> directory that exists on " "every Debian system. Otherwise, you must include the complete license." msgstr "" "Si devono inserire le informazioni mancanti per completare questo file, come " "la fonte utilizzata per recuperare il pacchetto, le informazioni attuali di " "copyright e la licenza. Per le licenze più comuni relative al software " "libero come, GNU GPL-1, GNU GPL-2, GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU " "FDL-1.2, GNU FDL-1.3, Apache-2.0 o la licenza Artistic, è possibile fare " "riferimento al file appropriato nella directory <filename>/usr/share/common-" "licenses/</filename> presente su ogni sistema Debian. In alternativa è " "necessario includere la licenza completa." #. type: Content of: <book><chapter><section><para> msgid "" "In short, here's what <systemitem role=\"package\">gentoo</systemitem>'s " "<filename>copyright</filename> file should look like:" msgstr "" "Brevemente, ecco come il file di <filename>copyright</filename> del " "pacchetto <systemitem role=\"package\">gentoo</systemitem> dovrebbe apparire:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" msgstr "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please follow the HOWTO provided by the ftpmasters and sent to debian-devel-" "announce: <ulink url=\"&howto-copyright;\"/>." msgstr "" "Si prega di seguire l'HOWTO fornito da ftpmasters ed inviato a debian-devel-" "announce: <ulink url=\"&howto-copyright;\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>changelog</filename>" msgstr "<filename>changelog</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This is a required file, which has a special format described in <ulink url=" "\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</" "ulink>. This format is used by <command>dpkg</command> and other programs " "to obtain the version number, revision, distribution, and urgency of your " "package." msgstr "" "Questo è un file obbligatorio, che ha un formato speciale descritto nel " "<ulink url=\"&policy-dpkgchangelog;\">Manuale delle policy di Debian, 4.4 " "\"debian/changelog\"</ulink>. Questo formato è utilizzato da <command>dpkg</" "command> ed altri programmi per ottenere il numero di versione, revisione, " "distribuzione ed urgenza del pacchetto." #. type: Content of: <book><chapter><section><para> msgid "" "For you, it is also important, since it is good to have documented all " "changes you have done. It will help people downloading your package to see " "whether there are issues with the package that they should know about. It " "will be saved as <filename>/usr/share/doc/gentoo/changelog.Debian.gz</" "filename> in the binary package." msgstr "" "Tale file è anche utile allo scopo di aver documentato tutti i cambiamenti " "che sono stati fatti. Sarà inoltre d'aiuto agli utenti che scaricano il " "pacchetto per vedere se ci sono problemi di cui dovrebbero essere al " "corrente. Il file verrà salvato come <filename>/usr/share/doc/gentoo/" "changelog.Debian.gz</filename> nel pacchetto binario." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one, and this is what it looks " "like:" msgstr "<command>dh_make</command> ne crea uno predefinito, ecco come appare:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Line 1 is the package name, version, distribution, and urgency. The name " "must match the source package name; distribution should be " "<literal>unstable</literal>, and urgency shouldn't be changed to anything " "higher than <literal>low</literal>. :-)" msgstr "" "La riga 1 indica il nome del pacchetto, la versione, la distribuzione e " "l'urgenza. Il nome deve corrispondere al nome del pacchetto sorgente, " "mentre la distribuzione dovrebbe essere <literal>unstable</literal>, e " "l'urgenza non dovrebbe essere cambiata in qualcosa di più alto di " "<literal>low</literal>. :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 3-5 are a log entry, where you document changes made in this package " "revision (not the upstream changes - there is a special file for that " "purpose, created by the upstream authors, which you will later install as " "<filename>/usr/share/doc/gentoo/changelog.gz</filename>). Let's assume your " "ITP (Intent To Package) bug report number was <literal>12345</literal>. New " "lines must be inserted just below the uppermost line that begins with " "<literal>*</literal> (asterisk). You can do it with <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "or manually with a text editor." msgstr "" "Le righe 3-5 sono una voce del registro, in cui vengono documentati i " "cambiamenti fatti nella revisione del pacchetto (non dei cambiamenti del " "pacchetto originario - c'è un file apposta per questo scopo, creato dagli " "autori originali, che verrà installato successivamente <filename>/usr/share/" "doc/gentoo/changelog.gz</filename>). Supponiamo che il numero di servizio " "del ticket ITP fosse <literal>12345</literal>. Nuove righe devono essere " "aggiunte appena prima della riga più in alto che comincia con <literal>*</" "literal> (asterisco). Ciò si può fare con <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "o manualmente con un editor testuale." #. type: Content of: <book><chapter><section><para> msgid "" "In order to prevent a package being accidentally uploaded before completing " "the package, it is good idea to change the distribution value to an invalid " "distribution value <literal>UNRELEASED</literal>." msgstr "" "Per evitare che un pacchetto venga accidentalmente caricato prima che il " "quest'ultimo sia pronto, è buona prassi cambiare il valore del campo " "distribuzione, nel valore fittizio <literal>UNRELEASED</literal>." #. type: Content of: <book><chapter><section><para> msgid "You will end up with something like this:" msgstr "Alla fine si avrà qualcosa del genere:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" msgstr "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "If you use the <literal>dch -r</literal> command to make this last change, " "please make sure to save the <filename>changelog</filename> file explicitly " "by the editor." msgstr "" "Se si utilizza il comando <literal>dch -r</literal> per effettuare " "quest'ultima modifica, ci si assicuri che l'editor salvi il file con il nome " "<filename>changelog</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Once you are satisfied with all the changes and documented them in " "<filename>changelog</filename>, you should change the distribution value " "from <literal>UNRELEASED</literal> to the target distribution value " "<literal>unstable</literal> (or even <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Quando si è soddisfatti di tutte le modifiche e quest'ultime sono state " "documentate nel file <filename>changelog</filename>, si può modificare il " "valore del campo distribuzione da <literal>UNRELEASED</literal> a " "<literal>unstable</literal> (o anche <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can read more about updating the <filename>changelog</filename> file " "later in <xref linkend=\"update\"/>." msgstr "" "Si possono avere più informazioni su come aggiornare il file " "<filename>changelog</filename> nel capitolo <xref linkend=\"update\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>rules</filename>" msgstr "Il file <filename>rules</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Now we need to take a look at the exact rules which <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> will use to actually create the package. This file is in fact " "another <filename>Makefile</filename>, but different from the one(s) in the " "upstream source. Unlike other files in <filename>debian</filename>, this " "one is marked as executable." msgstr "" "Ora si darà uno sguardo alle regole esatte che <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> userà per creare il pacchetto. In realtà questo file non è " "che un altro <filename>Makefile</filename>, ma diverso da quelli della " "sorgente originale. Differentemente dagli altri file sotto " "<filename>debian</filename>, questo è marcato come eseguibile." #. type: Content of: <book><chapter><section><section><title> msgid "Targets of the <filename>rules</filename> file" msgstr "Target del file <filename>rules</filename>" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can start learning how to write <filename>Makefile</filename> from " "<ulink url=\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. The " "full documentation is available as <ulink url=\"&gnu-make;\"></ulink> or as " "the <systemitem role=\"package\">make-doc</systemitem> package in the " "<literal>non-free</literal> archive area." msgstr "" "Si può imparare come scrivere il <filename>Makefile</filename> dalla <ulink " "url=\"&debref-make;\">Guida di riferimento Debian, 12.2. \"Make\"</ulink>. " "La documentazione completa è disponibile su <ulink url=\"&gnu-make;\"></" "ulink> o come pacchetto <systemitem role=\"package\">make-doc</systemitem> " "nell'archivio <literal>non-free</literal>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> explains the details." msgstr "" "Il <ulink url=\"&policy-debianrules;\">manuale delle policy Debian, 4.9 " "\"Main building script: debian/rules\"</ulink> descrive i dettagli." #. type: Content of: <book><chapter><section><section><para> msgid "" "Every <filename>rules</filename> file, like any other <filename>Makefile</" "filename>, consists of several rules, each of which defines a target and how " "it is carried out. <placeholder type=\"footnote\" id=\"0\"/> A new rule " "begins with its target declaration in the first column. The following lines " "beginning with the TAB code (ASCII 9) specify the recipe for carrying out " "that target. Empty lines and lines beginning with <literal>#</literal> " "(hash) are treated as comments and ignored. <placeholder type=\"footnote\" " "id=\"1\"/>" msgstr "" "Ogni file <filename>rules</filename>, come ogni altro <filename>Makefile</" "filename>, si compone di diverse regole, ciascuno dei quali definisce un " "target e descrive come esegurlo. <placeholder type=\"footnote\" id=\"0\"/> " "Una nuova regola inizia con la dichiarazione del target, nella prima " "colonna. Le righe seguenti che iniziano con il TAB (codice ASCII 9) " "specifano il come effettuare il target. Le righe vuote e quelle che iniziano " "con <literal>#</literal> (cancelletto) vengono trattate come commenti e " "ignorate. <placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><para> msgid "" "A rule that you want to execute is invoked by its target name as a command " "line argument. For example, <literal>debian/rules <replaceable>build</" "replaceable></literal> and <literal>fakeroot make -f debian/rules " "<replaceable>binary</replaceable></literal> execute rules for " "<literal><replaceable>build</replaceable></literal> and " "<literal><replaceable>binary</replaceable></literal> targets respectively." msgstr "" "Quando si vuole eseguire una regola basta esegure il comando passandogli " "come argomento il nome del target. Ad esempio, <literal>debian/rules " "<replaceable>build</replaceable></literal> e <literal>fakeroot make -f " "debian/rules <replaceable>binary</replaceable></literal> esegue le regole " "per i target <literal><replaceable>build</replaceable></literal> e " "<literal><replaceable>binary</replaceable></literal>." #. type: Content of: <book><chapter><section><section><para> msgid "Here is a simplified explanation of the targets:" msgstr "Ecco una spiegazione semplificata dei target:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>clean</literal> target: to clean all compiled, generated, and " "useless files in the build-tree. (Required)" msgstr "" "target <literal>clean</literal>: ripulisce tutti i file compilati, generati " "ed inutili nella struttura delle directory del pacchetto. (richiesto)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build</literal> target: to build the source into compiled programs " "and formatted documents in the build-tree. (Required)" msgstr "" "target <literal>build</literal>: costruisce tutti i sorgenti per ottenere " "programmi compilati e documenti formattati nella struttura delle directory " "del pacchetto. (richiesto)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-arch</literal> target: to build the source into arch-" "dependent compiled programs in the build-tree. (Required)" msgstr "" "target <literal>build-arch</literal>: costruisce i sorgenti per ottenere " "programmi compilati, dipendenti dall'architettura, nella radice dei " "sorgenti. (richiesto)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-indep</literal> target: to build the source into arch-" "independent formatted documents in the build-tree. (Required)" msgstr "" "target <literal>build-indep</literal>: costruisce i sorgenti per ottenere " "documenti formattati indipendenti dall'architettura nella radice dei " "sorgenti. (richiesto)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>install</literal> target: to install files into a file tree for " "each binary package under the <filename>debian</filename> directory. If " "defined, <literal>binary*</literal> targets effectively depend on this " "target. (Optional)" msgstr "" "target <literal>install</literal>: installa i file in una struttura ad " "albero per ogni pacchetto binario nella directory <filename>debian</" "filename>. Se definito, tutti i target <literal>binary*</literal> " "dipenderanno effettivamente da quest'ultimo. (opzionale)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage</literal> as in <xref " "linkend=\"completebuild\"/>." msgstr "" "Questo obiettivo è utilizzato da <literal>dpkg-buildpackage</literal> come " "in <xref linkend=\"completebuild\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary</literal> target: to create all binary packages (effectively " "a combination of <literal>binary-arch</literal> and <literal>binary-indep</" "literal> targets). (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "target <literal>binary</literal>: crea tutta una serie di pacchetti binari " "(combinando i target <literal>binary-arch</literal> e <literal>binary-indep</" "literal>). (richiesto)<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage -B</literal> as in <xref " "linkend=\"autobuilder\"/>." msgstr "" "Questo target è usato da <literal>dpkg-buildpackage -B</literal> come " "descritto in <xref linkend=\"autobuilder\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-arch</literal> target: to create arch-dependent " "(<literal>Architecture: any</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "target <literal>binary-arch</literal>: crea una serie di pacchetti binari " "dipendenti dall'architettura (<literal>Architecture: any</literal>) nella " "directory padre. (richiesto)<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage -A</literal>." msgstr "Questo target è utilizzato da <literal>dpkg-buildpackage -A</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-indep</literal> target: to create arch-independent " "(<literal>Architecture: all</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "target <literal>binary-indep</literal>: crea una serie di pacchetti binari " "indipendenti dall'architettura (<literal>Architecture: all</literal>) nella " "directory padre. (richiesto)<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>get-orig-source</literal> target: to obtain the most recent version " "of the original source package from an upstream archive. (Optional)" msgstr "" "target <literal>get-orig-source</literal>: ottiene la versione più recente " "del pacchetto sorgente originale dal relativo archivio originale. (optional)" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably overwhelmed by now, but things are much simpler upon " "examination of the <filename>rules</filename> file that <command>dh_make</" "command> gives us as a default." msgstr "" "È probabile che adesso ci sia un po' di confusione, ma sarà tutto più chiaro " "una volta esaminato il file <filename>rules</filename> che <command>dh_make</" "command> fornisce in modo predefinito." #. type: Content of: <book><chapter><section><section><title> msgid "Default <filename>rules</filename> file" msgstr "Il file <filename>rules</filename> predefinito" #. type: Content of: <book><chapter><section><section><para> msgid "" "Newer <command>dh_make</command> generates a very simple but powerful " "default <filename>rules</filename> file using the <command>dh</command> " "command:" msgstr "" "Le nuove versioni di <command>dh_make</command> generano un file " "<filename>rules</filename> molto semplice ma potente utilizzando il comando " "<command>dh</command>:" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" msgstr "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "(I've added the line numbers. In the actual <filename>rules</filename> " "file, the leading spaces are a TAB code.)" msgstr "" "(Sono stati aggiunti i numeri di riga. Nel vero file <filename>rules</" "filename>, gli spazi vengono sostituiti da TAB.)" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably familiar with lines like line 1 from shell and Perl " "scripts. It tells the operating system that this file is to be processed " "with <filename>/usr/bin/make</filename>." msgstr "" "Probabilmente si sarà già familiari con le righe tipo la prima che ricordano " "gli script shell e Perl. In pratica indica al sistema operativo che il file " "andrà elaborato con <filename>/usr/bin/make</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Line 10 can be uncommented to set the <literal>DH_VERBOSE</literal> variable " "to 1, so that the <command>dh</command> command outputs which <command>dh_*</" "command> commands it is executing. You can also add a line <literal>export " "DH_OPTIONS=-v</literal> here, so that each <command>dh_*</command> command " "outputs which commands it is executing. This helps you to understand " "exactly what is going on behind this simple <filename>rules</filename> file " "and to debug its problems. This new <command>dh</command> is designed to " "form a core part of the <systemitem role=\"package\">debhelper</systemitem> " "tools, and not to hide anything from you." msgstr "" "La riga 10 può essere decommentata per impostare la variabile " "<literal>DH_VERBOSE</literal> a 1, in modo da mostrare gli output del " "comando <command>dh</command> che generano i programmi <command>dh_*</" "command> in esecuzione. È anche possibile aggiungere la riga " "<literal>export DH_OPTIONS=-v</literal>, in modo che ogni <command>dh_*</" "command> command outputs which commands it is executing. Questo aiuta a " "comprendere esettamente cosa c'è dietro al singolo file <filename>rules</" "filename> file e a diagnosticare i problemi. This new <command>dh</command> " "is designed to form a core part of the <systemitem role=\"package" "\">debhelper</systemitem> tools, and not to hide anything from you." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "This uses the new <systemitem role=\"package\">debhelper</systemitem> v7+ " "features. Its design concepts are explained in <ulink url=\"&debhelper-" "slides;\">Not Your Grandpa's Debhelper</ulink> presented at DebConf9 by the " "<systemitem role=\"package\">debhelper</systemitem> upstream. Under " "<literal>lenny</literal>, <command>dh_make</command> created a much more " "complicated <filename>rules</filename> file with explicit rules and many " "<command>dh_*</command> scripts listed for each one, most of which are now " "unnecessary (and show the package's age). The new <command>dh</command> " "command is simpler and frees us from doing the routine work \"manually\". " "You still have full power to customize the process with " "<literal>override_dh_*</literal> targets. See <xref linkend=\"customrules\"/" ">. It is based only on the <systemitem role=\"package\">debhelper</" "systemitem> package and does not obfuscate the package building process as " "the <systemitem role=\"package\">cdbs</systemitem> package tends to." msgstr "" "Questo è una nuova caratteristica di <systemitem role=\"package\">debhelper</" "systemitem> v7+. La sua architettura è documentata su <ulink url=" "\"&debhelper-slides;\">Not Your Grandpa's Debhelper</ulink> ed è stata " "presentata alla Debconf9 dall'autore di <systemitem role=\"package" "\">debhelper</systemitem>. Su sistemi Debian <literal>lenny</literal>, " "<command>dh_make</command> crea file <filename>rules</filename> molto più " "complicati, con molti script <command>dh_*</command> elencati per ogni " "target, la maggiorparte dei quali sono ormai inutili (e rispecchiano " "l'anzianità del pacchetto). La nuova versione del programma <command>dh</" "command> è molto più semplice e ci libera da questo vincolo. Si continuerà " "ad avere il pieno potere di personalizzazione utilizzando i target " "<literal>override_dh_*</literal>. Si veda <xref linkend=\"customrules\"/>. " "Esso si basa solo sul pacchetto <systemitem role=\"package\">debhelper</" "systemitem> e non offusca il processo di compilazione come il pacchetto " "<systemitem role=\"package\">cdbs</systemitem>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can verify the actual sequences of <command>dh_*</command> programs " "invoked for a given <literal><replaceable>target</replaceable></literal> " "without really running them by invoking <literal>dh --no-act " "<replaceable>target</replaceable></literal> or <literal>debian/rules -- '--" "no-act <replaceable>target</replaceable>'</literal>." msgstr "" "È possibile verificare la sequenza di avvio dei programmi <command>dh_*</" "command> indicando il <literal><replaceable>target</replaceable></literal> " "come <literal>dh --no-act <replaceable>target</replaceable></literal> o " "<literal>debian/rules -- '--no-act <replaceable>target</replaceable>'</" "literal>, in questo modo si ottiene un'esecuzione simulata dei programmi." #. type: Content of: <book><chapter><section><section><para> msgid "" "Lines 12 and 13 are where all the work is done with an implicit rule using " "the pattern rule. The percent sign means \"any targets\", which then call a " "single program, <command>dh</command>, with the target name. <placeholder " "type=\"footnote\" id=\"0\"/> The <command>dh</command> command is a wrapper " "script which runs appropriate sequences of <command>dh_*</command> programs " "depending on its argument. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "Tutto il lavoro è svolto nelle righe 12 e 13, grazie ad una regola implicita " "dichiarata nel modello. Il simbolo della percentuale significa che \"ogni " "target\" esegue una chiamata ad un singolo programma, <command>dh</command> " "con il nome del terget stesso. <placeholder type=\"footnote\" id=\"0\"/> Il " "comando <command>dh</command> è uno script wrapper, che esegue una sequenza " "appropriata di programmi <command>dh_*</command> in base all'argomento " "passato. <placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>, " "which in turn runs the following:" msgstr "" "<literal>debian/rules clean</literal> esegue <literal>dh clean</literal>; " "che a sua volta esegue i seguenti:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" msgstr "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules build</literal> runs <literal>dh build</literal>; " "which in turn runs the following:" msgstr "" "<literal>debian/rules build</literal> esegue <literal>dh build</literal>; " "che a sua volta esegue i seguenti:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" msgstr "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "The following example assumes your <filename>debian/compat</filename> has a " "value equal or more than 9 to avoid invoking any python support commands " "automatically." msgstr "" "Il seguente esempio assume che il file <filename>debian/compat</filename> " "abbia un valore uguale o superiore a 9, per evitare l'esecuzione automatica " "di qualsiasi comando python di supporto." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " "binary</literal>; which in turn runs the following<placeholder type=" "\"footnote\" id=\"0\"/>:" msgstr "" "<literal>fakeroot debian/rules binary</literal> esegue <literal>fakeroot dh " "binary</literal>; che a sua volta esegue i seguenti<placeholder type=" "\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" msgstr "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-arch</literal> runs <literal>fakeroot " "dh binary-arch</literal>; which in turn runs the same sequence as " "<literal>fakeroot dh binary</literal> but with the <literal>-a</literal> " "option appended for each command." msgstr "" "<literal>fakeroot debian/rules binary-arch</literal> esegue " "<literal>fakeroot dh binary-arch</literal>; che a sua volta esegue la stessa " "sequenza di <literal>fakeroot dh binary</literal> ma con l'opzione <literal>-" "a</literal> aggiunta ad ogni comando." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-indep</literal> runs <literal>fakeroot " "dh binary-indep</literal>; which in turn runs almost the same sequence as " "<literal>fakeroot dh binary</literal> but excluding <command>dh_strip</" "command>, <command>dh_makeshlibs</command>, and <command>dh_shlibdeps</" "command> with the <literal>-i</literal> option appended for each remaining " "command." msgstr "" "<literal>fakeroot debian/rules binary-indep</literal> esegue " "<literal>fakeroot dh binary-indep</literal>; che a sua volta esegue la " "stessa sequenza di <literal>fakeroot dh binary</literal> ma escludendo " "<command>dh_strip</command>, <command>dh_makeshlibs</command>, e " "<command>dh_shlibdeps</command> con l'opzione <literal>-i</literal> aggiunta " "ad ogni comando rimanente." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "For complete information on what all these <command>dh_*</command> scripts " "do exactly, and what their other options are, please read their respective " "manual pages and the <systemitem role=\"package\">debhelper</systemitem> " "documentation." msgstr "" "Per informazioni dettagliate sul funzionamento di tutti questi script " "<command>dh_ *</command>, e sulle loro opzioni, leggere le rispettive pagine " "del manuale e <systemitem role=\"package\">debhelper</systemitem> " "documentazione." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "These commands support other build environments such as <filename>setup.py</" "filename> which can be listed by executing <literal>dh_auto_build --list</" "literal> in a package source directory." msgstr "" "Questi comandi supportano altri ambienti di sviluppo, come <filename>setup." "py</filename> which can be listed by executing <literal>dh_auto_build --" "list</literal> in a package source directory." #. type: Content of: <book><chapter><section><section><para> msgid "" "The functions of <command>dh_*</command> commands are largely self-evident " "from their names. <placeholder type=\"footnote\" id=\"0\"/> There are a few " "notable ones that are worth giving (over)simplified explanations here " "assuming a typical build environment based on a <filename>Makefile</" "filename>. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "Le funzioni dei comandi <command>dh_*</command> sono, in gran parte, auto-" "esplicativi. <placeholder type=\"footnote\" id=\"0\"/> Ce ne sono alcune " "però, per cui vale la pena dare più spiegazioni, tenendo conto che si stia " "lavorando su un ambiente di sviluppo basato sul <filename>Makefile</" "filename>. <placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>distclean</literal>, <literal>realclean</literal>, " "or <literal>clean</literal>, and executes that." msgstr "" "Attualmente il programma esegue il primo target prensente nel " "<filename>Makefile</filename>, tra <literal>distclean</literal>, " "<literal>realclean</literal> o <literal>clean</literal> " #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_clean</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>distclean</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_clean</command> normalmente esegue i seguenti comandi se " "nel <filename>Makefile</filename> è presente il target <literal>distclean</" "literal>.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make distclean\n" msgstr "make distclean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_configure</command> usually executes the following if " "<filename>./configure</filename> exists (arguments abbreviated for " "readability)." msgstr "" "<command>dh_auto_configure</command> normalmente esegue i seguenti comandi " "se esiste il file <filename>./configure</filename> (argomenti abbreviati for " "una maggiore leggibilità)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" msgstr "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_build</command> usually executes the following to execute " "the first target of <filename>Makefile</filename> if it exists." msgstr "" "<command>dh_auto_build</command> normalmente lancia il seguente comando per " "eseguire, se esiste, il primo target del <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make\n" msgstr "make\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>test</literal> or <literal>check</literal>, and " "executes that." msgstr "" "Attualmente il programma esegue il primo target <literal>test</literal> o " "<literal>check</literal> disponibile nel <filename>Makefile</filename>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_test</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>test</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_clean</command> normalmente esegue i seguenti comandi, se " "nel <filename>Makefile</filename> esiste il target <literal>test</literal>." "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make test\n" msgstr "make test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_install</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>install</literal> " "target (line folded for readability)." msgstr "" "<command>dh_auto_install</command> normalmente esegue il seguente comando se " "nel <filename>Makefile</filename> esiste il target <literal>install</" "literal> (riga spezzata per aumentare la leggibilità)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" msgstr "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "All targets which require the <command>fakeroot</command> command will " "contain <command>dh_testroot</command>, which exits with an error if you are " "not using this command to pretend to be root." msgstr "" "Tutti i target che richiedono il comando <command>fakeroot</command> " "dovrebbero contenere <command>dh_testroot</command>, che restituisce un " "errore se non si utilizza questo comando per fingenre di essere root." #. type: Content of: <book><chapter><section><section><para> msgid "" "The important part to know about the <filename>rules</filename> file created " "by <command>dh_make</command> is that it is just a suggestion. It will work " "for most packages but for more complicated ones, don't be afraid to " "customize it to fit your needs." msgstr "" "La cosa importante da sapere riguardo al file <filename>rules</filename> " "creato da <command>dh_make</command>, è che il suo contenuto contiene dei " "semplici consigli. Funzionerà per la maggior parte dei pacchetti ma per i " "più complicati non si esiti a personalizzarlo secondo le proprie esigenze." #. type: Content of: <book><chapter><section><section><para> msgid "" "Although <literal>install</literal> is not a required target, it is " "supported. <literal>fakeroot dh install</literal> behaves like " "<literal>fakeroot dh binary</literal> but stops after <command>dh_fixperms</" "command>." msgstr "" "Anche se il target <literal>install</literal> non è richiesto, è comunque " "supportato. <literal>fakeroot dh install</literal> si comporta come " "<literal>fakeroot dh binary</literal> ma si ferma dopo <command>dh_fixperms</" "command>." #. type: Content of: <book><chapter><section><section><title> msgid "Customization of <filename>rules</filename> file" msgstr "Personalizzazione del file <filename>rules</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are many ways to customize the <filename>rules</filename> file created " "with the new <command>dh</command> command." msgstr "" "Verrà qui spiegata la personalizzazione del file <filename>rules</filename>, " "creato con il nuovo comando <command>dh</command>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " "should activate its customization function by <literal>dh $@ --with " "<replaceable>custom-name</replaceable></literal>." msgstr "" "Se il pacchetto installa il file <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>nome_personalizzato</replaceable>.pm</filename>, si " "deve attivare la funzione di personalizzazione tramite il comando " "<literal>dh $@ --with <replaceable>nome-personalizzato</replaceable></" "literal>." #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>dh $@</literal> command can be customized as follows. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Il comando <literal>dh $@</literal> può essere personalizzato come segue. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "Use of the <command>dh_python2</command> command is preferred over use of " "<command>dh_pysupport</command> or <command>dh_pycentral</command> " "commands. Do not use the <command>dh_python</command> command." msgstr "" "L'uso del comando <command>dh_python2</command> è preferito rispetto all'uso " "di dei comandi <command>dh_pysupport</command> o <command>dh_pycentral</" "command>. Non si deve utilizzare il comando <command>dh_python</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_python2</command> command. (The best choice " "for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Aggiunge il supporto per il comando <command>dh_python2</command>. (La " "scelta migliore per Python) <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Include il pacchetto <systemitem role=\"package\">python</systemitem> in " "<literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python2</literal>." msgstr "Utilizza <literal>dh $@ --with python2</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python</" "systemitem> framework." msgstr "" "Gestisce i moduli Python utilizzando il framework <systemitem role=\"package" "\">python</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pysupport</command> command. (deprecated)" msgstr "" "Aggiunge il supporto per il comando <command>dh_pysupport</command>. " "(deprecato)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-support</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Include il pacchetto <systemitem role=\"package\">python-support</" "systemitem> in <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with pysupport</literal>." msgstr "Utilizza <literal>dh $@ --with pysupport</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "support</systemitem> framework." msgstr "" "Gestisce i moduli Python utilizzando l'infrastruttura <systemitem role=" "\"package\">python-support</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pycentral</command> command. (deprecated)" msgstr "" "Aggiunge il supporto al comando <command>dh_pycentral</command>. (deprecato)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-central</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Include il pacchetto <systemitem role=\"package\">python-central</" "systemitem> in <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python-central</literal> instead." msgstr "Utilizza in alternativa <literal>dh $@ --with python-central</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This also deactivates the <command>dh_pysupport</command> command." msgstr "Disattiva anche il domando <command>dh_pysupport</command>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "central</systemitem> framework." msgstr "" "Gestisce i moduli Python utilizzando l'infrastruttura <systemitem role=" "\"package\">python-central</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_installtex</command> command." msgstr "Aggiunge il supporto per il comando <command>dh_installtex</command>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">tex-common</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Include il pacchetto <systemitem role=\"package\">tex-common</systemitem> in " "<literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with tex</literal> instead." msgstr "Utilizza in alternativa <literal>dh $@ --with tex</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This registers Type 1 fonts, hyphenation patterns, and formats with TeX." msgstr "" "Registra i caratteri Type 1, le regole di sillabazione, ed i formati con TeX." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_quilt_patch</command> and " "<command>dh_quilt_unpatch</command> commands." msgstr "" "Aggiunge il supporto per i comandi <command>dh_quilt_patch</command> e " "<command>dh_quilt_unpatch</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">quilt</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Include il pacchetto <systemitem role=\"package\">quilt</systemitem> in " "<literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with quilt</literal> instead." msgstr "Utilizza in alternativa <literal>dh $@ --with quilt</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This applies and un-applies patches to the upstream source from files in the " "<filename>debian/patches</filename> directory for a source package in the " "<literal>1.0</literal> format." msgstr "" "Applica e rimuove le patch al sorgente originale dai file nella directory " "<filename>debian/patches</filename> per i sorgenti dei pacchetti con formato " "<literal>1.0</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This is not needed if you use the new <literal>3.0 (quilt)</literal> source " "package format." msgstr "" "Non è necessario se si utilizza il nuovo formato del sorgente del pacchetto " "<literal>3.0 (quilt)</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_dkms</command> command." msgstr "Aggiunge il supporto per il comando <command>dh_dkms</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dkms</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Include il pacchetto <systemitem role=\"package\">dkms</systemitem> in " "<literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with dkms</literal> instead." msgstr "Utilizza in alternativa <literal>dh $@ --with dkms</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This correctly handles DKMS usage by kernel module packages." msgstr "" "Gestisce in maniera corretta DKMS, usato dal pacchetto del modulo del kernel." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autotools-dev_updateconfig</command> and " "<command>dh_autotools-dev_restoreconfig</command> commands." msgstr "" "Aggiunge il supporto per i comandi <command>dh_autotools-dev_updateconfig</" "command> e <command>dh_autotools-dev_restoreconfig</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">autotools-dev</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Include il pacchetto <systemitem role=\"package\">autotools-dev</systemitem> " "in <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autotools-dev</literal> instead." msgstr "Include in alternativa <literal>dh $@ --with autotools-dev</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates and restores <filename>config.sub</filename> and " "<filename>config.guess</filename>." msgstr "" "Aggiorna e ripristina i file <filename>config.sub</filename> and " "<filename>config.guess</filename>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autoreconf</command> and " "<command>dh_autoreconf_clean</command> commands." msgstr "" "Aggiunge il supporto per i comandi <command>dh_autoreconf</command> e " "<command>dh_autoreconf_clean</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dh-autoreconf</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Include il pacchetto <systemitem role=\"package\">dh-autoreconf</systemitem> " "in <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autoreconf</literal> instead." msgstr "Utilizza in alternativa <literal>dh $@ --with autoreconf</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates the GNU Build System files and restores them after the build." msgstr "" "Aggiorna i file del sistema di compilazione GNU e ripristina i file dopo la " "sua compilazione." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_girepository</command> command." msgstr "" "Aggiunge il supporto per il comando <command>dh_girepository</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">gobject-introspection</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "Include il pacchetto <systemitem role=\"package\">gobject-introspection</" "systemitem> in <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with gir</literal> instead." msgstr "Utilizza in alternativa <literal>dh $@ --with gir</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This computes dependencies for packages shipping GObject introspection data " "and generates the <literal>${gir:Depends}</literal> substitution variable " "for the package dependency." msgstr "" "Questa operazione calcola le dipendenze per i pacchetti che spediscono dei " "dati d'auto-analisi di GObject e genera la variabile di sostituzione " "<literal>${gir:Depends}</literal> per la dipendenza del pacchetto." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>bash</command> completion feature." msgstr "" "Aggiunge il supporto alla funzionalità di completamento di <command>bash</" "command>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">bash-completion</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "Include il pacchetto <systemitem role=\"package\">bash-completion</" "systemitem> in <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with bash-completion</literal> instead." msgstr "" "Utilizza in alternativa <literal>dh $@ --with bash-completion</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This installs <command>bash</command> completions using a configuration file " "at <filename>debian/<replaceable>package</replaceable>.bash-completion</" "filename>." msgstr "" "Installa il completamento per <command>bash</command> utilizzando il file di " "configurazione <filename>debian/<replaceable>package</replaceable>.bash-" "completion</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Many <command>dh_*</command> commands invoked by the new <command>dh</" "command> command can be customized by the corresponding configuration files " "in the <filename>debian</filename> directory. See <xref linkend=\"dother\"/" "> and the manpage of each command for the customization of such features." msgstr "" "Molti comandi del tipo <command>dh_*</command>, invocati da <command>dh</" "command>, possono essere personalizzati modificando i rispettivi file di " "configurazione nella directory <filename>debian</filename>. Si veda <xref " "linkend=\"dother\"/> per la personalizzazione di tali caratteristiche." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Under <literal>lenny</literal>, if you wanted to change the behavior of a " "<command>dh_*</command> script you found the relevant line in the " "<filename>rules</filename> file and adjusted it." msgstr "" "Sotto <literal>lenny</literal>, se si vuole cambiare il comportamento di uno " "script <command>dh_*</command> basta cercare la riga relativa nel file " "<filename>rules</filename> e modificarla." #. type: Content of: <book><chapter><section><section><para> msgid "" "You may need to run <command>dh_*</command> commands invoked via the new " "<command>dh</command> with added arguments, or to run additional commands " "with them, or to skip them. For such cases, you create an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target with " "its rule in the <filename>rules</filename> file defining an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target for the " "<command>dh_<replaceable>foo</replaceable></command> command you want to " "change. It basically says <emphasis>run me instead</emphasis>. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Alcuni comandi del tipo <command>dh_*</command>, invocati da <command>dh</" "command>, possono richiedere la propria esecuzione con alcuni parametri o in " "aggiunta ad altri comandi da eseguire contestualmente o al posto dei comandi " "originali. In tali casi viene creato nel file <filename>rules</filename> il " "target <literal>override_dh_<replaceable>foo</replaceable></literal> " "aggiungendo una regola solo per il comando <command>dh_<replaceable>foo</" "replaceable></command> che si intende modificare. Fondamentalmente tale " "regola dice <emphasis>esegui me al posto di</emphasis>. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note that the <command>dh_auto_*</command> commands tend to do more " "than what has been discussed in this (over)simplified explanation to take " "care of all the corner cases. It is a bad idea to use " "<literal>override_dh_*</literal> targets to substitute simplified equivalent " "commands (except for the <literal>override_dh_auto_clean</literal> target) " "since it may bypass such smart <systemitem role=\"package\">debhelper</" "systemitem> features." msgstr "" "Si noti che il comando <command>dh_auto_*</command> tende a fare più di ciò " "che è stato discusso in questa spiegazione (ultra)semplificata. È una " "cattiva idea utilizzare i target <literal>override_dh_*</literal> per " "sostituire i comandi equivalenti (ad eccezione del target " "<literal>override_dh_auto_clean</literal>) in quanto può bypassare delle " "caratteristiche \"intelligenti\" di <systemitem role=\"package\">debhelper</" "systemitem>." #. type: Content of: <book><chapter><section><section><para> msgid "" "So, for instance, if you want to store system configuration data in the " "<filename>/etc/gentoo</filename> directory instead of the usual <filename>/" "etc</filename> directory for the recent <systemitem role=\"package\">gentoo</" "systemitem> package using Autotools, you can override the default <literal>--" "sysconfig=/etc</literal> argument given by the <command>dh_auto_configure</" "command> command to the <command>./configure</command> command by the " "following." msgstr "" "Se si vogliono registrare i dati di configurazione di sistema nella " "directory <filename>/etc/gentoo</filename> invece che nella solita directory " "<filename>/etc</filename>, per il pacchetto <systemitem role=\"package" "\">gentoo</systemitem>, che utilizza gli Autotools, si può sovrascrivere il " "parametro predefinito <literal>--sysconfig=/etc</literal> dato dal comando " "<command>dh_auto_configure</command> al comando <command>./configure</" "command> nel modo seguente." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "The arguments given after <literal>--</literal> are appended to the default " "arguments of the auto-executed program to override them. Using the " "<command>dh_auto_configure</command> command is better than directly " "invoking the <command>./configure</command> command here since it will only " "override the <literal>--sysconfig</literal> argument and retains any other, " "benign arguments to the <command>./configure</command> command." msgstr "" "I parametri immessi dopo <literal>--</literal> vengono aggiunti dopo i " "parametri predefiniti dei programmi eseguiti per sovrascriverli. Utilizzare " "il comando <command>dh_auto_configure</command> è preferibile rispetto al " "comando <command>./configure</command> dal momento che sovrascriverà " "esclusivamente il parametro <literal>--sysconfig</literal> e manterrà gli " "altri parametri del comando <command>./configure</command>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<command>dh_auto_build</command> without any arguments will execute the " "first target in the <filename>Makefile</filename>." msgstr "" "<command>dh_auto_build</command> senza alcun argomento eseguirà il primo " "target del file <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify <literal>build</" "literal> as its target to build it <placeholder type=\"footnote\" id=\"0\"/" ">, you create an <literal>override_dh_auto_build</literal> target to enable " "this." msgstr "" "Se il <filename>Makefile</filename> del sorgente per il pacchetto " "<systemitem role=\"package\">gentoo</systemitem> necessita che venga " "specificato il target per costruirlo <placeholder type=\"footnote\" id=\"0\"/" ">, basterà creare il target <literal>override_dh_auto_build</literal> per " "abilitarlo." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" msgstr "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "This ensures <literal>$(MAKE)</literal> is run with all the default " "arguments given by the <command>dh_auto_build</command> command plus the " "<literal>build</literal> argument." msgstr "" "Questo assicura che <literal>$(MAKE)</literal> verrà eseguito con tutti i " "parametri predefiniti del comando <command>dh_auto_build</command> ed il " "parametro <literal>build</literal>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify the " "<literal>packageclean</literal> target to clean it for the Debian package " "instead of using <literal>distclean</literal> or <literal>clean</literal> " "targets, you can create an <literal>override_dh_auto_clean</literal> target " "to enable thit." msgstr "" "Se il <filename>Makefile</filename> del sorgente per il pacchetto " "<systemitem role=\"package\">gentoo</systemitem> necessita che venga " "specificato il target <literal>packageclean</literal> per pulirlo per il " "pacchetto Debian, al posto dell'utilizzo dei target <literal>distclean</" "literal> o <literal>clean</literal>, si può creare il target " "<literal>override_dh_auto_build</literal> pe abilitarlo." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" msgstr "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> contains a <literal>test</literal> target " "which you do not want to run for the Debian package building process, you " "can use an empty <literal>override_dh_auto_test</literal> target to skip it." msgstr "" "Se il <filename>Makefile</filename> di un sorgente per il pacchetto " "<systemitem role=\"package\">gentoo</systemitem> contiene il target " "<literal>test</literal> che non vuole essere eseguito nel processo di " "costruzione del pacchetto Debian, si può utilizzare l'obiettivo " "<literal>override_dh_auto_test</literal> per saltarlo." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "override_dh_auto_test:\n" msgstr "override_dh_auto_test:\n" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "The <filename>debian/changelog</filename> and <filename>debian/NEWS</" "filename> files are always automatically installed. The upstream changelog " "is found by converting filenames to lower case and matching them against " "<filename>changelog</filename>, <filename>changes</filename>, " "<filename>changelog.txt</filename>, and <filename>changes.txt</filename>." msgstr "" "I file <filename>debian/changelog</filename> e <filename>debian/NEWS</" "filename> vengono sempre installati automaticamente. Il changelog originale " "viene trovato convertendo i nomi dei file in minuscolo e cercando la " "corrispondenza con <filename>changelog</filename>, <filename>changes</" "filename>, <filename>changelog.txt</filename>, e <filename>changes.txt</" "filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If <systemitem role=\"package\">gentoo</systemitem> has an unusual upstream " "changelog file called <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> will not install that file by " "default. The <command>dh_installchangelogs</command> command requires " "<filename>FIXES</filename> as its argument to install it. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Se il programma originale <systemitem role=\"package\">gentoo</systemitem> " "contiene un inusuale file di changelog chiamato <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> non installerà questo file in modo " "predefinito. Il comando <command>dh_installchangelogs</command> richiede " "che venga fornito il parametro <filename>FIXES</filename> per installarlo." "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" msgstr "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you use the new <command>dh</command> command, use of explicit targets " "such as the ones listed in <xref linkend=\"targets\"/>, other than the " "<literal>get-orig-source</literal> target, may make it difficult to " "understand their exact effects. Please limit explicit targets to " "<literal>override_dh_*</literal> targets and completely independent ones, if " "possible." msgstr "" "Quando si usa il nuovo comando <command>dh</command>, l'utilizzo di target " "espliciti come quelli elencanti in <xref linkend=\"targets\"/>, possono " "rendere difficile capire i loro effetti. Si prega di limitare i target " "espliciti in favore dei target <literal>override_dh_*</literal> e, se " "possibile, quelli completamente indipendenti." #. type: Content of: <book><chapter><title> msgid "Other files under the <filename>debian</filename> directory" msgstr "Altri file nella directory <filename>debian</filename>" #. type: Content of: <book><chapter><para> msgid "" "To control most of what <systemitem role=\"package\">debhelper</systemitem> " "does while building the package, you put optional configuration files under " "the <filename>debian</filename> directory. This chapter will provide an " "overview of what each of these does and its format. Please read the <ulink " "url=\"&debian-policy;\">Debian Policy Manual</ulink> and <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> for " "guidelines for packaging." msgstr "" "Per controllare la maggior parte delle operazioni che <systemitem role=" "\"package\">debhelper</systemitem> effettua durante la creazione del " "pacchetto, si possono inserire dei file di configurazione all'interno della " "directory <filename>debian</filename>. Questo capitolo fornirà una " "panoramica sull'utilizzo di ciascuno di essi ed il loro formato. Si legga " "il <ulink url=\"&debian-policy;\">Manuale delle policy di Debian</ulink> e " "la <ulink url=\"&developers-reference;\">Guida di riferimento per lo " "sviluppatore Debian</ulink> per le linee guida sulla creazione dei pacchetti." #. type: Content of: <book><chapter><para> msgid "" "The <command>dh_make</command> command will create some template " "configuration files under the <filename>debian</filename> directory. Most " "of them come with filenames suffixed by <literal>.ex</literal>. Some of " "them come with filenames prefixed by the binary package name such as " "<literal><replaceable>package</replaceable></literal>. Take a look at all " "of them. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Il comando <command>dh_make</command> creerà il modello dei file di " "configurazione nella directory <filename>debian</filename>. Molti di questi " "file terminano con l'estensione <literal>.ex</literal>. In altri inoltre il " "nome del file viene preceduto dal nome del pacchetto in binario, come " "<literal><replaceable>pacchetto</replaceable></literal>. Si dia uno sguardo " "a tutti i differenti file di configurazione. <placeholder type=\"footnote\" " "id=\"0\"/>" #. type: Content of: <book><chapter><para> msgid "" "Some template configuration files for <systemitem role=\"package" "\">debhelper</systemitem> may not be created by the <command>dh_make</" "command> command. In such cases, you need to create them with an editor." msgstr "" "Alcuni modelli di file di configurazione per <systemitem role=\"package" "\">debhelper</systemitem> non possono essere creati dal comando " "<command>dh_make</command>. In questo caso, è necessario crearlo con un " "editor." #. type: Content of: <book><chapter><para> msgid "If you wish or need to activate any of these, please do the following:" msgstr "" "Se si vuole o si ha bisogno di attivare uno di questi file, si effettuino le " "seguenti operazioni:" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename template files by removing the <literal>.ex</literal> or <literal>." "EX</literal> suffix if they have one;" msgstr "" "si rinomini il file modello rimuovendo l'estensione <literal>.ex</literal> o " "<literal>.EX</literal> se presente;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename the configuration files to use the actual binary package name in " "place of <literal><replaceable>package</replaceable></literal>;" msgstr "" "si rinominino i file di configurazione con il nome usato dall'attuale " "pacchetto binario al posto di <literal><replaceable>pacchetto</replaceable></" "literal>;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "modify template file contents to suit your needs;" msgstr "si modifichi il contenuto del file in base alle proprie esigenze;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "remove template files which you do not need;" msgstr "si elimini il file modello di cui non si ha più bisogno;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>control</filename> file (see <xref linkend=\"control\"/" ">), if necessary;" msgstr "" "si modifichi il file <filename>control</filename> (si veda <xref linkend=" "\"control\"/>), se necessario;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/>), " "if necessary." msgstr "" "si modifiche il file delle <filename>regole</filename> (si veda <xref " "linkend=\"rules\"/>), se necessario." #. type: Content of: <book><chapter><para> msgid "" "Any <systemitem role=\"package\">debhelper</systemitem> configuration files " "without a <filename><replaceable>package</replaceable></filename> prefix, " "such as <filename>install</filename>, apply to the first binary package. " "When there are many binary packages, their configurations can be specified " "by prefixing their name to their configuration filenames such as " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "Qualsiasi file di configurazione di <systemitem role=\"package\">debhelper</" "systemitem> senza prefisso del <filename><replaceable>pacchetto</" "replaceable></filename>, come nel file <filename>install</filename> vengono " "applicati al primo pacchetto binario. Quando ci sono molti pacchetti binari " "le loro configurazioni possono essere specificate aggiungendo il loro " "prefisso al nome del file di configurazione come " "<filename><replaceable>pacchetto-1</replaceable>.install</filename>, " "<filename><replaceable>pacchetto-2</replaceable>.install</filename>, ecc." #. type: Content of: <book><chapter><section><title> msgid "<filename>README.Debian</filename>" msgstr "<filename>README.Debian</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Any extra details or discrepancies between the original package and your " "Debian version should be documented here." msgstr "" "Ogni ulteriore dettaglio o discrepanza tra il pacchetto originale e la " "versione Debian dovrebbe essere documentato qui." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one; this is what it looks like:" msgstr "<command>dh_make</command> ne crea uno predefinito; ecco come appare:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" msgstr "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have nothing to be documented, remove this file. See <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Qui dovrebbero inserire delle brevi informazioni specifiche di Debian. Si " "veda <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<filename>compat</filename>" msgstr "<filename>compat</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>compat</filename> file defines the <systemitem role=\"package" "\">debhelper</systemitem> compatibility level. Currently, you should set it " "to the <systemitem role=\"package\">debhelper</systemitem> v9 as follows:" msgstr "" "Il file <filename>compat</filename> definisce il livello di compatibilità di " "<systemitem role=\"package\">debhelper</systemitem>. Al momento dovrebbe " "essere impostato a <systemitem role=\"package\">debhelper</systemitem> v9 " "nel modo seguente:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ echo 9 > debian/compat\n" msgstr "$ echo 9 > debian/compat\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>conffiles</filename>" msgstr "<filename>conffiles</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian " "Policy Manual, \"D.2.5 Conffiles\"</ulink>." msgstr "" "Vedere <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> e <ulink url=\"&policy-conffiles;\">il manuale " "delle policy Debian, \"D.2.5 Conffiles\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "One of the most annoying things about software is when you spend a great " "deal of time and effort customizing a program, only to have an upgrade stomp " "all over your changes. Debian solves this problem by marking such " "configuration files as conffiles. <placeholder type=\"footnote\" id=\"0\"/> " "When you upgrade a package, you'll be asked whether you want to keep your " "old configuration files or not." msgstr "" "Una delle cose più fastidiose riguardanti il software accade quando si " "spende una grande quantità di tempo e di sforzi per personalizzare un " "programma solo per vedere un aggiornamento spazzare via tutte le modifiche " "fatte. Debian risolve questo problema marcando i file di configurazione " "come conffiles. <placeholder type=\"footnote\" id=\"0\"/> Quando si " "aggiorna un pacchetto, verrà richiesto se si vogliono mantenere o meno i " "vecchi file di configurazione." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry><refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> <emphasis>automatically</emphasis> flags any " "files under the <filename>/etc</filename> directory as conffiles, so if your " "program only has conffiles there you do not need to specify them in this " "file. For most package types, the only place conffiles should ever be is " "under <filename>/etc</filename>, and so this file doesn't need to exist." msgstr "" "<citerefentry> <refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> marcherà <emphasis>automaticamente</emphasis> " "ogni file che si trova nella directory <filename>/etc</filename> come " "conffiles, così che se il programma ha soli file di configurazione in quella " "directory, non ci sarà bisogno di specificarli in questo file. Per la " "maggior parte dei tipi di pacchetto, l'unico posto in cui si dovrebbero " "trovare i conffile è all'interno di <filename>/etc</filename> e quindi non " "c'è bisogno che questo file esista." #. type: Content of: <book><chapter><section><para> msgid "" "If your program uses configuration files but also rewrites them on its own, " "it's best not to make them conffiles because <command>dpkg</command> will " "then prompt users to verify the changes all the time." msgstr "" "Se il programma creato utilizza file di configurazione e li sovrascrive in " "automatico, è meglio non rendere questi ultimi dei file di configurazione " "perché <command>dpkg</command> chiederà ogni volta agli utenti di verificare " "i cambiamenti." #. type: Content of: <book><chapter><section><para> msgid "" "If the program you're packaging requires every user to modify the " "configuration files in the <filename>/etc</filename> directory, there are " "two popular ways to arrange for them to not be conffiles, keeping " "<command>dpkg</command> quiet." msgstr "" "Se il programma di cui si sta creando il pacchetto richiede ad ogni utente " "di modificare i file di configurazione nella directory <filename>/etc</" "filename>, ci sono principalmente due modi per non renderli conffiles e " "quindi di mantenere <command>dpkg</command> tranquillo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a symlink under the <filename>/etc</filename> directory pointing to a " "file under the <filename>/var</filename> directory generated by the " "maintainer scripts." msgstr "" "Si può creare un link simbolico nella directory <filename>/etc</filename> " "che punti ad un file nella directory <filename>/var</filename> generato " "dagli script del manutentore." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a file generated by the maintainer scripts under the <filename>/etc</" "filename> directory." msgstr "" "Si crei un file generato dagli script del manutentore nella directory " "<filename>/etc</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "For information on maintainer scripts, see <xref linkend=\"maintscripts\"/>." msgstr "" "Per maggiori informazioni sugli script del manutentore, si veda <xref " "linkend=\"maintscripts\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.cron.*</filename>" msgstr "<filename><replaceable>pacchetto</replaceable>.cron.*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package requires regularly scheduled tasks to operate properly, you " "can use these files to set that up. You can set up regular tasks that " "either happen hourly, daily, weekly, or monthly, or alternatively happen at " "any other time that you wish. The filenames are:" msgstr "" "Se il pacchetto creato richiede che vengano programmate delle operazioni per " "funzionare correttamente, si può utilizzare questo file per lo scopo. Si " "possono programmare delle operazioni in modo tale che vengano eseguite su " "base oraria, giornaliera, settimanale, mensile o che vengano eseguite " "alternativamente in qualsiasi momento si voglia. I file saranno:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.hourly</filename> - " "Installed as <filename>/etc/cron.hourly/<replaceable>package</replaceable></" "filename>; run once an hour." msgstr "" "<filename><replaceable>pacchetto</replaceable>cron.hourly</filename> - " "Installato come <filename>/etc/cron.hourly/<replaceable>pacchetto</" "replaceable></filename>: viene eseguito una volta ogni ora." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.daily</filename> - " "Installed as <filename>/etc/cron.daily/<replaceable>package</replaceable></" "filename>; run once a day." msgstr "" "<filename><replaceable>pacchetto</replaceable>cron.daily</filename> - " "Installato as <filename>/etc/cron.daily/<replaceable>pacchetto</" "replaceable></filename>: viene eseguito una volta al giorno." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.weekly</filename> - " "Installed as <filename>/etc/cron.weekly/<replaceable>package</replaceable></" "filename>; run once a week." msgstr "" "<filename><replaceable>pacchetto</replaceable>cron.weekly</filename> - " "Installato come <filename>/etc/cron.weekly/<replaceable>pacchetto</" "replaceable></filename>: viene eseguito una volta a settimana." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.monthly</filename> - " "Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></" "filename>: run once a month." msgstr "" "<filename><replaceable>pacchetto</replaceable>cron.monthly</filename> - " "Installato come <filename>/etc/cron.monthly/<replaceable>pacchetto</" "replaceable></filename>: viene eseguito una volta al mese." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.d</filename> - Installed " "as <filename>/etc/cron.d/<replaceable>package</replaceable></filename>: for " "any other time." msgstr "" "<filename><replaceable>pacchetto</replaceable>cron.d</filename> - Installato " "come <filename>/etc/cron.d/<replaceable>pacchetto</replaceable></filename>: " "per qualsiasi altro periodo." #. type: Content of: <book><chapter><section><para> msgid "" "Most of these files are shell scripts, with the exception of " "<filename><replaceable>package</replaceable>.cron.d</filename> which follows " "the format of <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." msgstr "" "Molti di questi file sono script di shell, fatta eccezione di " "<filename><replaceable>pacchetto</replaceable>.cron.d</filename> che segue " "il formato di <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "No explicit <filename>cron.*</filename> file is needed to set up log " "rotation; for that, see <citerefentry><refentrytitle>dh_installlogrotate</" "refentrytitle> <manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>logrotate</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" "Nessun esplicito file <filename>cron.*</filename> è necessario per impostare " "la rotazione dei log; a questo proposito si veda <citerefentry> " "<refentrytitle>dh_installlogrotate</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> e <citerefentry> <refentrytitle>logrotate</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<filename>dirs</filename>" msgstr "<filename>dirs</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies any directories which we need but which are not created " "by the normal installation procedure (<literal>make install DESTDIR=...</" "literal> invoked by <literal>dh_auto_install</literal>). This generally " "means there is a problem with the <filename>Makefile</filename>." msgstr "" "Questo file specifica le directory di cui si ha bisogno ma che non vengono " "create nella normale procedura di installazione (<literal>make install " "DESTDIR=...</literal> chiamata da <literal>dh_auto_install</literal>). " "Questo generalmente indica la presenza di un problema nel " "<filename>Makefile</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Files listed in an <filename>install</filename> file don't need their " "directories created first. See <xref linkend=\"install\"/>." msgstr "" "I file elencati nel file <filename>install</filename> non hanno bisogno che " "le directory vengano create prima. Si veda <xref linkend=\"install\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "It is best to try to run the installation first and only use this if you run " "into trouble. There is no preceding slash on the directory names listed in " "the <filename>dirs</filename> file." msgstr "" "Si raccomanda di provare prima ad eseguire l'installazione ed utilizzare " "questo file solo se si incorre in problemi. Si noti che il carattere slash " "non precede il nome delle directory listane nel file <filename>dirs</" "filename>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.doc-base</filename>" msgstr "<filename><replaceable>pacchetto</replaceable>.doc-base</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has documentation other than manual and info pages, you " "should use the <systemitem role=\"package\">doc-base</systemitem> file to " "register it, so the user can find it with e.g. <citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, or <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Se il pacchetto generato ha altra documentazione oltre alle pagine di " "manuale e di info, dovrebbe essere utilizzato il file <systemitem role=" "\"package\">doc-base</systemitem> per segnalarla in modo che l'utente possa " "trovarla con, ad esempio <citerefentry> <refentrytitle>dhelp</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>dwww</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "o <citerefentry> <refentrytitle>doccentral</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "This usually includes HTML, PS and PDF files, shipped in <filename>/usr/" "share/doc/<replaceable>packagename</replaceable>/</filename>." msgstr "" "Questa documentazione è solitamente costituita da documenti HTML, file PS e " "PDF, disponibili in <filename>/usr/share/doc/<replaceable>nomepacchetto</" "replaceable>/</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "This is what <systemitem role=\"package\">gentoo</systemitem>'s doc-base " "file <filename>gentoo.doc-base</filename> looks like:" msgstr "" "Questo è il modo in cui il file doc-base di <systemitem role=\"package" "\">gentoo</systemitem>, <filename>gentoo.doc-base</filename>, appare:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" msgstr "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" #. type: Content of: <book><chapter><section><para> msgid "" "For information on the file format, see <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and the Debian <systemitem role=\"package\">doc-base</" "systemitem> Manual at the local copy <filename>&doc-base;</filename> " "provided by the <systemitem role=\"package\">doc-base</systemitem> package." msgstr "" "Per informazioni sul formato del file si veda <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> ed la copia locale del manuale Debian <systemitem role=" "\"package\">doc-base</systemitem>, reperibile con il pacchetto <systemitem " "role=\"package\">doc-base</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "For more details on installing additional documentation, look in <xref " "linkend=\"destdir\"/>." msgstr "" "Per ulteriori dettagli su come installare documentazione aggiuntiva, si veda " "in <xref linkend=\"destdir\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>docs</filename>" msgstr "<filename>docs</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies the file names of documentation files we can have " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> install into the temporary directory for us." msgstr "" "Questo file specifica il nome dei file di documentazione che si possono " "avere <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> li installa nella directory " "temporanea automaticamente." #. type: Content of: <book><chapter><section><para> msgid "" "By default, it will include all existing files in the top-level source " "directory that are called <filename>BUGS</filename>, <filename>README*</" "filename>, <filename>TODO</filename> etc." msgstr "" "Normalmente, questo file includerà tutti i file esistenti nella directory " "dei sorgenti di più alto livello che sono chiamati <filename>BUGS</" "filename>, <filename>README*</filename>, <filename>TODO</filename> ecc." #. type: Content of: <book><chapter><section><para> msgid "" "For <systemitem role=\"package\">gentoo</systemitem>, some other files are " "also included:" msgstr "" "Per il pacchetto <systemitem role=\"package\">gentoo</systemitem>, sono " "stati inclusi anche altri files:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" msgstr "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>emacsen-*</filename>" msgstr "<filename>emacsen-*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package supplies Emacs files that can be bytecompiled at package " "installation time, you can use these files to set it up." msgstr "" "Se il pacchetto generato contiene file Emacs che possono essere compilati al " "momento dell'installazione, i file emacsen-* possono essere usati per " "impostarne la compilazione" #. type: Content of: <book><chapter><section><para> msgid "" "They are installed into the temporary directory by <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Tali file sono installati nella directory temporanea con <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "If you don't need these, remove them." msgstr "Se non se ne ha bisogno, possono essere eliminati." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.examples</filename>" msgstr "<filename><replaceable>pacchetto</replaceable>.examples</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs files and " "directories listed in this file as example files." msgstr "" "Il comando <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> installa i file e le directory " "elencati al suo interno come file di esempio." #. type: Content of: <book><chapter><section><title> msgid "" "<filename><replaceable>package</replaceable>.init</filename> and " "<filename><replaceable>package</replaceable>.default</filename>" msgstr "" "<filename><replaceable>pacchetto</replaceable>.init</filename> e " "<filename><replaceable>pacchetto</replaceable>.default</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package is a daemon that needs to be run at system start-up, you've " "obviously disregarded my initial recommendation, haven't you? :-)" msgstr "" "Se il pacchetto generato è un demone che deve partire all'avvio del sistema, " "hai chiaramente ignorato le mie raccomandazioni iniziali, vero? :-)" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.init</filename> file is " "installed as the <filename>/etc/init.d/<replaceable>package</replaceable></" "filename> script which starts and stops the daemon. Its fairly generic " "skeleton template is provided by the <command>dh_make</command> command as " "<filename>init.d.ex</filename>. You'll likely have to rename and edit it, a " "lot, while making sure to provide <ulink url=\"&lsb;\">Linux Standard Base</" "ulink> (LSB) compliant headers. It gets installed into the temporary " "directory by <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." msgstr "" "Il file <filename><replaceable>pacchetto</replaceable>.init</filename> viene " "installato in <filename>/etc/init.d/<replaceable>pacchetto</replaceable></" "filename> ed è lo script che avvia e stoppa il demone. La sua struttura " "abbastanza generica è fornita dal comando <command>dh_make</command> come " "<filename>init.d.ex</filename>. Probabilmente si dovrà rinominare e " "modificare un bel po', cercando di assicurarsi di fornire degli header che " "rispettino <ulink url=\"&lsb;\">Linux Standard Base</ulink> (LSB). Il file " "viene installato nella directory temporanea con <citerefentry> " "<refentrytitle>dh_installinit</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.default</filename> file " "will be installed as <filename>/etc/default/<replaceable>package</" "replaceable></filename>. This file sets defaults that are sourced by the " "init script. This <filename><replaceable>package</replaceable>.default</" "filename> file is most often used to disable running a daemon, or to set " "some default flags or timeouts. If your init script has certain " "configurable features, you can set them in the " "<filename><replaceable>package</replaceable>.default</filename> file, " "instead of in the init script itself." msgstr "" "Il file <filename><replaceable>pacchetto</replaceable>.default</filename> " "viene installato in <filename>/etc/default/<replaceable>pacchetto</" "replaceable></filename>. Questo file imposta delle variabili che vengono " "caricate dallo script di init. Il file <filename><replaceable>pacchetto</" "replaceable>.default</filename> la maggioranza delle volte viene utilizzato " "per disabilitare l'esecuzione di un demone, impostare degli argomenti " "predefiniti oppure dei timeout. Se lo script di init ha alcune " "caratteristiche configurabili si dovranno impostare nel file " "<filename><replaceable>pacchettol </replaceable>.default</filename>, non " "nello script di init." #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream program provides a file for the init script, you can either " "use it or not. If you don't use their init script then create a new one in " "<filename><replaceable>package</replaceable>.init</filename>. However if " "the upstream init script looks fine and installs in the right place you " "still need to set up the <filename>rc*</filename> symlinks. To do this you " "will need to override <command>dh_installinit</command> in the " "<filename>rules</filename> file with the following lines:" msgstr "" "Se il programma originale ha un file di init si può decidere di utilizzarlo " "o meno. Se non viene utilizzato quello script init.d allora ne dovrà essere " "creato uno nuovo in <filename>debian/<replaceable>pacchetto</replaceable>." "init</filename>. Comunque se lo script di init originale sembra funzionare " "bene ed installa tutto nella corretta destinazione, si devono comunque " "impostare i link simbolici <filename>rc*</filename>. Per fare questo si " "deve sovrascrivere <command>dh_installinit</command> nel file " "<filename>rules</filename> con le seguenti righe:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" msgstr "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" #. type: Content of: <book><chapter><section><para> msgid "If you don't need this, remove the files." msgstr "Se non si ha bisogno di tutto ciò, si possono rimuovere i file." #. type: Content of: <book><chapter><section><title> msgid "<filename>install</filename>" msgstr "<filename>install</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This replaces the deprecated <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command which is " "configured by the <filename>files</filename> file." msgstr "" "Questo comando rimpiazza il comando <citerefentry> " "<refentrytitle>dh_movefiles</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, ormai deprecato, che veniva configurato dal file " "<filename>files</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "If there are files that need to be installed into your package but your " "standard <literal>make install</literal> won't do it, put the filenames and " "destinations into this <filename>install</filename> file. They are " "installed by <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=" "\"0\"/> You should first check there is not a more specific tool to use. " "For example, documents should be in the <filename>docs</filename> file and " "not in this one." msgstr "" "Se ci sono dei file che devono essere installati nel pacchetto ma con il " "normale comando <literal>make install</literal> non vengono elaborati, i " "nomi di quest'ultimi e le cartelle di destinazione vanno messe in questo " "file <filename>install</filename>. Tali file vengono installati con il " "comando <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=" "\"0\"/> Andrebbe innanzitutto controllato che non ci sia uno strumento più " "specifico da poter utilizzare. Per esempio, i documenti dovrebbero essere " "elencati nel file <filename>docs</filename> e non in questo file." #. type: Content of: <book><chapter><section><para> msgid "" "This <filename>install</filename> file has one line per file installed, with " "the name of the file (relative to the top build directory) then a space then " "the installation directory (relative to the install directory). One example " "of where this is used is if a binary <filename>src/<replaceable>bar</" "replaceable></filename> is left uninstalled; the <filename>install</" "filename> file might look like:" msgstr "" "Nel file <filename>install</filename> compare una riga per ogni file " "installato, contenente il nome del file (relativo alla directory in cui " "avviene la costruzione del pacchetto), uno spazio e la directory di " "installazione (relativa alla posizione del file install). Un esempio " "dell'utilizzo è quando un file binario <filename>src/<replaceable>bar</" "replaceable></filename> non è stato installato, in questo caso il file " "<filename>install</filename> dovrebbe essere:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "src/<replaceable>bar</replaceable> usr/bin\n" msgstr "src/<replaceable>bar</replaceable> usr/bin\n" #. type: Content of: <book><chapter><section><para> msgid "" "This means when this package is installed, there will be an executable " "command <filename>/usr/bin/<replaceable>bar</replaceable></filename>." msgstr "" "Questo significa che quando il pacchetto verrà installato, ci sarà un file " "eseguibile <filename>/usr/bin/<replaceable>bar</replaceable></filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Alternatively, this <filename>install</filename> can have the name of the " "file only without the installation directory when the relative directory " "path does not change. This format is usually used for a large package that " "splits the output of its build into multiple binary packages using " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "Alternativamente, questo file <filename>install</filename> può presentare il " "nome del file senza la directory di installazione solo quando il percorso " "relativo della directory non cambia. Questo formato è solitamente " "utilizzato per grandi pacchetti che organizzano i risultati della " "costruzione in pacchetti multipli utilizzando " "<filename><replaceable>pacchetto-1</replaceable>.install</filename>, " "<filename><replaceable>pacchetto-2</replaceable>.install</filename>, ecc." #. type: Content of: <book><chapter><section><para> msgid "" "The <command>dh_install</command> command will fall back to looking in " "<filename>debian/tmp</filename> for files, if it doesn't find them in the " "current directory (or wherever you've told it to look using <literal>--" "sourcedir</literal>)." msgstr "" "Il comando <command>dh_install</command> andrà a controllare nella cartella " "<filename>debian/tmp</filename> alla ricerca di file, se non ne trova nella " "directory corrente (or in qualsiasi altro posto si sia indicato di guardare " "utilizzando <literal>--sourcedir</literal>)." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.info</filename>" msgstr "<filename><replaceable>pacchetto</replaceable>.info</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has info pages, you should install them using <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing them in a <filename><replaceable>package</" "replaceable>.info</filename> file." msgstr "" "Se il pacchetto generato ha delle pagine info, queste andrebbero installate " "utilizzando il comando <citerefentry> <refentrytitle>dh_installinfo</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> ed elencandole nei " "file <filename><replaceable>pacchetto</replaceable>.info</filename>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.links</filename>" msgstr "<filename><replaceable>pacchetto</replaceable>.links</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If you need to create additional symlinks in package build directories as " "package maintainer, you should install them using <citerefentry> " "<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing their full paths of source and destination files in " "a <filename><replaceable>package</replaceable>.links</filename> file." msgstr "" "Se è necessario creare dei collegamenti simbolici aggiuntivi nella directory " "utilizzata per la creazione del pacchetto, si dovrebbero installare, come " "maintainer del pacchetto, utilizzando <citerefentry> " "<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> con il path per esteso della sorgente e della destinazione dei " "file nel file <filename><replaceable>package</replaceable>.links</filename>." #. type: Content of: <book><chapter><section><title> msgid "" "<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</" "filename>" msgstr "" "<filename>{<replaceable>pacchetto</replaceable>.,source/}lintian-overrides</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " "diagnostic for a case where Debian policy allows exceptions to some rule, " "you can use <filename><replaceable>package</replaceable>.lintian-overrides</" "filename> or <filename>source/lintian-overrides</filename> to quieten it. " "Please read Lintian User's Manual (<filename>&lintian-doc;</filename>) and " "refrain from abusing this." msgstr "" "Se il pacchetto <systemitem role=\"package\">lintian</systemitem> segnala " "degli errori di diagnostica in un caso in cui esista una policy Debian che " "ammette delle eccezioni alle regole, si possono utilizzare i file " "<filename><replaceable>pacchetto</replaceable>.lintian-overrides</filename> " "o <filename>source/lintian-overrides</filename> per inibire le " "segnalazioni. Si legga il manuale utente di Lintian (<filename>&lintian-doc;" "</filename>) e si eviti di farne un uso eccessivo." #. type: Content of: <book><chapter><section><para> msgid "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> is " "for the binary package named <systemitem role=\"package" "\"><replaceable>package</replaceable></systemitem> and is installed into " "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" "filename> by the <command>dh_lintian</command> command." msgstr "" "Il file <filename><replaceable>pacchetto</replaceable>.lintian-overrides</" "filename> è utilizzato per il pacchetto binario chiamato <systemitem role=" "\"package\"><replaceable>pacchetto</replaceable></systemitem> ed è " "installato in <filename>usr/share/lintian/overrides/<replaceable>pacchetto</" "replaceable></filename> dal comando <command>dh_lintian</command>." #. type: Content of: <book><chapter><section><para> msgid "" "<filename>source/lintian-overrides</filename> is for the source package. " "This is not installed." msgstr "" "Il file <filename>source/lintian-overrides</filename> è utilizzato per il " "pacchetto sorgente. Questo non viene installato." #. type: Content of: <book><chapter><section><title> msgid "<filename>manpage.*</filename>" msgstr "<filename>manpage.*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Your program(s) should have a manual page. If they don't, you should create " "them. The <command>dh_make</command> command creates some template files " "for manual pages. These need to be copied and edited for each command " "missing its manual page. Please make sure to remove unused templates." msgstr "" "I programmi creati dovrebbero avere una pagina di manuale. In caso " "contrario bisogna crearla. Il comando <command>dh_make</command> crea " "diversi file modello per la pagina di manuale. Questi devono essere copiati " "e modificati per ogni comando senza pagina di manuale. Si faccia attenzione " "a rimuovere i file modello non utilizzati." #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.1.ex</filename>" msgstr "<filename>manpage.1.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Manual pages are normally written in <citerefentry> <refentrytitle>nroff</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. The " "<filename>manpage.1.ex</filename> template is written in <command>nroff</" "command>, too. See the <citerefentry> <refentrytitle>man</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> manual page for a brief description " "of how to edit such a file." msgstr "" "Le pagine del manuale sono solitamente scritte per <citerefentry> " "<refentrytitle>nroff</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. Anche il file modello <filename>manpage.1.ex</filename> è " "scritto per <command>nroff</command>. Si veda la pagina di manuale " "<citerefentry> <refentrytitle>man</refentrytitle> <manvolnum>7</manvolnum> </" "citerefentry> per una breve descrizione su come modificare un file del " "genere." #. type: Content of: <book><chapter><section><section><para> msgid "" "The final manual page file name should give the name of the program it is " "documenting, so we will rename it from <literal>manpage</literal> to " "<literal>gentoo</literal>. The file name also includes <literal>.1</" "literal> as the first suffix, which means it's a manual page for a user " "command. Be sure to verify that this section is indeed the correct one. " "Here's a short list of manual page sections:" msgstr "" "L'ultimo file delle pagine del manuale dovrebbe includere il nome del " "programma che si sta documentando, quindi verrà rinominato da " "<literal>manpage</literal> a <literal>gentoo</literal>. Il nome del file " "include anche <literal>.1</literal> come primo suffisso, il che sta ad " "indicare che la sezione della pagina del manuale è relativa ad un comando " "dell'utente. Si verifichi che questa sezione sia quella corretta. Qui di " "seguito viene presentata una breve lista delle sezioni delle pagine del " "manuale:" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Section" msgstr "Sezione" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Description" msgstr "Descrizione" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Notes" msgstr "Note" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "1" msgstr "1" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "User command" msgstr "Comando utente" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Executable commands or scripts" msgstr "Comandi eseguibili o script" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "2" msgstr "2" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System calls" msgstr "Chiamate di sistema" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions provided by the kernel" msgstr "Funzioni fornite dal kernel" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "3" msgstr "3" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Library calls" msgstr "Chiamate alla libreria" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions within system libraries" msgstr "Funzioni delle librerie di sistema" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "4" msgstr "4" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Special files" msgstr "File speciali" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Usually found in <filename>/dev</filename>" msgstr "Posizionati normalmente in <filename>/dev</filename>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "5" msgstr "5" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "File formats" msgstr "Formati di file" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "E.g. <filename>/etc/passwd</filename>'s format" msgstr "Ad esempio il formato del file <filename>/etc/passwd </filename>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "6" msgstr "6" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games" msgstr "Giochi" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games or other frivolous programs" msgstr "Giochi o altri programmi frivoli" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "7" msgstr "7" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Macro packages" msgstr "Pacchetti di macro" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Such as <command>man</command> macros" msgstr "Come le macro di <command>man</command>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "8" msgstr "8" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System administration" msgstr "Amministrazione del sistema" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Programs typically only run by root" msgstr "Programmi di norma eseguibili solo da root" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "9" msgstr "9" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Kernel routines" msgstr "Kernel routine" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Non-standard calls and internals" msgstr "Chiamate non standard e interne" #. type: Content of: <book><chapter><section><section><para> msgid "" "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " "called <filename>gentoo.1</filename>. If there was no <filename>gentoo.1</" "filename> man page in the original source, you should create it by renaming " "the <filename>manpage.1.ex</filename> template to <filename>gentoo.1</" "filename> and editing it using information from the example and from the " "upstream docs." msgstr "" "Così la pagina man del pacchetto <systemitem role=\"package\">gentoo</" "systemitem> dovrebbe chiamarsi <filename>gentoo.1</filename>. Se non ci " "fosse alcuna pagina man <filename>gentoo.1</filename> nei sorgenti " "originali, andrebbe creata rinominando il modello <filename>manpage.1.ex</" "filename> in <filename>gentoo.1</filename> e modificandolo utilizzando le " "informazioni contenute negli esempi e nei documenti originali." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Note that <command>help2man</command>'s placeholder man page will claim that " "more detailed documentation is available in the info system. If the command " "is missing an <command>info</command> page, you should manually edit the man " "page created by the <command>help2man</command> command." msgstr "" "Si noti che i segnaposto di <command>help2man</command> contengono la " "documentazione più dettagliata disopnibile nel sistema info. Se al comando " "manca la pagina <command>info</command> si dovrebbe modificare manualmente " "la pagina man generata dal comando <command>help2man</command>." #. type: Content of: <book><chapter><section><section><para> msgid "" "You can use the <command>help2man</command> command to generate a man page " "out of the <literal>--help</literal> and <literal>--version</literal> output " "of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si può utilizzare il comando <command>help2man</command> per generare una " "pagina di manuale, priva del risultato di <literal>--help</literal> and " "<literal>--version</literal>, per ogni programma. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.sgml.ex</filename>" msgstr "<filename>manpage.sgml.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "If on the other hand you prefer writing SGML instead of <command>nroff</" "command>, you can use the <filename>manpage.sgml.ex</filename> template. If " "you do this, you have to:" msgstr "" "Se d'altra parte si preferisce scrivere in SGML piuttosto che utilizzare " "<command>nroff</command>, si può utilizzare il modello <filename>manpage." "sgml.ex</filename>. Se si procede in questo modo andrà:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "rename the file to something like <filename>gentoo.sgml</filename>." msgstr "" "rinominato il file in qualcosa del tipo <filename>gentoo.sgml</filename>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-to-man</systemitem> package" msgstr "" "installato il pacchetto <systemitem role=\"package\">docbook-to-man</" "systemitem>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add <literal>docbook-to-man</literal> to the <literal>Build-Depends</" "literal> line in the <filename>control</filename> file" msgstr "" "aggiunto <literal>docbook-to-man</literal> alla linea <literal>Build-" "Depends</literal> nel file <filename>control</filename>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add an <literal>override_dh_auto_build</literal> target to your " "<filename>rules</filename> file:" msgstr "" "aggiungere un obiettivo <literal>override_dh_auto_build</literal> al file " "<filename>rules</filename> :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.xml.ex</filename>" msgstr "<filename>manpage.xml.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you prefer XML over SGML, you can use the <literal>manpage.xml.ex</" "literal> template. If you do this, you have to:" msgstr "" "Se si preferisce l'XML all'SGML, si può utilizzare il modello " "<literal>manpage.xml.ex</literal>. Se si decide questa modalità si avranno " "due scelte:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "rename the source file to something like <literal>gentoo.1.xml</literal>" msgstr "" "rinominare il file in qualcosa del tipo <literal>gentoo.1.xml</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-xsl</systemitem> package " "and an XSLT processor like <systemitem role=\"package\">xsltproc</" "systemitem> (recommended)" msgstr "" "installare il pacchetto <systemitem role=\"package\">docbook-xsl</" "systemitem> e l'elaboratore XSLT come <systemitem role=\"package\">xsltproc</" "systemitem> (recommended)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add the <literal>docbook-xsl</literal>, <literal>docbook-xml</literal>, and " "<literal>xsltproc</literal> packages to the <literal>Build-Depends</literal> " "line in the <literal>control</literal> file" msgstr "" "aggiungere i pacchetti <literal>docbook-xsl</literal>, <literal>docbook-xml</" "literal> e <literal>xsltproc</literal> alla linea <literal>Build-Depends</" "literal> nel file <literal>control</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.manpages</filename>" msgstr "<filename><replaceable>pacchetto</replaceable>.manpages</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has manual pages, you should install them using " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> by listing them in a " "<filename><replaceable>package</replaceable>.manpages</filename> file." msgstr "" "Se il pacchetto creato presenta delle pagine del manuale, queste andrebbero " "installate utilizzando il comando <citerefentry> " "<refentrytitle>dh_installman</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> ed elencandole nei file <filename><replaceable>pacchetto</" "replaceable>.manpages</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "To install <filename>docs/gentoo.1</filename> as a manpage for the " "<systemitem role=\"package\">gentoo</systemitem> package, create a " "<filename>gentoo.manpages</filename> file as follows." msgstr "" "Per installare il file <filename>doc/gentoo.1</filename> come pagine di " "manuale per il pacchetto <systemitem role=\"package\">gentoo</systemitem>, " "si deve creare il file <filename>gentoo.manpages</filename> contenente:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "docs/gentoo.1\n" msgstr "docs/gentoo.1\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>menu</filename>" msgstr "<filename>menu</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "X Window System users usually have a window manager with a menu that can be " "customized to launch programs. If they have installed the Debian " "<systemitem role=\"package\">menu</systemitem> package, a set of menus for " "every program on the system will be created for them." msgstr "" "Gli utenti dell'X Window System solitamente hanno un gestore di finestre che " "può essere personalizzato per lanciare programmi. Se hanno installato il " "pacchetto <systemitem role=\"package\">menu</systemitem>, verrà creato un " "set di menu per ogni programma del sistema." #. type: Content of: <book><chapter><section><para> msgid "" "Here's the default <filename>menu.ex</filename> file that <command>dh_make</" "command> created." msgstr "" "Questo è il modello del file <filename>menu.ex</filename> che il comando " "<command>dh_make</command> crea." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" msgstr "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The first field after the colon character is <literal>needs</literal>, and " "it specifies what kind of interface the program needs. Change this to one " "of the listed alternatives, e.g. <literal>text</literal> or <literal>X11</" "literal>." msgstr "" "Il primo campo dopo i due punti è <literal>needs</literal>, e specifica il " "tipo di interfaccia di cui ha bisogno il programma. Questo valore può " "essere cambiato con una delle alternative elencate, ad esempio " "<literal>text</literal> o <literal>X11</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The current list of sections is in <ulink url=\"&menu-structure;\">The " "Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>. There was " "a major reorganization of menu structure for <literal>squeeze</literal>." msgstr "" "L'attuale elenco delle sezioni si trova in <ulink url=\"&menu-structure;" "\">The Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink> . " "C'era una profonda riorganizzazione della struttura di menu per " "<literal>squeeze</literal> ." #. type: Content of: <book><chapter><section><para> msgid "" "The next is the <literal>section</literal> that the menu and submenu entry " "should appear in. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Il prossimo campo è <literal>section</literal> che indica la voce di menu e " "sottomenu in cui dovrebbe apparire <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>title</literal> field is the name of the program. You can " "start this one in uppercase if you like. Just keep it short." msgstr "" "Il campo <literal>title</literal> indica il nome del programma. Se si vuole " "si può scrivere in maiuscolo. Basta che si mantenga corto." #. type: Content of: <book><chapter><section><para> msgid "" "Finally, the <literal>command</literal> field is the command that runs the " "program." msgstr "" "Infine, il campo <literal>command</literal> indica il comando che manda in " "esecuzione il programma." #. type: Content of: <book><chapter><section><para> msgid "" "Let's change the file name to <filename>menu</filename> and change the menu " "entry to this:" msgstr "" "Si può quindi cambiare il file <filename>menu</filename> e la voce del menu " "nel modo seguente:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" msgstr "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also add other fields like <literal>longtitle</literal>, " "<literal>icon</literal>, <literal>hints</literal> etc. See <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, and <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> for more information." msgstr "" "Si possono anche aggiungere altri campi come <literal>longtitle</literal>, " "<literal>icon</literal>, <literal>hints</literal> ecc. Si veda " "<citerefentry> <refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>menufile</" "refentrytitle> <manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> e <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> per maggiori informazioni." #. type: Content of: <book><chapter><section><title> msgid "<filename>NEWS</filename>" msgstr "<filename>NEWS</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "Il comando <citerefentry> <refentrytitle>dh_installchangelogs</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> installa questo file." #. type: Content of: <book><chapter><section><title> msgid "<filename>{pre,post}{inst,rm}</filename>" msgstr "<filename>{pre,post}{inst,rm}</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Despite this use of the <command>bash</command> shorthand expression " "<filename>{pre,post}{inst,rm}</filename> to indicate these filenames, you " "should use pure POSIX syntax for these maintainer scripts for compatibility " "with <command>dash</command> as the system shell." msgstr "" "Nonostante l'utilizzo dell'espressione <command>bash</command> " "<filename>{pre,post}{inst,rm}</filename> per indicare questi file, è " "necessario utilizzare la sintassi POSIX per questi script di manutenzione " "per mantenere la compatibilità con la shell di sistema <command>dash</" "command>." #. type: Content of: <book><chapter><section><para> msgid "" "These <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename>, and <filename>prerm</filename> files " "<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " "scripts</emphasis>. They are scripts which are put in the control area of " "the package and run by <command>dpkg</command> when your package is " "installed, upgraded, or removed." msgstr "" "I files <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename> e <filename>prerm</filename> <placeholder type=" "\"footnote\" id=\"0\"/> vengono chiamati <emphasis>script del manutentore</" "emphasis>. Questi sono script che vengono messi nell'area di controllo del " "pacchetto e vengono lanciati dal comando <command>dpkg</command> quando il " "pacchetto viene installato, aggiornato o rimosso." #. type: Content of: <book><chapter><section><para> msgid "" "As a novice maintainer, you should avoid any manual editing of maintainer " "scripts because they are problematic. For more information refer to the " "<ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 \"Package " "maintainer scripts and installation procedure\"</ulink>, and take a look at " "the example files provided by <command>dh_make</command>." msgstr "" "Un nuovo manutentore dovrebbe, se possibile, evitare ogni modifica manuale " "degli script del manutentore perché potrebbero creare dei problemi. Per " "maggiori informazioni si guardi nel <ulink url=\"&policy-mantainerscripts;" "\">Manuale delle policy di Debian, 6 'Script di manutenzione del pacchetto e " "procedure di installazione'</ulink>, e si dia un'occhiata ai file di esempio " "forniti da <command>dh_make</command>." #. type: Content of: <book><chapter><section><para> msgid "" "If you did not listen to me and have created custom maintainer scripts for a " "package, you should make sure to test them not only for <emphasis role=" "\"strong\">install</emphasis> and <emphasis role=\"strong\">upgrade</" "emphasis> but also for <emphasis role=\"strong\">remove</emphasis> and " "<emphasis role=\"strong\">purge</emphasis>." msgstr "" "Se si sono, comunque, creati dei script del manutentore personalizzati per " "un pacchetto, bisogna essere sicuri di averli provati non solo per <emphasis " "role=\"strong\">install</emphasis> e <emphasis role=\"strong\">upgrade</" "emphasis>, ma anche per <emphasis role=\"strong\">remove</emphasis> e " "<emphasis role=\"strong\">purge</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Upgrades to the new version should be silent and non-intrusive (existing " "users should not notice the upgrade except by discovering that old bugs have " "been fixed and perhaps that there are new features)." msgstr "" "Gli aggiornamenti alle nuove versioni dovrebbero essere indolore e non " "invadenti (gli utenti esistenti non dovrebbero notare gli aggiornamenti a " "meno di scoprire che vecchi bug sono stati corretti e che vi sono magari " "delle nuove funzionalità)." #. type: Content of: <book><chapter><section><para> msgid "" "When the upgrade is necessarily intrusive (eg., config files scattered " "through various home directories with totally different structure), you may " "consider as the last resort switching the package to a safe fallback state " "(e.g., disabling a service) and providing the proper documentation required " "by policy (<filename>README.Debian</filename> and <filename>NEWS.Debian</" "filename>). Don't bother the user with <command>debconf</command> notes " "invoked from these maintainer scripts for upgrades." msgstr "" "Quando l'aggiornamento deve per forza di cose essere invadente (per esempio, " "file di configurazione sparsi all'interno di diverse cartelle home con " "strutture totalmente differenti), si può impostare il pacchetto ai valori " "sicuri predefiniti (esempio, servizi disabilitati) e fornire una valida " "documentazione come richiesto dalla policy (<filename>README.Debian</" "filename> e <filename>NEWS.Debian</filename>) come ultima spiaggia. Sarebbe " "meglio non disturbare l'utente con la nota <command>debconf</command> " "richiamata da questi script del manutentore per gli aggiornamenti." #. type: Content of: <book><chapter><section><para> msgid "" "The <systemitem role=\"package\">ucf</systemitem> package provides a " "<emphasis>conffile-like</emphasis> handling infrastructure to preserve user " "changes for files that may not be labeled as <emphasis>conffiles</emphasis> " "such as those managed by the maintainer scripts. This should minimize " "issues associated with them." msgstr "" "Il pacchetto <systemitem role=\"package\">ucf</systemitem> fornisce una " "infrastruttura di gestione <emphasis>simil-conffile</emphasis> per " "preservare cambiamenti effettuati dall'utente in file che non possono essere " "etichettati come <emphasis>conffile</emphasis>, come ad esempio quelli " "gestiti dagli script del manutentore. Questo dovrebbe ridurre al minimo i " "problemi ad esso associati." #. type: Content of: <book><chapter><section><para> msgid "" "These maintainer scripts are among the Debian enhancements that explain " "<emphasis role=\"strong\">why people choose Debian</emphasis>. You must be " "very careful not to turn them into a source of annoyance." msgstr "" "Questi script del manutentore sono delle migliorie di Debian che fanno " "capire <emphasis role=\"strong\">come mai le persone scelgano Debian</" "emphasis>. Bisogna stare molo attenti a non infastidirle a causa loro." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.symbols</filename>" msgstr "<filename><replaceable>package</replaceable>.symbols</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging of library is not easy for a novice maintainer and should be " "avoided. Having said it, if your package has libraries, you should have " "<filename>debian/<replaceable>package</replaceable>.symbols</filename> " "files. See <xref linkend=\"librarysymbols\"/>." msgstr "" "Creare il pacchetto di una libreria non è semplice per un maintainer con " "poca esperienza e dovrebbe essere evitato. Detto questo, se il pacchetto il " "questione ha delle librerie, si dovrebbero avere dei file <filename>debian/" "<replaceable>package</replaceable>.symbols</filename> files. Si veda <xref " "linkend=\"librarysymbols\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>TODO</filename>" msgstr "<filename>TODO</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "Il comando <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> installa questo file." #. type: Content of: <book><chapter><section><title> msgid "<filename>watch</filename>" msgstr "<filename>watch</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>watch</filename> file format is documented in the " "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> manpage. The <filename>watch</filename> file configures the " "<command>uscan</command> program (in the <systemitem role=\"package" "\">devscripts</systemitem> package) to watch the site where you originally " "got the source from. This is also used by the <ulink url=\"&dehs;\">Debian " "External Health Status (DEHS)</ulink> service." msgstr "" "Il formato del file <filename>watch</filename> è documentato nella pagina di " "manuale <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>. Il file <filename>watch</filename> configura il " "programma <command>uscan</command> (nel pacchetto <systemitem role=\"package" "\">devscripts</systemitem>) per controllare il sito da cui è stato scaricato " "il sorgente originale. Questo file viene utilizzato pure dal servizio " "<ulink url=\"&dehs;\">Debian External Health Status (DEHS)</ulink>." #. type: Content of: <book><chapter><section><para> msgid "Here are its contents:" msgstr "Ecco il suo contenuto:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" msgstr "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" #. type: Content of: <book><chapter><section><para> msgid "" "Normally with a <filename>watch</filename> file, the URL at <literal>&sf-" "net;/gentoo</literal> is downloaded and searched for links of the form " "<literal><a href=...></literal>. The basename (just the part after " "the final <literal>/</literal>) of each linked URL is compared against the " "Perl regular expression pattern (see <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Out of the files that match, the one with the " "greatest version number is downloaded and the <command>uupdate</command> " "program is run to create an updated source tree." msgstr "" "Normalmente con il file <filename>watch</filename>, l'URL <literal>&sf-net;/" "gentoo</literal> viene scaricato per cercare dei collegamenti del tipo " "<literal><a href=...></literal>. Il nome base (la parte appena dopo " "l'ultimo <literal>/</literal>) di questi URL sono confrontati con " "l'espressione regolare Perl (si veda <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Tra i file che combaciano viene scaricato quello " "avente il numero di versione più grande e viene avviato il programma " "<command>uupdate</command> per creare un albero dei sorgenti aggiornato." #. type: Content of: <book><chapter><section><para> msgid "" "Although this is true for other sites, the SourceForge download service at " "<ulink url=\"&sf-net;\"/> is an exception. When the <filename>watch</" "filename> file has an URL matching the Perl regexp <literal>^http://sf\\.net/" "</literal>, the <command>uscan</command> program replaces it with " "<literal>&qa-do;watch/sf.php/</literal> and then applies this rule. The URL " "redirector service at <ulink url=\"&qa-do;\"/> is designed to offer a stable " "redirect service to the desired file for any <filename>watch</filename> " "pattern of the form <literal>&sf-net;/<replaceable>project</replaceable>/" "<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This solves " "issues related to periodically changing SourceForge URLs." msgstr "" "Sebbene questo sia vero per la maggior parte dei siti, il servizio di " "scaricamento di SourceForge su <ulink url=\"&sf-net;\">&sf-net;</ulink> è " "un'eccezione. Quando il file <filename>watch</filename> ha un URL che " "corrisponde all'espressione regolare perl <literal>^http://sf\\.net/</" "literal>, il programma <command>uscan</command> lo sostituisce con " "<literal>&qa-do;watch/sf.php/</literal>. Il servizio di reindirizzamento " "degli URL <ulink url=\"&qa-do;\"/> è progettato per mettere a disposizione " "un sistema stabile per reindirizzare gli URL tipo <literal>&sf-net;/" "<replaceable>project</replaceable>/<replaceable>tar-name</replaceable>-(." "+)\\.tar\\.gz</literal> presenti i nel file <filename>watch</filename>. " "Questo risolve il problema relativo al cambiamento periodico degli URL di " "SourceForge." #. type: Content of: <book><chapter><section><title> msgid "<filename>source/format</filename>" msgstr "<filename>source/format</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "In the <filename>debian/source/format</filename> file, there should be a " "single line indicating the desired format for the source package (check " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> for an exhaustive list). After <literal>squeeze</" "literal>, it should say either:" msgstr "" "Nel file <filename>debian/source/format</filename>, ci dovrebbe essere una " "unica riga che indichi il formato desiderato per il pacchetto sorgente " "(controllare <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> per una lista completa). Dopo " "<literal>squeeze</literal>, dovrebbe scrivere:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgstr "<literal>3.0 (native)</literal> per i pacchetti nativi Debian" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (quilt)</literal> for everything else." msgstr "<literal>3.0 (quilt)</literal>per tutti gli altri." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for a summary on the switch " "to the new <literal>3.0 (quilt)</literal> and <literal>3.0 (native)</" "literal> source formats." msgstr "" "Si veda <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> per una serie di " "informazioni generali riguardanti il passaggio al nuovo formato <literal>3.0 " "(quilt)</literal> ed ai formati sorgente <literal>3.0 (native)</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Actually, this new format also supports multiple upstream tarballs and more " "compression methods. These are beyond the scope of this document." msgstr "" "Al momento questo nuovo formato supporta anche molteplici archivi e più " "metodi di compressione. Questi però esulano dall'obiettivo di questo " "documento." #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format records modifications " "in a <command>quilt</command> patch series within <filename>debian/patches</" "filename>. Those changes are then automatically applied during extraction " "of the source package. <placeholder type=\"footnote\" id=\"0\"/> The Debian " "modifications are simply stored in a <filename>debian.tar.gz</filename> " "archive containing all files under the <filename>debian</filename> " "directory. This new format supports inclusion of binary files such as PNG " "icons by the package maintainer without requiring tricks. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "Il nuovo formato sorgente <literal>3.0 (quilt)</literal> registra le " "modifiche in una serie di patch <command>quilt</command> all'interno di " "<filename>debian/patches</filename>. Questi cambiamenti vengono poi " "automaticamente applicati durante l'estrazione del pacchetto sorgente. " "<placeholder type=\"footnote\" id=\"0\"/> Le modifiche di Debian sono " "semplicemente mantenute in un archivio <filename>debian.tar.gz</filename> " "contenente tutti i file sotto la directory <filename>debian</filename>. " "Questo nuovo formato supporta l'inclusione di file binari come per esempio " "le icone PNG del manutentore del pacchetto senza richiedere trucchi." "<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "When <command>dpkg-source</command> extracts a source package in " "<literal>3.0 (quilt)</literal> source format, it automatically applies all " "patches listed in <filename>debian/patches/series</filename>. You can avoid " "applying patches at the end of the extraction with the <literal>--skip-" "patches</literal> option." msgstr "" "Quando <command>dpkg-source</command> estrae un pacchetto sorgente nel " "formato <literal>3.0 (quilt)</literal>, applica automaticamente tutte le " "patch elencate nel file <filename>debian/patches/series</filename>. Si può " "evitare di applicare le patch alla fine dell'estrazione con l'opzione " "<literal>--skip-patches</literal>." #. type: Content of: <book><chapter><section><title> msgid "<filename>source/local-options</filename>" msgstr "<filename>source/local-options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "When you want to manage Debian packaging activities under a VCS, you " "typically create one branch (e.g. <literal>upstream</literal>) tracking the " "upstream source and another branch (e.g. typically <literal>master</" "literal> for Git) tracking the Debian package. For the latter, you usually " "want to have unpatched upstream source with your <filename>debian/*</" "filename> files for the Debian packaging to ease merging of the new upstream " "source." msgstr "" "Quando si vogliono gestire le attività di pacchettizzazione utilizzando un " "VCS, di norma si crea un ramo (es. <literal>upstream</literal>) in cui si " "tiene traccia dei cambiamenti apportanti al sorgente originale, e un altro " "ramo (es. di solito <literal>master</literal> per git) in cui si tiene " "traccia delle modifiche apportate al pacchetto. In fine, è consigliato " "avere i sorgenti originali non pachati con i file in <filename>debian/*</" "filename> per il pacchetto Debian, per fare facilitare le operazioni di " "fusione con il nuovo sorgente originale." #. type: Content of: <book><chapter><section><para> msgid "" "After you build a package, the source is normally left patched. You need to " "unpatch it manually by running <literal>dquilt pop -a</literal> before " "committing to the <literal>master</literal> branch. You can automate this " "by adding the optional <filename>debian/source/local-options</filename> file " "containing <literal>unapply-patches</literal>. This file is not included in " "the generated source package and changes the local build behavior only. " "This file may contain <literal>abort-on-upstream-changes</literal>, too (see " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." msgstr "" "Dopo aver costruito il pacchetto, il sorgente è di norma pachato. È " "necessario togliere la patch manualmente, eseguendo <literal>dquilt pop -a</" "literal>, prima di caricarlo nel ramo <literal>master</literal>. Si può " "automatizzare l'operazione, aggiungendo il file <filename>debian/source/" "local-options</filename> con contenuto <literal>unapply-patches</literal>. " "Questo file non è incluso nel sorgente del pacchetto generato, e cambia " "solamente la modalità di costruzione in locale. Questo file può contenere " "anche <literal>abort-on-upstream-changes</literal>, (si veda <citerefentry> " "<refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "unapply-patches\n" "abort-on-upstream-changes\n" msgstr "" "unapply-patches\n" "abort-on-upstream-changes\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/options</filename>" msgstr "<filename>source/options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The autogenerated files in the source tree can be quite annoying for " "packaging since they generate meaningless large patch files. There are " "custom modules such as <command>dh_autoreconf</command> to ease this problem " "as described in <xref linkend=\"customrules\"/>." msgstr "" "I file generati automaticamente nell'albero dei sorgenti possono essere " "molto fastidiosi per la pacchettizzazione, in quanto generano file di patch " "sensa sento e di grandi dimensioni. Ci sono moduli personalizzati come " "<command>dh_autoreconf</command> per facilitare questo problema, come " "descritto nella <xref linkend=\"customrules\"/> ." #. type: Content of: <book><chapter><section><para> msgid "" "You can provide a Perl regular expression to the <literal>--extend-diff-" "ignore</literal> option argument of <citerefentry> <refentrytitle>dpkg-" "source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> to ignore " "changes made to the autogenerated files while creating the source package." msgstr "" "È possibile fornire un'espressione regolare Perl al parametro <literal>--" "extend-diff-ignore</literal> di <citerefentry> <refentrytitle>dpkg-source</" "refentrytitle><manvolnum>1</manvolnum> </citerefentry> per ignorare le " "modifiche apportate ai file generati automaticamente durante la creazione " "del pacchetto sorgente." #. type: Content of: <book><chapter><section><para> msgid "" "As a general solution to address this problem of the autogenerated files, " "you can store such a <command>dpkg-source</command> option argument in the " "<filename>source/options</filename> file of the source package. The " "following will skip creating patch files for <filename>config.sub</" "filename>, <filename>config.guess</filename>, and <filename>Makefile</" "filename>." msgstr "" "Come soluzione generale per affrontare il problema dei file generati " "automaticamente, è possibile memorizzare un parametro <command>dpkg-source</" "command> nel file <filename>source/options</filename> del pacchetto " "sorgente. Il comando di seguito salterà la creazione dei file di patch per " "<filename>config.sub</filename>, <filename>config.guess</filename> e " "<filename>Makefile</filename>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" msgstr "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>patches/*</filename>" msgstr "<filename>patches/*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The old <literal>1.0</literal> source format created a single large " "<filename>diff.gz</filename> file containing package maintenance files in " "<filename>debian</filename> and patch files for the source. Such a package " "is a bit cumbersome to inspect and understand for each source tree " "modification later. This is not so nice." msgstr "" "Il vecchio formato sorgente <literal>1.0</literal> creava un singolo, grosso " "file <filename>diff.gz</filename> file che conteneva i file di manutenzione " "del pacchetto che stavano in <filename>debian</filename> ed i file di patch " "del sorgente. Un pacchetto così è un po' difficoltoso da ispezionare per " "capire successivamente la sequenza delle modifiche. Per questo tale formato " "non è considerato soddisfacente." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Several methods of patch set maintenance have been proposed and are in use " "for Debian packages. The <command>quilt</command> system is the preferred " "maintenance system in use. Others include <command>dpatch</command>, " "<command>dbs</command>, and <command>cdbs</command>. Many of these keep " "such patches as <filename>debian/patches/*</filename> files." msgstr "" "Diversi metodi di mantenimento delle patch set sono stati proposti e sono " "utilizzati per i pacchetti Debian. Il sistema <command>quilt</command> è il " "sistema di manutenzione consigliato ed utilizzato. Altri includono " "<command>dpatch</command>, <command>dbs</command> e <command>cdbs</command>. " "Molte di questi tengono le patch come file <filename>debian/patches/*</" "filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format stores patches in " "<filename>debian/patches/*</filename> files using the <command>quilt</" "command> command. These patches and other package data which are all " "contained under the <filename>debian</filename> directory are packaged as " "the <filename>debian.tar.gz</filename> file. Since the <command>dpkg-" "source</command> command can handle <command>quilt</command> formatted patch " "data in the <literal>3.0 (quilt)</literal> source without the <systemitem " "role=\"package\">quilt</systemitem> package, it does not need a " "<literal>Build-Depends</literal> on <systemitem role=\"package\">quilt</" "systemitem>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Il nuovo formato dei sorgenti <literal>3.0 (quilt)</literal> salva le patch " "in file <filename>debian/patches/*</filename> utilizzando il comando " "<command>quilt</command>. Queste patch e gli altri dati del pacchetto che " "sono contenuti nella directory <filename>debian</filename> è pacchettizzato " "come file <filename>debian.tar.gz</filename>. Poiché il comando " "<command>dpkg-source</command> è in grado di gestire patch formattate con " "<command>quilt</command> nel formato sorgente <literal>3.0 (quilt)</literal> " "senza il pacchetto <systemitem role=\"package\">quilt</systemitem>, non è " "necessario il avere <systemitem role=\"package\">quilt</systemitem> nel " "campo <literal>Build-Depends</literal>. <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you are asking a sponsor to upload your package, this kind of clear " "separation and documentation of your changes is very important to expedite " "the package review by your sponsor." msgstr "" "Se si sta chiedendo ad uno sponsor di caricare il proprio pacchetto, questo " "tipo di chiara separazione e documentazione dei cambiamenti è molto " "importante per per accelerare la revisione del pacchetto da parte dello " "sponsor." #. type: Content of: <book><chapter><section><para> msgid "" "The <command>quilt</command> command is explained in <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. It records modifications to the source as a stack of " "<literal>-p1</literal> patch files in the <filename>debian/patches</" "filename> directory and the source tree is untouched outside of the " "<filename>debian</filename> directory. The order of these patches is " "recorded in the <filename>debian/patches/series</filename> file. You can " "apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Il comando <command>quilt</command> è documentato in <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. Esso registra le modifiche ai sorgenti come una coda di file " "di patch <literal>-p1</literal> nella directory <filename>debian/patches</" "filename> e l'albero dei sorgenti non varia al di fuori della directory " "<filename>debian</filename>. L'ordine delle patch è registrato nel file " "<filename>debian/patches/series</filename>. Si può applicare (=push), " "rimuovere(=pop), ed aggiornare le patch con facilità. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "For <xref linkend=\"modify\"/>, we created three patches in <filename>debian/" "patches</filename>." msgstr "" "Per <xref linkend=\"modify\"/>, sono state create tre patch in " "<filename>debian/patches</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Since Debian patches are located in <filename>debian/patches</filename>, " "please make sure to set up the <command>dquilt</command> command properly as " "described in <xref linkend=\"quiltrc\"/>." msgstr "" "Dal momento che le patch di Debian si trovano in <filename>debian/patches</" "filename>, ci si assicuri di impostare correttamente il comando " "<command>dquilt</command>, come descritto nella <xref linkend=\"quiltrc\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "When anyone (including yourself) provides a patch " "<filename><replaceable>foo</replaceable>.patch</filename> to the source " "later, modifying a <literal>3.0 (quilt)</literal> source package is quite " "simple:" msgstr "" "Quando qualcuno (me compreso) fornisce una patch <filename><replaceable>foo</" "replaceable>.patch</filename> per i sorgenti, allora la modifica del " "pacchetto sorgente di tipo <literal>3.0 (quilt)</literal>è abbastanza " "semplice:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" #. type: Content of: <book><chapter><section><para> msgid "" "The patches stored in the newer <literal>3.0 (quilt)</literal> source format " "must be <emphasis>fuzz</emphasis> free. You can ensure this with " "<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." msgstr "" "Le patch salvate nel nuovo formato sorgente <literal>3.0 (quilt)</literal> " "devono essere prive di <emphasis>fuffa</emphasis>. Bisogna quindi " "assicurarsi di ciò eseguendo <literal>dquilt pop -a; while dquilt push; do " "dquilt refresh; done</literal>." #. type: Content of: <book><chapter><title> msgid "Building the package" msgstr "Costruzione del pacchetto" #. type: Content of: <book><chapter><para> msgid "We should now be ready to build the package." msgstr "A questo punto, si dovrebbe essere pronti a creare il pacchetto." #. type: Content of: <book><chapter><section><title> msgid "Complete (re)build" msgstr "(ri)Creazione completa" #. type: Content of: <book><chapter><section><para> msgid "" "In order to perform a complete (re)build of a package properly, you need to " "make sure you have installed" msgstr "" "Al fine di (ri)creare un pacchetto in modo appropriato, è necessario " "assicurarsi di installare" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <systemitem role=\"package\">build-essential</systemitem> package," msgstr "" "il pacchetto <systemitem role=\"package\">build-essential</systemitem>," #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>), and" msgstr "" "i pacchetti elencati nel campo <literal>Build-Depends</literal> (vedere " "<xref linkend=\"control\"/>), e" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends-indep</literal> field (see " "<xref linkend=\"control\"/>)." msgstr "" "i pacchetti elencati nel campo <literal>Build-Depends-indep</literal> " "(vedere <xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><para> msgid "Then you issue the following command in the source directory:" msgstr "" "Adesso ci si sposti nella directory dei sorgenti del programma e si lancia " "il comando:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage\n" msgstr "$ dpkg-buildpackage\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make full binary and source packages for you. It " "will:" msgstr "" "Questo comando creerà i pacchetti binari e sorgenti al posto vostro. " "Eseguirà le seguenti operazioni:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "clean the source tree (<literal>debian/rules clean</literal>)" msgstr "pulirà l'albero dei sorgenti (<literal>debian/rules clean</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the source package (<literal>dpkg-source -b</literal>)" msgstr "costruirà il pacchetto sorgente (<literal>dpkg-source -b</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the program (<literal>debian/rules build</literal>)" msgstr "costruirà il programma (<literal>debian/rules build</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)" msgstr "" "costruirà il pacchetto binario (<literal>fakeroot debian/rules binary</" "literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "sign the source <filename>.dsc</filename> file, using <command>gpg</command>" msgstr "" "firmerà il file sorgente <filename>.dsc</filename> file, usando " "<command>gpg</command>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "create and sign the upload <filename>.changes</filename> file, using " "<command>dpkg-genchanges</command> and <command>gpg</command>" msgstr "" "creerà e firmerà il file di upload <filename>.changes</filename> file, " "usando <command>dpkg-genchanges</command> e <command>gpg</command>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This GPG key must be signed by a Debian developer to get connected to the " "web of trust and must be registered to <ulink url=\"&keyring;\">the Debian " "keyring</ulink>. This enables your uploaded packages to be accepted to the " "Debian archives. See <ulink url=\"&keycreate;\">Creating a new GPG key</" "ulink> and <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." msgstr "" "Questa chiave GPG deve essere firmata da uno sviluppatore Debian per " "collegarsi alla rete di fiducia e bisogna essere registrati al <ulink url=" "\"&keyring;\">portachiavi Debian</ulink>. In questo modo i pacchetti " "caricati potranno essere accettati ed inseriti negli archivi Debian. Vedere " "<ulink url=\"&keycreate;\">Creare una nuova chiave GPG</ulink> e <ulink url=" "\"&keysigning;\">Debian Wiki on Keysigning</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The only input that will be required of you is your GPG secret pass phrase, " "twice. <placeholder type=\"footnote\" id=\"0\"/> If you are building Debian " "packages only for your own local use, you can skip promptings for the GPG " "signatures on the <filename>.dsc</filename> file and the <filename>.changes</" "filename> file like this:" msgstr "" "Il solo input che verrà richiesto sarà la frase segreta GPG, per due volte. " "<placeholder type=\"footnote\" id=\"0\"/> Se si stanno creando pacchetti " "Debian solo per uso personale locale, è possibile saltare i suggerimenti per " "le firme GPG sui file <filename>.dsc</filename> e <filename>.changes</" "filename> in questo modo:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -us -uc\n" msgstr "$ dpkg-buildpackage -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "" "For a non-native Debian package, e.g., <systemitem role=\"package\">gentoo</" "systemitem>, you will see the following files in the parent directory " "(<filename>~/gentoo</filename>) after building packages:" msgstr "" "Per un pacchetto Debian non-nativo, per esempio, <systemitem role=\"package" "\">gentoo</systemitem>, si vedano i seguenti file nella directory superiore " "(<filename>~/gentoo</filename>) dopo la creazione dei pacchetti:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the original upstream source code tarball, merely renamed to the " "above so that it adheres to the Debian standard. Note that this was created " "initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgstr "" "Questo è il codice sorgente originale, semplicemente rinominato in modo da " "aderire allo standard Debian. Da notare che questo è stato creato " "inizialmente con <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code. The file is generated " "from your <filename>control</filename> file, and is used when unpacking the " "source with <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. This file is GPG signed, so that " "people can be sure that it's really yours." msgstr "" "Questo è un sommario del contenuto del codice sorgente. Questo file è " "generato dal file <filename>control</filename>, ed è usato quando si " "decomprime il sorgente con <citerefentry> <refentrytitle>dpkg-source</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. Questo file è " "firmato con GPG, in modo da confermare l'autenticità dell'autore del " "pacchetto." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This compressed tarball contains your <filename>debian</filename> directory " "contents. Each and every addition you made to the original source code is " "stored as a <command>quilt</command> patch in <filename>debian/patches</" "filename>." msgstr "" "Questo file compresso contiene il contenuto della directory " "<filename>debian</filename>. Ogni modifica effettuata al codice sorgente " "originale, verrà memorizzata come patch di <command>quilt</command> in " "<filename>debian/patches</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can avoid applying <command>quilt</command> patches in the <literal>3.0 " "(quilt)</literal> source format at the end of the extraction with the " "<literal>--skip-patches</literal> option. Alternatively, you can run " "<literal>dquilt pop -a</literal> after normal operation." msgstr "" "È possibile evitare di applicare la patch <command>quilt</command>, nel " "formato sorgente <literal>3.0 (quilt)</literal>, aggiungendo il parametro " "<literal>--skip-patches</literal> al comando di estrazione. In alternativa, " "è possibile eseguire <literal>dquilt pop -a</literal> dopo le normali " "operazioni." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If someone else wants to re-create your package from scratch, they can " "easily do so using the above three files. The extraction procedure is " "trivial: just copy the three files somewhere else and run <literal>dpkg-" "source -x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Se qualcun altro volesse ri-creare il pacchetto da zero, potrebbe farlo " "facilmente usando i suddetti tre file. La procedura di estrazione è banale: " "basta copiare i tre file da qualche parte ed eseguire <literal>dpkg-source -" "x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package. You can use <command>dpkg</command> " "to install and remove this just like any other package." msgstr "" "Questo è il pacchetto binario completo. Si può usare <command>dpkg</" "command> per installarlo e rimuoverlo, come per ogni altro pacchetto." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package revision; it " "is used by the Debian FTP archive maintenance programs to install the binary " "and source packages. It is partly generated from the <filename>changelog</" "filename> file and the <filename>.dsc</filename> file. This file is GPG " "signed, so that people can be sure that it's really yours." msgstr "" "Questo file descrive tutte le modifiche effettuate nella revisione corrente " "del pacchetto; è usata dai programmi di manutenzione dell'archivio FTP di " "Debian, per installare i pacchetti binari e sorgenti. È generato " "parzialmente dal contenuto del file <filename>changelog</filename> e dal " "file <filename>.dsc</filename>. Questo file è firmato con GPG, in modo da " "confermarne l'autenticità dell'autore del pacchetto." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "As you keep working on the package, its behavior will change and new " "features will be added. People downloading your package can look at this " "file and quickly see what has changed. Debian archive maintenance programs " "will also post the contents of this file to the <ulink url=\"&debian-devel-" "changes-ldo;\">debian-devel-changes@lists.debian.org</ulink> mailing list." msgstr "" "Quando si lavora sul pacchetto, potrebbero cambiare il funzionamento del " "programma, o potrebbero venire introdotte nuove funzionalità. Chi " "scaricherà il pacchetto, potrà controllare questo file per vedere " "velocemente quali sono i cambiamenti. I programmi di manutenzione " "dell'archivio Debian invieranno anche i contenuti di questo file alla " "mailing list <ulink url=\"&debian-devel-changes-ldo;\">debian-devel-changes-" "@lists.debian.org</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The long strings of numbers in the <filename>.dsc</filename> and <filename>." "changes</filename> files are SHA1/SHA256 checksums for the files mentioned. " "Anyone downloading your files can test them with <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> or <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> and if the numbers don't match, " "they'll know the file is corrupt or has been tampered with." msgstr "" "Le lunghe stringhe di numeri nei file <filename>.dsc</filename> e <filename>." "changes</filename> sono codici di controllo SHA1/SHA256 per i file " "menzionati. Chi scarica questi file, può controllarli con <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, o <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> e se i numeri non corrispondessero " "saprebbe che il file relativo è corrotto, o è stato alterato." #. type: Content of: <book><chapter><section><para> msgid "" "For a native Debian package, e.g., <systemitem role=\"package\">mypackage</" "systemitem>, you will see the following files in the parent directory after " "building packages:" msgstr "" "Per un pacchetto Debian nativo, ad esempio, <systemitem role=\"package" "\">mypackage</systemitem>, si vedranno i seguenti file nella directory padre " "dopo la creazione di pacchetti:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.tar.gz</filename>" msgstr "<filename>mypackage_1.0.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the source code tarball created from the <filename>mypackage-1.0</" "filename> directory by the <command>dpkg-source</command> command. (Its " "suffix is not <filename>orig.tar.gz</filename>.)" msgstr "" "Questo è l'archivio del codice sorgente creato dalla directory " "<filename>mypackage-1.0</filename> dal comando <command>dpkg-source</" "command>. (Il suffisso non è <filename>orig.tar.gz</filename>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.dsc</filename>" msgstr "<filename>mypackage_1.0.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code as in the non-native " "Debian package. (There is no Debian revision.)" msgstr "" "Questo è un sommario del contenuto del codice sorgente, come per i pacchetti " "non-nativi Debian. (non c'è revisione Debian.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.deb</filename>" msgstr "<filename>mypackage_1.0_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package as in the non-native Debian package. " "(There is no Debian revision.)" msgstr "" "Questo è il pacchetto binario completo come per i pacchetti non-nativi " "Debian. (non c'è revisione Debian.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.changes</filename>" msgstr "<filename>mypackage_1.0_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package version as " "in the non-native Debian package. (There is no Debian revision.)" msgstr "" "Questo file descrive tutte le modifiche apportate nella versione attuale del " "pacchetto, come per i pacchetti Debian non-nativi. (non c'è revisione " "Debian.)" #. type: Content of: <book><chapter><section><title> msgid "Autobuilder" msgstr "Auto-costruzione" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The actual autobuilder system involves much more complicated schemes than " "the one documented here. Such details are beyond the scope of this document." msgstr "" "L'attuale sistema di auto-costruzione è molto più complicato di come è qui " "documentato. Tali dettagli esulano dallo scopo del documento." #. type: Content of: <book><chapter><section><para> msgid "" "Debian supports many <ulink url=\"&ports;\">ports</ulink> with the <ulink " "url=\"&buildd;\">autobuilder network</ulink> running <command>buildd</" "command> daemons on computers of many different architectures. Although you " "do not need to do this yourself, you should be aware of what will happen to " "your packages. Let's look into roughly how they rebuild your packages for " "multiple architectures. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Debian supporta molti <ulink url=\"&ports;\">port</ulink> tramite la <ulink " "url=\"&buildd;\">autobuilder network</ulink>, su cui sono in esecuzione i " "demoni di <command>buildd</command> su molti computer con architetture " "differenti. Anche se non sarà necessario fare questo da soli, si dovrebbe " "essere consapevoli di quello che succederà ai pacchetti. Si vedrà, in " "maniera non approfondita, come i pacchetti vengono ricostruiti per " "architetture differenti. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "For <literal>Architecture: any</literal> packages, the autobuilder system " "performs a rebuild. It ensures the installation of" msgstr "" "I pacchetti con <literal>Architecture: any</literal>, verranno ricostruiti " "dal sistema di auto-costruzione. Ci si assicuri di avere installato" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <systemitem role=\"package\">build-essential</systemitem> package, and" msgstr "" "il pacchetto <systemitem role=\"package\">build-essential</systemitem>, e" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>)." msgstr "" "i pacchetti elencati nel campo <literal>Build-Depends</literal> (vedere " "<xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><para> msgid "Then it issues the following command in the source directory:" msgstr "Dopo si può eseguire il comando seguente nella directory dei sorgenti:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -B\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make architecture dependent binary packages on " "another architecture. It will:" msgstr "" "Questo comando creerà i pacchetti binari e sorgenti al posto vostro. " "Eseguirà le seguenti operazioni:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "build architecture dependent binary packages (<literal>fakeroot debian/rules " "binary-arch</literal>)" msgstr "" "costruirà il pacchetto binario per una specifica architettura " "(<literal>fakeroot debian/rules binary-arch</literal>)" #. type: Content of: <book><chapter><section><para> msgid "This is why you see your package for other architectures." msgstr "" "È questo il motivo per il quale si vede il proprio pacchetto per altre " "architetture." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> package, " "the <command>chroot</command> environment under the <systemitem role=" "\"package\">sbuild</systemitem> package used by the autobuilder system does " "not enforce the use of a minimal system and may have many leftover packages " "installed." msgstr "" "Diversamente dal pacchetto <systemitem role=\"package\">pbuilder</" "systemitem>, l'ambiente <command>chroot</command> sotto il pacchetto " "<systemitem role=\"package\">sbuild</systemitem>, usato dal sistema di auto-" "costruzione, non forza la creazione di un sistema minimale, e potrebbe " "lasciare installati molti pacchetti." #. type: Content of: <book><chapter><section><para> msgid "" "Although packages listed in the <literal>Build-Depends-Indep</literal> field " "are required to be installed for our normal packaging work (see <xref " "linkend=\"completebuild\"/>), they are not required to be installed for the " "autobuilder system since it builds only architecture dependent binary " "packages. <placeholder type=\"footnote\" id=\"0\"/> This distinction " "between normal packaging and autobuilding procedures is what dictates " "whether you should record such required packages in the <literal>Build-" "Depends</literal> or <literal>Build-Depends-Indep</literal> fields of the " "<filename>debian/control</filename> file (see <xref linkend=\"control\"/>)." msgstr "" "Anche se i pacchetti sono elencati nel campo <literal>Build-Depends-Indep</" "literal>, per la normale creazione del pacchetto, devono comunque essere " "installati (vedere <xref linkend=\"completebuild\"/>), invece per il sistema " "di auto-costruzione non è necessario installarli dato che costruisce " "solamente pacchetti binari per una specifica architettura. <placeholder " "type=\"footnote\" id=\"0\"/> Questa distinzione tra la normale " "pacchettizzazione e il sistema di auto-costruzione determina se i pacchetti " "richiesti devono essere registrati nei campi <literal>Build-Depends</" "literal> o <literal>Build-Depends-Indep</literal> nel file <filename>debian/" "control</filename> (vedere <xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><title> msgid "<command>debuild</command> command" msgstr "Il comando <command>debuild</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can automate the <command>dpkg-buildpackage</command> command's package " "build process further with the <command>debuild</command> command. See " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." msgstr "" "È possibile automatizzare ulteriormente il processo di creazione del " "pacchetto, eseguito con il comando <command>dpkg-buildpackage</command>, " "utilizzando il comando <command>debuild</command>. Vedere <citerefentry> " "<refentrytitle>debuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "Customization of the <command>debuild</command> command can be done through " "<filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</" "filename>. I would suggest at least the following items:" msgstr "" "La configurazione del comando <command>debuild</command> può essere fatta " "usando <filename>/etc/devscripts.conf</filename> o <filename>~/.devscripts</" "filename>. Ecco alcune impostazioni consigliate:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" msgstr "" "DEBSIGN_KEYID=ID_della_vostra_chiave_GPG\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "With these, packages are signed by your specified GPG key ID (good for " "sponsoring packages) and checked in detail by the <command>lintian</command> " "command." msgstr "" "Con queste impostazioni, i pacchetti saranno firmati usando la chiave GPG " "con l'ID specificato (questo è utile per la sponsorizzazione dei pacchetti) " "e controllati con il programma <command>lintian</command>." #. type: Content of: <book><chapter><section><para> msgid "" "Cleaning the source and rebuilding the package from your user account is as " "simple as:" msgstr "" "Si possono ripulire i sorgenti e ricreare il pacchetto da un account utente, " "semplicemente con:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild\n" msgstr "$ debuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your own local use, you " "can skip promptings for the GPG signatures on the <filename>.dsc</filename> " "file and the <filename>.changes</filename> file like this:" msgstr "" "Qui, se si stanno creando dei pacchetti Debian solo per uso locale, è " "possibile saltare suggerimenti per le firme GPG dei file <filename>.dsc</" "filename> e <filename>.changes</filename> in questo modo:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -us -uc\n" msgstr "$ debuild -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "You can clean the source tree as simply as:" msgstr "È possibile ripulire l'albero dei sorgenti semplicemente con:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild clean\n" msgstr "$ debuild clean\n" #. type: Content of: <book><chapter><section><title> msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgstr "Il pacchetto <systemitem role=\"package\">pbuilder</systemitem>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Since the <systemitem role=\"package\">pbuilder</systemitem> package is " "still evolving, you should check the actual configuration situation by " "consulting the latest official documentation." msgstr "" "<systemitem role=\"package\">pbuilder</systemitem> è ancora in evoluzione, " "si dovrebbe controllare l'attuale configurazione consultando la " "documentazione ufficiale più recente." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&buildd-do;\"/> for more on Debian package auto-building." msgstr "" "Vedere <ulink url=\"&buildd-do;\"/> per maggiorni informazioni sull'auto-" "costruzione dei pacchetti Debian." #. type: Content of: <book><chapter><section><para> msgid "" "For a clean room (<command>chroot</command>) build environment to verify the " "build dependencies, the <systemitem role=\"package\">pbuilder</systemitem> " "package is very useful. <placeholder type=\"footnote\" id=\"0\"/> This " "ensures a clean build from the source under the <literal>sid</literal> auto-" "builder for different architectures and avoids a severity serious FTBFS " "(Fails To Build From Source) bug which is always in the RC (release " "critical) category. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "Il pacchetto <systemitem role=\"package\">pbuilder</systemitem> è molto " "utile per verificare le dipendenze di creazione del pacchetto da un ambiente " "(<command>chroot</command>) di compilazione sano e minimale. <placeholder " "type=\"footnote\" id=\"0\"/> Questo assicura di compilare i sorgenti in " "maniera pulita, usando la distribuzione <literal>sid</literal> un " "compilatore automatico (auto-builder) per differenti architetture ed evita i " "bug FTBFS (Fails To Build From Source) di severità seria, che sono sempre di " "categoria RC (Critici per il Rilascio). <placeholder type=\"footnote\" id=" "\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " "package as follows:" msgstr "" "Si configuri il pacchetto <systemitem role=\"package\">pbuilder</systemitem> " "come segue." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "setting the <filename>/var/cache/pbuilder/result</filename> directory " "writable by your user account." msgstr "" "impostare il permesso di scrittura per l'utente alla directory <filename>/" "var/cache/pbuilder/result</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable></filename>, writable by the user, to place hook scripts " "in." msgstr "" "creare una directory, ad es. <filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable></filename>, con i permessi di scrittura per l'utente per " "potergli inserire degli script di hook." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "configuring <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" "filename> to include the following." msgstr "" "configurare il file <filename>~/.pbuilderrc</filename> o <filename>/etc/" "pbuilderrc</filename> in modo che includa le seguenti righe." #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgstr "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will allow you to sign generated packages with your secret GPG key in " "the <filename>~/.gnupg/</filename> directory." msgstr "" "Questo permetterà di firmare i pacchetti generati con la tua chiave GPG " "segreta situata nella directory <filename>~/.gnupg/</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "First let's initialize the local <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> system as follows." msgstr "" "Si avvii <systemitem role=\"package\">pbuilder</systemitem> per costruire " "l'ambiente <command>chroot</command> locale, come segue." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo pbuilder create\n" msgstr "$ sudo pbuilder create\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you already have a completed source package, issue the following commands " "in the directory where the <filename><replaceable>foo</replaceable>.orig.tar." "gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</" "filename>, and <filename><replaceable>foo</replaceable>.dsc</filename> files " "exist to update the local <systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> system and to build binary packages in it." msgstr "" "Se si hanno già i pacchetti sorgenti, eseguire i seguenti comandi nella " "directory in cui si trovano i file <filename><replaceable>foo</replaceable>." "orig.tar.gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar." "gz</filename>, e <filename><replaceable>foo</replaceable>.dsc</filename> per " "aggiornare l'ambiente <command>chroot</command> di <systemitem role=\"package" "\">pbuilder</systemitem> e per costruirci dentro il pacchetto binario." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" msgstr "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "The newly built packages without the GPG signatures will be located in " "<filename>/var/cache/pbuilder/result/</filename> with non-root ownership." msgstr "" "Il nuovo pacchetto, senza firme GPG, sarà creato nella directory <filename>/" "var/cache/pbuilder/result/</filename> e non sarà assegnato all'utente root." #. type: Content of: <book><chapter><section><para> msgid "" "The GPG signatures on the <filename>.dsc</filename> file and the <filename>." "changes</filename> file can be generated as:" msgstr "" "Le firme GPG sui file <filename>.dsc</filename> <filename>.changes</" "filename> possono essere generate come segue:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_version</replaceable>.dsc\n" "$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" msgstr "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_version</replaceable>.dsc\n" "$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have an updated source tree but have not generated the matching " "source package, issue the following commands in the source directory where " "the <filename>debian</filename> directory exists, instead." msgstr "" "Se si ha l'albero dei sorgenti aggiornato, ma non si sono generati i " "rispettivi pacchetti sorgenti, eseguire i seguenti comandi nella directory " "dei sorgenti in cui si trova il file <filename>debian</filename>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ pdebuild\n" msgstr "" "$ sudo pbuilder --update\n" "$ pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your local use, you can " "skip promptings for the GPG signatures on the <filename>.dsc</filename> file " "and the <filename>.changes</filename> file as:" msgstr "" "Qui, se si stanno creando dei pacchetti Debian solo per uso locale, è " "possibile saltare suggerimenti per le firme GPG dei file <filename>.dsc</" "filename> e <filename>.changes</filename> in questo modo:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ AUTO_DEBSIGN=no pdebuild\n" msgstr "$ AUTO_DEBSIGN=no pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can log into its <command>chroot</command> environment with the " "<literal>pbuilder --login --save-after-login</literal> command and configure " "it as you wish. This environment can be saved by leaving its shell prompt " "with <literal>^D</literal> (Control-D)." msgstr "" "È possibile accedere all'ambiente <command>chroot</command> con il comando " "<literal>pbuilder --login --save-after-login</literal> e configurarlo come " "si vuole. Questo ambiente può essere salvato, semplicemente uscendo dalla " "shell con <literal>^D</literal> (Control-D)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You can " "find many examples of hook scripts in the <filename>/usr/share/doc/pbuilder/" "examples</filename> directory." msgstr "" "Ciò presuppone il settaggio <literal>HOOKDIR=/var/cache/pbuilder/hooks</" "literal>. È possibile trovare numerosi esempi di script di hook, nella " "directory <filename>/usr/share/doc/pbuilder/examples</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The latest version of the <command>lintian</command> command can be executed " "in the <literal>chroot</literal> environment using the hook script " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> configured as follows. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "L'ultima versione del programma <command>lintian</command> può essere " "eseguita nell'ambiente <literal>chroot</literal>, usando gli script di hook " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename>, configurati come segue. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" msgstr "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "You need to have access to the latest <literal>sid</literal> environment to " "build packages properly for <literal>sid</literal>. In practice, " "<literal>sid</literal> may be experiencing issues which makes it undesirable " "for you to migrate your whole system. The <systemitem role=\"package" "\">pbuilder</systemitem> package can help you to cope with this kind of " "situation." msgstr "" "E' necessario avere accesso all'ultima versione di <literal>sid</literal> " "per poter costruire correttamente i pacchetti per <literal>sid</literal>. " "In pratica <literal>sid</literal> potrebbe avere dei problemi che rendono " "poco consigliabile migrare l'intero sistema. In questo caso il pacchetto " "<systemitem role=\"package\">pbuilder</systemitem> può essere molto di aiuto." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are some restrictions for such updates of your <literal>stable</" "literal> package." msgstr "" "Ci sono alcune restrizioni per tali aggiornamenti del pacchetto " "<literal>stable</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "You may need to update your <literal>stable</literal> packages after their " "release for <literal>stable-proposed-updates</literal>, <literal>stable/" "updates</literal>, etc. <placeholder type=\"footnote\" id=\"0\"/> For such " "occasions, the fact you may be running a <literal>sid</literal> system is " "not a good enough excuse for failing to update them promptly. The " "<systemitem role=\"package\">pbuilder</systemitem> package can help you to " "access environments of almost any Debian derivative distribution of the same " "architecture." msgstr "" "Potrebbe essere necessario aggiornare i pacchetti <literal>stable</literal> " "dopo il loro rilascio per <literal>stable-proposed-updates</literal>, " "<literal>stable/updates</literal>, ecc. <placeholder type=\"footnote\" id=" "\"0\"/> Per questa ragione se si sta utilizzando un sistema <literal>sid</" "literal> non è una buona scusa per non aggiornarli tempestivamente. Il " "pacchetto <systemitem role=\"package\">pbuilder</systemitem> aiuta ad " "accedere agli ambienti di quasi tutte le distribuzioni derivate da Debian " "con la stessa architettura di CPU." #. type: Content of: <book><chapter><section><para> msgid "" "See <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, and <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." msgstr "" "Vedere <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, e <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<command>git-buildpackage</command> command and similars" msgstr "Il comando <command>git-buildpackage</command> ed altri simili" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more." msgstr "" "Vedere <ulink url=\"&debref-vcs;\">Version control systems</ulink> per più " "informazioni." #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream uses a source code management system (VCS) <placeholder " "type=\"footnote\" id=\"0\"/> to maintain their code, you should consider " "using it as well. This makes merging and cherry-picking upstream patches " "much easier. There are several specialized wrapper script packages for " "Debian package building for each VCS." msgstr "" "Se l'autore originale utilizza un sistema di controllo di versione (VCS) " "<placeholder type=\"footnote\" id=\"0\"/> per gestire il proprio codice, si " "dovrebbe prendere in considerazione di usarlo. Questo rende molto più " "semplice la fusione e la raccolta di patch dai sorgenti originali. Ci sono " "diversi pacchetti di script adatti alla costruzione di pacchetti Debian per " "ogni sistema VCS." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git-buildpackage</systemitem>: a suite to help " "with Debian packages in Git repositories." msgstr "" "<systemitem role=\"package\">git-buildpackage</systemitem>: una suite per " "aiutare con i pacchetti Debian nei repository Git." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: helper programs " "to maintain Debian packages with Subversion." msgstr "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: programmi di " "supporto per mantenere i pacchetti Debian con Subversion." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: a set of Debian " "package scripts for CVS source trees." msgstr "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: una serie di " "script per i pacchetti Debian per gli alberi di sorgenti sotto CVS." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documents how " "to use the <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> service." msgstr "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> spiega come " "usare il servizio <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Use of <systemitem role=\"package\">git-buildpackage</systemitem> is " "becoming quite popular for Debian Developers to manage Debian packages with " "the Git server on <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>. " "<placeholder type=\"footnote\" id=\"0\"/> This package offers many commands " "to <emphasis>automate</emphasis> packaging activities." msgstr "" "L'utilizzo di <systemitem role=\"package\">git-buildpackage</systemitem> sta " "diventando molto popolare per gli sviluppatori Debian,questo permette di " "gestirei pacchetti Debian con il server Git su <ulink url=\"&debian-alioth;" "\">alioth.debian.org</ulink>. <placeholder type=\"footnote\" id=\"0\"/> " "Questo pacchetto offre molti comandi che <emphasis>automatizzano</emphasis> " "le procedure di pacchettizzazione." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import previous Debian package to a Git " "repository." msgstr "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: importa il precedente pacchetto Debian in un " "repository Git." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import new upstream tar to a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: importa nuovi tar sorgenti originali (upstream) " "in un repository Git." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: generate the Debian changelog from Git commit " "messages." msgstr "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: genera il changelog Debian dai messaggi dei " "commit Git." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: costruisce i pacchetti Debian da un repository " "Git." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository " "using <command>pbuilder</command>/<command>cowbuilder</command>." msgstr "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: costruisce i pacchetti Debian da un repository " "Git, utilizzando <command>pbuilder</command>/<command>cowbuilder</command>." #. type: Content of: <book><chapter><section><para> msgid "These commands use 3 branches to track packaging activity." msgstr "" "Questi comando utilizzano 3 \"branch\" per tenere traccia dell'attività " "sulla pacchettizzazione." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>main</literal> for Debian package source tree." msgstr "" "<literal>main</literal> per l'albero dei sorgenti dei pacchetti Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>upstream</literal> for upstream source tree." msgstr "<literal>upstream</literal> per l'albero dei sorgenti originali." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "The <literal>--pristine-tar</literal> option invokes the <command>pristine-" "tar</command> command which can regenerate an exact copy of a pristine " "upstream tarball using only a small binary delta file and the contents of " "the tarball, which are typically kept in an <literal>upstream</literal> " "branch in the VCS." msgstr "" "L'opzion <literal>--pristine-tar</literal> esegue il comando " "<command>pristine-tar</command> che può rigenerare un copia esatta del " "tarball dei sorgenti originali, utilizzando solo un piccolo file binario " "delta e i contenuti del tarball, che normalmente sono conservati nel branch " "<literal>upstream</literal> del VCS." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>pristine-tar</literal> for upstream tarball generated by the " "<literal>--pristine-tar</literal> option.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<literal>pristine-tar</literal> per i tarball dei sorgenti originali " "generati dall'opzione <literal>--pristine-tar</literal>.<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Here are some web resources available for advanced audiences." msgstr "Ecco alcune risorse web, per gli utenti esperti." #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "Building Debian Packages with git-buildpackage (<filename>&git-buildpackage-" "doc;</filename>)" msgstr "" "Creare pacchetti Debian Packages con git-buildpackage (<filename>&git-" "buildpackage-doc;</filename>)" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" msgstr "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgstr "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" msgstr "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "You can configure <systemitem role=\"package\">git-buildpackage</systemitem> " "with <filename>~/.gbp.conf</filename>. See <citerefentry> <refentrytitle>gbp." "conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "È possibile configurare <systemitem role=\"package\">git-buildpackage</" "systemitem> utilizzando il file <filename>~/.gbp.conf</filename>. Vedere " "<citerefentry> <refentrytitle>gbp.conf</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "Quick rebuild" msgstr "Ricostruzione veloce" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Environment variables which are normally configured to proper values are not " "set by this method. Never create real packages to be uploaded using this " "<emphasis role=\"strong\">quick</emphasis> method." msgstr "" "Le variabili d'ambiente, che sono normalmente impostate con dei valori " "corretti, non sono utilizzati in questa modalità. Mai creare dei pacchetti, " "che poi andranno caricati, utilizzando il metodo <emphasis role=\"strong" "\">veloce</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "With a large package, you may not want to rebuild from scratch every time " "while you're tuning details in <filename>debian/rules</filename>. For " "testing purposes, you can make a <filename>.deb</filename> file without " "rebuilding the upstream sources like this<placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "Con un pacchetto di grandi dimensioni, si potrebbe non voler ricostruire " "tutto da zero, ogni volte che si modifica un dettaglio in <filename>debian/" "rules</filename>. Per effettuare delle prove, si può creare un file " "<filename>.deb</filename>, senza ricompilare i sorgenti originali, come " "segue: <placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules binary\n" msgstr "$ fakeroot debian/rules binary\n" #. type: Content of: <book><chapter><section><para> msgid "Or simply do the following to see if it builds or not:" msgstr "Oppure, semplicemente controllando se si costruisce o no:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules build\n" msgstr "$ fakeroot debian/rules build\n" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are finished with your tuning, remember to rebuild following the " "proper procedure. You may not be able to upload correctly if you try to " "upload <filename>.deb</filename> files built this way." msgstr "" "Una volta completati i vari aggiustamenti, bisogna ricordarsi di ricostruire " "il pacchetto usando la giusta procedura. Si potrebbe non essere in grado di " "caricare il pacchetto correttamente se si prova con dei file <filename>.deb</" "filename> creati in questo modo." #. type: Content of: <book><chapter><title> msgid "Checking the package for errors" msgstr "Controllare il pacchetto per errori" #. type: Content of: <book><chapter><para> msgid "" "There are some techniques you should know for checking a package for errors " "before uploading it to the public archives." msgstr "" "Ci sono alcune tecniche da sapere per controllare se un pacchetto ha degli " "errori prima di caricarlo negli archivi pubblici." #. type: Content of: <book><chapter><para> msgid "" "It's also a good idea to carry out testing on a machine other than your " "own. You must watch closely for any warnings or errors for all the tests " "described here." msgstr "" "Effettuare dei test su altre macchine oltre a quella con cui si è sviluppato " "è una buona idea. Si deve inoltre fare attenzione agli avvisi ed agli " "errori per tutti i test che verranno qui descritti." #. type: Content of: <book><chapter><section><title> msgid "Suspicious changes" msgstr "Modifiche sospette" #. type: Content of: <book><chapter><section><para> msgid "" "If you find a new autogenerated patch file such as <filename>debian-changes-" "*</filename> in the <filename>debian/patches</filename> directory after " "building your non-native Debian package in <literal>3.0 (quilt)</literal> " "format, chances are you changed some files by accident or the build script " "modified the upstream source. If it is your mistake, fix it. If it is " "caused by the build script, fix the root cause with <command>dh-autoreconf</" "command> as in <xref linkend=\"customrules\"/> or work around it with " "<filename>source/options</filename> as in <xref linkend=\"sourceopt\"/>." msgstr "" "Se si trova un nuovo file di patch generato automaticamente, come " "<filename>debian-changes-*</filename> nella directory <filename>debian/" "patches</filename> dopo aver costruito un pacchetto Debian non-nativo nel " "formato <literal>3.0 (quilt)</literal>, è probabile che è stato cambiato " "qualche file per caso o che gli script di build hanno modificato il sorgente " "originale. Se è si tratta di un errore del genere, lo si risolva. Se è " "causato dallo script di build, si cerchi la causa principale del problema " "con <command>dh-autoreconf</command> come mostrato in <xref linkend=" "\"customrules\"/> o si cerchi di aggirare il problema con <filename>source/" "options</filename> come mostrato in <xref linkend=\"sourceopt\"/>." #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's installation" msgstr "Verifica dell'installazione di un pacchetto" #. type: Content of: <book><chapter><section><para> msgid "" "You must test your package for whether it installs without problem. The " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> command helps you to test installing all the generated " "binary packages." msgstr "" "Bisogna verificare che il pacchetto si installi senza problemi. Il comando " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> aiuta a testare l'installazione di tutti i pacchetti binari " "generati." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n" msgstr "$ sudo debi gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "To prevent installation problem on different systems, you must make sure " "that there are no filenames conflicting with other existing packages, using " "the <filename>Contents-<replaceable>i386</replaceable></filename> file " "downloaded from the Debian archive. The <command>apt-file</command> command " "may be handy for this task. If there are collisions, please take action to " "avoid this real problem, whether by renaming the file, moving a common file " "to a separate package that multiple packages can depend on, using the " "alternatives mechanism (see <citerefentry><refentrytitle>update-" "alternatives</refentrytitle> <manvolnum>1</manvolnum></citerefentry>) in " "coordination with the maintainers of other affected packages, or declaring a " "<literal>Conflicts</literal> relationship in the <filename>debian/control</" "filename> file." msgstr "" "Per prevenire eventuali problemi di installazione su sistemi diversi, " "bisogna assicurarsi che non ci siano file in conflitto con altri pacchetti " "esistenti utilizzando il file <filename>Contents-<replaceable>i386</" "replaceable></filename> scaricato dall'archivio Debian. Il comando " "<command>apt-file</command> può tornare utile a questo scopo. Se ci sono " "file che si sovrappongono, si prega di prendere delle misure per evitare " "l'insorgere del problema, rinominando il file, spostando il file in un " "pacchetto separato e configurarlo come dipendenza sui vari pacchetti che lo " "richiedono, utilizzando meccanismi alternativi (si veda <citerefentry> " "<refentrytitle>update-alternatives</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>) che permettendo di coordinarsi con i manutentori degli " "altri pacchetti interessati o settano la voce <literal>Conflicts</literal> " "nel file <filename>debian/control</filename>." #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's maintainer scripts" msgstr "Verifica degli script del manutentore di un pacchetto" #. type: Content of: <book><chapter><section><para> msgid "" "All maintainer scripts (that is, <filename>preinst</filename>, " "<filename>prerm</filename>, <filename>postinst</filename>, and " "<filename>postrm</filename> files) are hard to write correctly unless they " "are auto-generated by the <systemitem role=\"package\">debhelper</" "systemitem> programs. So do not use them if you are a novice maintainer " "(see <xref linkend=\"maintscripts\"/>)." msgstr "" "Tutti gli script del manutentore (ad esempio i file, <filename>preinst</" "filename>, <filename>prerm</filename>, <filename>postinst</filename>, e " "<filename>postrm</filename>) sono difficili da scrivere correttamente a meno " "che non siano stati generati automaticamente dai programmi di <systemitem " "role=\"package\">debhelper</systemitem>. Si consiglia pertanto di non " "utilizzarli se non si ha sufficiente esperienza come manutentore (si veda " "<xref linkend=\"maintscripts\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "If the package makes use of these non-trivial maintainer scripts, be sure to " "test not only for install but also for remove, purge, and upgrade " "processes. Many maintainer script bugs show up when packages are removed or " "purged. Use the <command>dpkg</command> command as follows to test them." msgstr "" "Se il pacchetto utilizza questi particolari script del manutentore, ci si " "assicuri di effettuare delle prove non solo per l'operazione di install, ma " "anche per il remove, purge, e l'upgrade. Molti bug degli script del " "manutentore vengono fuori quando i pacchetti sono rimossi o viene applicato " "il purge. Si utilizzi il comando <command>dpkg</command> nel seguente modo " "per testarli." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" msgstr "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" #. type: Content of: <book><chapter><section><para> msgid "This should be done with sequences such as the following." msgstr "" "Questa operazione si dovrebbe effettuare con delle sequenze di questo tipo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the previous version (if needed)." msgstr "installazione della versione precedente (se necessaria)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "upgrade it from the previous version." msgstr "aggiornamento dalla versione precedente." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "downgrade it back to the previous version (optional)." msgstr "ritorno alla versione precedente (opzionale)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "purge it." msgstr "applicazione del purge." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the new package." msgstr "installazione del nuovo pacchetto." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "remove it." msgstr "rimozione del pacchetto." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install it again." msgstr "reinstallazione del pacchetto." #. type: Content of: <book><chapter><section><para> msgid "" "If this is your first package, you should create dummy packages with " "different versions to test your package in advance to prevent future " "problems." msgstr "" "Se si sta creando il primo pacchetto, andrebbero creati dei pacchetti " "fittizi con diversi numeri di versione per testare il pacchetto originale in " "anticipo e prevenire problemi futuri." #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that if your package has previously been released in Debian, " "people will often be upgrading to your package from the version that was in " "the last Debian release. Remember to test upgrades from that version too." msgstr "" "Si tenga in mente che se il pacchetto è stato già rilasciato in Debian, le " "persone spesso effettueranno un aggiorneranno a quest'ultimo a partire " "dall'ultima versione disponibile su Debian. Si ricordi di testare gli " "aggiornamenti anche a partire da questa versione." #. type: Content of: <book><chapter><section><para> msgid "" "Although downgrading is not officially supported, supporting it is a " "friendly gesture." msgstr "" "Anche se il ritorno ad una versione precedente non è ufficialmente " "supportato, sarebbe buona abitudine supportarlo." #. type: Content of: <book><chapter><section><title> msgid "Using <systemitem role=\"package\">lintian</systemitem>" msgstr "Utilizzare <systemitem role=\"package\">lintian</systemitem>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You do not need to provide the <command>lintian</command> option <literal>-i " "-I --show-overrides</literal> if you customized <filename>/etc/devscripts." "conf</filename> or <filename>~/.devscripts</filename> as described in <xref " "linkend=\"debuild\"/>." msgstr "" "Non c'è bisogno di fornire l'opzione <command>lintian</command> <literal>-i -" "I --show-overrides</literal> se si è personalizzato il file <filename>/etc/" "devscripts.conf</filename> o il file <filename>~/.devscripts</filename> come " "descritto in <xref linkend=\"debuild\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Run <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> on your <filename>.changes</filename> file. The " "<command>lintian</command> command runs many test scripts to check for many " "common packaging errors. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si esegua <citerefentry> <refentrytitle>lintian</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> sul file <filename>.changes</" "filename>. Il comando <command>lintian</command> esegue molti script di " "test alla ricerca dei più comuni errori di pacchettizzazione. <placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" msgstr "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of the <filename>.changes</" "filename> file generated for your package. The output of the " "<command>lintian</command> command uses the following flags." msgstr "" "Ovviamente va rimpiazzato il nome con quello del file <filename>.changes</" "filename> generato per il pacchetto. I risultati del comando " "<command>lintian</command> vengono qui elencati di seguito." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>E:</literal> for error; a sure policy violation or packaging error." msgstr "" "<literal>E:</literal> errore; una violazione certa di una policy o un errore " "di pacchettizzazione." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>W:</literal> for warning; a possible policy violation or packaging " "error." msgstr "" "<literal>W:</literal> attenzione; una possibile violazione di policy o un " "errore della pacchettizzazione." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>I:</literal> for info; information on certain aspects of packaging." msgstr "" "<literal>I:</literal> informazione; un'informazione su alcuni aspetti della " "pacchettizzazione." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>N:</literal> for note; a detailed message to help your debugging." msgstr "" "<literal>N:</literal> nota; un messaggio dettagliato per aiutare " "nell'analisi degli errori." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>O:</literal> for overridden; a message overridden by the " "<filename>lintian-overrides</filename> files but displayed by the <literal>--" "show-overrides</literal> option." msgstr "" "<literal>O:</literal> per sovrascrivere: il messaggio verrà sovrascritto dal " "file <filename>lintian-overrides</filename>, ma potrà essere visualizzato " "con l'opzione <literal>--show-overrides</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "When you see warnings, tune the package to avoid them or verify that the " "warnings are spurious. If spurious, set up <filename>lintian-overrides</" "filename> files as described in <xref linkend=\"lintian\"/>." msgstr "" "Quando vengono generati degli avvertimenti, si imposti il pacchetto in modo " "tale da evitarli o si verifichi che tali avvertimenti non siano indicativi " "di un errore. In quest'ultimo caso, si impostino i file <filename>lintian-" "overrides</filename> come descritto in <xref linkend=\"lintian\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Note that you can build the package with <command>dpkg-buildpackage</" "command> and run <command>lintian</command> on it in one command, if you use " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> or <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "" "Si noti che si può costruire il pacchetto con <command>dpkg-buildpackage</" "command> ed eseguire <command>lintian</command> su di esso in una sola volta " "con <citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> o con <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "The <command>debc</command> command" msgstr "Il comando <command>debc</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can list files in the binary Debian package with the <citerefentry> " "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "command." msgstr "" "Si possono elencare i file nel pacchetto binario Debian con il comando " "<citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debc <replaceable>package</replaceable>.changes\n" msgstr "$ debc <replaceable>package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><title> msgid "The <command>debdiff</command> command" msgstr "Il comando <command>debdiff</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare file contents in two source Debian packages with the " "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "Si può confrontare il contenuto dei file in due pacchetti sorgente Debian " "con il comando <citerefentry> <refentrytitle>debdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also compare file lists in two sets of binary Debian packages with " "the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "Si possono anche confrontare le liste di file in due set di pacchetti binari " "Debian con il comando <citerefentry> <refentrytitle>debdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "These are useful to identify what has been changed in the source packages " "and to check for inadvertent changes made when updating binary packages, " "such as unintentionally misplacing or removing files." msgstr "" "Questi comandi sono utili per vedere cosa sia cambiato nei pacchetti " "sorgente, se un file sia stato spostato inavvertitamente o rimosso dai " "pacchetti, e se altri cambiamenti non intenzionali siano stati fatti durante " "l'aggiornamento dei pacchetti binari." #. type: Content of: <book><chapter><section><title> msgid "The <command>interdiff</command> command" msgstr "Il comando <command>interdiff</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare two <filename>diff.gz</filename> files with the " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command. This is useful for verifying that no " "inadvertent changes were made to the source by the maintainer when updating " "packages in the old <literal>1.0</literal> source format." msgstr "" "Si possono confrontare due file <filename>diff.gz</filename> con il comando " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>. Questo è utile per verificare che il " "manutentore non abbia inavvertitamente fatto dei cambiamenti ai sorgenti " "durante il processo di aggiornamento dei pacchetti nel vecchio formato " "sorgente <literal>1.0</literal>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" msgstr "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "The new <literal>3.0</literal> source format stores changes in multiple " "patch files as described in <xref linkend=\"patches\"/>. You can trace " "changes of each <filename>debian/patches/*</filename> file using " "<command>interdiff</command>, too." msgstr "" "Il nuovo formato sorgente <literal>3.0</literal> salva i cambiamenti in file " "di patch multipli come descritto in <xref linkend=\"patches\"/>. È " "possibile tracciare i cambiamenti di ogni file <filename>debian/patches/*</" "filename> usando anche <command>interdiff</command>." #. type: Content of: <book><chapter><section><title> msgid "The <command>mc</command> command" msgstr "Il comando <command>mc</command>" #. type: Content of: <book><chapter><section><para> msgid "" "Many of these file inspection operations can be made into an intuitive " "process by using a file manager like <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> which will let you " "browse not only the contents of <filename>*.deb</filename> package files but " "also <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, " "<filename>*.diff.gz</filename>, and <filename>*.orig.tar.gz</filename> files." msgstr "" "Molte delle operazione di ispezione dei file possono essere rese più " "semplici utilizzando un gestore dei file come <citerefentry> " "<refentrytitle>mc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "che permette di navigare non solo il contenuto dei pacchetti in formato " "<filename>*.deb</filename> ma anche degli <filename>*.udeb</filename>, " "<filename>*.debian.tar.gz</filename>, <filename>*.diff.gz</filename>, e dei " "file <filename>*.orig.tar.gz</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Be on the lookout for extra unneeded files or zero length files, both in the " "binary and source package. Often cruft doesn't get cleaned up properly; " "adjust your <filename>rules</filename> file to compensate for this." msgstr "" "Si faccia attenzione ad ulteriori file non necessari o vuoti, sia nel " "pacchetto binario che in quello sorgente. Spesso non vengono ripuliti " "correttamente; si aggiusti il file <filename>rules</filename> per riparare a " "questo problema." #. type: Content of: <book><chapter><title> msgid "Updating the package" msgstr "Aggiornamento del pacchetto" #. type: Content of: <book><chapter><para> msgid "After you release a package, you will soon need to update it." msgstr "" "Una volta rilasciato un pacchetto, ci sarà presto bisogno di aggiornarlo." #. type: Content of: <book><chapter><section><title> msgid "New Debian revision" msgstr "Nuova revisione Debian" #. type: Content of: <book><chapter><section><para> msgid "" "Let's say that a bug report was filed against your package as " "<literal>#654321</literal>, and it describes a problem that you can solve. " "Here's what you need to do to create a new Debian revision of the package." msgstr "" "Si supponga che sia stato compilato il bug report <literal>#654321</literal> " "per il pacchetto creato, e che questo descriva un problema che si può " "risolvere. Qui è descritto come creare una nuova revisione del pacchetto " "Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to be recorded as a new patch, do the following." msgstr "" "Se la modifica deve essere registrata come una nuova patch, si seguano " "queste istruzioni." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> to " "set the patch name;" msgstr "" "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> per " "impostare il nome della patch;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> to " "declare the file to be modified;" msgstr "" "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> per " "indicare i file modificati;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Correct the problem in the package source for the upstream bug;" msgstr "" "Correggere il problema evidenziato dal bug report nel pacchetto sorgente;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to record it to " "<filename><replaceable>bugname.patch</replaceable></filename>;" msgstr "" "<literal>dquilt refresh</literal> per registrare le modifiche in " "<filename><replaceable>bugname.patch</replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to add its description;" msgstr "<literal>dquilt header -e</literal> per aggiungere una descrizione;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to update an existing patch, do the following." msgstr "" "Se la modifica è un aggiornamento ad una patch esistente, si seguano queste " "istruzioni." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> to recall " "the existing <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> per " "richiamare la patch <filename><replaceable>foo.patch</replaceable></" "filename> esistente;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Correct the problem in the old <filename><replaceable>foo.patch</" "replaceable></filename>;" msgstr "" "Correggere il problema nella vecchia patch <filename><replaceable>foo.patch</" "replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to update <filename><replaceable>foo." "patch</replaceable></filename>;" msgstr "" "<literal>dquilt refresh</literal> per aggiornare <filename><replaceable>foo." "patch</replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to update its description;" msgstr "<literal>dquilt header -e</literal> per aggiornarne la descrizione;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>;" msgstr "" "<literal>while dquilt push; do dquilt refresh; done</literal> per applicare " "tutte le patch mentre si sta rimouvendo il <emphasis>fuzz</emphasis>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "To get the date in the required format, use <literal>LANG=C date -R</" "literal>." msgstr "" "Per impostare la data nel formato corretto, si usi <literal>LANG=C date -R</" "literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add a new revision at the top of the Debian <filename>changelog</filename> " "file, for example with <literal>dch -i</literal>, or explicitly with " "<literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal> and then insert the comments using your preferred " "editor. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Aggiungere una nuova revisione in cima al file di <filename>changelog</" "filename> Debian, per esempio con <literal>dch -i</literal>, o " "esplicitamente con <literal>dch -v <replaceable>version</replaceable>-" "<replaceable>revision</replaceable></literal> e poi inserire i commenti " "utilizzando l'editor preferito. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Include a short description of the bug and the solution in the changelog " "entry, followed by <literal>Closes: #654321</literal>. That way, the bug " "report will be <emphasis>automagically</emphasis> closed by the archive " "maintenance software the moment your package gets accepted into the Debian " "archive." msgstr "" "Includere nella nuova voce del changelog una breve descrizione del problema " "e della relativa soluzione, seguita da <literal>Closes: #654321</literal>. " "In questo modo, il report del problema verrà <emphasis>automaticamente</" "emphasis> chiuso dal programma di manutenzione dell'archivio Debian nel " "momento stesso in cui il pacchetto viene accettato." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in the above to fix more bugs while updating the Debian " "<filename>changelog</filename> file with <literal>dch</literal> as needed." msgstr "" "Si ripetano questi passaggi per risolvere ulteriori problemi e si ricordi " "nel frattempo di aggiornare il file Debian di <filename>changelog</filename> " "con <literal>dch</literal> a seconda della necessità." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in <xref linkend=\"completebuild\"/> and <xref linkend=" "\"checkit\"/>." msgstr "" "Si ripetano i passi fatti in <xref linkend=\"completebuild\"/>, <xref " "linkend=\"checkit\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Once you are satisfied, you should change the distribution value in " "<filename>changelog</filename> from <literal>UNRELEASED</literal> to the " "target distribution value <literal>unstable</literal> (or even " "<literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Quando si è soddisfatti, si può cambiare il valore del campo distribuzione " "nel file <filename>changelog</filename> da <literal>UNRELEASED</literal> a " "<literal>unstable</literal> (o anche <literal>experimental</literal>)." "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Upload the package as <xref linkend=\"upload\"/>. The difference is that " "this time, the original source archive won't be included, as it hasn't been " "changed and it already exists in the Debian archive." msgstr "" "Caricare i pacchetti come <xref linkend=\"upload\"/>. La differenza è che " "questa volta, l'archivio del sorgente originale non sarà incluso, dal " "momento che non è stato modificato e già esiste nell'archivio Debian." #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case can occur when you make a local package to experiment with " "the packaging before uploading the normal version to the official archive, e." "g., <literal><replaceable>1.0.1</replaceable>-<replaceable>1</replaceable></" "literal>. For smoother upgrades, it is a good idea to create a " "<filename>changelog</filename> entry with a version string as " "<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" "literal>. You may unclutter <filename>changelog</filename> by consolidating " "such local change entries into a single entry for the official package. See " "<xref linkend=\"namever\"/> for the order of version strings." msgstr "" "Un caso complicato può verificarsi quando si crea un pacchetto locale per " "sperimentare la pacchettizzazione prima di caricare la versione normale " "nell'archivio ufficiale, ad esempio <literal><replaceable>1.0.1</" "replaceable>-<replaceable>1</replaceable></literal>. Per facilitare gli " "aggiornamenti è consigliabile creare una voce con la stringa della versione " "come <literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</" "replaceable></literal> nel file <filename>changelog</filename>. Per il " "pacchetto ufficiale si può riordinare il file <filename>changelog</filename> " "consolidando la modifiche locali in una singola voce. Si veda <xref linkend=" "\"namever\"/> per l'ordine delle stringhe di versione." #. type: Content of: <book><chapter><section><title> msgid "Inspection of the new upstream release" msgstr "Controllo della nuova distribuzione" #. type: Content of: <book><chapter><section><para> msgid "" "When preparing packages of a new upstream release for the Debian archive, " "you must check the new upstream release, first." msgstr "" "Quando si stanno preparando i pacchetti della nuova distribuzione per " "l'archivio Debian, bisogna innanzitutto effettuare dei controlli." #. type: Content of: <book><chapter><section><para> msgid "" "Start by reading the upstream <filename>changelog</filename>, " "<filename>NEWS</filename>, and whatever other documentation they may have " "released with the new version." msgstr "" "Si comincia leggendo i file originali <filename>changelog</filename>, " "<filename>NEWS</filename>, e qualsiasi altra documentazione che possa essere " "stata rilasciata con la nuova versione." #. type: Content of: <book><chapter><section><para> msgid "" "You can then inspect changes between the old and new upstream sources as " "follows, watching out for anything suspicious." msgstr "" "Successivamente si controllano i cambiamenti tra i vecchi sorgenti originali " "e quelli nuovi, come mostrato in seguito, alla ricerca di qualsiasi modifica " "sospetta." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgstr "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "Changes to some auto-generated files by Autotools such as <filename>missing</" "filename>, <filename>aclocal.m4</filename>, <filename>config.guess</" "filename>, <filename>config.h.in</filename>, <filename>config.sub</" "filename>, <filename>configure</filename>, <filename>depcomp</filename>, " "<filename>install-sh</filename>, <filename>ltmain.sh</filename>, and " "<filename>Makefile.in</filename> may be ignored. You may delete them before " "running <command>diff</command> on the source for inspection." msgstr "" "I cambiamenti effettuati ad alcuni file generati automaticamente dagli " "Autotools come <filename>missing</filename>, <filename>aclocal.m4</" "filename>, <filename>config.guess</filename>, <filename>config.h.in</" "filename>, <filename>config.sub</filename>, <filename>configure</filename>, " "<filename>depcomp</filename>, <filename>install-sh</filename>, " "<filename>ltmain.sh</filename>, e <filename>Makefile.in</filename> possono " "essere ignorati. Possono anzi venire cancellati prima di eseguire " "<command>diff</command> per controllare i sorgenti." #. type: Content of: <book><chapter><section><title> msgid "New upstream release" msgstr "Nuova distribuzione" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is packaged in the old <literal>1.0</literal> format, this can " "be done by running <literal>zcat /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" "literal> in the new extracted source, instead." msgstr "" "Se un pacchetto <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> è stato pacchettizzato nel vecchio formato <literal>1.0</" "literal>, si deve invece eseguire <literal>zcat /<replaceable>path</" "replaceable>/<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" "literal> nella nuova directory sorgente scompattata." #. type: Content of: <book><chapter><section><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is properly packaged in the newer <literal>3.0 (native)</" "literal> or <literal>3.0 (quilt)</literal> formats, packaging a new upstream " "version is essentially moving the old <filename>debian</filename> directory " "to the new source. This can be done by running <literal>tar xvzf /" "<replaceable>path</replaceable>/<replaceable>to</replaceable>/" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian." "tar.gz</literal> in the new extracted source. <placeholder type=\"footnote" "\" id=\"0\"/> Of course, you need to do some obvious chores." msgstr "" "Se un pacchetto <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> è stato impacchettato correttamente nei nuovi formati " "<literal>3.0 (native)</literal> o <literal>3.0 (quilt)</literal>, si rende " "necessario impacchettare anche la versione originale muovendo la directory " "<filename>debian</filename> nella nuova sorgente. Questo può essere fatto " "eseguendo <literal>tar xvzf /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.debian.tar.gz</literal> " "nella nuova directory sorgente scompattata. <placeholder type=\"footnote\" " "id=\"0\"/> Ovviamente bisognerà effettuare alcuni passaggi." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a copy of the upstream source as the " "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename> " "file." msgstr "" "Creare una copia dei sorgenti originali nel file " "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Update the Debian <filename>changelog</filename> file with <literal>dch -v " "<replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." msgstr "" "Aggiornare il file di <filename>changelog</filename> Debian con <literal>dch " "-v <replaceable>newversion</replaceable>-<replaceable>1</replaceable></" "literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Add an entry with <literal>New upstream release</literal>." msgstr "Aggiungere una voce che dica <literal>New upstream release</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>in the new upstream release</" "emphasis> that fix reported bugs and close those bugs by adding " "<literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "Descrivere brevemente i cambiamenti <emphasis>nella nuova distribuzione</" "emphasis> che correggono i bug riportati e ne chiudono altri aggiungendo " "<literal>Closes: #<replaceable>numero_bug</replaceable></literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>to the new upstream release</" "emphasis> by the maintainer that fix reported bugs and close those bugs by " "adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "Descrivere brevemente i cambiamenti <emphasis>nella nuova distribuzione</" "emphasis>, effettuati dal manutentore, che correggono i bug riportati e li " "chiudono aggiungendo <literal>Closes: #<replaceable>numero_bug</" "replaceable></literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>." msgstr "" "<literal>while dquilt push; do dquilt refresh; done</literal> per applicare " "tutte le patch mentre si sta rimouvendo il <emphasis>fuzz</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "If the patch/merge did not apply cleanly, inspect the situation (clues are " "left in <filename>.rej</filename> files)." msgstr "" "Se la patch/merge non è stata applicata in maniera corretta, si controlli la " "situazione (gli indizi vengono lasciati nei file <filename>.rej</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source was integrated into the upstream source," msgstr "" "Se una patch applicata ai sorgenti è stata integrata nei sorgenti originali," #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt delete</literal> to remove it." msgstr "si rimuova con <literal>dquilt delete</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source conflicted with new changes in the " "upstream source," msgstr "" "Se una patch applicata alla sorgente è andata in conflitto con i nuovi " "cambiamenti nei sorgenti originali," #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt push -f</literal> to apply old patches while forcing rejects " "as <filename><replaceable>baz</replaceable>.rej</filename>." msgstr "" "si esegua <literal>dquilt push -f</literal> per applicare le vecchie patch " "forzando gli scarti nel file <filename><replaceable>baz</replaceable>.rej</" "filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Edit the <filename><replaceable>baz</replaceable></filename> file manually " "to bring about the intended effect of <filename><replaceable>baz</" "replaceable>.rej</filename>." msgstr "" "Modificare manualmente il file <filename><replaceable>baz</replaceable></" "filename> per applicare gli effetti desiderati presenti nel file " "<filename><replaceable>baz</replaceable>.rej</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt refresh</literal> to update the patch." msgstr "<literal>dquilt refresh</literal> per aggiornare la patch." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Continue as usual with <literal>while dquilt push; do dquilt refresh; done</" "literal>." msgstr "" "Ritornare alla procedura <literal>while dquilt push; do dquilt refresh; " "done</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "This process can be automated using the <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> command as follows:" msgstr "" "Questo processo può essere automatizzato utilizzando il comando " "<citerefentry> <refentrytitle>uupdate</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> come segue:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" msgstr "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the <command>uscan</command> command downloads the updated source but it " "does not run the <command>uupdate</command> command, you should correct the " "<filename>debian/watch</filename> file to have <literal>debian uupdate</" "literal> at the end of the URL." msgstr "" "Se il comando <command>uscan</command> scarica il sorgente aggiornato ma non " "esegue il comando <command>uupdate</command>, si può modificare il file " "<filename>debian/watch</filename> inserendo <literal>debian uupdate</" "literal> alla fine dell'URL." #. type: Content of: <book><chapter><section><para> msgid "" "If you set up a <filename>debian/watch</filename> file as described in <xref " "linkend=\"watch\"/>, you can skip the <command>wget</command> command. You " "simply run <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> in the <filename><replaceable>foo</replaceable>-" "<replaceable>oldversion</replaceable></filename> directory instead of the " "<command>uupdate</command> command. This will <emphasis>automagically</" "emphasis> look for the updated source, download it, and run the " "<command>uupdate</command> command. <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "Se si imposta il file <filename>debian/watch</filename> come descritto in " "<xref linkend=\"watch\"/>, si può saltare il comando <command>wget</" "command>. Basterà eseguire <citerefentry> <refentrytitle>uscan</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> nella directory " "<filename><replaceable>foo</replaceable>-<replaceable>oldversion</" "replaceable></filename> al posto del comando <command>uupdate</command>. " "Questo cercherà <emphasis>auto-magicamente</emphasis> i sorgenti corretti, " "li scaricherà ed eseguirà il comando <command>uupdate</command>. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can release this updated source by repeating what you did in <xref " "linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref linkend=" "\"upload\"/>." msgstr "" "Si possono rilasciare questi sorgenti aggiornati ripetendo ciò che si è " "fatto in <xref linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, ed " "<xref linkend=\"upload\"/>." #. type: Content of: <book><chapter><section><title> msgid "Updating the packaging style" msgstr "Aggiornare lo stile di pacchettizzazione" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If your sponsor or other maintainers object to updating the existing " "packaging style, don't bother arguing. There are more important things to " "do." msgstr "" "Se il proprio sponsor o altri manutentori non ritengono sia necessario " "aggiornare lo stile del pacchetto, allora non vale la pena perderci molto " "tempo. Ci sono cose più importanti da fare." #. type: Content of: <book><chapter><section><para> msgid "" "Updating the package style is not a required activity for the update of a " "package. However, doing so lets you use the full capabilities of the modern " "<systemitem role=\"package\">debhelper</systemitem> system and the " "<literal>3.0</literal> source format. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "L'aggiornamento dello stile del pacchetto non è una attività obbligatoria " "nel processo di aggiornamento di quest'ultimo. Tuttavia facendo ciò si può " "sfruttare appieno la capacità del moderno sistema <systemitem role=\"package" "\">debhelper</systemitem> ed il formato sorgente <literal>3.0</literal>. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you need to recreate deleted template files for any reason, you can run " "<command>dh_make</command> again in the same Debian package source tree with " "the <literal>--addmissing</literal> option. Then edit them appropriately." msgstr "" "Se per qualsiasi motivo c'è la necessità di aggiungere file di template " "cancellati, si può eseguire nuovamente il comando <command>dh_make</command> " "nella stessa directory del sorgente del pacchetto Debian con l'opzione " "<literal>--addmissing</literal>. Fatto questo si potrà modificarlo di " "conseguenza." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If the package has not been updated to use the <systemitem role=\"package" "\">debhelper</systemitem> v7+ <command>dh</command> syntax for the " "<filename>debian/rules</filename> file, update it to use <command>dh</" "command>. Update the <filename>debian/control</filename> file accordingly." msgstr "" "Se il pacchetto non è stato aggiornato per utilizzare la sintassi v7+ di " "<command>dh</command> del pacchetto <systemitem role=\"package\">debhelper</" "systemitem> per il file <filename>debian/rules</filename>, si deve " "effettuare un aggiornamento per poter usare <command>dh</command>. Si " "aggiorni di conseguenza anche il file <filename>debian/control</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you want to update the <filename>rules</filename> file created with the " "<filename>Makefile</filename> inclusion mechanism of the Common Debian Build " "System (<systemitem role=\"package\">cdbs</systemitem>) to the <command>dh</" "command> syntax, see the following to understand its <literal>DEB_*</" "literal> configuration variables." msgstr "" "Se si desidera aggiornare il file <filename>rules</filename> creato con il " "meccanismo di inclusione \"Common Debian Build System\" (<systemitem role=" "\"package\">cdbs</systemitem>) del <filename>Makefile</filename> con la " "sintassi <command>dh</command>, si veda più avanti per capire le variabili " "di configurazione <literal>DEB_*</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "local copy of <filename>&cdbs-doc;</filename>" msgstr "copia locale di <filename>&cdbs-doc;</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" msgstr "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package without the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (native)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(native)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied." msgstr "" "Se si ha un pacchetto sorgente nella versione <literal>1.0</literal> senza " "il file <filename><replaceable>foo</replaceable>.diff.gz</filename>, si può " "aggiornare al nuovo formato sorgente <literal>3.0 (native)</literal> creando " "il file <filename>debian/source/format</filename> contenente <literal>3.0 " "(native)</literal>. Gli altri file <filename>debian/*</filename> possono " "essere semplicemente copiati." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can split <filename>big.diff</filename> into many small incremental " "patches using the <command>splitdiff</command> command." msgstr "" "E' possibile dividere il file <filename>big.diff</filename> in tanti piccole " "patch incrementali utilizzando il comando <command>splitdiff</command>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package with the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (quilt)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(quilt)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied. Import the <filename>big.diff</filename> file generated by " "the command <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" "replaceable>.diff.gz > big.diff</literal> to your <command>quilt</" "command> system, if needed. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Se si ha un pacchetto sorgente nella versione <literal>1.0</literal> con il " "file <filename><replaceable>foo</replaceable>.diff.gz</filename>, si può " "aggiornare al nuovo formato sorgente <literal>3.0 (quilt)</literal> creando " "il file <filename>debian/source/format</filename> contenente <literal>3.0 " "(quilt)</literal>. Gli altri file <filename>debian/*</filename> possono " "essere semplicemente copiati. Se necessario, si importi il file " "<filename>big.diff</filename> generato dal comando <literal>filterdiff -z -x " "'*/debian/*' <replaceable>foo</replaceable>.diff.gz > big.diff</literal> " "nel sistema <command>quilt</command>.<placeholder type=\"footnote\" id=\"0\"/" ">" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged using another patch system such as <systemitem role=" "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" "systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " "<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, " "convert it to the <systemitem role=\"package\">quilt</systemitem> command " "using <filename>deb3</filename> at <ulink url=\"&deb3;\"/>." msgstr "" "Si nel pacchetto è stato utilizzato un altro sistema di patch come " "<systemitem role=\"package\">dpatch</systemitem>, <systemitem role=\"package" "\">dbs</systemitem>, o <systemitem role=\"package\">cdbs</systemitem> con " "<literal>-p0</literal>, <literal>-p1</literal>, o <literal>-p2</literal>, lo " "si può convertire con il comando <systemitem role=\"package\">quilt</" "systemitem> utilizzando <filename>deb3</filename> presente su <ulink url=" "\"&deb3;\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged with the <command>dh</command> command with the " "<literal>--with quilt</literal> option or with the <command>dh_quilt_patch</" "command> and <command>dh_quilt_unpatch</command> commands, remove these and " "make it use the newer <literal>3.0 (native)</literal> source format." msgstr "" "Se il pacchetto è stato creato con il comando <command>dh</command> con " "l'opzione <literal>--with quilt</literal> o con i comandi " "<command>dh_quilt_patch</command> e <command>dh_quilt_unpatch</command>, si " "rimuovano i file prodotti e li si sostituisca usando il nuovo formato dei " "sorgenti <literal>3.0 (native)</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "You should check <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> and adopt ACCEPTED proposals." msgstr "" "Bisogna controllare <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> e adottare le proposte ACCEPTED." #. type: Content of: <book><chapter><section><para> msgid "" "You need to do the other tasks described in <xref linkend=\"newupstream\"/>, " "too." msgstr "" "Ci sarà anche bisogno di eseguire ulteriori operazioni descritte in <xref " "linkend=\"newupstream\"/>." #. type: Content of: <book><chapter><section><title> msgid "UTF-8 conversion" msgstr "conversione UTF-8" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream documents are encoded in old encoding schemes, converting them " "to <ulink url=\"&utf8;\">UTF-8</ulink> is a good idea." msgstr "" "Se i documenti originali sono codificato con vecchi schemi di codifica, è " "buona norma convertirli in <ulink url=\"&utf8;\">UTF-8</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert encodings of plain text files." msgstr "" "Utilizzare <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> per convertire le codifiche dei file di testo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert from HTML files to UTF-8 plain text " "files. When you do this, make sure to execute it under UTF-8 locale." msgstr "" "Utilizzare <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> per convertire da file HTML a file di testo " "UTF-8. Ci si assicuri di utilizzarlo in un ambiente con localizzazione " "UTF-8." #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" #. type: Content of: <book><chapter><section><title> msgid "Reminders for updating packages" msgstr "Note per l'aggiornamento dei pacchetti" #. type: Content of: <book><chapter><section><para> msgid "Here are few reminders for updating packages." msgstr "Vengono qui presentate alcune note per l'aggiornamento dei pacchetti." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Preserve old <filename>changelog</filename> entries (sounds obvious, but " "there have been cases of people typing <literal>dch</literal> when they " "should have typed <literal>dch -i</literal>.)" msgstr "" "Si preservino le vecchie voci del <filename>changelog</filename> (sembra " "ovvio, ma a volte si sono verificati problemi per aver scritto <literal>dch</" "literal> mentre si sarebbe dovuto scrivere <literal>dch -i</literal>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Existing Debian changes need to be reevaluated; throw away stuff that " "upstream has incorporated (in one form or another) and remember to keep " "stuff that hasn't been incorporated by upstream, unless there is a " "compelling reason not to." msgstr "" "Cambiamenti preesistenti devono essere ricontrollati; si scarti tutto ciò " "che è stato incorporato in upstream (in una forma o nell'altra) e ci si " "ricordi di mantenere tutto quello che non è stato incorporato dall'upstream, " "a meno che non ci sia una buona ragione per non farlo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If any changes were made to the build system (hopefully you'd know from " "inspecting upstream changes) then update the <filename>debian/rules</" "filename> and <filename>debian/control</filename> build dependencies if " "necessary." msgstr "" "Se è stato fatto qualsiasi cambiamento nel sistema di costruzione del " "pacchetto (sperabilmente ce se ne renderà conto controllando i cambiamenti " "dall'originale) allora si aggiorni il file <filename>debian/rules</filename> " "e le dipendenze di <filename>debian/control</filename> se necessario." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> to " "see if someone has provided patches to bugs that are currently open." msgstr "" "Si controlli nel <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</" "ulink> se qualcuno ha reso disponibili delle patch ai bug che sono " "attualmente aperti." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the contents of the <filename>.changes</filename> file to make sure " "you are uploading to the correct distribution, the proper bug closures are " "listed in the <literal>Closes</literal> field, the <literal>Maintainer</" "literal> and <literal>Changed-By</literal> fields match, the file is GPG-" "signed, etc." msgstr "" "Si controlli il contenuto del file <filename>.changes</filename> per essere " "sicuri che si stia caricando per la distribuzione corretta, le risoluzioni " "ai bug vengono listate nel campo <literal>Closes</literal>, i campi " "<literal>Maintainer</literal> e <literal>Changed-By</literal> corrispondono, " "il file è firmato con GPG, ecc." #. type: Content of: <book><chapter><title> msgid "Uploading the package" msgstr "Caricamento del pacchetto" #. type: Content of: <book><chapter><para> msgid "" "Now that you have tested your new package thoroughly, you want to release it " "to a public archive to share it." msgstr "" "Una volta testato il nuovo pacchetto approfonditamente, si potrà rilasciarlo " "in un archivio pubblico per condividerlo." #. type: Content of: <book><chapter><section><title> msgid "Uploading to the Debian archive" msgstr "Caricamento nell'archivio Debian" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <xref linkend=\"socialdynamics\"/>." msgstr "Si veda <xref linkend=\"socialdynamics\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are publicly accessible archives such as <ulink url=\"&mentors-dn;\"/> " "which work almost the same way as the Debian archive and provide an upload " "area for non-DDs. You can set up an equivalent archive by yourself using " "the tools listed at <ulink url=\"&deb-archive;\"/>. So this section is " "useful for non-DDs, too." msgstr "" "Ci sono archivi accessibili al pubblico, come <ulink url=\"&mentors-dn;\"/> " "che lavorano quasi allo stesso modo dell'archivio Debian e forniscono una " "zona di caricamento per i non-DD. È possibile impostare, autonomamente, un " "archivio equivalente utilizzando gli strumenti elencati in <ulink url=\"&deb-" "archive;\"/> . Quindi questa sezione è utile per anche per i non-DD." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <systemitem role=\"package\">dput</systemitem> package seems to come " "with more features and to be becoming more popular than the <systemitem role=" "\"package\">dupload</systemitem> package. It uses the file <filename>/etc/" "dput</filename> for its global configuration and the file <filename>~/.dput." "cf</filename> for per-user configuration. It supports Ubuntu-related " "services out-of-the-box, too." msgstr "" "Il pacchetto <systemitem role=\"package\">dput</systemitem> sembra avere più " "funzionalità e sta divenendo più popolare del pacchetto <systemitem role=" "\"package\">dupload</systemitem>. Questo utilizza il file <filename>/etc/" "dput</filename> per la sua configurazione globale ed il file <filename>~/." "dput.cf</filename> per quella dei singoli utenti. Inoltre supporta " "nativamente anche i servizi relativi ad Ubuntu." #. type: Content of: <book><chapter><section><para> msgid "" "Once you become an official developer, <placeholder type=\"footnote\" id=" "\"0\"/> you can upload the package to the Debian archive. <placeholder type=" "\"footnote\" id=\"1\"/> You can do this manually, but it's easier to use the " "existing automated tools, like <citerefentry> <refentrytitle>dupload</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. We'll describe how it's done with <command>dupload</" "command>. <placeholder type=\"footnote\" id=\"2\"/>" msgstr "" "Una volta diventati sviluppatori ufficiali, <placeholder type=\"footnote\" " "id=\"0\"/> si dovrà caricare il pacchetto nell'archivio Debian. " "<placeholder type=\"footnote\" id=\"1\"/> Si potrebbe fare manualmente, ma è " "più semplice usare i tool automatici che vengono forniti, come " "<citerefentry> <refentrytitle>dupload</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> o <citerefentry> <refentrytitle>dput</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. Verrà qui " "descritto come tutto ciò può essere fatto utilizzando <command>dupload</" "command>. <placeholder type=\"footnote\" id=\"2\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "First you have to set up <command>dupload</command>'s config file. You can " "either edit the system-wide <filename>/etc/dupload.conf</filename> file, or " "have your own <filename>~/.dupload.conf</filename> file override the few " "things you want to change." msgstr "" "Innanzitutto andrà impostato il file di configurazione di <command>dupload</" "command>. Si può modificare il file <filename>/etc/dupload.conf</filename> " "per l'intero sistema, oppure far si che il file <filename>~/.dupload.conf</" "filename> sovrascriva le poche cose che si vogliono cambiare." #. type: Content of: <book><chapter><section><para> msgid "" "You can read the <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> manual page to understand what each " "of these options means." msgstr "" "Si legga la pagina del manuale <citerefentry> <refentrytitle>dupload.conf</" "refentrytitle> <manvolnum>5</manvolnum> </citerefentry> per capire cosa " "significhino tutte le opzioni." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. " "\"Uploading a package\"</ulink>." msgstr "" "Per maggiori informazioni, si consulti la <ulink url=\"&developers-reference;" "\">Guida di riferimento per lo sviluppatore 5.6. \"Uploading a package\"</" "ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>$default_host</literal> option determines which of the upload " "queues will be used by default. <literal>anonymous-ftp-master</literal> is " "the primary one, but it's possible that you will want to use another one. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "L'opzione <literal>$default_host</literal> determina quali tra le code di " "caricamento vengano utilizzate in modo predefinito. <literal>anonymous-ftp-" "master</literal> è quella primaria, ma è possibile utilizzarne anche altre. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "While connected to the Internet, you can upload your package as follows:" msgstr "" "Quando si è connessi ad Internet, si può caricare il proprio pacchetto con " "il comando:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dupload gentoo_0.9.12-1_i386.changes\n" msgstr "$ dupload gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dupload</command> checks that the SHA1/SHA256 file checksums match " "those listed in the <filename>.changes</filename> file. If they do not " "match, it will warn you to rebuild it as described in <xref linkend=" "\"completebuild\"/> so it can be properly uploaded." msgstr "" "<command>dupload</command> controlla che i checksum SHA1/SHA256 dei file " "corrispondano con quelli del file <filename>.changes</filename>. Se non " "dovessero corrispondere si verrà avvertiti di ricostruire il pacchetto come " "descritto in <xref linkend=\"completebuild\"/> per poi poterlo ricaricare." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&uploadqueue-readme;\"/>. Alternatively, you can use the " "<command>dcut</command> command from the <systemitem role=\"package\">dput</" "systemitem> package." msgstr "" "Si veda <ulink url=\"&uploadqueue-readme;\"/>. Alternativamente, si può " "utilizzare il comando <command>dcut</command> del pacchetto <systemitem role=" "\"package\">dput</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "If you encounter an upload problem at <ulink url=\"&uploadqueue;\"/>, you " "can fix this by manually uploading a GPG-signed <filename>*.commands</" "filename> file to there with <command>ftp</command>. <placeholder type=" "\"footnote\" id=\"0\"/> For example, using <filename>hello.commands</" "filename>:" msgstr "" "Se si incontrano problemi nel caricamento su <ulink url=\"&uploadqueue;\"/>, " "si può porre rimedio caricando automaticamente il file <filename>*.commands</" "filename> firmato con GPG via <command>ftp</command>. <placeholder type=" "\"footnote\" id=\"0\"/> Per esempio, si prenda il file <filename>hello." "commands</filename>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" msgstr "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" #. type: Content of: <book><chapter><section><title> msgid "Including <filename>orig.tar.gz</filename> for upload" msgstr "Includere <filename>orig.tar.gz</filename> per il caricamento." #. type: Content of: <book><chapter><section><para> msgid "" "When you first upload the package to the archive, you need to include the " "original <filename>orig.tar.gz</filename> source, too. If the Debian " "revision number of this package is neither <literal>1</literal> nor " "<literal>0</literal>, you must provide the <command>dpkg-buildpackage</" "command> option <literal>-sa</literal>." msgstr "" "Quando si carica per la prima volta il pacchetto nell'archivio, si deve " "includere il file dei sorgenti originali <filename>orig.tar.gz</filename>. " "Se il numero di revisione Debian del pacchetto non è <literal>1</literal> o " "<literal>0</literal>, si deve eseguire il comando <command>dpkg-" "buildpackage</command> con l'opzione <literal>-sa</literal>." #. type: Content of: <book><chapter><section><para> msgid "For the <command>dpkg-buildpackage</command> command:" msgstr "Per il comando <command>dpkg-buildpackage</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -sa\n" msgstr "$ dpkg-buildpackage -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>debuild</command> command:" msgstr "Per il comando <command>debuild</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -sa\n" msgstr "$ debuild -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>pdebuild</command> command:" msgstr "Per il comando <command>pdebuild</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts -sa\n" msgstr "$ pdebuild --debbuildopts -sa\n" #. type: Content of: <book><chapter><section><para> msgid "" "On the other hand, the <literal>-sd</literal> option will force the " "exclusion of the original <filename>orig.tar.gz</filename> source." msgstr "" "D'altra parte, l'opzione <literal>-sd</literal> forzerà l'esclusione del " "sorgente originale <filename>orig.tar.gz</filename>." #. type: Content of: <book><chapter><section><title> msgid "Skipped uploads" msgstr "Aggiornamenti scartati" #. type: Content of: <book><chapter><section><para> msgid "" "If you created multiple entries in <filename>debian/changelog</filename> by " "skipping uploads, you must create a proper <filename>*_.changes</filename> " "file which includes all changes from the last upload. This can be done by " "specifying the <command>dpkg-buildpackage</command> option <literal>-v</" "literal> with the version, e.g., <literal><replaceable>1.2</replaceable></" "literal>." msgstr "" "Se si creano più voci nel file <filename>debian/changelog</filename> " "tralasciando gli aggiornamenti, è necessario creare il file <filename>*_." "changes</filename> che include tutte le modifiche dall'ultimo caricamento. " "Questo può essere fatto specificando, al comando <command>dpkg-buildpackage</" "command>, l'opzione <literal>-v</literal> con la versione, ad esempio " "<literal><replaceable>1.2</replaceable></literal>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" msgstr "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -v<replaceable>1.2</replaceable>\n" msgstr "$ debuild -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" msgstr "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" #. type: Content of: <book><appendix><title> msgid "Advanced packaging" msgstr "Pacchettizzazione avanzata" #. type: Content of: <book><appendix><para> msgid "" "Here are some hints and pointers for advanced packaging topics which you are " "most likely to deal with. You are strongly advised to read all the " "references suggested here." msgstr "" "Sono qui riportati alcuni suggerimenti e riferimenti sulle cose più comuni " "riguardanti la pacchettizzazione avanzata. Si consiglia vivamente di leggere " "tutti i riferimenti qui riportati." #. type: Content of: <book><appendix><section><title> msgid "Shared libraries" msgstr "Librerie condivise" #. type: Content of: <book><appendix><section><para> msgid "" "Before packaging shared <ulink url=\"&library;\">libraries</ulink>, you " "should read the following primary references in detail." msgstr "" "Prima di pacchettizzare una <ulink url=\"&library;\">libreria</ulink> " "condivisa, si dovrebbero leggere attentamente i seguenti riferimenti " "principali." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" msgstr "" "<ulink url=\"&policy-sharedlibraries;\">Manuale delle policy di Debian, 8 " "\"Shared libraries\"</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" msgstr "" "<ulink url=\"&policy-fhs;\">Manuale delle policy di Debian, 9.1.1 \"File " "System Structure\"</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" msgstr "" "<ulink url=\"&policy-libraries;\">Manuale delle policy di Debian, 10.2 " "\"Libraries\"</ulink>" #. type: Content of: <book><appendix><section><para> msgid "Here are some oversimplified hints for you to get started." msgstr "Di seguito alcuni semplici suggerimenti per iniziare." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are <ulink url=\"&elf;\">ELF</ulink> object files " "containing compiled code." msgstr "" "Le librerie condivise sono file oggetto <ulink url=\"&elf;\">ELF</ulink> che " "contengono del codice compilato." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are distributed as <filename>*.so</filename> files. " "(Neither <filename>*.a</filename> files nor <filename>*.la</filename> files)" msgstr "" "Le librerie condivise sono distribuite come file <filename>*.so</filename>. " "(Né come file <filename>*.a</filename> né come file <filename>*.la</" "filename>)" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are mainly used to share common codes among multiple " "executables with the <command>ld</command> mechanism." msgstr "" "Le librerie condivise sono utilizzate principalmente per condividere codice " "tra più eseguibili, utilizzando il sistema <command>ld</command>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are sometimes used to provide multiple plugins to an " "executable with the <command>dlopen</command> mechanism." msgstr "" "Le librerie condivise sono a volte utilizzate per fornire plugin a più di un " "file eseguibile con il sistema <command>dlopen</command>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries export <ulink url=\"&symbol;\">symbols</ulink> which " "represent compiled objects such as variables, functions, and classes; and " "enables access to them from the linked executables." msgstr "" "Le librerie condivise esportano i <ulink url=\"&symbol;\">symbols</ulink> " "che rappresentano gli oggetti compilati, come le variabili, le funzioni e le " "classi; e consentono l'accesso ad essi dagli eseguibili collegati." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" msgstr "" "In alternativa: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&soname;\">SONAME</ulink> of a shared library " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Il <ulink url=\"&soname;\">SONAME</ulink> di una libreria condivisa " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of a shared library usually matches the library file name (but " "not always)." msgstr "" "Il SONAME di una libreria condivisa di solito corrisponde al nome del file " "della libreria (ma non sempre)." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" msgstr "" "In alternativa: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of shared libraries linked to <filename><replaceable>/usr/bin/" "foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/foo</" "replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "Il SONAME delle librerie condivise collegate a <filename><replaceable>/usr/" "bin/foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/" "foo</replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time " "shared libraries\"</ulink>." msgstr "" "See <ulink url=\"&policy-runtime;\">Manuale delle policy di Debian, 8.1 " "\"Run-time shared libraries\"</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: the library package " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> with the SONAME ABI version " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: il pacchetto libreria " "per la libreria condivisa <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> con la versione SONAME ABI " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig" "\"</ulink>." msgstr "" "See <ulink url=\"&policy-ldconfig;\">Manuale delle policy di Debian, 8.1.1 " "\"ldconfig\"</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The package maintainer scripts of the library package must call " "<command>ldconfig</command> under the specific circumstances to create the " "necessary symbolic links for the SONAME.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Gli script dei maintainer riguardanti i pacchetti libreria devono richiamare " "<command>ldconfig</command> in circostanze specifiche per creare i necessari " "collegamenti simbolici per SONAME.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: the debugging " "symbols package which contains the debugging symbols for the shared library " "package <systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>." msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: i pacchetti di " "simboli di debugging che contengono i simboli di debugging symbols per il " "pacchetto della libreria condivisa <systemitem role=\"package" "\">lib<replaceable>foo</replaceable><replaceable>1</replaceable></" "systemitem>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> and <ulink url=\"&policy-dev;\">Debian Policy Manual, " "8.4 \"Development files\"</ulink>." msgstr "" "See <ulink url=\"&policy-static;\">Manuale delle policy di Debian, 8.3 " "\"Static libraries\"</ulink> e <ulink url=\"&policy-dev;\">Manuale delle " "policy di Debian, 8.4 \"Development files\"</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: the development package which contains the header files etc. " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: il pacchetto di sviluppo che contiene i file header etc, per la " "libreria condivisa <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink>." msgstr "" "Si veda <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</" "ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not contain <filename>*.la</filename> Libtool archive " "files in general.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Un pacchetto Debian, di norma, non deve contenere file di archivi Libtool " "<filename>*.la</filename>.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "See <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." msgstr "Si veda <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not use RPATH in general.<placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Un pacchetto Debian, di norma, non deve usare RPATH.<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Although it is somewhat outdated and is only a secondary reference, <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "may still be useful." msgstr "" "Anche se un po' datato, ed è solo un riferimento secondario, <ulink url=" "\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> può " "ancora essere utile." #. type: Content of: <book><appendix><section><title> msgid "" "Managing <filename>debian/<replaceable>package</replaceable>.symbols</" "filename>" msgstr "" "Gestire <filename>debian/<replaceable>package</replaceable>.symbols</" "filename>" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Backward-incompatible ABI changes normally require you to update the SONAME " "of the library and the shared library package name to new ones." msgstr "" "Le modifiche ABI incompatibili con le versioni precedenti, normalmente " "rendono necessario aggiornare il SONAME della libreria e il nome del " "pacchetto della libreria condivisa a quelli nuovi." #. type: Content of: <book><appendix><section><para> msgid "" "When you package a shared library, you should create <filename>debian/" "<replaceable>package</replaceable>.symbols</filename> file to manage the " "minimal version associated to each symbol for backward-compatible ABI " "changes under the same SONAME of the library for the same shared library " "package name.<placeholder type=\"footnote\" id=\"0\"/> You should read the " "following primary references in detail." msgstr "" "Quando si pacchettizza una libreria condivisa, si deve creare il file " "<filename>debian/<replaceable>package</replaceable>.symbols</filename> per " "gestire la versione minima associata ad ogni simbolo per le modifiche ABI " "incompatibili con le versioni precedenti, utilizzando lo stesso SONAME della " "libreria per lo stesso nome del pacchetto della libreria condivisa." "<placeholder type=\"footnote\" id=\"0\"/> Si dovrebbero leggere, con " "attenzione, i seguenti riferimenti." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "For C++ libraries and other cases where tracking individual symbols is too " "difficult, follow <ulink url=\"&policy-library-shlibs;\">Debian Policy " "Manual, 8.6.4 \"The shlibs system\"</ulink>, instead." msgstr "" "Per le librerie C++ e per gli altri casi in cui il tracciamento dei singoli " "simboli è troppo difficile, si consulti invece <ulink url=\"&policy-library-" "shlibs;\">Manuale delle policy di Debian, 8.6.4 \"The shlibs system\"</" "ulink>, instead." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&policy-library-symbols;\">Manuale delle policy di Debian, " "8.6.3 \"The symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><para> msgid "" "Here is a rough example to create the <systemitem role=\"package\">libfoo1</" "systemitem> package to the upstream version <literal>1.3</literal> with the " "proper <filename>debian/libfoo1.symbols</filename> file." msgstr "" "Di seguito un esempio di massima, per creare il pacchetto <systemitem role=" "\"package\">libfoo1</systemitem> alla versione originale (upstream) " "<literal>1.3</literal> con il file <filename>debian/libfoo1.symbols</" "filename> corretto." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Prepare the skeleton debianized source tree using the upstream " "<filename>libfoo-1.3.tar.gz</filename> file." msgstr "" "Preparare lo scheletro dell'albero del sorgente debianizzato utilizzando il " "file originale <filename>libfoo-1.3.tar.gz</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If this is the first packaging of the <systemitem role=\"package\">libfoo1</" "systemitem> package, create the <filename>debian/libfoo1.symbols</filename> " "file with empty content." msgstr "" "Se è il primo pacchetto per <systemitem role=\"package\">libfoo1</" "systemitem>, bisogna creare il file vuoto <filename>debian/libfoo1.symbols</" "filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was packaged as the " "<systemitem role=\"package\">libfoo1</systemitem> package with the proper " "<filename>debian/libfoo1.symbols</filename> in its source package, use it " "again." msgstr "" "Se la versione originale (upstream) precedente <literal>1.2</literal> è " "stata pacchettizzata come <systemitem role=\"package\">libfoo1</systemitem> " "con il file <filename>debian/libfoo1.symbols</filename> nei propri sorgenti " "del pacchetto, lo si utilizzi." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "All previous versions of Debian packages are available at <ulink url=" "\"&snapshot;\">http://snapshot.debian.org/</ulink>. The Debian revision is " "dropped from the version to make it easier to backport the package: " "<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " "<literal>1.1-1</literal> and <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" msgstr "" "Tutte la versioni precedenti del pacchetto Debian packages sono disponibili " "su <ulink url=\"&snapshot;\">http://snapshot.debian.org/</ulink>. La " "revisione Debian viene eliminata dalla versione per rendere più facile il " "backport del pacchetto: <literal>1.1</literal> << " "<literal>1.1-1~bpo70+1</literal> << <literal>1.1-1</literal> and " "<literal>1.2</literal> << <literal>1.2-1~bpo70+1</literal> << " "<literal>1.2-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was not packaged " "with the <filename>debian/libfoo1.symbols</filename>, create it as the " "<filename>symbols</filename> file from all available binary packages of the " "same shared library package name containing the same SONAME of the library, " "for example, versions <literal>1.1-1</literal> and <literal>1.2-1</" "literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Se la versione originale (upstream) precedente <literal>1.2</literal> non è " "stata pacchettizzata con il file <filename>debian/libfoo1.symbols</" "filename>, è necessario creare il file <filename>symbols</filename> per " "tutti i pacchetti binari disponibili con lo stesso nome del pacchetto della " "libreria condivisa che contiene lo stesso SONAME della libreria, ad esempio, " "le versioni <literal>1.1-1</literal> e <literal>1.2-1</literal>. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" msgstr "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Make trial builds of the source tree with tools such as <command>debuild</" "command> and <command>pdebuild</command>. (If this fails due to missing " "symbols etc., there were some backward-incompatible ABI changes which " "require you to bump the shared library package name to something like " "<systemitem role=\"package\">libfoo1a</systemitem> and you should start over " "again.)" msgstr "" "È possibile provare a costruire l'albero dei sorgenti utilizzando dei " "programmi come <command>debuild</command> e <command>pdebuild</command>. " "(Se questo non riesce a causa della mancanza di simboli, ecc, ci sono stati " "dei cambiamenti ABI incompatibili con le versioni precedenti, che richiedono " "di cambiare il nome del pacchetto della libreria condivisa a qualcosa di " "simile <systemitem role=\"package\">libfoo1a</systemitem> e si dovrebbe " "ricominciare di nuovo da capo.)" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" msgstr "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "The Debian revision is dropped from the version to make it easier to " "backport the package: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" msgstr "" "La revisione Debian viene eliminata dalla versione per rendere più facile il " "backport del pacchetto: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "If you see the diff printed by the <command>dpkg-gensymbols</command> as " "above, extract the updated proper <filename>symbols</filename> file from the " "generated binary package of the shared library. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Se si vede il diff stampato da <command>dpkg-gensymbols</command> qui sopra, " "bisogna estrarre i file <filename>symbols</filename> aggiornati " "correttamente dal pacchetto binario generato dalla libreria condivisa. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" msgstr "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Build release packages with tools such as <command>debuild</command> and " "<command>pdebuild</command>." msgstr "" "Costruire la release dei pacchetti con programmi come <command>debuild</" "command> e <command>pdebuild</command>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" msgstr "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 \"Shared " "library ABI changes\"</ulink>." msgstr "" "Si veda <ulink url=\"&policy-library-abi;\">Manuale delle policy di Debian, " "8.6.2 \"Shared library ABI changes\"</ulink>." #. type: Content of: <book><appendix><section><para> msgid "" "In addition to the above examples, we need to check the ABI compatibility " "further and bump versions for some symbols manually as needed. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "In aggiunta agli esempi sopra riportati, è necessario controllare " "ulteriormente la compatibilità ABI e cambiare le versioni di qualche simbolo " "manualmente come richiesto. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><para> msgid "" "Although it is only a secondary reference, <ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> and its linked web pages may be " "useful." msgstr "" "Anche se è solo un riferimento secondario,, <ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> e i suoi collegamenti possono " "essere utili." #. type: Content of: <book><appendix><section><title> msgid "Multiarch" msgstr "Multiarch" #. type: Content of: <book><appendix><section><para> msgid "" "The multiarch feature introduced to Debian wheezy integrates support for " "cross-architecture installation of binary packages (particularly " "<literal>i386</literal><-><literal>amd64</literal>, but also other " "combinations) in <systemitem role=\"package\">dpkg</systemitem> and " "<systemitem role=\"package\">apt</systemitem>. You should read the " "following references in detail." msgstr "" "La funzionalità multiarch introdotta in Debian wheezy integra il supporto " "per l'installazione dei pacchetti binari cross-architettura (in particolare " "<literal>i386</literal><-><literal>amd64</literal>, ma anche altre " "combinazioni) in <systemitem role=\"package\">dpkg</systemitem> e " "<systemitem role=\"package\">apt</systemitem>. Si consiglia di leggere " "attentamente i seguenti riferimenti." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (upstream)" msgstr "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (upstream)" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian situation)" msgstr "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian situation)" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Old special purpose library paths such as <filename>/lib32/</filename> and " "<filename>/lib64/</filename> are not used any more." msgstr "" "Vecchi percorsi di libreria, per scopi speciali, come <filename>/lib32/</" "filename> and <filename>/lib64/</filename> non sono più utilizzati." #. type: Content of: <book><appendix><section><para> msgid "" "It uses the triplet such as <literal>i386-linux-gnu</literal> and " "<literal>x86_64-linux-gnu</literal> for the install path of shared " "libraries. The actual triplet path is dynamically set into <literal>" "$(DEB_HOST_MULTIARCH)</literal> value by <citerefentry> <refentrytitle>dpkg-" "architecture</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for " "each build. For example, the path to install multiarch libraries are " "changed as follows.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Esso utilizza la tripletta come <literal>i386-linux-gnu</literal> e " "<literal>x86_64-linux-gnu</literal> per il percorso d'installazione delle " "librerie condivise. La tripletta del percorso reale è impostata con il " "valore dinamico <literal>$(DEB_HOST_MULTIARCH)</literal> da <citerefentry> " "<refentrytitle>dpkg-architecture</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> per ogni costruzione. Ad esempio, il percorso per installare " "le librerie multiarch viene modificato come segue.<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Old path" msgstr "Vecchio percorso" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "i386 multiarch path" msgstr "percorso i386 multiarch" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "amd64 multiarch path" msgstr "percorso amd64 multiarch" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/</filename>" msgstr "<filename>/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/i386-linux-gnu/</filename>" msgstr "<filename>/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/</filename>" msgstr "<filename>/usr/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/i386-linux-gnu/</filename>" msgstr "<filename>/usr/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/usr/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><para> msgid "" "Here are some typical multiarch package split scenario examples for the " "followings:" msgstr "" "Qui di seguito alcuni esempi tipici di pacchetti multiarch divisi per " "scenario:" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a library source <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" msgstr "" "sorgente di libreria <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>bar</replaceable>-1.tar.gz</filename> " "written in a compiled language" msgstr "" "sorgente di programma <filename><replaceable>bar</replaceable>-1.tar.gz</" "filename> scritto con un linguaggio compilato" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>baz</replaceable>-1.tar.gz</filename> " "written in an interpreted language" msgstr "" "sorgente di programma <filename><replaceable>baz</replaceable>-1.tar.gz</" "filename> scritto con un linguaggio interpretato" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package" msgstr "Pacchetto" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Architecture:" msgstr "Architettura:" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Multi-Arch:" msgstr "Multi-Arch:" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package content" msgstr "Contenuto del pacchetto" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "any" msgstr "qualsiasi" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "same" msgstr "uguale" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library, co-installable" msgstr "la libreria condivisa, co-installabile" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library debug symbols, co-installable" msgstr "i simboli di debug della libreira condivisa, co-installabile" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library header files etc., co-installable" msgstr "i file di header, ecc, della libreira condivisa, co-installabile" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "foreign" msgstr "straniero" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the run-time support programs, not co-installable" msgstr "il programma di supporto run-time, non co-installabile" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "all" msgstr "tutti" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library documentation files" msgstr "i file di documentazione della libreria condivisa" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the compiled program files, not co-installable" msgstr "i file del programma compilato, non co-installabile" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the documentation files for the program" msgstr "i file di documentazione del programma" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the interpreted program files" msgstr "i file del programma interpretato" #. type: Content of: <book><appendix><section><para> msgid "" "Please note that the development package should contain a symlink for the " "associated shared library <emphasis role=\"strong\">without a version " "number</emphasis>. E.g.: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</" "filename> -> <filename>libfoo.so.1</filename>" msgstr "" "Si prega di notare che il pacchetto di sviluppo dovrebbe contenere un link " "simbolico per la libreria condivisa associata <emphasis role=\"strong" "\">senza un numero di versione</emphasis>. Ad es.: <filename>/usr/lib/" "x86_64-linux-gnu/libfoo.so</filename> -> <filename>libfoo.so.1</filename>" #. type: Content of: <book><appendix><section><title> msgid "Building a shared library package" msgstr "Costruzione del pacchetto della libreria condivisa" #. type: Content of: <book><appendix><section><para> msgid "" "You can build a Debian library package enabling the multiarch support using " "<citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> as follows." msgstr "" "Si può costruire il pacchetto Debian delle libreria, abilitando il supporto " "multiarch utilizzando <citerefentry> <refentrytitle>dh</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> come di seguito." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Update <filename>debian/control</filename>." msgstr "Aggiornare <filename>debian/control</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Build-Depends: debhelper (>=9)</literal> for the source package " "section." msgstr "" "Aggiungere <literal>Build-Depends: debhelper (>=9)</literal> per la sezione " "del sorgente del pacchetto." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Pre-Depends: ${misc:Pre-Depends}</literal> for each shared " "library binary package." msgstr "" "Aggiungere <literal>Pre-Depends: ${misc:Pre-Depends}</literal> per ogni " "pacchetto binario di una libreria condivisa." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Multi-Arch:</literal> stanza for each binary package section." msgstr "" "Aggiungere <literal>Multi-Arch:</literal> per ogni sezione del pacchetto " "binario." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Set <filename>debian/compat</filename> to \"9\"." msgstr "Impostare <filename>debian/compat</filename> a \"9\"." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Adjust the path from the normal <literal>/usr/lib/</literal> to the " "multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> for all " "packaging scripts." msgstr "" "Regolare il percorso dal normale <literal>/usr/lib/</literal> a quello " "multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> per tutti gli " "script di pacchettizzazione." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Call <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> in <filename>debian/rules</filename> to set " "<literal>DEB_HOST_MULTIARCH</literal> variable, first." msgstr "" "Invocare <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> nel file <filename>debian/rules</filename> " "per impostare la variabile <literal>DEB_HOST_MULTIARCH</literal>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace <literal>/usr/lib/</literal> with <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> in <filename>debian/rules</filename>." msgstr "" "Sostituire <literal>/usr/lib/</literal> con <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> nel file <filename>debian/rules</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively, you can add <literal>--libdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> and <literal>--libexecdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> arguments to <literal>./configure</" "literal>. Please note that <literal>--libexecdir</literal> specifies the " "default path to install executable programs run by other programs rather " "than by users. Its Autotools default is <filename>/usr/libexec/</filename> " "but its Debian default is <filename>/usr/lib/</filename>." msgstr "" "In alternativa, si possono aggiungere gli argomenti <literal>--libdir=\\$" "${prefix}/lib/$(DEB_HOST_MULTIARCH)</literal> e <literal>--libexecdir=\\$" "${prefix}/lib/$(DEB_HOST_MULTIARCH)</literal> a <literal>./configure</" "literal>. Si noti che <literal>--libexecdir</literal> indica il percorso " "predefinito d'installazione dei programmi eseguibili gestiti da altri " "programmi e non dagli utenti. Il percorso predefinito di Autotools è " "<filename>/usr/libexec/</filename> mentre quello di Debian è <filename>/usr/" "lib/</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If <literal>./configure</literal> is used in the part of " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>, make sure to replace it with <literal>dh_auto_configure -- " "</literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Se <literal>./configure</literal> viene utilizzato nella parte target di " "<literal>override_dh_auto_configure</literal> in <filename>debian/rules</" "filename>, ci si assicuri di sostituirlo con <literal>dh_auto_configure -- </" "literal>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace all occurrences of <literal>/usr/lib/</literal> with <literal>/usr/" "lib/*/</literal> in <filename>debian/<replaceable>foo</replaceable>.install</" "filename> files." msgstr "" "Sostituire tutte le occorrenze di <literal>/usr/lib/</literal> con <literal>/" "usr/lib/*/</literal> nei file <filename>debian/<replaceable>foo</" "replaceable>.install</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Generate files like <filename>debian/<replaceable>foo</replaceable>.links</" "filename> from <filename>debian/<replaceable>foo</replaceable>.links.in</" "filename> dynamically by adding a script to " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>." msgstr "" "Genera dinamicamente dei file come <filename>debian/<replaceable>foo</" "replaceable>.links</filename> da <filename>debian/<replaceable>foo</" "replaceable>.links.in</filename> aggiungendo un script al target di " "<literal>override_dh_auto_configure</literal> in <filename>debian/rules</" "filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" #. type: Content of: <book><appendix><section><para> msgid "" "Please make sure to verify that the shared library package contains only the " "expected files, and that your -dev package still works." msgstr "" "Ci si assicuri di verificare che il pacchetto di libreria condivisa contenga " "solo i file attesi, e che il pacchetto -dev continui a funzionare." #. type: Content of: <book><appendix><section><para> msgid "" "All files installed simultaneously as the multiarch package to the same file " "path should have exactly the same file content. You must be careful on " "differences generated by the data byte order and by the compression " "algorithm." msgstr "" "Tutti i file installati contemporaneamente come pacchetto multiarch con lo " "stesso percorso del file devono avere esattamente lo stesso contenuto. È " "necessario prestare attenzione alle differenze generate dall'ordine dei byte " "nei dati e dall'algoritmo di compressione." �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/de.tex������������������������������������������������������������������������0000644�0000000�0000000�00000002135�12256550103�012420� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������% you need to pre-render non-ASCII characters \hyphenation{apt-file Sarge sarge uname up-grade Project Debian Documentation LXDE Initrd Initrds aptitude stable Stable Identifier deborphan debfoster % sich-erstellen ist nicht optimal (ebenso wie Urin-stinkt) :-) Ice-weasel In-stal-la-ti-ons-me-tho-den bie-ten graph-ischen sicher-stel-len Ver-sions-num-mern Netz-werk-ver-bindung ge-startet ver-altete squeeze Squeeze Lenny lenny Wheezy wheezy ent-hält mo-di-fi-zie-ren ge-spei-chert wei-te-re Pidgin Ein-stel-lung-en Ak-tua-li-sie-rung ak-tua-li-sie-ren-den ak-tua-li-sie-ren Ent-hal-ten Ver-öf-fent-li-chung-en gleich-zei-tig Ver-öf-fent-li-chung ent-we-der be-kann-ten em-pfoh-len re-pa-rie-ren Dien-ste exis-tie-ren-de Be-dien-er-ein-ga-be ach-ten müs-sen ge-gen-sei-ti-ger Än-de-run-gen Ge-ne-ra-tion er-folg-reich ir-gend-eines funk-tio-nie-ren funk-tio-niert Funk-tio-na-li-tät Funk-tio-na-li-tä-ten Lis-ten-ar-chi-ven Re-fe-renz-do-ku-men-ta-tion be-stimm-ten möch-ten glei-che reich-hal-ti-ge in-te-res-siert letz-te % Eigennamen Christian Giovanni Rapagnani Meurer Mühlenhoff McIntyre Kreutzmann} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/templates.pot�����������������������������������������������������������������0000644�0000000�0000000�00001157274�12262517727�014064� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2014-01-06 00:00+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: Attribute 'lang' of: <book> msgid "en" msgstr "" #. type: Content of: <book><title> msgid "Debian New Maintainers' Guide" msgstr "" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Josip Rodin" msgstr "" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "joy-mg@debian.org" msgstr "" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "original contents" msgstr "" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Osamu Aoki" msgstr "" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "osamu@debian.org" msgstr "" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "updated contents" msgstr "" #. type: Content of: <book><bookinfo><releaseinfo> msgid "version &docversion;" msgstr "" #. type: Content of: <book><bookinfo> msgid "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" msgstr "" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "" "This document may be used under the terms the GNU General Public License " "version 2 or higher." msgstr "" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "This document was made using these two documents as examples:" msgstr "" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." msgstr "" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." msgstr "" #. type: Content of: <book><chapter><title> msgid "Getting started The Right Way" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "This document tries to describe the building of a Debian package to ordinary " "Debian users and prospective developers. It uses fairly non-technical " "language, and it's well covered with working examples. There is an old " "Latin saying: <emphasis>Longum iter est per praecepta, breve et efficax per " "exempla</emphasis> (It's a long way by the rules, but short and efficient " "with examples)." msgstr "" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "The document assumes you are using a <literal>&base-release;</literal> or " "newer system. If you need to follow this text in an older system (including " "an older Ubuntu system etc.), you must install backported <systemitem role=" "\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</" "systemitem> packages, at least." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "This document has been updated for the Debian <literal>&base-release;</" "literal> release. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "You can learn about the basic handling of a Debian system from the <ulink " "url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to " "learn about Unix programming, too." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "One of the things that makes Debian such a top-notch distribution is its " "package system. While there is a vast quantity of software already in the " "Debian format, sometimes you need to install software that isn't. You may " "be wondering how you can make your own packages; and perhaps you think it is " "a very difficult task. Well, if you are a real novice on Linux, it is hard, " "but if you were a rookie, you wouldn't be reading this document " "now :-) You do need to know a little about Unix programming but you " "certainly don't need to be a wizard. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "One thing is certain, though: to properly create and maintain Debian " "packages takes many hours. Make no mistake, for our system to work the " "maintainers need to be both technically competent and diligent." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "If you need some help on packaging, please read <xref linkend=\"helpme\"/>." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Newer versions of this document should always be available online at <ulink " "url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</" "systemitem> package. The translations may be available in packages such as " "<systemitem role=\"package\">maint-guide-es</systemitem>. Please note that " "this documentation may be slightly outdated." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Since this is a tutorial, I choose to explain each detailed step for some " "important topics. Some of them may look irrelevant to you. Please be " "patient. I have also intentionally skipped some corner cases and provided " "only pointers to keep this document simple." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Social dynamics of Debian" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here are some observations of Debian's social dynamics, presented in the " "hope that it will prepare you for interactions with Debian." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "We all are volunteers." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You cannot impose on others what to do." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be motivated to do things by yourself." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Friendly cooperation is the driving force." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution should not overstrain others." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution is valuable only when others appreciate it." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Debian is not your school where you get automatic attention of teachers." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be able to learn many things by yourself." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Attention from other volunteers is a very scarce resource." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Debian is constantly improving." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You are expected to make high quality packages." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should adapt yourself to change." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "There are several types of people interacting around Debian with different " "roles." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream author</emphasis>: the person who made " "the original program." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who " "currently maintains the program." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">maintainer</emphasis>: the person making the " "Debian package of the program." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">sponsor</emphasis>: a person who helps maintainers " "to upload packages to the official Debian package archive (after checking " "their contents)." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">mentor</emphasis>: a person who helps novice " "maintainers with packaging etc." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): a member of the " "Debian project with full upload rights to the official Debian package " "archive." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): a person with " "limited upload rights to the official Debian package archive." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you cannot become an official <emphasis role=\"strong" "\">Debian Developer</emphasis> (DD) overnight, because it takes more than " "technical skill. Please do not be discouraged by this. If it is useful to " "others, you can still upload your package either as a <emphasis role=\"strong" "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</" "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you do not need to create any new package to become an " "official Debian Developer. Contributing to the existing packages can " "provide a path to becoming an official Debian Developer too. There are many " "packages waiting for good maintainers (see <xref linkend=\"choose\"/>)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Since we focus only on technical aspects of packaging in this document, " "please refer to the following to learn how Debian functions and how you can " "get involved." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (Introductory slides)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "\"Contributing to the Debian Project\"</ulink> (semi-official)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " "(supplemental)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (official)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Programs needed for development" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Before you start anything, you should make sure that you have properly " "installed some additional packages needed for development. Note that the " "list doesn't contain any packages marked <literal>essential</literal> or " "<literal>required</literal> - we expect that you have those installed " "already." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The following packages come with the standard Debian installation, so you " "probably have them already (along with any additional packages they depend " "on). Still, you should check it with <literal>aptitude show " "<replaceable>package</replaceable></literal> or with <literal>dpkg -s " "<replaceable>package</replaceable></literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The most important package to install on your development system is the " "<systemitem role=\"package\">build-essential</systemitem> package. Once you " "try to install that, it will <emphasis>pull in</emphasis> other packages " "required to have a basic build environment." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For some types of packages, that is all you will require; however, there is " "another set of packages that while not essential for all package builds are " "useful to have installed or may be required by your package:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem>, and <systemitem role=\"package" "\">autotools-dev</systemitem> - many newer programs use configure scripts " "and <filename>Makefile</filename> files preprocessed with the help of " "programs like these (see <literal>info autoconf</literal>, <literal>info " "automake</literal>). <systemitem role=\"package\">autotools-dev</" "systemitem> keeps up-to-date versions of certain auto files and has " "documentation about the best way to use those files." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "There are also some more specialized but similar packages such as " "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" "\"package\">dh-make-php</systemitem>, etc." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debhelper</systemitem> and <systemitem role=" "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> is necessary to create the skeleton of our example package, and " "it will use some of the <systemitem role=\"package\">debhelper</systemitem> " "tools for creating packages. They are not essential for this purpose, but " "are <emphasis>highly</emphasis> recommended for new maintainers. It makes " "the whole process very much easier to start, and to control afterwards. " "(See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">devscripts</systemitem> - this package contains " "some useful scripts that can be helpful for maintainers, but they are also " "not necessary for building packages. Packages recommended and suggested by " "this package are worth looking into. (See <filename>&devscripts-readme;</" "filename>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you " "emulate being root which is necessary for some parts of the build process. " "(See <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">file</systemitem> - this handy program can " "determine what type a file is. (See <citerefentry> <refentrytitle>file</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " "compiler, necessary if your program is written in Fortran. (See " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git</systemitem> - this package provides a " "popular version control system designed to handle very large projects with " "speed and efficiency; it is used for many high profile open source projects, " "most notably the Linux kernel. (See <citerefentry> <refentrytitle>git</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, git Manual " "(<filename>&git-doc;</filename>).)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to " "digitally <emphasis>sign</emphasis> packages. This is especially important " "if you want to distribute it to other people, and you will certainly be " "doing that when your work gets included in the Debian distribution. (See " "<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " "necessary if your program is written in Pascal. Worthy of note here is " "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " "Compiler, which is also good at this task. (See <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lintian</systemitem> - this is the Debian " "package checker, which can let you know of any common mistakes after you " "build the package, and explains the errors found. (See <citerefentry> " "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patch</systemitem> - this very useful utility " "will take a file containing a difference listing (produced by the " "<command>diff</command> program) and apply it to the original file, " "producing a patched version. (See <citerefentry> <refentrytitle>patch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patchutils</systemitem> - this package contains " "some utilities to work with patches such as the <command>lsdiff</command>, " "<command>interdiff</command> and <command>filterdiff</command> commands." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">pbuilder</systemitem> - this package contains " "programs which are used for creating and maintaining <command>chroot</" "command> environment. Building Debian package in this <command>chroot</" "command> environment verifies the proper build dependency and avoid FTBFS " "(Fails To Build From Source) bugs. (see <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">perl</systemitem> - Perl is one of the most " "used interpreted scripting languages on today's Unix-like systems, often " "referred to as Unix's Swiss Army Chainsaw. (See <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">python</systemitem> - Python is another of the " "most used interpreted scripting languages on the Debian system, combining " "remarkable power with very clear syntax. (See <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">quilt</systemitem> - this package helps you to " "manage large numbers of patches by keeping track of the changes each patch " "makes. Patches can be applied, un-applied, refreshed, and more. (See " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum></citerefentry>, and <filename>&quilt-pdf;</filename>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " "usually those made for X11, also use these programs to generate " "<filename>Makefile</filename> files from sets of macro functions. (See " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The short descriptions that are given above only serve to introduce you to " "what each package does. Before continuing please read the documentation of " "each relevant program including ones installed through the package " "dependency such as <command>make</command>, at least, for the standard " "usage. It may seem like heavy going now, but later on you'll be " "<emphasis>very</emphasis> glad you read it. If you have specific questions " "later, I would suggest re-reading the documents mentioned above." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Documentation needed for development" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>very important</emphasis> documentation which " "you should read along with this document:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " "the structure and contents of the Debian archive, several OS design issues, " "the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which " "says where each file and directory should be), etc. For you, the most " "important thing is that it describes requirements that each package must " "satisfy to be included in the distribution. (See the local copies of " "<filename>&policy-pdf;</filename> and <filename>&fhs-pdf;</filename>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">developers-reference</systemitem> - the <ulink " "url=\"&developers-reference;\">Debian Developer's Reference</ulink> " "describes all matters not specifically about the technical details of " "packaging, like the structure of the archive, how to rename, orphan, or " "adopt packages, how to do NMUs, how to manage bugs, best packaging " "practices, when and where to upload etc. (See the local copy of " "<filename>&developers-refpdf;</filename>.)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>important</emphasis> documentation which you " "should read along with this document:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides a " "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " "System known as the GNU Autotools</ulink> whose most important components " "are Autoconf, Automake, Libtool, and gettext." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnu-standards</systemitem> - this package " "contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-" "standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;" "\">Information for Maintainers of GNU Software</ulink>. Although Debian " "does not require these to be followed, these are still helpful as guidelines " "and common sense. (See the local copies of <filename>&gnu-standard-pdf;</" "filename> and <filename>&gnu-maintainer-pdf;</filename>.)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If this document contradicts any of the documents mentioned above, they are " "correct. Please file a bug report on the <systemitem role=\"package\">maint-" "guide</systemitem> package using <command>reportbug</command>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The following is an alternative tutorial documentation which you may read " "along with this document:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Where to ask for help" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Before you decide to ask your question in some public place, please read the " "fine documentation." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "files in <filename>/usr/share/doc/<replaceable>package</replaceable></" "filename> for all pertinent packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>man</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>info</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian." "org mailing list archive</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org " "mailing list archive</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can use web search engines more effectively by including search strings " "such as <literal>site:lists.debian.org</literal> to limit the domain." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Making a small test package is a good way to learn details of packaging. " "Inspecting existing well maintained packages is the best way to learn how " "other people make packages." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you still have questions about packaging that you couldn't find answers " "to in the available documentation and web resources, you can ask them " "interactively." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (This mailing list is for the novice.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " "list</ulink>. (This mailing list is for the expert.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The more experienced Debian developers will gladly help you, if you ask " "properly after making your required efforts." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "When you receive a bug report (yes, actual bug reports!), you will know that " "it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking " "System</ulink> and read the documentation there, to be able to deal with the " "reports efficiently. I highly recommend reading the <ulink url=\"&devref-" "bug-handling;\">Debian Developer's Reference, 5.8. \"Handling bugs\"</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Even if it all worked well, it's time to start praying. Why? Because in " "just a few hours (or days) users from all around the world will start to use " "your package, and if you made some critical error you'll get mailbombed by " "numerous angry Debian users... Just kidding. :-)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Relax and be ready for bug reports, because there is a lot more work to be " "done before your package will be fully in line with Debian policies and its " "best practice guidelines (once again, read the <emphasis>real documentation</" "emphasis> for details). Good luck!" msgstr "" #. type: Content of: <book><chapter><title> msgid "First steps" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Let's start by creating a package of your own (or, even better, adopting an " "existing one)." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Debian package building workflow" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you are making a Debian package with an upstream program, the typical " "workflow of Debian package building involves generating several specifically " "named files for each step as follows." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Get a copy of the upstream software, usually in a compressed tar format." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add Debian-specific packaging modifications to the upstream program under " "the <filename>debian</filename> directory, and create a non-native source " "package (that is, the set of input files used for Debian package building) " "in <literal>3.0 (quilt)</literal> format." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig." "tar.gz" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.debian.tar.gz" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><footnote><para> msgid "" "For the older style of non-native Debian source packages in <literal>1.0</" "literal> format, <literal><replaceable>package</" "replaceable>_<replaceable>version</replaceable>-<replaceable>revision</" "replaceable>.diff.gz</literal> is used instead." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.dsc" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Build Debian binary packages, which are ordinary installable package files " "in <literal>.deb</literal> format (or <literal>.udeb</literal> format, used " "by the Debian Installer) from the Debian source package." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the character separating <literal><replaceable>package</" "replaceable></literal> and <literal><replaceable>version</replaceable></" "literal> was changed from <literal>-</literal> (hyphen) in the tarball name " "to <literal>_</literal> (underscore) in the Debian package filenames." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. The <emphasis role=\"strong" "\">package architecture</emphasis> follows the <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> and is " "automatically assigned by the package build process." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "In the file names above, replace the <literal><replaceable>package</" "replaceable></literal> part with the <emphasis role=\"strong\">package name</" "emphasis>, the <literal><replaceable>version</replaceable></literal> part " "with the <emphasis role=\"strong\">upstream version</emphasis>, the " "<literal><replaceable>revision</replaceable></literal> part with the " "<emphasis role=\"strong\">Debian revision</emphasis>, and the " "<literal><replaceable>arch</replaceable></literal> part with the <emphasis " "role=\"strong\">package architecture</emphasis>, as defined in the Debian " "Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If instead you are making a Debian-specific package with no upstream, the " "typical workflow of Debian package building is simpler." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a native Debian source package in the <literal>3.0 (native)</literal> " "format using a single compressed tar file in which all files are included." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Build Debian binary packages from the native Debian source package." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Each step of this outline is explained with detailed examples in later " "sections." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You have probably chosen the package you want to create. The first thing " "you need to do is check if the package is in the distribution archive " "already by using the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <command>aptitude</command> command" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> " "web page" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. " "\"Adopting a package\"</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If the package already exists, well, install it! :-) If it happens to be " "<emphasis role=\"strong\">orphaned</emphasis> (that is, if its maintainer is " "set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>), you may be able to " "pick it up if it's still available. You may also adopt a package whose " "maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</" "emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "There are several package ownership status resources." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Having said that, there will of course always be new programs that are worth " "packaging." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "As a side note, it's important to point out that Debian already has packages " "for most kinds of programs, and the number of packages already in the Debian " "archive is much larger than that of contributors with upload rights. Thus, " "contributions to packages already in the archive are far more appreciated " "(and more likely to receive sponsorship) by other developers <placeholder " "type=\"footnote\" id=\"0\"/>. You can contribute in various ways." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you are able to adopt the package, get the sources (with something like " "<literal>apt-get source <replaceable>packagename</replaceable></literal>) " "and examine them. This document unfortunately doesn't include comprehensive " "information about adopting packages. Thankfully you shouldn't have a hard " "time figuring out how the package works since someone has already done the " "initial setup for you. Keep reading, though; a lot of the advice below will " "still be applicable for your case." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If the package is new, and you decide you'd like to see it in Debian, " "proceed as follows:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "First, you must know that the program works, and have tried it for some time " "to confirm its usefulness." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "You must check that no one else is already working on the package on the " "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> " "site. If no one else is working on it, file an ITP (Intent To Package) bug " "report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " "using <command>reportbug</command>. If someone's already on it, contact " "them if you feel you need to. If not - find another interesting program " "that nobody is maintaining." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The software <emphasis role=\"strong\">must have a license</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>main</literal> section, Debian Policy requires it <emphasis " "role=\"strong\">to be fully compliant with the Debian Free Software " "Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis " "role=\"strong\">not to require a package outside of <literal>main</literal></" "emphasis> for compilation or execution. This is the desired case." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>contrib</literal> section, it must comply with the DFSG but " "it may require a package outside of <literal>main</literal> for compilation " "or execution." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>non-free</literal> section, it may be non-compliant with " "the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If you are unsure about where it should go, post the license text on <ulink " "url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for " "advice." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The program should <emphasis role=\"strong\">not</emphasis> introduce " "security and maintenance concerns to the Debian system." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should be well documented and its code needs to be " "understandable (i.e. not obfuscated)." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "You should contact the program's author(s) to check if they agree with " "packaging it and are amicable to Debian. It is important to be able to " "consult with the author(s) in case of any problems with the program, so " "don't try to package unmaintained software." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program certainly should <emphasis role=\"strong\">not</emphasis> run " "setuid root, or even better, it shouldn't need to be setuid or setgid to " "anything." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should not be a daemon, or go in an <filename>*/sbin</filename> " "directory, or open a port as root." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, the last one is just a safety measures, and intended to save you " "from enraging users if you do something wrong in some setuid daemon... When " "you gain more experience in packaging, you'll be able to package such " "software." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "As a new maintainer, you are encouraged to get some experience in packaging " "with easier packages and discouraged from creating complicated packages." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Simple packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (collection of data such as wallpaper " "graphics)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (executables written in an interpreted " "language such as POSIX shell)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Intermediate complexity packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = any (ELF binary executables compiled from " "languages such as C and C++)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "multiple binary packages, arch = any + all (packages for ELF binary " "executables + documentation)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "upstream source in a format other than <filename>tar.gz</filename> or " "<filename>tar.bz2</filename>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "upstream source containing undistributable contents" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "High complexity packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter module package used by other packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "generic ELF library package used by other packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "multiple binary packages including an ELF library package" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "source package with multiple upstream sources" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel module packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel patch packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "any package with non-trivial maintainer scripts" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging high complexity packages is not too hard, but it requires a bit " "more knowledge. You should seek specific guidance for every complex feature. " "For example, some languages have their own sub-policy documents:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-python;\">Python policy</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-java;\">Java policy</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Do not worry about the missing <filename>Makefile</filename>. You can " "install the <command>hello</command> command by simply using " "<command>debhelper</command> as in <xref linkend=\"install\"/>, or by " "modifying the upstream source to add a new <filename>Makefile</filename> " "with the <literal>install</literal> target as in <xref linkend=\"modify\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " "practice and experiment with all the steps of Debian packaging with simple " "packages while reading this tutorial. A trivial upstream tarball " "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a " "good starting point.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "So the first thing to do is to find and download the original source code. " "Presumably you already have the source file that you picked up at the " "author's homepage. Sources for free Unix programs usually come in " "<command>tar</command>+<command>gzip</command> format with the extension " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> format with the extension <filename>.tar.bz2</filename>, or " "<command>tar</command>+<command>xz</command> format with the extension " "<filename>.tar.xz</filename>. These usually contain a directory called " "<filename><replaceable>package</replaceable>-<replaceable>version</" "replaceable></filename> with all the sources inside." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If the latest version of the source is available through a VCS such as Git, " "Subversion, or CVS, you need to get it with <literal>git clone</literal>, " "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into " "<command>tar</command>+<command>gzip</command> format yourself by using the " "<literal>--exclude-vcs</literal> option." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can identify the archive format using the <command>file</command> " "command when the file extension is not enough." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes as some other sort of archive (for instance, " "the filename ends in <filename>.Z</filename> or <filename>.zip</" "filename><placeholder type=\"footnote\" id=\"0\"/>), you should also unpack " "it with the appropriate tools and repack it." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes with some contents which do not comply with " "DFSG, you should also unpack it to remove such contents and repack it with a " "modified upstream version containing <literal>dfsg</literal>." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This program is already packaged. The <ulink url=\"&gentoo-package;" "\">current version</ulink> uses Autotools as its build structure and is " "substantially different from the following examples, which were based on " "version 0.9.12." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "As an example, I'll use a program called <command>gentoo</command>, a GTK+ " "file manager. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Create a subdirectory under your home directory named <filename>debian</" "filename> or <filename>deb</filename> or anything you find appropriate (e." "g. just <filename>~/gentoo</filename> would do fine in this case). Place " "the downloaded archive in it, and extract it (with <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " "tools may or may not ignore these anomalies, so they may have problems " "unpacking them. Your shell command line may look something like this:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Now you have another subdirectory, called <filename>gentoo-0.9.12</" "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " "read the provided documentation. Usually there are files named " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> or <filename>*.html</filename>. You must find instructions " "on how to compile and install the program (most probably they'll assume you " "want to install to the <filename>/usr/local/bin</filename> directory; you " "won't be doing that, but more on that later in <xref linkend=\"destdir\"/>)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You should start packaging with a completely clean (pristine) source " "directory, or simply with freshly unpacked sources." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Simple build systems" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Many modern programs come with a script <filename>configure</filename> which " "when executed creates a <filename>Makefile</filename> customized for your " "system." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Simple programs usually come with a <filename>Makefile</filename> and can be " "compiled just by invoking <literal>make</literal>.<placeholder type=" "\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, " "which runs included self-tests. Installation to the destination directories " "is usually done with <literal>make install</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Now try to compile and run your program, to make sure it works properly and " "doesn't break something else while it's installing or running." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Also, you can usually run <literal>make clean</literal> (or better " "<literal>make distclean</literal>) to clean up the build directory. " "Sometimes there's even a <literal>make uninstall</literal> which can be used " "to remove all the installed files." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Popular portable build systems" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "A lot of free software programs are written in the <ulink url=\"&c-program;" "\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these " "use Autotools or CMake to make them portable across different platforms. " "These build tools need to be used to generate the <filename>Makefile</" "filename> and other required source files first. Then, such programs are " "built using the usual <literal>make; make install</literal>." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Autotools is too big to deal in this small tutorial. This section is meant " "to provide keywords and references only. Please make sure to read the " "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and the local " "copy of <filename>&autotools-readme;</filename>, if you need to use it." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> is the GNU build system " "comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, " "and <ulink url=\"&gettext;\">gettext</ulink>. You can recognize such " "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" "filename>, and <filename>Makefile.in</filename> files. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The first step of the Autotools workflow is usually that upstream runs " "<literal>autoreconf -i -f</literal> in the source directory and distributes " "the generated files along with the source." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Editing <filename>configure.ac</filename> and <filename>Makefile.am</" "filename> files requires some knowledge of <command>autoconf</command> and " "<command>automake</command>. See <literal>info autoconf</literal> and " "<literal>info automake</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The second step of the Autotools workflow is usually that the user obtains " "this distributed source and runs <literal>./configure && make</" "literal> in the source directory to compile the program into an executable " "command <command><replaceable>binary</replaceable></command>." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can change many things in the <filename>Makefile</filename>; for " "instance you can change the default location for file installation using the " "option <literal>./configure --prefix=/usr</literal>." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can automate this by using <systemitem role=\"package\">dh-autoreconf</" "systemitem> package. See <xref linkend=\"customrules\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although it is not required, updating the <filename>configure</filename> and " "other files with <literal>autoreconf -i -f</literal> may improve the " "compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You " "can recognize such sources by the <filename>CMakeLists.txt</filename> file." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " "you can take <literal>gentoo</literal> as the (source) <emphasis role=" "\"strong\">package name</emphasis> and <literal>0.9.12</literal> as the " "<emphasis role=\"strong\">upstream version</emphasis>. These are used in " "the <filename>debian/changelog</filename> file described later in <xref " "linkend=\"changelog\"/>, too." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although this simple approach works most of the times, you may need to " "adjust <emphasis role=\"strong\">package name</emphasis> and <emphasis role=" "\"strong\">upstream version</emphasis> by renaming the upstream source to " "follow Debian Policy and existing convention." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default package name field length of <command>aptitude</command> is 30. " "For more than 90% of packages, the package name is less than 24 characters." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You must choose the <emphasis role=\"strong\">package name</emphasis> to " "consist only of lower case letters (<literal>a-z</literal>), digits " "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" "literal>) signs, and periods (<literal>.</literal>). It must be at least two " "characters long, must start with an alphanumeric character, and must not be " "the same as existing ones. It is a good idea to keep its length within 30 " "characters. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you follow the <ulink url=\"&devref-newpackage;\">Debian Developer's " "Reference 5.1. \"New packages\"</ulink>, the ITP process will usually catch " "this kind of issues." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream uses some generic term such as <literal>test-suite</literal> for " "its name, it is a good idea to rename it to identify its contents explicitly " "and avoid namespace pollution. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This stricter rule should help you avoid confusing file names." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default version field length of <command>aptitude</command> is 10. The " "Debian revision with preceding hyphen usually consumes 2. For more than 80% " "of packages, the upstream version is less than 8 characters and the Debian " "revision is less than 2 characters. For more than 90% of packages, the " "upstream version is less than 10 characters and the Debian revision is less " "than 3 characters." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You should choose the <emphasis role=\"strong\">upstream version</emphasis> " "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>), and periods " "(<literal>.</literal>). It must start with a digit (<literal>0-9</" "literal>). <placeholder type=\"footnote\" id=\"0\"/> It is good idea to " "keep its length within 8 characters if possible. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream does not use a normal versioning scheme such as " "<literal>2.30.32</literal> but uses some kind of date such as " "<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " "part of the version, make sure to remove them from the <emphasis role=" "\"strong\">upstream version</emphasis>. Such information can be recorded in " "the <filename>debian/changelog</filename> file. If you need to invent a " "version string, use the <literal>YYYYMMDD</literal> format such as " "<literal>20110429</literal> as upstream version. This ensures that " "<command>dpkg</command> interprets later versions correctly as upgrades. If " "you need to ensure smooth transition to the normal version scheme such as " "<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format " "such as <literal>0~110429</literal> as upstream version, instead." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Version strings may be <emphasis role=\"strong\">upstream version</emphasis> " "(<literal><replaceable>version</replaceable></literal>), <emphasis role=" "\"strong\">Debian revision</emphasis> (<literal><replaceable>revision</" "replaceable></literal>), or <emphasis role=\"strong\">version</emphasis> " "(<literal><replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal>). See <xref linkend=\"newrevision\"/> for how the " "<emphasis role=\"strong\">Debian revision</emphasis> is incremented." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Version strings <placeholder type=\"footnote\" id=\"0\"/> can be compared " "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> as follows." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "The version comparison rule can be summarized as:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Strings are compared from the head to the tail." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are larger than digits." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Numbers are compared as integers." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are compared in ASCII code order." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "There are special rules for period (<literal>.</literal>), plus (<literal>+</" "literal>), and tilde (<literal>~</literal>) characters, as follows." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case occurs when upstream releases <filename>gentoo-0.9.12-" "ReleaseCandidate-99.tar.gz</filename> as the pre-release of " "<filename>gentoo-0.9.12.tar.gz</filename>. You need to make sure that the " "upgrade works properly by renaming the upstream source to " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>dh_make</command>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The following text assumes you are using Bash as your login shell. If you " "use some other login shell such as Z shell, use their corresponding " "configuration files instead of <filename>~/.bashrc</filename>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Set up the shell environment variables <literal>$DEBEMAIL</literal> and " "<literal>$DEBFULLNAME</literal> so that various Debian maintenance tools " "recognize your email address and name to use for packages. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Initial non-native Debian package" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Normal Debian packages are non-native Debian packages made from upstream " "programs. If you wish to create a non-native Debian package of an upstream " "source <filename>gentoo-0.9.12.tar.gz</filename>, you can create an initial " "non-native Debian package for it by issuing the <command>dh_make</command> " "command as follows." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the upstream source provides the <filename>debian</filename> directory " "and its contents, run the <command>dh_make</command> command with the extra " "option <literal>--addmissing</literal>. The new source <literal>3.0 " "(quilt)</literal> format is robust enough not to break even for these " "packages. You may need to update the contents provided by the upstream for " "your Debian package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of your original source " "archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> for details." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are several choices here: <literal>s</literal> for Single binary " "package, <literal>i</literal> for arch-Independent package, <literal>m</" "literal> for Multiple binary packages, <literal>l</literal> for Library " "package, <literal>k</literal> for Kernel module package, <literal>n</" "literal> for kernel patch package, and <literal>b</literal> for <systemitem " "role=\"package\">cdbs</systemitem> package. This document focuses on the " "use of the <command>dh</command> command (from the package <systemitem role=" "\"package\">debhelper</systemitem>) to create a single binary package, but " "also touches on how to use it for arch-independent or multiple binary " "packages. The package <systemitem role=\"package\">cdbs</systemitem> offers " "an alternative packaging script infrastructure to the <command>dh</command> " "command and is outside the scope of this document." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You should see some output asking you what sort of package you want to " "create. Gentoo is a single binary package - it creates only one binary " "package, i.e, one <filename>.deb</filename> file - so we will select the " "first option (with the <literal>s</literal> key), check the information on " "the screen, and confirm by pressing <literal><replaceable>ENTER</" "replaceable></literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This execution of <command>dh_make</command> creates a copy of the upstream " "tarball as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent " "directory to accommodate the creation of the non-native Debian source " "package with the name <filename>debian.tar.gz</filename> later." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Please note two key features of this filename <filename>gentoo_0.9.12.orig." "tar.gz</filename>:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Package name and version are separated by the character <literal>_</literal> " "(underscore)." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The string <filename>.orig</filename> is inserted before the <filename>.tar." "gz</filename>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You should also notice that many template files are created in the source " "under the <filename>debian</filename> directory. These will be explained in " "<xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should also " "understand that packaging cannot be a fully automated process. You will " "need to modify the upstream source for Debian (see <xref linkend=\"modify\"/" ">). After this, you need to use the proper methods for building Debian " "packages (<xref linkend=\"build\"/>), testing them (<xref linkend=\"checkit" "\"/>), and uploading them (<xref linkend=\"upload\"/>). All the steps will " "be explained." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you accidentally erased some template files while working on them, you " "can recover them by running <command>dh_make</command> with the <literal>--" "addmissing</literal> option again in a Debian package source tree." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Updating an existing package may get complicated since it may be using older " "techniques. While learning the basics, please stick to creating a fresh " "package; further explanations are given in <xref linkend=\"update\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the source file does not need to contain any build system " "discussed in <xref linkend=\"simplemake\"/> and <xref linkend=\"portable\"/" ">. It could be just a collection of graphical data etc. Installation of " "files may be carried out using only <systemitem role=\"package\">debhelper</" "systemitem> configuration files such as <filename>debian/install</filename> " "(see <xref linkend=\"install\"/>)." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Initial native Debian package" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If a package contains source files you are only maintaining for Debian, " "possibly only for local use, it may be simpler to create it as a Debian " "native package. If you have source files in <filename>~/mypackage-1.0</" "filename>, you can create an initial native Debian package for it by issuing " "the <command>dh_make</command> command as follows." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Then the <filename>debian</filename> directory and its contents are created " "just like <xref linkend=\"non-native-dh-make\"/>. This does not create a " "tarball since this is a native Debian package. But that is the only " "difference. The rest of the packaging activities are practically the same." msgstr "" #. type: Content of: <book><chapter><title> msgid "Modifying the source" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Please note that there isn't space here to go into <emphasis>all</emphasis> " "the details of fixing upstream sources, but here are some basic steps and " "problems people often run across." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>quilt</command>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The program <command>quilt</command> offers a basic method for recording " "modifications to the upstream source for Debian packaging. It's useful to " "have a slightly customized default, so let's create an alias " "<command>dquilt</command> for Debian packaging by adding the following lines " "to <filename>~/.bashrc</filename>. The second line provides the same shell " "completion feature of the <command>quilt</command> command to the " "<command>dquilt</command> command." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <filename>&quilt-pdf;</filename> on how to " "use <command>quilt</command>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Fixing upstream bugs" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume you find an error in the upstream <filename>Makefile</filename> " "as follows where <literal>install: gentoo</literal> should have been " "<literal>install: gentoo-target</literal>." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <filename>debian/patches</filename> directory should exist now if you " "ran <command>dh_make</command> as described before. This example operation " "creates it just in case you are updating an existing package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this and record it with the <command>dquilt</command> command as " "<filename>fix-gentoo-target.patch</filename>. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "You change the <filename>Makefile</filename> file as follows." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Ask <command>dquilt</command> to generate the patch to create " "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " "description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Installation of files to their destination" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Most third-party software installs itself in the <filename>/usr/local</" "filename> directory hierarchy. On Debian this is reserved for private use " "by the system administrator, so packages must not use directories such as " "<filename>/usr/local/bin</filename> but should instead use system " "directories such as <filename>/usr/bin</filename>, obeying the <ulink url=" "\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> is used to automate building the program, and " "executing <literal>make install</literal> installs programs directly to the " "desired destination (following the <literal>install</literal> target in the " "<filename>Makefile</filename>). In order for Debian to provide pre-built " "installable packages, it modifies the build system to install programs into " "a file tree image created under a temporary directory instead of the actual " "destination." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "These two differences between normal program installation on one hand and " "the Debian packaging system on the other can be transparently addressed by " "the <systemitem role=\"package\">debhelper</systemitem> package through the " "<command>dh_auto_configure</command> and <command>dh_auto_install</command> " "commands if the following conditions are met." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <filename>Makefile</filename> must follow GNU conventions and support " "the <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" " "id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The source must follow the Filesystem Hierarchy Standard (FHS)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Programs that use GNU <command>autoconf</command> follow the GNU conventions " "automatically, so they can be trivial to package. On the basis of this and " "other heuristics, it is estimated that the <systemitem role=\"package" "\">debhelper</systemitem> package will work for about 90% of packages " "without making any intrusive changes to their build system. So packaging is " "not as complicated as it may seem." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you need to make changes in the <filename>Makefile</filename>, you should " "be careful to support the <literal>$(DESTDIR)</literal> variable. Although " "it is unset by default, the <literal>$(DESTDIR)</literal> variable is " "prepended to each file path used for the program installation. The " "packaging script will set <literal>$(DESTDIR)</literal> to the temporary " "directory." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "For a source package generating multiple binary packages, the " "<command>dh_auto_install</command> command uses <filename>debian/tmp</" "filename> as the temporary directory while the <command>dh_install</command> " "command with the help of <filename>debian/<replaceable>package-1</" "replaceable>.install</filename> and <filename>debian/<replaceable>package-2</" "replaceable>.install</filename> files will split the contents of " "<filename>debian/tmp</filename> into <filename>debian/" "<replaceable>package-1</replaceable></filename> and <filename>debian/" "<replaceable>package-2</replaceable></filename> temporary directories, to " "create <filename><replaceable>package-1</replaceable>_*.deb</filename> and " "<filename><replaceable>package-2</replaceable>_*.deb</filename> binary " "packages." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For a source package generating a single binary package, the temporary " "directory used by the <command>dh_auto_install</command> command will be set " "to <filename>debian/<replaceable>package</replaceable></filename>. " "<placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in " "the temporary directory will be installed on users' systems when they " "install your package; the only difference is that <command>dpkg</command> " "will be installing the files to paths relative to the root directory rather " "than your working directory." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that even though your program installs in <filename>debian/" "<replaceable>package</replaceable></filename>, it still needs to behave " "correctly when installed from the <filename>.deb</filename> package under " "the root directory. So you must not allow the build system to hardcode " "strings like <literal>/home/me/deb/<replaceable>package</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>package</" "replaceable></literal> into files in the package." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This is just an example to show what a <filename>Makefile</filename> should " "look like. If the <filename>Makefile</filename> is created by the " "<command>./configure</command> command, the correct way to fix this kind of " "<filename>Makefile</filename> is to execute <command>./configure</command> " "from the <command>dh_auto_configure</command> command with default options " "including <literal>--prefix=/usr</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here's the relevant part of <systemitem role=\"package\">gentoo</" "systemitem>'s <filename>Makefile</filename><placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "We see that the files are set to install under <filename>/usr/local</" "filename>. As explained above, that directory hierarchy is reserved for " "local use on Debian, so change those paths to:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The exact locations that should be used for binaries, icons, documentation, " "etc. are specified in the Filesystem Hierarchy Standard (FHS). You should " "browse through it and read the sections relevant to your package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "So, we should install executable commands in <filename>/usr/bin</filename> " "instead of <filename>/usr/local/bin</filename>, the manual page in " "<filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/" "man1</filename>, and so on. Notice how there's no manual page mentioned in " "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" "filename>, but since Debian Policy requires that every program has one, " "we'll make one later and install it in <filename>/usr/share/man/man1</" "filename>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Some programs don't use <filename>Makefile</filename> variables to define " "paths such as these. This means you might have to edit some real C sources " "in order to fix them to use the right locations. But where to search, and " "exactly what for? You can find this out by issuing:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<command>grep</command> will run recursively through the source tree and " "tell you the filename and the line number for all matches." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Edit those files and in those lines replace <literal>usr/local/lib</literal> " "with <literal>usr/lib</literal>. This can be done automatically as follows:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you want to confirm each substitution instead, this can be done " "interactively as follows:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Next you should find the <literal>install</literal> target (searching for " "the line that starts with <literal>install:</literal> will usually work) and " "rename all references to directories other than ones defined at the top of " "the <filename>Makefile</filename>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Originally, <systemitem role=\"package\">gentoo</systemitem>'s " "<literal>install</literal> target said:" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this upstream bug and record it with the <command>dquilt</command> " "command as <filename>debian/patches/install.patch</filename>." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "In your editor, change this for the Debian package as follows:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You'll have noticed that there's now an <literal>install -d</literal> " "command before the other commands in the rule. The original " "<filename>Makefile</filename> didn't have it because usually <literal>/usr/" "local/bin</literal> and other directories already exist on the system where " "you are running <literal>make install</literal>. However, since we will be " "installing into a newly created private directory tree, we will have to " "create each and every one of those directories." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "We can also add in other things at the end of the rule, like the " "installation of additional documentation that the upstream authors sometimes " "omit:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Check carefully, and if everything is okay, ask <command>dquilt</command> to " "generate the patch to create <filename>debian/patches/install.patch</" "filename> and add its description." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Now you have a series of patches." msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>" msgstr "" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Debian specific packaging modification: <filename>debian/patches/install." "patch</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Whenever you make changes that are not specific to the Debian package such " "as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to " "send them to the upstream maintainer so they can be included in the next " "version of the program and be useful to everyone else. Also remember to " "avoid making your fixes specific to Debian or Linux - or even Unix! Make " "them portable. This will make your fixes much easier to apply." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Note that you don't have to send the <filename>debian/*</filename> files " "upstream." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Differing libraries" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "There is one other common problem: libraries are often different from " "platform to platform. For example, a <filename>Makefile</filename> can " "contain a reference to a library which doesn't exist on the Debian system. " "In that case, we need to change it to a library which does exist in Debian, " "and serves the same purpose." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume a line in your program's <filename>Makefile</filename> (or " "<filename>Makefile.in</filename>) as the following." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "LIBS = -lfoo -lbar\n" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If there are API changes from the <literal>foo</literal> library to the " "<literal>foo2</literal> library, required changes to the source code need to " "be made to match the new API." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your program doesn't compile since the <literal>foo</literal> library " "doesn't exist and its equivalent is provided by the <literal>foo2</literal> " "library on the Debian system, you can fix this build problem as " "<filename>debian/patches/foo2.patch</filename> by changing <literal>foo</" "literal> into <literal>foo2</literal>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" #. type: Content of: <book><chapter><title> msgid "Required files under the <filename>debian</filename> directory" msgstr "" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "In this chapter, files in the <filename>debian</filename> directory are " "referred to without the leading <filename>debian/</filename> for simplicity " "whenever the meaning is obvious." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "There is a new subdirectory under the program's source directory, called " "<filename>debian</filename>. There are a number of files in this directory " "that we should edit in order to customize the behavior of the package. The " "most important of them are <filename>control</filename>, " "<filename>changelog</filename>, <filename>copyright</filename>, and " "<filename>rules</filename>, which are required for all packages. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>control</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains various values which <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command>, and other package management tools " "will use to manage the package. It is defined by the <ulink url=\"&policy-" "control;\">Debian Policy Manual, 5 \"Control files and their fields\"</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here is the <filename>control</filename> file <command>dh_make</command> " "created for us:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "(I've added the line numbers.)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 1-7 are the control information for the source package. Lines 9-13 " "are the control information for the binary package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Line 1 is the name of the source package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Line 2 is the section of the distribution the source package goes into." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections" "\"</ulink> and <ulink url=\"§ions-unstable;\">List of sections in " "<literal>sid</literal></ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "As you may have noticed, the Debian archive is divided into multiple areas: " "<literal>main</literal> (the free software), <literal>non-free</literal> " "(the not really free software) and <literal>contrib</literal> (free software " "that depends on non-free software). Each of these is divided into sections " "that classify packages into rough categories. So we have <literal>admin</" "literal> for administrator-only programs, <literal>devel</literal> for " "programmer tools, <literal>doc</literal> for documentation, <literal>libs</" "literal> for libraries, <literal>mail</literal> for email readers and " "daemons, <literal>net</literal> for network apps and daemons, <literal>x11</" "literal> for X11 programs that don't fit anywhere else, and many more. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Let's change it then to x11. (A <literal>main/</literal> prefix is implied " "so we can omit it.)" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities" "\"</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Line 3 describes how important it is that the user installs this package. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>optional</literal> priority will usually work for new packages " "that do not conflict with others claiming <literal>required</literal>, " "<literal>important</literal>, or <literal>standard</literal> priority." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>extra</literal> priority will usually work for new packages " "that conflict with others with non-<literal>extra</literal> priorities." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Section and priority are used by front-ends like <command>aptitude</command> " "when they sort packages and select defaults. Once you upload the package to " "Debian, the value of these two fields can be overridden by the archive " "maintainers, in which case you will be notified by email." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "As this is a normal priority package and doesn't conflict with anything " "else, we will change the priority to <literal>optional</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Line 4 is the name and email address of the maintainer. Make sure that this " "field includes a valid <literal>To</literal> header for email, because after " "you upload it, the bug tracking system will use it to deliver bug emails to " "you. Avoid using commas, ampersands, or parentheses." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 \"Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Line 5 includes the list of packages required to build your package as the " "<literal>Build-Depends</literal> field. You can also have the " "<literal>Build-Depends-Indep</literal> field as an additional line, here. " "<placeholder type=\"footnote\" id=\"0\"/> Some packages like <systemitem " "role=\"package\">gcc</systemitem> and <systemitem role=\"package\">make</" "systemitem> which are required by the <systemitem role=\"package\">build-" "essential</systemitem> package are implied. If you need to have other tools " "to build your package, you should add them to these fields. Multiple " "entries are separated with commas; read on for the explanation of binary " "package dependencies to find out more about the syntax of these lines." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For all packages packaged with the <command>dh</command> command in the " "<filename>debian/rules</filename> file, you must have <literal>debhelper " "(>=9)</literal> in the <literal>Build-Depends</literal> field to satisfy " "the Debian Policy requirement for the <literal>clean</literal> target." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Source packages which have binary packages with <literal>Architecture: any</" "literal> are rebuilt by the autobuilder. Since this autobuilder procedure " "installs only the packages listed in the <literal>Build-Depends</literal> " "field before running <literal>debian/rules build</literal> (see <xref " "linkend=\"autobuilder\"/>), the <literal>Build-Depends</literal> field needs " "to list practically all the required packages and <literal>Build-Depends-" "Indep</literal> is rarely used." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For source packages with binary packages all of which are " "<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" "literal> field may list all the required packages unless they are already " "listed in the <literal>Build-Depends</literal> field to satisfy the Debian " "Policy requirement for the <literal>clean</literal> target." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This somewhat strange situation is a feature well documented in the <ulink " "url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 55</" "ulink>. This is not due to the use of the <command>dh</command> command in " "the <filename>debian/rules</filename> file but due to how the <command>dpkg-" "buildpackage</command> works. The same situation applies to the <ulink url=" "\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build " "system for Ubuntu</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you are not sure which one should be used, use the <literal>Build-" "Depends</literal> field to be on the safe side. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "To find out what packages your package needs to be built run the command:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-depcheck -d ./configure\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "To manually find exact build dependencies for <command><replaceable>/usr/bin/" "foo</replaceable></command>, execute" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "and for each library listed, e.g., <command>libfoo.so.6</command>, execute" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg -S libfoo.so.6\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Then just take the <literal>-dev</literal> version of every package as a " "<literal>Build-Depends</literal> entry. If you use <command>ldd</command> " "for this purpose, it will report indirect lib dependencies as well, " "resulting in the problem of excessive build dependencies." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<systemitem role=\"package\">gentoo</systemitem> also happens to require " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> and <systemitem role=\"package" "\">libglib1.2-dev</systemitem> to build, so we'll add them here next to " "<systemitem role=\"package\">debhelper</systemitem>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Line 6 is the version of the <ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink> standards this package follows, the one you read while making " "your package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "On line 7 you can put the URL of the software's upstream homepage." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the name of the binary package. This is usually the same as the " "name of the source package, but it doesn't necessarily have to be that way." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " "\"Architecture\"</ulink> for exact details." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Line 10 describes the architectures the binary package can be compiled for. " "This value is usually one of the following depending on the type of the " "binary package. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: any</literal>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture dependent one usually in a " "compiled language." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: all</literal>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture independent one usually " "consisting of text, images, or scripts in an interpreted language." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "We leave line 10 as is since this is written in C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> will fill in the appropriate architecture value " "for any machine this source package gets compiled on." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your package is architecture independent (for example, a shell or Perl " "script, or a document), change this to <literal>all</literal>, and read " "later in <xref linkend=\"rules\"/> about using the <literal>binary-indep</" "literal> rule instead of <literal>binary-arch</literal> for building the " "package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Line 11 shows one of the most powerful features of the Debian packaging " "system. Packages can relate to each other in various ways. Apart from " "<literal>Depends</literal>, other relationship fields are " "<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" "Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " "<literal>Provides</literal>, and <literal>Replaces</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The package management tools usually behave the same way when dealing with " "these relations; if not, it will be explained. (See <citerefentry> " "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, etc.)" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " "\"Declaring relationships between packages\"</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here is a simplified description of package relationships. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Depends</literal>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed unless the packages it depends on are " "installed. Use this if your program absolutely will not run (or will cause " "severe breakage) unless a particular package is present." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Recommends</literal>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages that are not strictly necessary but are typically used " "with your program. When a user installs your program, all front-ends will " "probably prompt them to install the recommended packages. " "<command>aptitude</command> and <command>apt-get</command> install " "recommended packages along with your package by default (but the user can " "disable this behavior). <command>dpkg</command> will ignore this field." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Suggests</literal>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages which will work nicely with your program but are not " "at all necessary. When a user installs your program, they will probably not " "be prompted to install suggested packages. <command>aptitude</command> can " "be configured to install suggested packages along with your package but this " "is not its default. <command>dpkg</command> and <command>apt-get</command> " "will ignore this field." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Pre-Depends</literal>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is stronger than <literal>Depends</literal>. The package will not be " "installed unless the packages it pre-depends on are installed and " "<emphasis>correctly configured</emphasis>. Use this <emphasis>very</" "emphasis> sparingly and only after discussing it on the <ulink url=\"&debian-" "devel-ldo;\">debian-devel@lists.debian.org</ulink> mailing list. Read: " "don't use it at all. :-)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Conflicts</literal>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed until all the packages it conflicts with " "have been removed. Use this if your program absolutely will not run or will " "cause severe problems if a particular package is present." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Breaks</literal>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "When installed the package will break all the listed packages. Normally a " "<literal>Breaks</literal> entry specifies that it applies to versions " "earlier than a certain value. The resolution is generally to use higher-" "level package management tools to upgrade the listed packages." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Provides</literal>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For some types of packages where there are multiple alternatives virtual " "names have been defined. You can get the full list in the <ulink url=" "\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> file. Use " "this if your program provides a function of an existing virtual package." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Replaces</literal>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this when your program replaces files from another package, or " "completely replaces another package (used in conjunction with " "<literal>Conflicts</literal>). Files from the named packages will be " "overwritten with the files from your package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "All these fields have uniform syntax. They are a list of package names " "separated by commas. These package names may also be lists of alternative " "package names, separated by vertical bar symbols <literal>|</literal> (pipe " "symbols)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The fields may restrict their applicability to particular versions of each " "named package. The restriction of each individual package is listed in " "parentheses after its name, and should contain a relation from the list " "below followed by a version number value. The relations allowed are: " "<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " "<literal>>=</literal>, and <literal>>></literal> for strictly " "lower, lower or equal, exactly equal, greater or equal, and strictly " "greater, respectively. For example," msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The last feature you need to know about is <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates shared library dependencies for binary " "packages. It generates a list of <ulink url=\"&elf;\">ELF</ulink> " "executables and shared libraries it has found for each binary package. This " "list is used for substituting <literal>${shlibs:Depends}</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates Perl dependencies. It generates a " "list of a dependencies on <literal>perl</literal> or <literal>perlapi</" "literal> for each binary package. This list is used for substituting " "<literal>${perl:Depends}</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Some <systemitem role=\"package\">debhelper</systemitem> commands may cause " "the generated package to depend on some additional packages. All such " "commands generate a list of required packages for each binary package. This " "list is used for substituting <literal>${misc:Depends}</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> generates <filename>DEBIAN/control</filename> for " "each binary package while substituting <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Having said all that, we can leave the <literal>Depends</literal> field " "exactly as it is now, and insert another line after it saying " "<literal>Suggests: file</literal>, because <systemitem role=\"package" "\">gentoo</systemitem> can use some features provided by the <systemitem " "role=\"package\">file</systemitem> package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the Homepage URL. Let's assume this to be at <ulink url=\"&gentoo;" "\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Line 12 is the short description. Terminals are conventionally 80 columns " "wide so this shouldn't be longer than about 60 characters. I'll change it " "to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "These descriptions are in English. Translations of these descriptions are " "provided by <ulink url=\"&ddtp;\">The Debian Description Translation Project " "- DDTP</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Line 13 is where the long description goes. This should be a paragraph " "which gives more details about the package. Column 1 of each line should be " "empty. There must be no blank lines, but you can put a single <literal>.</" "literal> (dot) in a column to simulate that. Also, there must be no more " "than one blank line after the long description. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-bpp-vcs;\">Debian Developer's Reference, 6.2.5. " "\"Version Control System location\"</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "We can insert <literal>Vcs-*</literal> fields to document the Version " "Control System (VCS) location between lines 6 and 7. <placeholder type=" "\"footnote\" id=\"0\"/> Let's assume that the <systemitem role=\"package" "\">gentoo</systemitem> package has its VCS located in the Debian Alioth Git " "Service at <literal>git://git.debian.org/git/collab-maint/gentoo.git</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Finally, here is the updated <filename>control</filename> file:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>copyright</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains information about the copyright and license of the " "upstream sources. <ulink url=\"&policy-copyright;\">Debian Policy Manual, " "12.5 \"Copyright information\"</ulink> dictates its content and <ulink url=" "\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</filename></" "ulink> provides guidelines for its format." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> can give you a template <filename>copyright</" "filename> file. Let's use the <literal>--copyright gpl2</literal> option " "here to get a template file for the <systemitem role=\"package\">gentoo</" "systemitem> package released under GPL-2." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You must fill in missing information to complete this file, such as the " "place you got the package from, the actual copyright notice, and the " "license. For certain common free software licenses (GNU GPL-1, GNU GPL-2, " "GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0, " "or the Artistic license), you can just refer to the appropriate file in the " "<filename>/usr/share/common-licenses/</filename> directory that exists on " "every Debian system. Otherwise, you must include the complete license." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "In short, here's what <systemitem role=\"package\">gentoo</systemitem>'s " "<filename>copyright</filename> file should look like:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Please follow the HOWTO provided by the ftpmasters and sent to debian-devel-" "announce: <ulink url=\"&howto-copyright;\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>changelog</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This is a required file, which has a special format described in <ulink url=" "\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</" "ulink>. This format is used by <command>dpkg</command> and other programs " "to obtain the version number, revision, distribution, and urgency of your " "package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For you, it is also important, since it is good to have documented all " "changes you have done. It will help people downloading your package to see " "whether there are issues with the package that they should know about. It " "will be saved as <filename>/usr/share/doc/gentoo/changelog.Debian.gz</" "filename> in the binary package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one, and this is what it looks " "like:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Line 1 is the package name, version, distribution, and urgency. The name " "must match the source package name; distribution should be " "<literal>unstable</literal>, and urgency shouldn't be changed to anything " "higher than <literal>low</literal>. :-)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 3-5 are a log entry, where you document changes made in this package " "revision (not the upstream changes - there is a special file for that " "purpose, created by the upstream authors, which you will later install as " "<filename>/usr/share/doc/gentoo/changelog.gz</filename>). Let's assume your " "ITP (Intent To Package) bug report number was <literal>12345</literal>. New " "lines must be inserted just below the uppermost line that begins with " "<literal>*</literal> (asterisk). You can do it with <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "or manually with a text editor." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "In order to prevent a package being accidentally uploaded before completing " "the package, it is good idea to change the distribution value to an invalid " "distribution value <literal>UNRELEASED</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "You will end up with something like this:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "If you use the <literal>dch -r</literal> command to make this last change, " "please make sure to save the <filename>changelog</filename> file explicitly " "by the editor." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are satisfied with all the changes and documented them in " "<filename>changelog</filename>, you should change the distribution value " "from <literal>UNRELEASED</literal> to the target distribution value " "<literal>unstable</literal> (or even <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can read more about updating the <filename>changelog</filename> file " "later in <xref linkend=\"update\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>rules</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Now we need to take a look at the exact rules which <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> will use to actually create the package. This file is in fact " "another <filename>Makefile</filename>, but different from the one(s) in the " "upstream source. Unlike other files in <filename>debian</filename>, this " "one is marked as executable." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Targets of the <filename>rules</filename> file" msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can start learning how to write <filename>Makefile</filename> from " "<ulink url=\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. The " "full documentation is available as <ulink url=\"&gnu-make;\"></ulink> or as " "the <systemitem role=\"package\">make-doc</systemitem> package in the " "<literal>non-free</literal> archive area." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> explains the details." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Every <filename>rules</filename> file, like any other <filename>Makefile</" "filename>, consists of several rules, each of which defines a target and how " "it is carried out. <placeholder type=\"footnote\" id=\"0\"/> A new rule " "begins with its target declaration in the first column. The following lines " "beginning with the TAB code (ASCII 9) specify the recipe for carrying out " "that target. Empty lines and lines beginning with <literal>#</literal> " "(hash) are treated as comments and ignored. <placeholder type=\"footnote\" " "id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "A rule that you want to execute is invoked by its target name as a command " "line argument. For example, <literal>debian/rules <replaceable>build</" "replaceable></literal> and <literal>fakeroot make -f debian/rules " "<replaceable>binary</replaceable></literal> execute rules for " "<literal><replaceable>build</replaceable></literal> and " "<literal><replaceable>binary</replaceable></literal> targets respectively." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "Here is a simplified explanation of the targets:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>clean</literal> target: to clean all compiled, generated, and " "useless files in the build-tree. (Required)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build</literal> target: to build the source into compiled programs " "and formatted documents in the build-tree. (Required)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-arch</literal> target: to build the source into arch-" "dependent compiled programs in the build-tree. (Required)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-indep</literal> target: to build the source into arch-" "independent formatted documents in the build-tree. (Required)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>install</literal> target: to install files into a file tree for " "each binary package under the <filename>debian</filename> directory. If " "defined, <literal>binary*</literal> targets effectively depend on this " "target. (Optional)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage</literal> as in <xref " "linkend=\"completebuild\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary</literal> target: to create all binary packages (effectively " "a combination of <literal>binary-arch</literal> and <literal>binary-indep</" "literal> targets). (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage -B</literal> as in <xref " "linkend=\"autobuilder\"/>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-arch</literal> target: to create arch-dependent " "(<literal>Architecture: any</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage -A</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-indep</literal> target: to create arch-independent " "(<literal>Architecture: all</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>get-orig-source</literal> target: to obtain the most recent version " "of the original source package from an upstream archive. (Optional)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably overwhelmed by now, but things are much simpler upon " "examination of the <filename>rules</filename> file that <command>dh_make</" "command> gives us as a default." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Default <filename>rules</filename> file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Newer <command>dh_make</command> generates a very simple but powerful " "default <filename>rules</filename> file using the <command>dh</command> " "command:" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "(I've added the line numbers. In the actual <filename>rules</filename> " "file, the leading spaces are a TAB code.)" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably familiar with lines like line 1 from shell and Perl " "scripts. It tells the operating system that this file is to be processed " "with <filename>/usr/bin/make</filename>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Line 10 can be uncommented to set the <literal>DH_VERBOSE</literal> variable " "to 1, so that the <command>dh</command> command outputs which <command>dh_*</" "command> commands it is executing. You can also add a line <literal>export " "DH_OPTIONS=-v</literal> here, so that each <command>dh_*</command> command " "outputs which commands it is executing. This helps you to understand " "exactly what is going on behind this simple <filename>rules</filename> file " "and to debug its problems. This new <command>dh</command> is designed to " "form a core part of the <systemitem role=\"package\">debhelper</systemitem> " "tools, and not to hide anything from you." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "This uses the new <systemitem role=\"package\">debhelper</systemitem> v7+ " "features. Its design concepts are explained in <ulink url=\"&debhelper-" "slides;\">Not Your Grandpa's Debhelper</ulink> presented at DebConf9 by the " "<systemitem role=\"package\">debhelper</systemitem> upstream. Under " "<literal>lenny</literal>, <command>dh_make</command> created a much more " "complicated <filename>rules</filename> file with explicit rules and many " "<command>dh_*</command> scripts listed for each one, most of which are now " "unnecessary (and show the package's age). The new <command>dh</command> " "command is simpler and frees us from doing the routine work \"manually\". " "You still have full power to customize the process with " "<literal>override_dh_*</literal> targets. See <xref linkend=\"customrules\"/" ">. It is based only on the <systemitem role=\"package\">debhelper</" "systemitem> package and does not obfuscate the package building process as " "the <systemitem role=\"package\">cdbs</systemitem> package tends to." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can verify the actual sequences of <command>dh_*</command> programs " "invoked for a given <literal><replaceable>target</replaceable></literal> " "without really running them by invoking <literal>dh --no-act " "<replaceable>target</replaceable></literal> or <literal>debian/rules -- '--" "no-act <replaceable>target</replaceable>'</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Lines 12 and 13 are where all the work is done with an implicit rule using " "the pattern rule. The percent sign means \"any targets\", which then call a " "single program, <command>dh</command>, with the target name. <placeholder " "type=\"footnote\" id=\"0\"/> The <command>dh</command> command is a wrapper " "script which runs appropriate sequences of <command>dh_*</command> programs " "depending on its argument. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>, " "which in turn runs the following:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules build</literal> runs <literal>dh build</literal>; " "which in turn runs the following:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "The following example assumes your <filename>debian/compat</filename> has a " "value equal or more than 9 to avoid invoking any python support commands " "automatically." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " "binary</literal>; which in turn runs the following<placeholder type=" "\"footnote\" id=\"0\"/>:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-arch</literal> runs <literal>fakeroot " "dh binary-arch</literal>; which in turn runs the same sequence as " "<literal>fakeroot dh binary</literal> but with the <literal>-a</literal> " "option appended for each command." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-indep</literal> runs <literal>fakeroot " "dh binary-indep</literal>; which in turn runs almost the same sequence as " "<literal>fakeroot dh binary</literal> but excluding <command>dh_strip</" "command>, <command>dh_makeshlibs</command>, and <command>dh_shlibdeps</" "command> with the <literal>-i</literal> option appended for each remaining " "command." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "For complete information on what all these <command>dh_*</command> scripts " "do exactly, and what their other options are, please read their respective " "manual pages and the <systemitem role=\"package\">debhelper</systemitem> " "documentation." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "These commands support other build environments such as <filename>setup.py</" "filename> which can be listed by executing <literal>dh_auto_build --list</" "literal> in a package source directory." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The functions of <command>dh_*</command> commands are largely self-evident " "from their names. <placeholder type=\"footnote\" id=\"0\"/> There are a few " "notable ones that are worth giving (over)simplified explanations here " "assuming a typical build environment based on a <filename>Makefile</" "filename>. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>distclean</literal>, <literal>realclean</literal>, " "or <literal>clean</literal>, and executes that." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_clean</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>distclean</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make distclean\n" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_configure</command> usually executes the following if " "<filename>./configure</filename> exists (arguments abbreviated for " "readability)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_build</command> usually executes the following to execute " "the first target of <filename>Makefile</filename> if it exists." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make\n" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>test</literal> or <literal>check</literal>, and " "executes that." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_test</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>test</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make test\n" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_install</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>install</literal> " "target (line folded for readability)." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "All targets which require the <command>fakeroot</command> command will " "contain <command>dh_testroot</command>, which exits with an error if you are " "not using this command to pretend to be root." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The important part to know about the <filename>rules</filename> file created " "by <command>dh_make</command> is that it is just a suggestion. It will work " "for most packages but for more complicated ones, don't be afraid to " "customize it to fit your needs." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although <literal>install</literal> is not a required target, it is " "supported. <literal>fakeroot dh install</literal> behaves like " "<literal>fakeroot dh binary</literal> but stops after <command>dh_fixperms</" "command>." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "Customization of <filename>rules</filename> file" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are many ways to customize the <filename>rules</filename> file created " "with the new <command>dh</command> command." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " "should activate its customization function by <literal>dh $@ --with " "<replaceable>custom-name</replaceable></literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>dh $@</literal> command can be customized as follows. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "Use of the <command>dh_python2</command> command is preferred over use of " "<command>dh_pysupport</command> or <command>dh_pycentral</command> " "commands. Do not use the <command>dh_python</command> command." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_python2</command> command. (The best choice " "for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python2</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python</" "systemitem> framework." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pysupport</command> command. (deprecated)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-support</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with pysupport</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "support</systemitem> framework." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pycentral</command> command. (deprecated)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-central</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python-central</literal> instead." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This also deactivates the <command>dh_pysupport</command> command." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "central</systemitem> framework." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_installtex</command> command." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">tex-common</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with tex</literal> instead." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This registers Type 1 fonts, hyphenation patterns, and formats with TeX." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_quilt_patch</command> and " "<command>dh_quilt_unpatch</command> commands." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">quilt</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with quilt</literal> instead." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This applies and un-applies patches to the upstream source from files in the " "<filename>debian/patches</filename> directory for a source package in the " "<literal>1.0</literal> format." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This is not needed if you use the new <literal>3.0 (quilt)</literal> source " "package format." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_dkms</command> command." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dkms</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with dkms</literal> instead." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This correctly handles DKMS usage by kernel module packages." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autotools-dev_updateconfig</command> and " "<command>dh_autotools-dev_restoreconfig</command> commands." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">autotools-dev</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autotools-dev</literal> instead." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates and restores <filename>config.sub</filename> and " "<filename>config.guess</filename>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autoreconf</command> and " "<command>dh_autoreconf_clean</command> commands." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dh-autoreconf</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autoreconf</literal> instead." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates the GNU Build System files and restores them after the build." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_girepository</command> command." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">gobject-introspection</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with gir</literal> instead." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This computes dependencies for packages shipping GObject introspection data " "and generates the <literal>${gir:Depends}</literal> substitution variable " "for the package dependency." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>bash</command> completion feature." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">bash-completion</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with bash-completion</literal> instead." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This installs <command>bash</command> completions using a configuration file " "at <filename>debian/<replaceable>package</replaceable>.bash-completion</" "filename>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many <command>dh_*</command> commands invoked by the new <command>dh</" "command> command can be customized by the corresponding configuration files " "in the <filename>debian</filename> directory. See <xref linkend=\"dother\"/" "> and the manpage of each command for the customization of such features." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Under <literal>lenny</literal>, if you wanted to change the behavior of a " "<command>dh_*</command> script you found the relevant line in the " "<filename>rules</filename> file and adjusted it." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You may need to run <command>dh_*</command> commands invoked via the new " "<command>dh</command> with added arguments, or to run additional commands " "with them, or to skip them. For such cases, you create an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target with " "its rule in the <filename>rules</filename> file defining an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target for the " "<command>dh_<replaceable>foo</replaceable></command> command you want to " "change. It basically says <emphasis>run me instead</emphasis>. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note that the <command>dh_auto_*</command> commands tend to do more " "than what has been discussed in this (over)simplified explanation to take " "care of all the corner cases. It is a bad idea to use " "<literal>override_dh_*</literal> targets to substitute simplified equivalent " "commands (except for the <literal>override_dh_auto_clean</literal> target) " "since it may bypass such smart <systemitem role=\"package\">debhelper</" "systemitem> features." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "So, for instance, if you want to store system configuration data in the " "<filename>/etc/gentoo</filename> directory instead of the usual <filename>/" "etc</filename> directory for the recent <systemitem role=\"package\">gentoo</" "systemitem> package using Autotools, you can override the default <literal>--" "sysconfig=/etc</literal> argument given by the <command>dh_auto_configure</" "command> command to the <command>./configure</command> command by the " "following." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The arguments given after <literal>--</literal> are appended to the default " "arguments of the auto-executed program to override them. Using the " "<command>dh_auto_configure</command> command is better than directly " "invoking the <command>./configure</command> command here since it will only " "override the <literal>--sysconfig</literal> argument and retains any other, " "benign arguments to the <command>./configure</command> command." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<command>dh_auto_build</command> without any arguments will execute the " "first target in the <filename>Makefile</filename>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify <literal>build</" "literal> as its target to build it <placeholder type=\"footnote\" id=\"0\"/" ">, you create an <literal>override_dh_auto_build</literal> target to enable " "this." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "This ensures <literal>$(MAKE)</literal> is run with all the default " "arguments given by the <command>dh_auto_build</command> command plus the " "<literal>build</literal> argument." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify the " "<literal>packageclean</literal> target to clean it for the Debian package " "instead of using <literal>distclean</literal> or <literal>clean</literal> " "targets, you can create an <literal>override_dh_auto_clean</literal> target " "to enable thit." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> contains a <literal>test</literal> target " "which you do not want to run for the Debian package building process, you " "can use an empty <literal>override_dh_auto_test</literal> target to skip it." msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "override_dh_auto_test:\n" msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "The <filename>debian/changelog</filename> and <filename>debian/NEWS</" "filename> files are always automatically installed. The upstream changelog " "is found by converting filenames to lower case and matching them against " "<filename>changelog</filename>, <filename>changes</filename>, " "<filename>changelog.txt</filename>, and <filename>changes.txt</filename>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If <systemitem role=\"package\">gentoo</systemitem> has an unusual upstream " "changelog file called <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> will not install that file by " "default. The <command>dh_installchangelogs</command> command requires " "<filename>FIXES</filename> as its argument to install it. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you use the new <command>dh</command> command, use of explicit targets " "such as the ones listed in <xref linkend=\"targets\"/>, other than the " "<literal>get-orig-source</literal> target, may make it difficult to " "understand their exact effects. Please limit explicit targets to " "<literal>override_dh_*</literal> targets and completely independent ones, if " "possible." msgstr "" #. type: Content of: <book><chapter><title> msgid "Other files under the <filename>debian</filename> directory" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "To control most of what <systemitem role=\"package\">debhelper</systemitem> " "does while building the package, you put optional configuration files under " "the <filename>debian</filename> directory. This chapter will provide an " "overview of what each of these does and its format. Please read the <ulink " "url=\"&debian-policy;\">Debian Policy Manual</ulink> and <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> for " "guidelines for packaging." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "The <command>dh_make</command> command will create some template " "configuration files under the <filename>debian</filename> directory. Most " "of them come with filenames suffixed by <literal>.ex</literal>. Some of " "them come with filenames prefixed by the binary package name such as " "<literal><replaceable>package</replaceable></literal>. Take a look at all " "of them. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Some template configuration files for <systemitem role=\"package" "\">debhelper</systemitem> may not be created by the <command>dh_make</" "command> command. In such cases, you need to create them with an editor." msgstr "" #. type: Content of: <book><chapter><para> msgid "If you wish or need to activate any of these, please do the following:" msgstr "" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename template files by removing the <literal>.ex</literal> or <literal>." "EX</literal> suffix if they have one;" msgstr "" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename the configuration files to use the actual binary package name in " "place of <literal><replaceable>package</replaceable></literal>;" msgstr "" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "modify template file contents to suit your needs;" msgstr "" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "remove template files which you do not need;" msgstr "" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>control</filename> file (see <xref linkend=\"control\"/" ">), if necessary;" msgstr "" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/>), " "if necessary." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Any <systemitem role=\"package\">debhelper</systemitem> configuration files " "without a <filename><replaceable>package</replaceable></filename> prefix, " "such as <filename>install</filename>, apply to the first binary package. " "When there are many binary packages, their configurations can be specified " "by prefixing their name to their configuration filenames such as " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>README.Debian</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Any extra details or discrepancies between the original package and your " "Debian version should be documented here." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one; this is what it looks like:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you have nothing to be documented, remove this file. See <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>compat</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>compat</filename> file defines the <systemitem role=\"package" "\">debhelper</systemitem> compatibility level. Currently, you should set it " "to the <systemitem role=\"package\">debhelper</systemitem> v9 as follows:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ echo 9 > debian/compat\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>conffiles</filename>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian " "Policy Manual, \"D.2.5 Conffiles\"</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "One of the most annoying things about software is when you spend a great " "deal of time and effort customizing a program, only to have an upgrade stomp " "all over your changes. Debian solves this problem by marking such " "configuration files as conffiles. <placeholder type=\"footnote\" id=\"0\"/> " "When you upgrade a package, you'll be asked whether you want to keep your " "old configuration files or not." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry><refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> <emphasis>automatically</emphasis> flags any " "files under the <filename>/etc</filename> directory as conffiles, so if your " "program only has conffiles there you do not need to specify them in this " "file. For most package types, the only place conffiles should ever be is " "under <filename>/etc</filename>, and so this file doesn't need to exist." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your program uses configuration files but also rewrites them on its own, " "it's best not to make them conffiles because <command>dpkg</command> will " "then prompt users to verify the changes all the time." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If the program you're packaging requires every user to modify the " "configuration files in the <filename>/etc</filename> directory, there are " "two popular ways to arrange for them to not be conffiles, keeping " "<command>dpkg</command> quiet." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a symlink under the <filename>/etc</filename> directory pointing to a " "file under the <filename>/var</filename> directory generated by the " "maintainer scripts." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a file generated by the maintainer scripts under the <filename>/etc</" "filename> directory." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For information on maintainer scripts, see <xref linkend=\"maintscripts\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.cron.*</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your package requires regularly scheduled tasks to operate properly, you " "can use these files to set that up. You can set up regular tasks that " "either happen hourly, daily, weekly, or monthly, or alternatively happen at " "any other time that you wish. The filenames are:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.hourly</filename> - " "Installed as <filename>/etc/cron.hourly/<replaceable>package</replaceable></" "filename>; run once an hour." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.daily</filename> - " "Installed as <filename>/etc/cron.daily/<replaceable>package</replaceable></" "filename>; run once a day." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.weekly</filename> - " "Installed as <filename>/etc/cron.weekly/<replaceable>package</replaceable></" "filename>; run once a week." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.monthly</filename> - " "Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></" "filename>: run once a month." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.d</filename> - Installed " "as <filename>/etc/cron.d/<replaceable>package</replaceable></filename>: for " "any other time." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Most of these files are shell scripts, with the exception of " "<filename><replaceable>package</replaceable>.cron.d</filename> which follows " "the format of <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "No explicit <filename>cron.*</filename> file is needed to set up log " "rotation; for that, see <citerefentry><refentrytitle>dh_installlogrotate</" "refentrytitle> <manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>logrotate</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>dirs</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies any directories which we need but which are not created " "by the normal installation procedure (<literal>make install DESTDIR=...</" "literal> invoked by <literal>dh_auto_install</literal>). This generally " "means there is a problem with the <filename>Makefile</filename>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Files listed in an <filename>install</filename> file don't need their " "directories created first. See <xref linkend=\"install\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "It is best to try to run the installation first and only use this if you run " "into trouble. There is no preceding slash on the directory names listed in " "the <filename>dirs</filename> file." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.doc-base</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has documentation other than manual and info pages, you " "should use the <systemitem role=\"package\">doc-base</systemitem> file to " "register it, so the user can find it with e.g. <citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, or <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This usually includes HTML, PS and PDF files, shipped in <filename>/usr/" "share/doc/<replaceable>packagename</replaceable>/</filename>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This is what <systemitem role=\"package\">gentoo</systemitem>'s doc-base " "file <filename>gentoo.doc-base</filename> looks like:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For information on the file format, see <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and the Debian <systemitem role=\"package\">doc-base</" "systemitem> Manual at the local copy <filename>&doc-base;</filename> " "provided by the <systemitem role=\"package\">doc-base</systemitem> package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For more details on installing additional documentation, look in <xref " "linkend=\"destdir\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>docs</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies the file names of documentation files we can have " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> install into the temporary directory for us." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "By default, it will include all existing files in the top-level source " "directory that are called <filename>BUGS</filename>, <filename>README*</" "filename>, <filename>TODO</filename> etc." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For <systemitem role=\"package\">gentoo</systemitem>, some other files are " "also included:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>emacsen-*</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your package supplies Emacs files that can be bytecompiled at package " "installation time, you can use these files to set it up." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "They are installed into the temporary directory by <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "If you don't need these, remove them." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.examples</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs files and " "directories listed in this file as example files." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "" "<filename><replaceable>package</replaceable>.init</filename> and " "<filename><replaceable>package</replaceable>.default</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your package is a daemon that needs to be run at system start-up, you've " "obviously disregarded my initial recommendation, haven't you? :-)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.init</filename> file is " "installed as the <filename>/etc/init.d/<replaceable>package</replaceable></" "filename> script which starts and stops the daemon. Its fairly generic " "skeleton template is provided by the <command>dh_make</command> command as " "<filename>init.d.ex</filename>. You'll likely have to rename and edit it, a " "lot, while making sure to provide <ulink url=\"&lsb;\">Linux Standard Base</" "ulink> (LSB) compliant headers. It gets installed into the temporary " "directory by <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.default</filename> file " "will be installed as <filename>/etc/default/<replaceable>package</" "replaceable></filename>. This file sets defaults that are sourced by the " "init script. This <filename><replaceable>package</replaceable>.default</" "filename> file is most often used to disable running a daemon, or to set " "some default flags or timeouts. If your init script has certain " "configurable features, you can set them in the " "<filename><replaceable>package</replaceable>.default</filename> file, " "instead of in the init script itself." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream program provides a file for the init script, you can either " "use it or not. If you don't use their init script then create a new one in " "<filename><replaceable>package</replaceable>.init</filename>. However if " "the upstream init script looks fine and installs in the right place you " "still need to set up the <filename>rc*</filename> symlinks. To do this you " "will need to override <command>dh_installinit</command> in the " "<filename>rules</filename> file with the following lines:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "If you don't need this, remove the files." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>install</filename>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This replaces the deprecated <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command which is " "configured by the <filename>files</filename> file." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If there are files that need to be installed into your package but your " "standard <literal>make install</literal> won't do it, put the filenames and " "destinations into this <filename>install</filename> file. They are " "installed by <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=" "\"0\"/> You should first check there is not a more specific tool to use. " "For example, documents should be in the <filename>docs</filename> file and " "not in this one." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This <filename>install</filename> file has one line per file installed, with " "the name of the file (relative to the top build directory) then a space then " "the installation directory (relative to the install directory). One example " "of where this is used is if a binary <filename>src/<replaceable>bar</" "replaceable></filename> is left uninstalled; the <filename>install</" "filename> file might look like:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "src/<replaceable>bar</replaceable> usr/bin\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This means when this package is installed, there will be an executable " "command <filename>/usr/bin/<replaceable>bar</replaceable></filename>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Alternatively, this <filename>install</filename> can have the name of the " "file only without the installation directory when the relative directory " "path does not change. This format is usually used for a large package that " "splits the output of its build into multiple binary packages using " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <command>dh_install</command> command will fall back to looking in " "<filename>debian/tmp</filename> for files, if it doesn't find them in the " "current directory (or wherever you've told it to look using <literal>--" "sourcedir</literal>)." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.info</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has info pages, you should install them using <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing them in a <filename><replaceable>package</" "replaceable>.info</filename> file." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.links</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you need to create additional symlinks in package build directories as " "package maintainer, you should install them using <citerefentry> " "<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing their full paths of source and destination files in " "a <filename><replaceable>package</replaceable>.links</filename> file." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "" "<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</" "filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " "diagnostic for a case where Debian policy allows exceptions to some rule, " "you can use <filename><replaceable>package</replaceable>.lintian-overrides</" "filename> or <filename>source/lintian-overrides</filename> to quieten it. " "Please read Lintian User's Manual (<filename>&lintian-doc;</filename>) and " "refrain from abusing this." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> is " "for the binary package named <systemitem role=\"package" "\"><replaceable>package</replaceable></systemitem> and is installed into " "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" "filename> by the <command>dh_lintian</command> command." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<filename>source/lintian-overrides</filename> is for the source package. " "This is not installed." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>manpage.*</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Your program(s) should have a manual page. If they don't, you should create " "them. The <command>dh_make</command> command creates some template files " "for manual pages. These need to be copied and edited for each command " "missing its manual page. Please make sure to remove unused templates." msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.1.ex</filename>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Manual pages are normally written in <citerefentry> <refentrytitle>nroff</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. The " "<filename>manpage.1.ex</filename> template is written in <command>nroff</" "command>, too. See the <citerefentry> <refentrytitle>man</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> manual page for a brief description " "of how to edit such a file." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The final manual page file name should give the name of the program it is " "documenting, so we will rename it from <literal>manpage</literal> to " "<literal>gentoo</literal>. The file name also includes <literal>.1</" "literal> as the first suffix, which means it's a manual page for a user " "command. Be sure to verify that this section is indeed the correct one. " "Here's a short list of manual page sections:" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Section" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Description" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Notes" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "1" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "User command" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Executable commands or scripts" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "2" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System calls" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions provided by the kernel" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "3" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Library calls" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions within system libraries" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "4" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Special files" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Usually found in <filename>/dev</filename>" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "5" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "File formats" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "E.g. <filename>/etc/passwd</filename>'s format" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "6" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games or other frivolous programs" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "7" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Macro packages" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Such as <command>man</command> macros" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "8" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System administration" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Programs typically only run by root" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "9" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Kernel routines" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Non-standard calls and internals" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " "called <filename>gentoo.1</filename>. If there was no <filename>gentoo.1</" "filename> man page in the original source, you should create it by renaming " "the <filename>manpage.1.ex</filename> template to <filename>gentoo.1</" "filename> and editing it using information from the example and from the " "upstream docs." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Note that <command>help2man</command>'s placeholder man page will claim that " "more detailed documentation is available in the info system. If the command " "is missing an <command>info</command> page, you should manually edit the man " "page created by the <command>help2man</command> command." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can use the <command>help2man</command> command to generate a man page " "out of the <literal>--help</literal> and <literal>--version</literal> output " "of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.sgml.ex</filename>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If on the other hand you prefer writing SGML instead of <command>nroff</" "command>, you can use the <filename>manpage.sgml.ex</filename> template. If " "you do this, you have to:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "rename the file to something like <filename>gentoo.sgml</filename>." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-to-man</systemitem> package" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add <literal>docbook-to-man</literal> to the <literal>Build-Depends</" "literal> line in the <filename>control</filename> file" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add an <literal>override_dh_auto_build</literal> target to your " "<filename>rules</filename> file:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" msgstr "" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.xml.ex</filename>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you prefer XML over SGML, you can use the <literal>manpage.xml.ex</" "literal> template. If you do this, you have to:" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "rename the source file to something like <literal>gentoo.1.xml</literal>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-xsl</systemitem> package " "and an XSLT processor like <systemitem role=\"package\">xsltproc</" "systemitem> (recommended)" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add the <literal>docbook-xsl</literal>, <literal>docbook-xml</literal>, and " "<literal>xsltproc</literal> packages to the <literal>Build-Depends</literal> " "line in the <literal>control</literal> file" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.manpages</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has manual pages, you should install them using " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> by listing them in a " "<filename><replaceable>package</replaceable>.manpages</filename> file." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "To install <filename>docs/gentoo.1</filename> as a manpage for the " "<systemitem role=\"package\">gentoo</systemitem> package, create a " "<filename>gentoo.manpages</filename> file as follows." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "docs/gentoo.1\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>menu</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "X Window System users usually have a window manager with a menu that can be " "customized to launch programs. If they have installed the Debian " "<systemitem role=\"package\">menu</systemitem> package, a set of menus for " "every program on the system will be created for them." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here's the default <filename>menu.ex</filename> file that <command>dh_make</" "command> created." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The first field after the colon character is <literal>needs</literal>, and " "it specifies what kind of interface the program needs. Change this to one " "of the listed alternatives, e.g. <literal>text</literal> or <literal>X11</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The current list of sections is in <ulink url=\"&menu-structure;\">The " "Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>. There was " "a major reorganization of menu structure for <literal>squeeze</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The next is the <literal>section</literal> that the menu and submenu entry " "should appear in. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>title</literal> field is the name of the program. You can " "start this one in uppercase if you like. Just keep it short." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Finally, the <literal>command</literal> field is the command that runs the " "program." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Let's change the file name to <filename>menu</filename> and change the menu " "entry to this:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can also add other fields like <literal>longtitle</literal>, " "<literal>icon</literal>, <literal>hints</literal> etc. See <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, and <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> for more information." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>NEWS</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>{pre,post}{inst,rm}</filename>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Despite this use of the <command>bash</command> shorthand expression " "<filename>{pre,post}{inst,rm}</filename> to indicate these filenames, you " "should use pure POSIX syntax for these maintainer scripts for compatibility " "with <command>dash</command> as the system shell." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "These <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename>, and <filename>prerm</filename> files " "<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " "scripts</emphasis>. They are scripts which are put in the control area of " "the package and run by <command>dpkg</command> when your package is " "installed, upgraded, or removed." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "As a novice maintainer, you should avoid any manual editing of maintainer " "scripts because they are problematic. For more information refer to the " "<ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 \"Package " "maintainer scripts and installation procedure\"</ulink>, and take a look at " "the example files provided by <command>dh_make</command>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you did not listen to me and have created custom maintainer scripts for a " "package, you should make sure to test them not only for <emphasis role=" "\"strong\">install</emphasis> and <emphasis role=\"strong\">upgrade</" "emphasis> but also for <emphasis role=\"strong\">remove</emphasis> and " "<emphasis role=\"strong\">purge</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Upgrades to the new version should be silent and non-intrusive (existing " "users should not notice the upgrade except by discovering that old bugs have " "been fixed and perhaps that there are new features)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "When the upgrade is necessarily intrusive (eg., config files scattered " "through various home directories with totally different structure), you may " "consider as the last resort switching the package to a safe fallback state " "(e.g., disabling a service) and providing the proper documentation required " "by policy (<filename>README.Debian</filename> and <filename>NEWS.Debian</" "filename>). Don't bother the user with <command>debconf</command> notes " "invoked from these maintainer scripts for upgrades." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <systemitem role=\"package\">ucf</systemitem> package provides a " "<emphasis>conffile-like</emphasis> handling infrastructure to preserve user " "changes for files that may not be labeled as <emphasis>conffiles</emphasis> " "such as those managed by the maintainer scripts. This should minimize " "issues associated with them." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "These maintainer scripts are among the Debian enhancements that explain " "<emphasis role=\"strong\">why people choose Debian</emphasis>. You must be " "very careful not to turn them into a source of annoyance." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.symbols</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging of library is not easy for a novice maintainer and should be " "avoided. Having said it, if your package has libraries, you should have " "<filename>debian/<replaceable>package</replaceable>.symbols</filename> " "files. See <xref linkend=\"librarysymbols\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>TODO</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>watch</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>watch</filename> file format is documented in the " "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> manpage. The <filename>watch</filename> file configures the " "<command>uscan</command> program (in the <systemitem role=\"package" "\">devscripts</systemitem> package) to watch the site where you originally " "got the source from. This is also used by the <ulink url=\"&dehs;\">Debian " "External Health Status (DEHS)</ulink> service." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Here are its contents:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Normally with a <filename>watch</filename> file, the URL at <literal>&sf-" "net;/gentoo</literal> is downloaded and searched for links of the form " "<literal><a href=...></literal>. The basename (just the part after " "the final <literal>/</literal>) of each linked URL is compared against the " "Perl regular expression pattern (see <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Out of the files that match, the one with the " "greatest version number is downloaded and the <command>uupdate</command> " "program is run to create an updated source tree." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although this is true for other sites, the SourceForge download service at " "<ulink url=\"&sf-net;\"/> is an exception. When the <filename>watch</" "filename> file has an URL matching the Perl regexp <literal>^http://sf\\.net/" "</literal>, the <command>uscan</command> program replaces it with " "<literal>&qa-do;watch/sf.php/</literal> and then applies this rule. The URL " "redirector service at <ulink url=\"&qa-do;\"/> is designed to offer a stable " "redirect service to the desired file for any <filename>watch</filename> " "pattern of the form <literal>&sf-net;/<replaceable>project</replaceable>/" "<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This solves " "issues related to periodically changing SourceForge URLs." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/format</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "In the <filename>debian/source/format</filename> file, there should be a " "single line indicating the desired format for the source package (check " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> for an exhaustive list). After <literal>squeeze</" "literal>, it should say either:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (quilt)</literal> for everything else." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for a summary on the switch " "to the new <literal>3.0 (quilt)</literal> and <literal>3.0 (native)</" "literal> source formats." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Actually, this new format also supports multiple upstream tarballs and more " "compression methods. These are beyond the scope of this document." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format records modifications " "in a <command>quilt</command> patch series within <filename>debian/patches</" "filename>. Those changes are then automatically applied during extraction " "of the source package. <placeholder type=\"footnote\" id=\"0\"/> The Debian " "modifications are simply stored in a <filename>debian.tar.gz</filename> " "archive containing all files under the <filename>debian</filename> " "directory. This new format supports inclusion of binary files such as PNG " "icons by the package maintainer without requiring tricks. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "When <command>dpkg-source</command> extracts a source package in " "<literal>3.0 (quilt)</literal> source format, it automatically applies all " "patches listed in <filename>debian/patches/series</filename>. You can avoid " "applying patches at the end of the extraction with the <literal>--skip-" "patches</literal> option." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/local-options</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "When you want to manage Debian packaging activities under a VCS, you " "typically create one branch (e.g. <literal>upstream</literal>) tracking the " "upstream source and another branch (e.g. typically <literal>master</" "literal> for Git) tracking the Debian package. For the latter, you usually " "want to have unpatched upstream source with your <filename>debian/*</" "filename> files for the Debian packaging to ease merging of the new upstream " "source." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "After you build a package, the source is normally left patched. You need to " "unpatch it manually by running <literal>dquilt pop -a</literal> before " "committing to the <literal>master</literal> branch. You can automate this " "by adding the optional <filename>debian/source/local-options</filename> file " "containing <literal>unapply-patches</literal>. This file is not included in " "the generated source package and changes the local build behavior only. " "This file may contain <literal>abort-on-upstream-changes</literal>, too (see " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "unapply-patches\n" "abort-on-upstream-changes\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/options</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The autogenerated files in the source tree can be quite annoying for " "packaging since they generate meaningless large patch files. There are " "custom modules such as <command>dh_autoreconf</command> to ease this problem " "as described in <xref linkend=\"customrules\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can provide a Perl regular expression to the <literal>--extend-diff-" "ignore</literal> option argument of <citerefentry> <refentrytitle>dpkg-" "source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> to ignore " "changes made to the autogenerated files while creating the source package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "As a general solution to address this problem of the autogenerated files, " "you can store such a <command>dpkg-source</command> option argument in the " "<filename>source/options</filename> file of the source package. The " "following will skip creating patch files for <filename>config.sub</" "filename>, <filename>config.guess</filename>, and <filename>Makefile</" "filename>." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<filename>patches/*</filename>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The old <literal>1.0</literal> source format created a single large " "<filename>diff.gz</filename> file containing package maintenance files in " "<filename>debian</filename> and patch files for the source. Such a package " "is a bit cumbersome to inspect and understand for each source tree " "modification later. This is not so nice." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Several methods of patch set maintenance have been proposed and are in use " "for Debian packages. The <command>quilt</command> system is the preferred " "maintenance system in use. Others include <command>dpatch</command>, " "<command>dbs</command>, and <command>cdbs</command>. Many of these keep " "such patches as <filename>debian/patches/*</filename> files." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format stores patches in " "<filename>debian/patches/*</filename> files using the <command>quilt</" "command> command. These patches and other package data which are all " "contained under the <filename>debian</filename> directory are packaged as " "the <filename>debian.tar.gz</filename> file. Since the <command>dpkg-" "source</command> command can handle <command>quilt</command> formatted patch " "data in the <literal>3.0 (quilt)</literal> source without the <systemitem " "role=\"package\">quilt</systemitem> package, it does not need a " "<literal>Build-Depends</literal> on <systemitem role=\"package\">quilt</" "systemitem>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you are asking a sponsor to upload your package, this kind of clear " "separation and documentation of your changes is very important to expedite " "the package review by your sponsor." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <command>quilt</command> command is explained in <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. It records modifications to the source as a stack of " "<literal>-p1</literal> patch files in the <filename>debian/patches</" "filename> directory and the source tree is untouched outside of the " "<filename>debian</filename> directory. The order of these patches is " "recorded in the <filename>debian/patches/series</filename> file. You can " "apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For <xref linkend=\"modify\"/>, we created three patches in <filename>debian/" "patches</filename>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Since Debian patches are located in <filename>debian/patches</filename>, " "please make sure to set up the <command>dquilt</command> command properly as " "described in <xref linkend=\"quiltrc\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "When anyone (including yourself) provides a patch " "<filename><replaceable>foo</replaceable>.patch</filename> to the source " "later, modifying a <literal>3.0 (quilt)</literal> source package is quite " "simple:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The patches stored in the newer <literal>3.0 (quilt)</literal> source format " "must be <emphasis>fuzz</emphasis> free. You can ensure this with " "<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." msgstr "" #. type: Content of: <book><chapter><title> msgid "Building the package" msgstr "" #. type: Content of: <book><chapter><para> msgid "We should now be ready to build the package." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Complete (re)build" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "In order to perform a complete (re)build of a package properly, you need to " "make sure you have installed" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <systemitem role=\"package\">build-essential</systemitem> package," msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>), and" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends-indep</literal> field (see " "<xref linkend=\"control\"/>)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Then you issue the following command in the source directory:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make full binary and source packages for you. It " "will:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "clean the source tree (<literal>debian/rules clean</literal>)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the source package (<literal>dpkg-source -b</literal>)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the program (<literal>debian/rules build</literal>)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "sign the source <filename>.dsc</filename> file, using <command>gpg</command>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "create and sign the upload <filename>.changes</filename> file, using " "<command>dpkg-genchanges</command> and <command>gpg</command>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This GPG key must be signed by a Debian developer to get connected to the " "web of trust and must be registered to <ulink url=\"&keyring;\">the Debian " "keyring</ulink>. This enables your uploaded packages to be accepted to the " "Debian archives. See <ulink url=\"&keycreate;\">Creating a new GPG key</" "ulink> and <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The only input that will be required of you is your GPG secret pass phrase, " "twice. <placeholder type=\"footnote\" id=\"0\"/> If you are building Debian " "packages only for your own local use, you can skip promptings for the GPG " "signatures on the <filename>.dsc</filename> file and the <filename>.changes</" "filename> file like this:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -us -uc\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For a non-native Debian package, e.g., <systemitem role=\"package\">gentoo</" "systemitem>, you will see the following files in the parent directory " "(<filename>~/gentoo</filename>) after building packages:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the original upstream source code tarball, merely renamed to the " "above so that it adheres to the Debian standard. Note that this was created " "initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code. The file is generated " "from your <filename>control</filename> file, and is used when unpacking the " "source with <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. This file is GPG signed, so that " "people can be sure that it's really yours." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This compressed tarball contains your <filename>debian</filename> directory " "contents. Each and every addition you made to the original source code is " "stored as a <command>quilt</command> patch in <filename>debian/patches</" "filename>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can avoid applying <command>quilt</command> patches in the <literal>3.0 " "(quilt)</literal> source format at the end of the extraction with the " "<literal>--skip-patches</literal> option. Alternatively, you can run " "<literal>dquilt pop -a</literal> after normal operation." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If someone else wants to re-create your package from scratch, they can " "easily do so using the above three files. The extraction procedure is " "trivial: just copy the three files somewhere else and run <literal>dpkg-" "source -x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package. You can use <command>dpkg</command> " "to install and remove this just like any other package." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package revision; it " "is used by the Debian FTP archive maintenance programs to install the binary " "and source packages. It is partly generated from the <filename>changelog</" "filename> file and the <filename>.dsc</filename> file. This file is GPG " "signed, so that people can be sure that it's really yours." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "As you keep working on the package, its behavior will change and new " "features will be added. People downloading your package can look at this " "file and quickly see what has changed. Debian archive maintenance programs " "will also post the contents of this file to the <ulink url=\"&debian-devel-" "changes-ldo;\">debian-devel-changes@lists.debian.org</ulink> mailing list." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The long strings of numbers in the <filename>.dsc</filename> and <filename>." "changes</filename> files are SHA1/SHA256 checksums for the files mentioned. " "Anyone downloading your files can test them with <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> or <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> and if the numbers don't match, " "they'll know the file is corrupt or has been tampered with." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For a native Debian package, e.g., <systemitem role=\"package\">mypackage</" "systemitem>, you will see the following files in the parent directory after " "building packages:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.tar.gz</filename>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the source code tarball created from the <filename>mypackage-1.0</" "filename> directory by the <command>dpkg-source</command> command. (Its " "suffix is not <filename>orig.tar.gz</filename>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.dsc</filename>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code as in the non-native " "Debian package. (There is no Debian revision.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.deb</filename>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package as in the non-native Debian package. " "(There is no Debian revision.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.changes</filename>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package version as " "in the non-native Debian package. (There is no Debian revision.)" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Autobuilder" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The actual autobuilder system involves much more complicated schemes than " "the one documented here. Such details are beyond the scope of this document." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Debian supports many <ulink url=\"&ports;\">ports</ulink> with the <ulink " "url=\"&buildd;\">autobuilder network</ulink> running <command>buildd</" "command> daemons on computers of many different architectures. Although you " "do not need to do this yourself, you should be aware of what will happen to " "your packages. Let's look into roughly how they rebuild your packages for " "multiple architectures. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For <literal>Architecture: any</literal> packages, the autobuilder system " "performs a rebuild. It ensures the installation of" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <systemitem role=\"package\">build-essential</systemitem> package, and" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Then it issues the following command in the source directory:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -B\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make architecture dependent binary packages on " "another architecture. It will:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "build architecture dependent binary packages (<literal>fakeroot debian/rules " "binary-arch</literal>)" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "This is why you see your package for other architectures." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> package, " "the <command>chroot</command> environment under the <systemitem role=" "\"package\">sbuild</systemitem> package used by the autobuilder system does " "not enforce the use of a minimal system and may have many leftover packages " "installed." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although packages listed in the <literal>Build-Depends-Indep</literal> field " "are required to be installed for our normal packaging work (see <xref " "linkend=\"completebuild\"/>), they are not required to be installed for the " "autobuilder system since it builds only architecture dependent binary " "packages. <placeholder type=\"footnote\" id=\"0\"/> This distinction " "between normal packaging and autobuilding procedures is what dictates " "whether you should record such required packages in the <literal>Build-" "Depends</literal> or <literal>Build-Depends-Indep</literal> fields of the " "<filename>debian/control</filename> file (see <xref linkend=\"control\"/>)." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<command>debuild</command> command" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can automate the <command>dpkg-buildpackage</command> command's package " "build process further with the <command>debuild</command> command. See " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Customization of the <command>debuild</command> command can be done through " "<filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</" "filename>. I would suggest at least the following items:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "With these, packages are signed by your specified GPG key ID (good for " "sponsoring packages) and checked in detail by the <command>lintian</command> " "command." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Cleaning the source and rebuilding the package from your user account is as " "simple as:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your own local use, you " "can skip promptings for the GPG signatures on the <filename>.dsc</filename> " "file and the <filename>.changes</filename> file like this:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -us -uc\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "You can clean the source tree as simply as:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild clean\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Since the <systemitem role=\"package\">pbuilder</systemitem> package is " "still evolving, you should check the actual configuration situation by " "consulting the latest official documentation." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&buildd-do;\"/> for more on Debian package auto-building." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "For a clean room (<command>chroot</command>) build environment to verify the " "build dependencies, the <systemitem role=\"package\">pbuilder</systemitem> " "package is very useful. <placeholder type=\"footnote\" id=\"0\"/> This " "ensures a clean build from the source under the <literal>sid</literal> auto-" "builder for different architectures and avoids a severity serious FTBFS " "(Fails To Build From Source) bug which is always in the RC (release " "critical) category. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " "package as follows:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "setting the <filename>/var/cache/pbuilder/result</filename> directory " "writable by your user account." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable></filename>, writable by the user, to place hook scripts " "in." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "configuring <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" "filename> to include the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This will allow you to sign generated packages with your secret GPG key in " "the <filename>~/.gnupg/</filename> directory." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "First let's initialize the local <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> system as follows." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo pbuilder create\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you already have a completed source package, issue the following commands " "in the directory where the <filename><replaceable>foo</replaceable>.orig.tar." "gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</" "filename>, and <filename><replaceable>foo</replaceable>.dsc</filename> files " "exist to update the local <systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> system and to build binary packages in it." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The newly built packages without the GPG signatures will be located in " "<filename>/var/cache/pbuilder/result/</filename> with non-root ownership." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The GPG signatures on the <filename>.dsc</filename> file and the <filename>." "changes</filename> file can be generated as:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_version</replaceable>.dsc\n" "$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you have an updated source tree but have not generated the matching " "source package, issue the following commands in the source directory where " "the <filename>debian</filename> directory exists, instead." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ pdebuild\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your local use, you can " "skip promptings for the GPG signatures on the <filename>.dsc</filename> file " "and the <filename>.changes</filename> file as:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ AUTO_DEBSIGN=no pdebuild\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can log into its <command>chroot</command> environment with the " "<literal>pbuilder --login --save-after-login</literal> command and configure " "it as you wish. This environment can be saved by leaving its shell prompt " "with <literal>^D</literal> (Control-D)." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You can " "find many examples of hook scripts in the <filename>/usr/share/doc/pbuilder/" "examples</filename> directory." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The latest version of the <command>lintian</command> command can be executed " "in the <literal>chroot</literal> environment using the hook script " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> configured as follows. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You need to have access to the latest <literal>sid</literal> environment to " "build packages properly for <literal>sid</literal>. In practice, " "<literal>sid</literal> may be experiencing issues which makes it undesirable " "for you to migrate your whole system. The <systemitem role=\"package" "\">pbuilder</systemitem> package can help you to cope with this kind of " "situation." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are some restrictions for such updates of your <literal>stable</" "literal> package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You may need to update your <literal>stable</literal> packages after their " "release for <literal>stable-proposed-updates</literal>, <literal>stable/" "updates</literal>, etc. <placeholder type=\"footnote\" id=\"0\"/> For such " "occasions, the fact you may be running a <literal>sid</literal> system is " "not a good enough excuse for failing to update them promptly. The " "<systemitem role=\"package\">pbuilder</systemitem> package can help you to " "access environments of almost any Debian derivative distribution of the same " "architecture." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "See <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, and <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "<command>git-buildpackage</command> command and similars" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream uses a source code management system (VCS) <placeholder " "type=\"footnote\" id=\"0\"/> to maintain their code, you should consider " "using it as well. This makes merging and cherry-picking upstream patches " "much easier. There are several specialized wrapper script packages for " "Debian package building for each VCS." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git-buildpackage</systemitem>: a suite to help " "with Debian packages in Git repositories." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: helper programs " "to maintain Debian packages with Subversion." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: a set of Debian " "package scripts for CVS source trees." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documents how " "to use the <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> service." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Use of <systemitem role=\"package\">git-buildpackage</systemitem> is " "becoming quite popular for Debian Developers to manage Debian packages with " "the Git server on <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>. " "<placeholder type=\"footnote\" id=\"0\"/> This package offers many commands " "to <emphasis>automate</emphasis> packaging activities." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import previous Debian package to a Git " "repository." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import new upstream tar to a Git repository." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: generate the Debian changelog from Git commit " "messages." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository " "using <command>pbuilder</command>/<command>cowbuilder</command>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "These commands use 3 branches to track packaging activity." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>main</literal> for Debian package source tree." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>upstream</literal> for upstream source tree." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "The <literal>--pristine-tar</literal> option invokes the <command>pristine-" "tar</command> command which can regenerate an exact copy of a pristine " "upstream tarball using only a small binary delta file and the contents of " "the tarball, which are typically kept in an <literal>upstream</literal> " "branch in the VCS." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>pristine-tar</literal> for upstream tarball generated by the " "<literal>--pristine-tar</literal> option.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Here are some web resources available for advanced audiences." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "Building Debian Packages with git-buildpackage (<filename>&git-buildpackage-" "doc;</filename>)" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can configure <systemitem role=\"package\">git-buildpackage</systemitem> " "with <filename>~/.gbp.conf</filename>. See <citerefentry> <refentrytitle>gbp." "conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Quick rebuild" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Environment variables which are normally configured to proper values are not " "set by this method. Never create real packages to be uploaded using this " "<emphasis role=\"strong\">quick</emphasis> method." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "With a large package, you may not want to rebuild from scratch every time " "while you're tuning details in <filename>debian/rules</filename>. For " "testing purposes, you can make a <filename>.deb</filename> file without " "rebuilding the upstream sources like this<placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules binary\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Or simply do the following to see if it builds or not:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules build\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are finished with your tuning, remember to rebuild following the " "proper procedure. You may not be able to upload correctly if you try to " "upload <filename>.deb</filename> files built this way." msgstr "" #. type: Content of: <book><chapter><title> msgid "Checking the package for errors" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "There are some techniques you should know for checking a package for errors " "before uploading it to the public archives." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "It's also a good idea to carry out testing on a machine other than your " "own. You must watch closely for any warnings or errors for all the tests " "described here." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Suspicious changes" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you find a new autogenerated patch file such as <filename>debian-changes-" "*</filename> in the <filename>debian/patches</filename> directory after " "building your non-native Debian package in <literal>3.0 (quilt)</literal> " "format, chances are you changed some files by accident or the build script " "modified the upstream source. If it is your mistake, fix it. If it is " "caused by the build script, fix the root cause with <command>dh-autoreconf</" "command> as in <xref linkend=\"customrules\"/> or work around it with " "<filename>source/options</filename> as in <xref linkend=\"sourceopt\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's installation" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You must test your package for whether it installs without problem. The " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> command helps you to test installing all the generated " "binary packages." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "To prevent installation problem on different systems, you must make sure " "that there are no filenames conflicting with other existing packages, using " "the <filename>Contents-<replaceable>i386</replaceable></filename> file " "downloaded from the Debian archive. The <command>apt-file</command> command " "may be handy for this task. If there are collisions, please take action to " "avoid this real problem, whether by renaming the file, moving a common file " "to a separate package that multiple packages can depend on, using the " "alternatives mechanism (see <citerefentry><refentrytitle>update-" "alternatives</refentrytitle> <manvolnum>1</manvolnum></citerefentry>) in " "coordination with the maintainers of other affected packages, or declaring a " "<literal>Conflicts</literal> relationship in the <filename>debian/control</" "filename> file." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's maintainer scripts" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "All maintainer scripts (that is, <filename>preinst</filename>, " "<filename>prerm</filename>, <filename>postinst</filename>, and " "<filename>postrm</filename> files) are hard to write correctly unless they " "are auto-generated by the <systemitem role=\"package\">debhelper</" "systemitem> programs. So do not use them if you are a novice maintainer " "(see <xref linkend=\"maintscripts\"/>)." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If the package makes use of these non-trivial maintainer scripts, be sure to " "test not only for install but also for remove, purge, and upgrade " "processes. Many maintainer script bugs show up when packages are removed or " "purged. Use the <command>dpkg</command> command as follows to test them." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "This should be done with sequences such as the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the previous version (if needed)." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "upgrade it from the previous version." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "downgrade it back to the previous version (optional)." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "purge it." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the new package." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "remove it." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install it again." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If this is your first package, you should create dummy packages with " "different versions to test your package in advance to prevent future " "problems." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that if your package has previously been released in Debian, " "people will often be upgrading to your package from the version that was in " "the last Debian release. Remember to test upgrades from that version too." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although downgrading is not officially supported, supporting it is a " "friendly gesture." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Using <systemitem role=\"package\">lintian</systemitem>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You do not need to provide the <command>lintian</command> option <literal>-i " "-I --show-overrides</literal> if you customized <filename>/etc/devscripts." "conf</filename> or <filename>~/.devscripts</filename> as described in <xref " "linkend=\"debuild\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Run <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> on your <filename>.changes</filename> file. The " "<command>lintian</command> command runs many test scripts to check for many " "common packaging errors. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of the <filename>.changes</" "filename> file generated for your package. The output of the " "<command>lintian</command> command uses the following flags." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>E:</literal> for error; a sure policy violation or packaging error." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>W:</literal> for warning; a possible policy violation or packaging " "error." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>I:</literal> for info; information on certain aspects of packaging." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>N:</literal> for note; a detailed message to help your debugging." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>O:</literal> for overridden; a message overridden by the " "<filename>lintian-overrides</filename> files but displayed by the <literal>--" "show-overrides</literal> option." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "When you see warnings, tune the package to avoid them or verify that the " "warnings are spurious. If spurious, set up <filename>lintian-overrides</" "filename> files as described in <xref linkend=\"lintian\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Note that you can build the package with <command>dpkg-buildpackage</" "command> and run <command>lintian</command> on it in one command, if you use " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> or <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The <command>debc</command> command" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can list files in the binary Debian package with the <citerefentry> " "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "command." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debc <replaceable>package</replaceable>.changes\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The <command>debdiff</command> command" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare file contents in two source Debian packages with the " "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can also compare file lists in two sets of binary Debian packages with " "the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "These are useful to identify what has been changed in the source packages " "and to check for inadvertent changes made when updating binary packages, " "such as unintentionally misplacing or removing files." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The <command>interdiff</command> command" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare two <filename>diff.gz</filename> files with the " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command. This is useful for verifying that no " "inadvertent changes were made to the source by the maintainer when updating " "packages in the old <literal>1.0</literal> source format." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The new <literal>3.0</literal> source format stores changes in multiple " "patch files as described in <xref linkend=\"patches\"/>. You can trace " "changes of each <filename>debian/patches/*</filename> file using " "<command>interdiff</command>, too." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "The <command>mc</command> command" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Many of these file inspection operations can be made into an intuitive " "process by using a file manager like <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> which will let you " "browse not only the contents of <filename>*.deb</filename> package files but " "also <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, " "<filename>*.diff.gz</filename>, and <filename>*.orig.tar.gz</filename> files." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Be on the lookout for extra unneeded files or zero length files, both in the " "binary and source package. Often cruft doesn't get cleaned up properly; " "adjust your <filename>rules</filename> file to compensate for this." msgstr "" #. type: Content of: <book><chapter><title> msgid "Updating the package" msgstr "" #. type: Content of: <book><chapter><para> msgid "After you release a package, you will soon need to update it." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "New Debian revision" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Let's say that a bug report was filed against your package as " "<literal>#654321</literal>, and it describes a problem that you can solve. " "Here's what you need to do to create a new Debian revision of the package." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to be recorded as a new patch, do the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> to " "set the patch name;" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> to " "declare the file to be modified;" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Correct the problem in the package source for the upstream bug;" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to record it to " "<filename><replaceable>bugname.patch</replaceable></filename>;" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to add its description;" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to update an existing patch, do the following." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> to recall " "the existing <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Correct the problem in the old <filename><replaceable>foo.patch</" "replaceable></filename>;" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to update <filename><replaceable>foo." "patch</replaceable></filename>;" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to update its description;" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>;" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "To get the date in the required format, use <literal>LANG=C date -R</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add a new revision at the top of the Debian <filename>changelog</filename> " "file, for example with <literal>dch -i</literal>, or explicitly with " "<literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal> and then insert the comments using your preferred " "editor. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Include a short description of the bug and the solution in the changelog " "entry, followed by <literal>Closes: #654321</literal>. That way, the bug " "report will be <emphasis>automagically</emphasis> closed by the archive " "maintenance software the moment your package gets accepted into the Debian " "archive." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in the above to fix more bugs while updating the Debian " "<filename>changelog</filename> file with <literal>dch</literal> as needed." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in <xref linkend=\"completebuild\"/> and <xref linkend=" "\"checkit\"/>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Once you are satisfied, you should change the distribution value in " "<filename>changelog</filename> from <literal>UNRELEASED</literal> to the " "target distribution value <literal>unstable</literal> (or even " "<literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Upload the package as <xref linkend=\"upload\"/>. The difference is that " "this time, the original source archive won't be included, as it hasn't been " "changed and it already exists in the Debian archive." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case can occur when you make a local package to experiment with " "the packaging before uploading the normal version to the official archive, e." "g., <literal><replaceable>1.0.1</replaceable>-<replaceable>1</replaceable></" "literal>. For smoother upgrades, it is a good idea to create a " "<filename>changelog</filename> entry with a version string as " "<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" "literal>. You may unclutter <filename>changelog</filename> by consolidating " "such local change entries into a single entry for the official package. See " "<xref linkend=\"namever\"/> for the order of version strings." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Inspection of the new upstream release" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "When preparing packages of a new upstream release for the Debian archive, " "you must check the new upstream release, first." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Start by reading the upstream <filename>changelog</filename>, " "<filename>NEWS</filename>, and whatever other documentation they may have " "released with the new version." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can then inspect changes between the old and new upstream sources as " "follows, watching out for anything suspicious." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Changes to some auto-generated files by Autotools such as <filename>missing</" "filename>, <filename>aclocal.m4</filename>, <filename>config.guess</" "filename>, <filename>config.h.in</filename>, <filename>config.sub</" "filename>, <filename>configure</filename>, <filename>depcomp</filename>, " "<filename>install-sh</filename>, <filename>ltmain.sh</filename>, and " "<filename>Makefile.in</filename> may be ignored. You may delete them before " "running <command>diff</command> on the source for inspection." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "New upstream release" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is packaged in the old <literal>1.0</literal> format, this can " "be done by running <literal>zcat /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" "literal> in the new extracted source, instead." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is properly packaged in the newer <literal>3.0 (native)</" "literal> or <literal>3.0 (quilt)</literal> formats, packaging a new upstream " "version is essentially moving the old <filename>debian</filename> directory " "to the new source. This can be done by running <literal>tar xvzf /" "<replaceable>path</replaceable>/<replaceable>to</replaceable>/" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian." "tar.gz</literal> in the new extracted source. <placeholder type=\"footnote" "\" id=\"0\"/> Of course, you need to do some obvious chores." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a copy of the upstream source as the " "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename> " "file." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Update the Debian <filename>changelog</filename> file with <literal>dch -v " "<replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Add an entry with <literal>New upstream release</literal>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>in the new upstream release</" "emphasis> that fix reported bugs and close those bugs by adding " "<literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>to the new upstream release</" "emphasis> by the maintainer that fix reported bugs and close those bugs by " "adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If the patch/merge did not apply cleanly, inspect the situation (clues are " "left in <filename>.rej</filename> files)." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source was integrated into the upstream source," msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt delete</literal> to remove it." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source conflicted with new changes in the " "upstream source," msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt push -f</literal> to apply old patches while forcing rejects " "as <filename><replaceable>baz</replaceable>.rej</filename>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Edit the <filename><replaceable>baz</replaceable></filename> file manually " "to bring about the intended effect of <filename><replaceable>baz</" "replaceable>.rej</filename>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt refresh</literal> to update the patch." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Continue as usual with <literal>while dquilt push; do dquilt refresh; done</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "This process can be automated using the <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> command as follows:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the <command>uscan</command> command downloads the updated source but it " "does not run the <command>uupdate</command> command, you should correct the " "<filename>debian/watch</filename> file to have <literal>debian uupdate</" "literal> at the end of the URL." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you set up a <filename>debian/watch</filename> file as described in <xref " "linkend=\"watch\"/>, you can skip the <command>wget</command> command. You " "simply run <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> in the <filename><replaceable>foo</replaceable>-" "<replaceable>oldversion</replaceable></filename> directory instead of the " "<command>uupdate</command> command. This will <emphasis>automagically</" "emphasis> look for the updated source, download it, and run the " "<command>uupdate</command> command. <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can release this updated source by repeating what you did in <xref " "linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref linkend=" "\"upload\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Updating the packaging style" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If your sponsor or other maintainers object to updating the existing " "packaging style, don't bother arguing. There are more important things to " "do." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Updating the package style is not a required activity for the update of a " "package. However, doing so lets you use the full capabilities of the modern " "<systemitem role=\"package\">debhelper</systemitem> system and the " "<literal>3.0</literal> source format. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you need to recreate deleted template files for any reason, you can run " "<command>dh_make</command> again in the same Debian package source tree with " "the <literal>--addmissing</literal> option. Then edit them appropriately." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If the package has not been updated to use the <systemitem role=\"package" "\">debhelper</systemitem> v7+ <command>dh</command> syntax for the " "<filename>debian/rules</filename> file, update it to use <command>dh</" "command>. Update the <filename>debian/control</filename> file accordingly." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you want to update the <filename>rules</filename> file created with the " "<filename>Makefile</filename> inclusion mechanism of the Common Debian Build " "System (<systemitem role=\"package\">cdbs</systemitem>) to the <command>dh</" "command> syntax, see the following to understand its <literal>DEB_*</" "literal> configuration variables." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "local copy of <filename>&cdbs-doc;</filename>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package without the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (native)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(native)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can split <filename>big.diff</filename> into many small incremental " "patches using the <command>splitdiff</command> command." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package with the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (quilt)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(quilt)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied. Import the <filename>big.diff</filename> file generated by " "the command <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" "replaceable>.diff.gz > big.diff</literal> to your <command>quilt</" "command> system, if needed. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged using another patch system such as <systemitem role=" "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" "systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " "<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, " "convert it to the <systemitem role=\"package\">quilt</systemitem> command " "using <filename>deb3</filename> at <ulink url=\"&deb3;\"/>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged with the <command>dh</command> command with the " "<literal>--with quilt</literal> option or with the <command>dh_quilt_patch</" "command> and <command>dh_quilt_unpatch</command> commands, remove these and " "make it use the newer <literal>3.0 (native)</literal> source format." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You should check <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> and adopt ACCEPTED proposals." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You need to do the other tasks described in <xref linkend=\"newupstream\"/>, " "too." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "UTF-8 conversion" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream documents are encoded in old encoding schemes, converting them " "to <ulink url=\"&utf8;\">UTF-8</ulink> is a good idea." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert encodings of plain text files." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert from HTML files to UTF-8 plain text " "files. When you do this, make sure to execute it under UTF-8 locale." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Reminders for updating packages" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "Here are few reminders for updating packages." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Preserve old <filename>changelog</filename> entries (sounds obvious, but " "there have been cases of people typing <literal>dch</literal> when they " "should have typed <literal>dch -i</literal>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Existing Debian changes need to be reevaluated; throw away stuff that " "upstream has incorporated (in one form or another) and remember to keep " "stuff that hasn't been incorporated by upstream, unless there is a " "compelling reason not to." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If any changes were made to the build system (hopefully you'd know from " "inspecting upstream changes) then update the <filename>debian/rules</" "filename> and <filename>debian/control</filename> build dependencies if " "necessary." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> to " "see if someone has provided patches to bugs that are currently open." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the contents of the <filename>.changes</filename> file to make sure " "you are uploading to the correct distribution, the proper bug closures are " "listed in the <literal>Closes</literal> field, the <literal>Maintainer</" "literal> and <literal>Changed-By</literal> fields match, the file is GPG-" "signed, etc." msgstr "" #. type: Content of: <book><chapter><title> msgid "Uploading the package" msgstr "" #. type: Content of: <book><chapter><para> msgid "" "Now that you have tested your new package thoroughly, you want to release it " "to a public archive to share it." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Uploading to the Debian archive" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <xref linkend=\"socialdynamics\"/>." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are publicly accessible archives such as <ulink url=\"&mentors-dn;\"/> " "which work almost the same way as the Debian archive and provide an upload " "area for non-DDs. You can set up an equivalent archive by yourself using " "the tools listed at <ulink url=\"&deb-archive;\"/>. So this section is " "useful for non-DDs, too." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <systemitem role=\"package\">dput</systemitem> package seems to come " "with more features and to be becoming more popular than the <systemitem role=" "\"package\">dupload</systemitem> package. It uses the file <filename>/etc/" "dput</filename> for its global configuration and the file <filename>~/.dput." "cf</filename> for per-user configuration. It supports Ubuntu-related " "services out-of-the-box, too." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Once you become an official developer, <placeholder type=\"footnote\" id=" "\"0\"/> you can upload the package to the Debian archive. <placeholder type=" "\"footnote\" id=\"1\"/> You can do this manually, but it's easier to use the " "existing automated tools, like <citerefentry> <refentrytitle>dupload</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. We'll describe how it's done with <command>dupload</" "command>. <placeholder type=\"footnote\" id=\"2\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "First you have to set up <command>dupload</command>'s config file. You can " "either edit the system-wide <filename>/etc/dupload.conf</filename> file, or " "have your own <filename>~/.dupload.conf</filename> file override the few " "things you want to change." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can read the <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> manual page to understand what each " "of these options means." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. " "\"Uploading a package\"</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>$default_host</literal> option determines which of the upload " "queues will be used by default. <literal>anonymous-ftp-master</literal> is " "the primary one, but it's possible that you will want to use another one. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "While connected to the Internet, you can upload your package as follows:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dupload gentoo_0.9.12-1_i386.changes\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dupload</command> checks that the SHA1/SHA256 file checksums match " "those listed in the <filename>.changes</filename> file. If they do not " "match, it will warn you to rebuild it as described in <xref linkend=" "\"completebuild\"/> so it can be properly uploaded." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&uploadqueue-readme;\"/>. Alternatively, you can use the " "<command>dcut</command> command from the <systemitem role=\"package\">dput</" "systemitem> package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you encounter an upload problem at <ulink url=\"&uploadqueue;\"/>, you " "can fix this by manually uploading a GPG-signed <filename>*.commands</" "filename> file to there with <command>ftp</command>. <placeholder type=" "\"footnote\" id=\"0\"/> For example, using <filename>hello.commands</" "filename>:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Including <filename>orig.tar.gz</filename> for upload" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "When you first upload the package to the archive, you need to include the " "original <filename>orig.tar.gz</filename> source, too. If the Debian " "revision number of this package is neither <literal>1</literal> nor " "<literal>0</literal>, you must provide the <command>dpkg-buildpackage</" "command> option <literal>-sa</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "For the <command>dpkg-buildpackage</command> command:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -sa\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "For the <command>debuild</command> command:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -sa\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "For the <command>pdebuild</command> command:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts -sa\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "On the other hand, the <literal>-sd</literal> option will force the " "exclusion of the original <filename>orig.tar.gz</filename> source." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Skipped uploads" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you created multiple entries in <filename>debian/changelog</filename> by " "skipping uploads, you must create a proper <filename>*_.changes</filename> " "file which includes all changes from the last upload. This can be done by " "specifying the <command>dpkg-buildpackage</command> option <literal>-v</" "literal> with the version, e.g., <literal><replaceable>1.2</replaceable></" "literal>." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -v<replaceable>1.2</replaceable>\n" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" msgstr "" #. type: Content of: <book><appendix><title> msgid "Advanced packaging" msgstr "" #. type: Content of: <book><appendix><para> msgid "" "Here are some hints and pointers for advanced packaging topics which you are " "most likely to deal with. You are strongly advised to read all the " "references suggested here." msgstr "" #. type: Content of: <book><appendix><section><title> msgid "Shared libraries" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Before packaging shared <ulink url=\"&library;\">libraries</ulink>, you " "should read the following primary references in detail." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "Here are some oversimplified hints for you to get started." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are <ulink url=\"&elf;\">ELF</ulink> object files " "containing compiled code." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are distributed as <filename>*.so</filename> files. " "(Neither <filename>*.a</filename> files nor <filename>*.la</filename> files)" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are mainly used to share common codes among multiple " "executables with the <command>ld</command> mechanism." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are sometimes used to provide multiple plugins to an " "executable with the <command>dlopen</command> mechanism." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries export <ulink url=\"&symbol;\">symbols</ulink> which " "represent compiled objects such as variables, functions, and classes; and " "enables access to them from the linked executables." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&soname;\">SONAME</ulink> of a shared library " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of a shared library usually matches the library file name (but " "not always)." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of shared libraries linked to <filename><replaceable>/usr/bin/" "foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/foo</" "replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time " "shared libraries\"</ulink>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: the library package " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> with the SONAME ABI version " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig" "\"</ulink>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The package maintainer scripts of the library package must call " "<command>ldconfig</command> under the specific circumstances to create the " "necessary symbolic links for the SONAME.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: the debugging " "symbols package which contains the debugging symbols for the shared library " "package <systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> and <ulink url=\"&policy-dev;\">Debian Policy Manual, " "8.4 \"Development files\"</ulink>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: the development package which contains the header files etc. " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not contain <filename>*.la</filename> Libtool archive " "files in general.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "See <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not use RPATH in general.<placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Although it is somewhat outdated and is only a secondary reference, <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "may still be useful." msgstr "" #. type: Content of: <book><appendix><section><title> msgid "" "Managing <filename>debian/<replaceable>package</replaceable>.symbols</" "filename>" msgstr "" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Backward-incompatible ABI changes normally require you to update the SONAME " "of the library and the shared library package name to new ones." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "When you package a shared library, you should create <filename>debian/" "<replaceable>package</replaceable>.symbols</filename> file to manage the " "minimal version associated to each symbol for backward-compatible ABI " "changes under the same SONAME of the library for the same shared library " "package name.<placeholder type=\"footnote\" id=\"0\"/> You should read the " "following primary references in detail." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "For C++ libraries and other cases where tracking individual symbols is too " "difficult, follow <ulink url=\"&policy-library-shlibs;\">Debian Policy " "Manual, 8.6.4 \"The shlibs system\"</ulink>, instead." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Here is a rough example to create the <systemitem role=\"package\">libfoo1</" "systemitem> package to the upstream version <literal>1.3</literal> with the " "proper <filename>debian/libfoo1.symbols</filename> file." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Prepare the skeleton debianized source tree using the upstream " "<filename>libfoo-1.3.tar.gz</filename> file." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If this is the first packaging of the <systemitem role=\"package\">libfoo1</" "systemitem> package, create the <filename>debian/libfoo1.symbols</filename> " "file with empty content." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was packaged as the " "<systemitem role=\"package\">libfoo1</systemitem> package with the proper " "<filename>debian/libfoo1.symbols</filename> in its source package, use it " "again." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "All previous versions of Debian packages are available at <ulink url=" "\"&snapshot;\">http://snapshot.debian.org/</ulink>. The Debian revision is " "dropped from the version to make it easier to backport the package: " "<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " "<literal>1.1-1</literal> and <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was not packaged " "with the <filename>debian/libfoo1.symbols</filename>, create it as the " "<filename>symbols</filename> file from all available binary packages of the " "same shared library package name containing the same SONAME of the library, " "for example, versions <literal>1.1-1</literal> and <literal>1.2-1</" "literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Make trial builds of the source tree with tools such as <command>debuild</" "command> and <command>pdebuild</command>. (If this fails due to missing " "symbols etc., there were some backward-incompatible ABI changes which " "require you to bump the shared library package name to something like " "<systemitem role=\"package\">libfoo1a</systemitem> and you should start over " "again.)" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "The Debian revision is dropped from the version to make it easier to " "backport the package: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "If you see the diff printed by the <command>dpkg-gensymbols</command> as " "above, extract the updated proper <filename>symbols</filename> file from the " "generated binary package of the shared library. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Build release packages with tools such as <command>debuild</command> and " "<command>pdebuild</command>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" msgstr "" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 \"Shared " "library ABI changes\"</ulink>." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "In addition to the above examples, we need to check the ABI compatibility " "further and bump versions for some symbols manually as needed. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Although it is only a secondary reference, <ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> and its linked web pages may be " "useful." msgstr "" #. type: Content of: <book><appendix><section><title> msgid "Multiarch" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "The multiarch feature introduced to Debian wheezy integrates support for " "cross-architecture installation of binary packages (particularly " "<literal>i386</literal><-><literal>amd64</literal>, but also other " "combinations) in <systemitem role=\"package\">dpkg</systemitem> and " "<systemitem role=\"package\">apt</systemitem>. You should read the " "following references in detail." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (upstream)" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian situation)" msgstr "" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Old special purpose library paths such as <filename>/lib32/</filename> and " "<filename>/lib64/</filename> are not used any more." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "It uses the triplet such as <literal>i386-linux-gnu</literal> and " "<literal>x86_64-linux-gnu</literal> for the install path of shared " "libraries. The actual triplet path is dynamically set into <literal>" "$(DEB_HOST_MULTIARCH)</literal> value by <citerefentry> <refentrytitle>dpkg-" "architecture</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for " "each build. For example, the path to install multiarch libraries are " "changed as follows.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Old path" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "i386 multiarch path" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "amd64 multiarch path" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/</filename>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/i386-linux-gnu/</filename>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/x86_64-linux-gnu/</filename>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/</filename>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/i386-linux-gnu/</filename>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/x86_64-linux-gnu/</filename>" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Here are some typical multiarch package split scenario examples for the " "followings:" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a library source <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>bar</replaceable>-1.tar.gz</filename> " "written in a compiled language" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>baz</replaceable>-1.tar.gz</filename> " "written in an interpreted language" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Architecture:" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Multi-Arch:" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package content" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "any" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "same" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library, co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library debug symbols, co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library header files etc., co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "foreign" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the run-time support programs, not co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "all" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library documentation files" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the compiled program files, not co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the documentation files for the program" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the interpreted program files" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Please note that the development package should contain a symlink for the " "associated shared library <emphasis role=\"strong\">without a version " "number</emphasis>. E.g.: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</" "filename> -> <filename>libfoo.so.1</filename>" msgstr "" #. type: Content of: <book><appendix><section><title> msgid "Building a shared library package" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "You can build a Debian library package enabling the multiarch support using " "<citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> as follows." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Update <filename>debian/control</filename>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Build-Depends: debhelper (>=9)</literal> for the source package " "section." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Pre-Depends: ${misc:Pre-Depends}</literal> for each shared " "library binary package." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Multi-Arch:</literal> stanza for each binary package section." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Set <filename>debian/compat</filename> to \"9\"." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Adjust the path from the normal <literal>/usr/lib/</literal> to the " "multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> for all " "packaging scripts." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Call <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> in <filename>debian/rules</filename> to set " "<literal>DEB_HOST_MULTIARCH</literal> variable, first." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace <literal>/usr/lib/</literal> with <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> in <filename>debian/rules</filename>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively, you can add <literal>--libdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> and <literal>--libexecdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> arguments to <literal>./configure</" "literal>. Please note that <literal>--libexecdir</literal> specifies the " "default path to install executable programs run by other programs rather " "than by users. Its Autotools default is <filename>/usr/libexec/</filename> " "but its Debian default is <filename>/usr/lib/</filename>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If <literal>./configure</literal> is used in the part of " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>, make sure to replace it with <literal>dh_auto_configure -- " "</literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace all occurrences of <literal>/usr/lib/</literal> with <literal>/usr/" "lib/*/</literal> in <filename>debian/<replaceable>foo</replaceable>.install</" "filename> files." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Generate files like <filename>debian/<replaceable>foo</replaceable>.links</" "filename> from <filename>debian/<replaceable>foo</replaceable>.links.in</" "filename> dynamically by adding a script to " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Please make sure to verify that the shared library package contains only the " "expected files, and that your -dev package still works." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "All files installed simultaneously as the multiarch package to the same file " "path should have exactly the same file content. You must be careful on " "differences generated by the data byte order and by the compression " "algorithm." msgstr "" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/zh-cn.po����������������������������������������������������������������������0000644�0000000�0000000�00002360144�12262271627�012706� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Chinese translations for maint-guide package # maint-guide 软件包的简体中文翻译 # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the maint-guide package. # Aron <happyaron.xu@gmail.com>, 2010. # msgid "" msgstr "" "Project-Id-Version: maint-guide HEAD\n" "POT-Creation-Date: 2014-01-06 00:00+0900\n" "PO-Revision-Date: 2011-08-03 23:03+0800\n" "Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: Attribute 'lang' of: <book> msgid "en" msgstr "zh-cn" #. type: Content of: <book><title> msgid "Debian New Maintainers' Guide" msgstr "Debian 新维护人员手册" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Josip Rodin" msgstr "" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "joy-mg@debian.org" msgstr "joy-mg@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "original contents" msgstr "原始内容" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Osamu Aoki" msgstr "Osamu Aoki" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "osamu@debian.org" msgstr "osamu@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "updated contents" msgstr "更新内容" #. type: Content of: <book><bookinfo><releaseinfo> msgid "version &docversion;" msgstr "版本 &docversion;" #. type: Content of: <book><bookinfo> msgid "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" msgstr "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "" "This document may be used under the terms the GNU General Public License " "version 2 or higher." msgstr "本文档可在 GNU 通用公共许可证第二版或更高版本的条款规定下使用。" #. type: Content of: <book><bookinfo><legalnotice><para> #, fuzzy #| msgid "This document was made using with these two documents as examples:" msgid "This document was made using these two documents as examples:" msgstr "本文档在撰写过程中参考了以下两篇文档:" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." msgstr "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." msgstr "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." #. type: Content of: <book><chapter><title> msgid "Getting started The Right Way" msgstr "从一条正确的路开始" #. type: Content of: <book><chapter><para> msgid "" "This document tries to describe the building of a Debian package to ordinary " "Debian users and prospective developers. It uses fairly non-technical " "language, and it's well covered with working examples. There is an old " "Latin saying: <emphasis>Longum iter est per praecepta, breve et efficax per " "exempla</emphasis> (It's a long way by the rules, but short and efficient " "with examples)." msgstr "" "这篇文档试图为普通 Debian 用户,和希望对 Debian 软件包有所了解的开发人员讲述" "如何制作 Debian 软件包。在这里,我们尽可能使用通俗的语言,并辅以大量实例来直" "观地展示每一个细节。正如一句古罗马谚语说得好:<emphasis>一例胜千言!</" "emphasis>" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "The document assumes you are using a <literal>&base-release;</literal> or " "newer system. If you need to follow this text in an older system (including " "an older Ubuntu system etc.), you must install backported <systemitem role=" "\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</" "systemitem> packages, at least." msgstr "" "在写这份文档时,我们默认你使用 <literal>squeeze</literal> 操作系统。如果你需" "要在 <literal>lenny</literal> 系统上使用本文所记述的方法,则必须安装 " "backports 仓库中的 <systemitem role=\"package\">dpkg</systemitem> 和 " "<systemitem role=\"package\">debhelper</systemitem> 软件包。" #. type: Content of: <book><chapter><para> msgid "" "This document has been updated for the Debian <literal>&base-release;</" "literal> release. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "本文档已经针对 Debian <literal>&base-release;</literal> 进行了更新。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "You can learn about the basic handling of a Debian system from the <ulink " "url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to " "learn about Unix programming, too." msgstr "" "在 <ulink url=\"&debref;\">Debian Reference</ulink> 中,你可以了解到使用 " "Debian 系统的一些基本信息和关于 Unix 编程的一些指引。" #. type: Content of: <book><chapter><para> msgid "" "One of the things that makes Debian such a top-notch distribution is its " "package system. While there is a vast quantity of software already in the " "Debian format, sometimes you need to install software that isn't. You may " "be wondering how you can make your own packages; and perhaps you think it is " "a very difficult task. Well, if you are a real novice on Linux, it is hard, " "but if you were a rookie, you wouldn't be reading this document " "now :-) You do need to know a little about Unix programming but you " "certainly don't need to be a wizard. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Debian 的软件包系统是使它跻身顶级发行版行列的重要原因之一。尽管已经有相当数量" "的软件被打包成 Debian 的格式,但有时还是需要安装一些不是这一格式的软件。可能" "你正为如何制作自己的软件包而感到迷惑,也可能正认为这么做很难。如果你是一个刚" "刚接触 Debian 的初学者,那么是的,它的确很难;不过假如你真的只是一个初入此门" "的新手,现在大概也不会来读这篇文档了。:-) 你的确需要对 Unix 编程有所了解,但" "显然没必要是这方面的天才。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para> msgid "" "One thing is certain, though: to properly create and maintain Debian " "packages takes many hours. Make no mistake, for our system to work the " "maintainers need to be both technically competent and diligent." msgstr "" "对于 Debian 软件包维护人员来说,有一件事是非常明确的:创建并维护一个 Debian " "软件包需要花费很多精力,所需的时间很可能远不只是几个小时。维护人员需要有良好" "的技术基础,同时也需要十分勤奋,这样才能保证我们的系统正常运行而不出现问题。" #. type: Content of: <book><chapter><para> msgid "" "If you need some help on packaging, please read <xref linkend=\"helpme\"/>." msgstr "如果你在打包方面需要别人帮助,请阅读 <xref linkend=\"helpme\"/>。" #. type: Content of: <book><chapter><para> msgid "" "Newer versions of this document should always be available online at <ulink " "url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</" "systemitem> package. The translations may be available in packages such as " "<systemitem role=\"package\">maint-guide-es</systemitem>. Please note that " "this documentation may be slightly outdated." msgstr "" "本文的最新版随时都可以在 <ulink url=\"&maint-guide;\"/> 上和 <systemitem " "role=\"package\">maint-guide</systemitem> 软件包里找到。文档的简体中文翻译可" "以在 <systemitem role=\"package\">maint-guide-zh-cn</systemitem> 软件包里找" "到。还有一点需要注意的是,这篇文档的内容相对于当前的开发情况可能会有略微的延" "迟。" #. type: Content of: <book><chapter><para> msgid "" "Since this is a tutorial, I choose to explain each detailed step for some " "important topics. Some of them may look irrelevant to you. Please be " "patient. I have also intentionally skipped some corner cases and provided " "only pointers to keep this document simple." msgstr "" "由于这篇文档是一份手把手的教程,所以在一些重要的话题上会对每个步骤都做详细的" "解释。因而你可能觉得它们之中有一些与你的想法毫不相干。请准备好足够的耐心来学" "习。同时我也有意地省略了某些不必要的细节,以使这篇文档尽可能保持简洁。" #. type: Content of: <book><chapter><section><title> msgid "Social dynamics of Debian" msgstr "Debian 的社会驱动力" #. type: Content of: <book><chapter><section><para> msgid "" "Here are some observations of Debian's social dynamics, presented in the " "hope that it will prepare you for interactions with Debian." msgstr "" "以下是一些有关 Debian 的社会动力学报告,希望它们有助于你掌握如何与 Debian 项" "目进行互动的方法。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "We all are volunteers." msgstr "我们都是志愿者。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You cannot impose on others what to do." msgstr "任何人都不能把事情强加给他人。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be motivated to do things by yourself." msgstr "你应该主动地做自己的事情。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Friendly cooperation is the driving force." msgstr "友好合作是我们前行的动力。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution should not overstrain others." msgstr "你的贡献不应致使他人过劳。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution is valuable only when others appreciate it." msgstr "只有当别人欣赏你的贡献时,它才真正有价值。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Debian is not your school where you get automatic attention of teachers." msgstr "Debian 不是一所学校,没有老师会自动地注意你。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be able to learn many things by yourself." msgstr "你需要有自学大量知识的能力。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Attention from other volunteers is a very scarce resource." msgstr "其他志愿者的注意是非常稀缺的资源。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Debian is constantly improving." msgstr "Debian 在不断进步。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You are expected to make high quality packages." msgstr "Debian 期望你制作出高质量的软件包。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should adapt yourself to change." msgstr "你应该适时改变自己来适应变化。" #. type: Content of: <book><chapter><section><para> msgid "" "There are several types of people interacting around Debian with different " "roles." msgstr "在 Debian 社区中有几个常见的角色。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream author</emphasis>: the person who made " "the original program." msgstr "" "<emphasis role=\"strong\">Upstream author</emphasis> (上游作者):程序的原始作" "者。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who " "currently maintains the program." msgstr "" "<emphasis role=\"strong\">Upstream maintainer</emphasis> (上游维护者):目前在" "上游维护程序代码的人。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">maintainer</emphasis>: the person making the " "Debian package of the program." msgstr "" "<emphasis role=\"strong\">Maintainer</emphasis> (软件包维护者):制作并维护该" "程序的 Debian 软件包的人。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">sponsor</emphasis>: a person who helps maintainers " "to upload packages to the official Debian package archive (after checking " "their contents)." msgstr "" "<emphasis role=\"strong\">Sponsor</emphasis> (保证人):检查内容后帮助维护者上" "传软件包到 Debian 官方仓库的人。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">mentor</emphasis>: a person who helps novice " "maintainers with packaging etc." msgstr "" "<emphasis role=\"strong\">Mentor</emphasis> (指导者):帮助维护者熟悉和深入打" "包的人。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): a member of the " "Debian project with full upload rights to the official Debian package " "archive." msgstr "" "<emphasis role=\"strong\">Debian Developer</emphasis> (DD):Debian 社区的官方" "成员。DD 拥有向 Debian 官方仓库上传的全部权限。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): a person with " "limited upload rights to the official Debian package archive." msgstr "" "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM):拥有对 Debian 官" "方仓库部分上传权限的人。" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you cannot become an official <emphasis role=\"strong" "\">Debian Developer</emphasis> (DD) overnight, because it takes more than " "technical skill. Please do not be discouraged by this. If it is useful to " "others, you can still upload your package either as a <emphasis role=\"strong" "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</" "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>." msgstr "" "注意,你不可能在一夜之间成为 <emphasis role=\"strong\">Debian Developer</" "emphasis>,因为成为 DD 所需要的远不只是技术技巧。别因此气馁,如果你的软件包对" "其他人有用,你可以作为软件包的 <emphasis role=\"strong\">Maintainer</" "emphasis>,通过一位 <emphasis role=\"strong\">Sponsor</emphasis> 来上传它,或" "者申请成为 <emphasis role=\"strong\">Debian Maintainer</emphasis>。" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you do not need to create any new package to become an " "official Debian Developer. Contributing to the existing packages can " "provide a path to becoming an official Debian Developer too. There are many " "packages waiting for good maintainers (see <xref linkend=\"choose\"/>)." msgstr "" "还有,要成为 Debian Developer 不一定要创建新软件包。对已有软件做出贡献也是成" "为 Debian Developer 的理想途径。眼下正有很多软件包等着好的维护者来接手(参看 " "<xref linkend=\"choose\"/>)。" #. type: Content of: <book><chapter><section><para> msgid "" "Since we focus only on technical aspects of packaging in this document, " "please refer to the following to learn how Debian functions and how you can " "get involved." msgstr "" "在这篇文档里,我们的重点在于打包的技术细节,所以请参考以下的文档来了解 " "Debian 是如何运转的。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (Introductory slides)" msgstr "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (介绍性幻灯片)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)" msgstr "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (官方文档)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "\"Contributing to the Debian Project\"</ulink> (semi-official)" msgstr "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "\"Contributing to the Debian Project\"</ulink> (半官方文档)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " "(supplemental)" msgstr "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> (补充材料)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (official)" msgstr "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (官方站点)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)" msgstr "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (补充文档)" #. type: Content of: <book><chapter><section><title> msgid "Programs needed for development" msgstr "开发时需要的软件" #. type: Content of: <book><chapter><section><para> msgid "" "Before you start anything, you should make sure that you have properly " "installed some additional packages needed for development. Note that the " "list doesn't contain any packages marked <literal>essential</literal> or " "<literal>required</literal> - we expect that you have those installed " "already." msgstr "" "在开始之前,你需要确认你是否已经正确安装了开发所需要的附加软件包。注意这些软" "件包不包含任何已经被标记为 <literal>essential</literal> 或 " "<literal>required</literal> —— 我们假设你已经安装了它们。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The following packages come with the standard Debian installation, so you " #| "probably have them already (along with any additional packages they " #| "depend on). Still, you should check it with <literal>aptitude show " #| "<replaceable>package</replaceable></literal>." msgid "" "The following packages come with the standard Debian installation, so you " "probably have them already (along with any additional packages they depend " "on). Still, you should check it with <literal>aptitude show " "<replaceable>package</replaceable></literal> or with <literal>dpkg -s " "<replaceable>package</replaceable></literal>." msgstr "" "以下这些软件包已经随标准的 Debian 安装而在系统中,所以你可能不需要再动手安装" "它们(以及任何附加的依赖软件包)。然而,你还是应该用 <literal>aptitude show " "<replaceable>package</replaceable></literal> 来检查一下。" #. type: Content of: <book><chapter><section><para> msgid "" "The most important package to install on your development system is the " "<systemitem role=\"package\">build-essential</systemitem> package. Once you " "try to install that, it will <emphasis>pull in</emphasis> other packages " "required to have a basic build environment." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For some types of packages, that is all you will require, however there " #| "is another set of packages that while not essential for all package " #| "builds are useful to have install or may be required by your package:" msgid "" "For some types of packages, that is all you will require; however, there is " "another set of packages that while not essential for all package builds are " "useful to have installed or may be required by your package:" msgstr "" "对于某些类型的软件,以上的就是所需要的全部。然而还有一组软件包虽不是对于所有" "软件包都必须,却可能对你有用或被你的软件包所需要:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" #| "\"package\">automake</systemitem> and <systemitem role=\"package" #| "\">autotools-dev</systemitem> - many newer programs use configure scripts " #| "and <filename>Makefile</filename> files preprocessed with help of " #| "programs like these. (see <literal>info autoconf</literal>, " #| "<literal>info automake</literal>). The <systemitem role=\"package" #| "\">autotools-dev</systemitem> keeps up-to-date versions of certain auto " #| "files and has documentation about the best way to use those files." msgid "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem>, and <systemitem role=\"package" "\">autotools-dev</systemitem> - many newer programs use configure scripts " "and <filename>Makefile</filename> files preprocessed with the help of " "programs like these (see <literal>info autoconf</literal>, <literal>info " "automake</literal>). <systemitem role=\"package\">autotools-dev</" "systemitem> keeps up-to-date versions of certain auto files and has " "documentation about the best way to use those files." msgstr "" "<systemitem role=\"package\">autoconf</systemitem>、<systemitem role=" "\"package\">automake</systemitem> 和 <systemitem role=\"package\">autotools-" "dev</systemitem> - 很多新程序使用 configure 脚本和 <filename>Makefile</" "filename> 文件来帮助预处理程序。(参看 <literal>info autoconf</literal>、" "<literal>info automake</literal>)。 <systemitem role=\"package\">autotools-" "dev</systemitem> 则用于保持指定的自动配置文件为最新,并带有关于使用那些文件的" "最佳方法的文档。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "There are few similar but specialized packages such as <systemitem role=" #| "\"package\">dh-make-perl</systemitem>, <systemitem role=\"package\">dh-" #| "make-php</systemitem>, etc." msgid "" "There are also some more specialized but similar packages such as " "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" "\"package\">dh-make-php</systemitem>, etc." msgstr "" "还有几个类似但更针对某一类软件的软件包,如 <systemitem role=\"package\">dh-" "make-perl</systemitem>、<systemitem role=\"package\">dh-make-php</" "systemitem> 等。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debhelper</systemitem> and <systemitem role=" "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> is necessary to create the skeleton of our example package, and " "it will use some of the <systemitem role=\"package\">debhelper</systemitem> " "tools for creating packages. They are not essential for this purpose, but " "are <emphasis>highly</emphasis> recommended for new maintainers. It makes " "the whole process very much easier to start, and to control afterwards. " "(See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">dh-make</systemitem> 和 <systemitem role=" "\"package\">debhelper</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> 是用于创建我们示例软件包骨架所必须的,它会使用 <systemitem role=" "\"package\">debhelper</systemitem> 中的一些工具来创建软件包。他们不是创建软件" "包所必须的,但对新维护人员而言,我们 <emphasis>强烈推荐</emphasis> 使用。它使" "得整个过程极为简化,并易于在将来维护。(参看 <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>、<citerefentry> <refentrytitle>debhelper</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>、<filename>/usr/share/doc/debhelper/" "README</filename>) <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">devscripts</systemitem> - this package " #| "contains some nice and useful scripts that can be helpful to the " #| "maintainers, but they are also not necessary for building packages. " #| "Packages recommended and suggested by this package are worth looking " #| "into. (see <filename>/usr/share/doc/devscripts/README.gz</filename>)" msgid "" "<systemitem role=\"package\">devscripts</systemitem> - this package contains " "some useful scripts that can be helpful for maintainers, but they are also " "not necessary for building packages. Packages recommended and suggested by " "this package are worth looking into. (See <filename>&devscripts-readme;</" "filename>.)" msgstr "" "<systemitem role=\"package\">devscripts</systemitem> - 此软件包提供了一些非常" "好非常有用的脚本帮助维护者,但他们并非构建软件包所必须。此软件包所推荐或建议" "的软件包都值得一看。(参看 <filename>/usr/share/doc/devscripts/README.gz</" "filename>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets " #| "you emulate being root which is necessary for some parts of the build " #| "process. (see <citerefentry> <refentrytitle>fakeroot</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you " "emulate being root which is necessary for some parts of the build process. " "(See <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">fakeroot</systemitem> - 这个工具集使你可以在编译" "过程中必要的时候用普通用户模拟 root 用户环境。(参看 <citerefentry> " "<refentrytitle>fakeroot</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">file</systemitem> - this handy program can " #| "determine what type a file is. (see <citerefentry> <refentrytitle>file</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">file</systemitem> - this handy program can " "determine what type a file is. (See <citerefentry> <refentrytitle>file</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">file</systemitem> - 这个小程序可以检测文件的类" "型。(参看 <citerefentry> <refentrytitle>file</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " #| "compiler, necessary if your program is written in Fortran. (see " #| "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " "compiler, necessary if your program is written in Fortran. (See " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gfortran</systemitem> - GNU Fortran 95 编译器," "如果你的程序是用 Fortran 编写的则必须此软件包完成编译。(参看 <citerefentry> " "<refentrytitle>gfortran</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">git</systemitem> - this package provides " #| "popular version control system designed to handle very large projects " #| "with speed and efficiency; it is used for many high profile open source " #| "projects, most notably the Linux kernel. (see <citerefentry> " #| "<refentrytitle>git</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>, <filename>/usr/share/doc/git-doc/index.html</filename>)" msgid "" "<systemitem role=\"package\">git</systemitem> - this package provides a " "popular version control system designed to handle very large projects with " "speed and efficiency; it is used for many high profile open source projects, " "most notably the Linux kernel. (See <citerefentry> <refentrytitle>git</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, git Manual " "(<filename>&git-doc;</filename>).)" msgstr "" "<systemitem role=\"package\">git</systemitem> - 此软件包提供了用于快捷处理大" "型项目的著名版本控制系统 - git。它被广泛用于各种开源项目,最著名的是 Linux 内" "核项目。(参看 <citerefentry> <refentrytitle>git</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>、<filename>/usr/share/doc/git-doc/" "index.html</filename>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you " #| "to digitally <emphasis>sign</emphasis> packages. This is especially " #| "important if you want to distribute it to other people, and you will " #| "certainly be doing that when your work gets included in the Debian " #| "distribution. (see <citerefentry> <refentrytitle>gpg</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to " "digitally <emphasis>sign</emphasis> packages. This is especially important " "if you want to distribute it to other people, and you will certainly be " "doing that when your work gets included in the Debian distribution. (See " "<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">gnupg</systemitem> - 使你可以使用 <emphasis>数字" "签名</emphasis> 签署你的软件包。这在当你想把它分发给其他人时特别重要。如果你" "要把你的工作加入到 Debian 发行版中,这是必须的步骤。(参看 <citerefentry> " "<refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " #| "necessary if your program is written in Pascal. Worthy of note here is " #| "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " #| "Compiler, which is also good at this task. (see <citerefentry> " #| "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>ppc386</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " "necessary if your program is written in Pascal. Worthy of note here is " "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " "Compiler, which is also good at this task. (See <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gpc</systemitem> - GNU Pascal 编译器。如果你的程" "序是用 Pascal 写的则需要此软件包。值得一提的是 <systemitem role=\"package" "\">fp-compiler</systemitem>,Free Pascal 编译器(FPC),也能够很好地胜任。(参" "看 <citerefentry> <refentrytitle>gpc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>、<citerefentry> <refentrytitle>ppc386</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">lintian</systemitem> - this is the Debian " #| "package checker that can let you know of any common mistakes after you " #| "build the package, and explains the errors found. (see <citerefentry> " #| "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>, <filename>/usr/share/doc/lintian/lintian.html/index.html</" #| "filename>)" msgid "" "<systemitem role=\"package\">lintian</systemitem> - this is the Debian " "package checker, which can let you know of any common mistakes after you " "build the package, and explains the errors found. (See <citerefentry> " "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)" msgstr "" "<systemitem role=\"package\">lintian</systemitem> - Debian 软件包检查工具,使" "你可以在编译软件包后知道它是否有常见的错误,并对找到的错误进行解释。(参看 " "<citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>、<filename>/usr/share/doc/lintian/lintian.html/" "index.html</filename>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">patch</systemitem> - this very useful " #| "utility will take a file containing a difference listing (produced by the " #| "<command>diff</command> program) and apply it to the original file, " #| "producing a patched version. (see <citerefentry> <refentrytitle>patch</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">patch</systemitem> - this very useful utility " "will take a file containing a difference listing (produced by the " "<command>diff</command> program) and apply it to the original file, " "producing a patched version. (See <citerefentry> <refentrytitle>patch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">patch</systemitem> - 这是一个非常有用的工具,它" "可以把 <command>diff</command> 程序生成的差异清单文件应用到原先的文件上,从而" "生成一个补丁版本。(参看 <citerefentry> <refentrytitle>patch</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patchutils</systemitem> - this package contains " "some utilities to work with patches such as the <command>lsdiff</command>, " "<command>interdiff</command> and <command>filterdiff</command> commands." msgstr "" "<systemitem role=\"package\">patchutils</systemitem> - 此软件包提供了一些可以" "帮助处理补丁的工具,如 <command>lsdiff</command>、<command>interdiff</" "command> 和 <command>filterdiff</command> 命令。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">pbuilder</systemitem> - this package contains " "programs which are used for creating and maintaining <command>chroot</" "command> environment. Building Debian package in this <command>chroot</" "command> environment verifies the proper build dependency and avoid FTBFS " "(Fails To Build From Source) bugs. (see <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" msgstr "" "<systemitem role=\"package\">pbuilder</systemitem> - 这个软件包提供了创建和维" "护 <command>chroot</command> 环境。在此 <command>chroot</command> 环境中编译 " "Debian 软件包可以检查编译依赖是否合适并避免 FTBFS (Fails To Build From " "Source,从源代码编译失败)的 Bug。(参看 <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> 和 <citerefentry> <refentrytitle>pdebuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">python</systemitem> - Python is another of " #| "the most used interpreted scripting languages on the Debian system that " #| "combines remarkable power with very clear syntax. (see <citerefentry> " #| "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>)" msgid "" "<systemitem role=\"package\">perl</systemitem> - Perl is one of the most " "used interpreted scripting languages on today's Unix-like systems, often " "referred to as Unix's Swiss Army Chainsaw. (See <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">python</systemitem> - Python 是 Debian 系统中另" "一个最常用的解释型脚本语言,它拥有着可圈可点的强大功能和十分清晰的语法。(参" "看 <citerefentry> <refentrytitle>python</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">python</systemitem> - Python is another of " #| "the most used interpreted scripting languages on the Debian system that " #| "combines remarkable power with very clear syntax. (see <citerefentry> " #| "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>)" msgid "" "<systemitem role=\"package\">python</systemitem> - Python is another of the " "most used interpreted scripting languages on the Debian system, combining " "remarkable power with very clear syntax. (See <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">python</systemitem> - Python 是 Debian 系统中另" "一个最常用的解释型脚本语言,它拥有着可圈可点的强大功能和十分清晰的语法。(参" "看 <citerefentry> <refentrytitle>python</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">quilt</systemitem> - this package helps you " #| "to manage a series of patches by keeping track of the changes each of " #| "them makes. They are logically organized as a stack, and you can apply " #| "(=push), un-apply (=pop), refresh them easily by traveling into the " #| "stack. (see <citerefentry> <refentrytitle>quilt</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>, <filename>/usr/share/doc/quilt/" #| "README.Debian</filename>)" msgid "" "<systemitem role=\"package\">quilt</systemitem> - this package helps you to " "manage large numbers of patches by keeping track of the changes each patch " "makes. Patches can be applied, un-applied, refreshed, and more. (See " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum></citerefentry>, and <filename>&quilt-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">quilt</systemitem> - 此软件包帮助你管理一系列的" "补丁。它们被以逻辑栈的方式组织在一起。你可以 apply (=push)、un-apply (=pop) " "或简单地刷新它们然后再放入栈内。(参看 <citerefentry> <refentrytitle>quilt</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、<filename>/usr/" "share/doc/quilt/README.Debian</filename>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " #| "usually those made for X11, also use these programs to generate " #| "<filename>Makefile</filename> files from sets of macro functions. (see " #| "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>xmkmf</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgid "" "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " "usually those made for X11, also use these programs to generate " "<filename>Makefile</filename> files from sets of macro functions. (See " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">xutils-dev</systemitem> - 一些通常用于 X11 的程" "序,用于使用其宏功能生成 <filename>Makefile</filename> 文件。(参看 " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>、<citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The short descriptions that are given above only serve to introduce you " #| "to what each package does. Before continuing please thoroughly read the " #| "documentation of each program, at least, for the standard usage. It may " #| "seem like heavy going now, but later on you'll be <emphasis>very</" #| "emphasis> glad you read it." msgid "" "The short descriptions that are given above only serve to introduce you to " "what each package does. Before continuing please read the documentation of " "each relevant program including ones installed through the package " "dependency such as <command>make</command>, at least, for the standard " "usage. It may seem like heavy going now, but later on you'll be " "<emphasis>very</emphasis> glad you read it. If you have specific questions " "later, I would suggest re-reading the documents mentioned above." msgstr "" "以上给出的简短描述仅仅是为了使你对这些软件包有一个基本的印象。在继续前请详细" "阅读每个程序的文档,至少了解其一般的用途和用法。现在看来这是一项耗时巨大的任" "务,但在接下来的工作中你将为你阅读了它们而感觉到 <emphasis>非常</emphasis> 愉" "快。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Programs you need for development" msgid "Documentation needed for development" msgstr "开发时需要的软件" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>very important</emphasis> documentation which " "you should read along with this document:" msgstr "" "以下是 <emphasis>非常重要</emphasis> 的文档,你应该在读本文档时同时参看它们:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" #| "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " #| "the structure and contents of the Debian archive, several OS design " #| "issues, the Filesystem Hierarchy Standard (which says where each file and " #| "directory should be) etc. For you, the most important thing is that it " #| "describes requirements that each package must satisfy to be included in " #| "the distribution (see <filename>/usr/share/doc/debian-policy/policy.html/" #| "index.html</filename>)." msgid "" "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " "the structure and contents of the Debian archive, several OS design issues, " "the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which " "says where each file and directory should be), etc. For you, the most " "important thing is that it describes requirements that each package must " "satisfy to be included in the distribution. (See the local copies of " "<filename>&policy-pdf;</filename> and <filename>&fhs-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">debian-policy</systemitem> - <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> 包含了对 Debian 软件仓库、操" "作系统设计事宜、文件系统层级标准(FHS,Filesystem Hierarchy Standard)(讲述每个" "文件和目录应该放在哪里)等的描述。对于你而言,最重要的是它描述了软件包要进入官" "方仓库前必须满足的条件。(参看 <filename>/usr/share/doc/debian-policy/policy." "html/index.html</filename>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">developers-reference</systemitem> - the " #| "<ulink url=\"&developers-reference;\">Debian Developer's Reference</" #| "ulink> describes all matters not specifically about the technical details " #| "of packaging, like the structure of the archive, how to rename, orphan, " #| "pick up packages, how to do NMUs, how to manage bugs, best packaging " #| "practices, when and where to upload etc. (see <filename>/usr/share/doc/" #| "developers-reference/</filename>)." msgid "" "<systemitem role=\"package\">developers-reference</systemitem> - the <ulink " "url=\"&developers-reference;\">Debian Developer's Reference</ulink> " "describes all matters not specifically about the technical details of " "packaging, like the structure of the archive, how to rename, orphan, or " "adopt packages, how to do NMUs, how to manage bugs, best packaging " "practices, when and where to upload etc. (See the local copy of " "<filename>&developers-refpdf;</filename>.)" msgstr "" "<systemitem role=\"package\">developers-reference</systemitem> - <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> 描述了打包所" "需的包含技术细节在内的全部详细信息,如仓库结构、如何重命名/丢弃/接手软件包、" "如何进行 NMU(非维护者上传)、如何管理 Bug 以及打包最佳经验、何时向何处上传等。" "(参看 <filename>/usr/share/doc/developers-reference/</filename>)" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The following is the <emphasis>very important</emphasis> documentation " #| "which you should read along with this document:" msgid "" "The following is the <emphasis>important</emphasis> documentation which you " "should read along with this document:" msgstr "" "以下是 <emphasis>非常重要</emphasis> 的文档,你应该在读本文档时同时参看它们:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides " #| "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " #| "System known as the GNU Autotools</ulink> whose most important components " #| "are Autoconf, Automake, Libtool, and gettext." msgid "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides a " "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " "System known as the GNU Autotools</ulink> whose most important components " "are Autoconf, Automake, Libtool, and gettext." msgstr "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> 为 <ulink url=" "\"&gnu-build-system;\">the GNU Build System known as the GNU Autotools</" "ulink> 中最重要的工具 —— Autoconf、Automake、Libtool 和 gettext 提供了很好的" "文档。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">gnu-standards</systemitem> - this package " #| "contains two pieces of documentation from the GNU project: <ulink url=" #| "\"&gnu-standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-" #| "maintainer;\">Information for Maintainers of GNU Software</ulink>. " #| "Although Debian does not require these to be followed, these are still " #| "helpful as guidelines and common sense. (see <filename>/usr/share/doc/" #| "gnu-standards/standards.html</filename> and <filename>/usr/share/doc/gnu-" #| "standards/maintain.html</filename>)." msgid "" "<systemitem role=\"package\">gnu-standards</systemitem> - this package " "contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-" "standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;" "\">Information for Maintainers of GNU Software</ulink>. Although Debian " "does not require these to be followed, these are still helpful as guidelines " "and common sense. (See the local copies of <filename>&gnu-standard-pdf;</" "filename> and <filename>&gnu-maintainer-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">gnu-standards</systemitem> - 此软件包包含了 GNU " "项目中的两篇文档: <ulink url=\"&gnu-standard;\">GNU Coding Standards</" "ulink> 和 <ulink url=\"&gnu-maintainer;\">Information for Maintainers of GNU " "Software</ulink>。尽管 Debian 不要求遵守这些规范,它们仍然很有帮助。(参看 " "<filename>/usr/share/doc/gnu-standards/standards.html</filename> 和 " "<filename>/usr/share/doc/gnu-standards/maintain.html</filename>)" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If this document contradicts with what the Debian Policy Manual and " #| "Debian Developer's Reference describes, they are correct. Please file a " #| "bug report on the <systemitem role=\"package\">maint-guide</systemitem> " #| "package." msgid "" "If this document contradicts any of the documents mentioned above, they are " "correct. Please file a bug report on the <systemitem role=\"package\">maint-" "guide</systemitem> package using <command>reportbug</command>." msgstr "" "若本文档所叙述的内容与 Debian Policy Manual 或 Debian Developer's Reference " "有不符,则按照后两者的要求进行,并向 <systemitem role=\"package\">maint-" "guide</systemitem> 软件包提交 Bug 报告。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The following is the <emphasis>very important</emphasis> documentation " #| "which you should read along with this document:" msgid "" "The following is an alternative tutorial documentation which you may read " "along with this document:" msgstr "" "以下是 <emphasis>非常重要</emphasis> 的文档,你应该在读本文档时同时参看它们:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgid "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><chapter><section><title> msgid "Where to ask for help" msgstr "到何处寻求帮助" #. type: Content of: <book><chapter><section><para> msgid "" "Before you decide to ask your question in some public place, please read the " "fine documentation." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename><replaceable>package</replaceable>.info</filename> file" msgid "" "files in <filename>/usr/share/doc/<replaceable>package</replaceable></" "filename> for all pertinent packages" msgstr "<filename><replaceable>package</replaceable>.info</filename> 文件" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>man</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>info</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "See <ulink url=\"&debian-mentors-ldo;\">&debian-mentors-ldo;</ulink> for " #| "more information about this mailing list." msgid "" "contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian." "org mailing list archive</ulink>" msgstr "" "关于此邮件列表,参看 <ulink url=\"&debian-mentors-ldo;\">&debian-mentors-ldo;" "</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org " "mailing list archive</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can use web search engines more effectively by including search strings " "such as <literal>site:lists.debian.org</literal> to limit the domain." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Making a small test package is good way to learn details of packaging. " #| "Inspecting existing well maintained packages is the best way to learn how " #| "other people make packages." msgid "" "Making a small test package is a good way to learn details of packaging. " "Inspecting existing well maintained packages is the best way to learn how " "other people make packages." msgstr "" "制作小的测试软件包是学习打包的好方法,仔细查看维护较好的软件包则是了解他人如" "何制作软件包的最佳办法。" #. type: Content of: <book><chapter><section><para> msgid "" "If you still have questions about packaging that you couldn't find answers " "to in the available documentation and web resources, you can ask them " "interactively." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "See <ulink url=\"&debian-mentors-ldo;\">&debian-mentors-ldo;</ulink> for " #| "more information about this mailing list." msgid "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (This mailing list is for the novice.)" msgstr "" "关于此邮件列表,参看 <ulink url=\"&debian-mentors-ldo;\">&debian-mentors-ldo;" "</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " "list</ulink>. (This mailing list is for the expert.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</" "literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The more experienced Debian developers will gladly help you, if you ask " "properly after making your required efforts." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "When you receive a bug report (yes, actual bug reports!), you will know " #| "that it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug " #| "Tracking System</ulink> and read the documentation there, to be able to " #| "deal with the reports efficiently. I highly recommend reading the <ulink " #| "url=\"&devref-bug-handling;\">Developer's Reference, 5.8. 'Handling " #| "bugs'</ulink>." msgid "" "When you receive a bug report (yes, actual bug reports!), you will know that " "it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking " "System</ulink> and read the documentation there, to be able to deal with the " "reports efficiently. I highly recommend reading the <ulink url=\"&devref-" "bug-handling;\">Debian Developer's Reference, 5.8. \"Handling bugs\"</" "ulink>." msgstr "" "当你收到一个 Bug 报告后(没错,真正的 Bug 报告!),你需要研究 <ulink url=" "\"&bts;\">Debian Bug Tracking System</ulink> (Debian Bug 跟踪系统,BTS)并阅读" "相关的文档以便高效处理这些报告。我推荐阅读 <ulink url=\"&devref-bug-handling;" "\">Developer's Reference, 5.8. 'Handling bugs'</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "Even if it all worked well, it's time to start praying. Why? Because in " "just a few hours (or days) users from all around the world will start to use " "your package, and if you made some critical error you'll get mailbombed by " "numerous angry Debian users... Just kidding. :-)" msgstr "" "即使以上的问题都解决了,也不能高兴得太早。为什么?因为几个小时或几天内就会有" "人开始使用你的软件包,如果你犯了某些严重的错误,将被无数生气的 Debian 用户的" "邮件所轰炸…… 只是开个玩笑。:-)" #. type: Content of: <book><chapter><section><para> msgid "" "Relax and be ready for bug reports, because there is a lot more work to be " "done before your package will be fully in line with Debian policies and its " "best practice guidelines (once again, read the <emphasis>real documentation</" "emphasis> for details). Good luck!" msgstr "" "放松一点并准备好处理 Bug 报告,在你的软件包完全符合 Debian 的各项规范前还需要" "付出很多努力,处理 Bug 也是对你很好的锻炼(再一次提醒,阅读那些 <emphasis>必须" "的文档</emphasis> 来了解详情)。祝你好运!" #. type: Content of: <book><chapter><title> msgid "First steps" msgstr "第一步" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "Let's try to make your own package (or, better even, adopt an existing " #| "one)." msgid "" "Let's start by creating a package of your own (or, even better, adopting an " "existing one)." msgstr "让我们尝试创建一个自己的软件包(“收养”一个已存在的软件包则更好)。" #. type: Content of: <book><chapter><section><title> msgid "Debian package building workflow" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you are making a Debian package with an upstream program, the typical " "workflow of Debian package building involves generating several specifically " "named files for each step as follows." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Get a copy of the upstream software, usually in a compressed tar format." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" #| "package</replaceable>.dsc\n" msgid "" "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" msgstr "" "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" "package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add Debian-specific packaging modifications to the upstream program under " "the <filename>debian</filename> directory, and create a non-native source " "package (that is, the set of input files used for Debian package building) " "in <literal>3.0 (quilt)</literal> format." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" #| "package</replaceable>.dsc\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig." "tar.gz" msgstr "" "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" "package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" #| "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" #| "replaceable>\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.debian.tar.gz" msgstr "" "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" "replaceable>\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><footnote><para> #, fuzzy #| msgid "" #| "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" #| "systemitem> is packaged in the old <literal>1.0</literal> format, this " #| "can be done by running <literal>zcat /<replaceable>path</replaceable>/" #| "<replaceable>to</replaceable>/<replaceable>foo</" #| "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" #| "literal> in the new extracted source, instead." msgid "" "For the older style of non-native Debian source packages in <literal>1.0</" "literal> format, <literal><replaceable>package</" "replaceable>_<replaceable>version</replaceable>-<replaceable>revision</" "replaceable>.diff.gz</literal> is used instead." msgstr "" "如果软件包 <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> 是使用旧的 <literal>1.0</literal> 格式的,可以在新解压的源代码目" "录里运行 <literal>zcat /<replaceable>path</replaceable>/<replaceable>to</" "replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</" "replaceable>.diff.gz|patch -p1</literal> 来完成。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" #| "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" #| "replaceable>\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.dsc" msgstr "" "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" "replaceable>\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Build Debian binary packages, which are ordinary installable package files " "in <literal>.deb</literal> format (or <literal>.udeb</literal> format, used " "by the Debian Installer) from the Debian source package." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" #| "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" #| "replaceable>\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" "replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the character separating <literal><replaceable>package</" "replaceable></literal> and <literal><replaceable>version</replaceable></" "literal> was changed from <literal>-</literal> (hyphen) in the tarball name " "to <literal>_</literal> (underscore) in the Debian package filenames." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. The <emphasis role=\"strong" "\">package architecture</emphasis> follows the <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> and is " "automatically assigned by the package build process." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "In the file names above, replace the <literal><replaceable>package</" "replaceable></literal> part with the <emphasis role=\"strong\">package name</" "emphasis>, the <literal><replaceable>version</replaceable></literal> part " "with the <emphasis role=\"strong\">upstream version</emphasis>, the " "<literal><replaceable>revision</replaceable></literal> part with the " "<emphasis role=\"strong\">Debian revision</emphasis>, and the " "<literal><replaceable>arch</replaceable></literal> part with the <emphasis " "role=\"strong\">package architecture</emphasis>, as defined in the Debian " "Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If instead you are making a Debian-specific package with no upstream, the " "typical workflow of Debian package building is simpler." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a native Debian source package in the <literal>3.0 (native)</literal> " "format using a single compressed tar file in which all files are included." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" #| "package</replaceable>.dsc\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" msgstr "" "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" "package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" #| "package</replaceable>.dsc\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" msgstr "" "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-" "package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "multiple binary packages," msgid "Build Debian binary packages from the native Debian source package." msgstr "多个二进制包的软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> #, fuzzy #| msgid "" #| "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" #| "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" #| "replaceable>\n" msgid "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</" "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</" "replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "Each step of this outline is explained with detailed examples in later " "sections." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "选择你的程序" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You have probably chosen the package you want to create. The first thing " #| "you need to do is check if the package is in the distribution archive " #| "already by using <command>aptitude</command>." msgid "" "You have probably chosen the package you want to create. The first thing " "you need to do is check if the package is in the distribution archive " "already by using the following." msgstr "" "可能你已经选好了要制作的软件包。第一件要做的事是使用 <command>aptitude</" "command> 检查它是否已经存在于发行版仓库中了。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<command>debc</command> command" msgid "the <command>aptitude</command> command" msgstr "<command>debc</command> 命令" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page" msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgid "" "the <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> " "web page" msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "For more help about these, check in <ulink url=\"&developers-reference;" #| "\">Debian Developer's Reference</ulink>." msgid "" "See <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. " "\"Adopting a package\"</ulink>." msgstr "" "关于这些问题的更多帮助,查看 <ulink url=\"&developers-reference;\">Debian " "Developer's Reference</ulink>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If the package already exists, well, install it! :-) If it happens to be " #| "<emphasis role=\"strong\">orphaned</emphasis> -- if its maintainer is set " #| "to <ulink url=\"&qa-do;\">Debian QA Group</ulink>, you may be able to " #| "pick it up if it's still available (check the ownership status at <ulink " #| "url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in package wnpp in " #| "unstable</ulink>). You may also adopt a package for which the " #| "corresponding maintainer has filed a Request for Adoption (<emphasis role=" #| "\"strong\">RFA</emphasis>)." msgid "" "If the package already exists, well, install it! :-) If it happens to be " "<emphasis role=\"strong\">orphaned</emphasis> (that is, if its maintainer is " "set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>), you may be able to " "pick it up if it's still available. You may also adopt a package whose " "maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</" "emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "如果软件包已经存在,直接安装就好了!:-) 如果它是被 <emphasis role=\"strong\">" "抛弃(orphaned)</emphasis> 的——也就是说它的维护者被设置为 <ulink url=\"&qa-do;" "\">Debian QA Group</ulink>,那么你可以尝试接手维护它(在 <ulink url=\"&wnpp-" "bts;\">Debian Bug report logs: Bugs in package wnpp in unstable</ulink> 检查" "它的维护者信息)。你也可以“收养”维护者发出“Request for Adoption”(<emphasis " "role=\"strong\">RFA</emphasis>)请求的软件包。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "There are several role names used around Debian." msgid "There are several package ownership status resources." msgstr "在 Debian 社区中有几个常见的角色。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" msgstr "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<ulink url=\"&wnpp-debtags;\">Browse WNPP bugs based on debtags</ulink>" msgid "" "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" msgstr "" "<ulink url=\"&wnpp-debtags;\">Browse WNPP bugs based on debtags</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgstr "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" msgstr "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Having said that, there will of course always be new programs that are " #| "worthwhile packaging." msgid "" "Having said that, there will of course always be new programs that are worth " "packaging." msgstr "当然,也一定总是有值得打包的新软件。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "As a side note, it's important to point out that Debian already has " #| "packages for most kinds of programs, and the number of packages already " #| "in the Debian archive is much larger than that of contributors with " #| "upload rights. Thus, contributions to packages already in the archive " #| "are far more appreciated (and more likely to receive sponsorship) by " #| "other developers <placeholder type=\"footnote\" id=\"0\"/>. You can do " #| "that in various ways." msgid "" "As a side note, it's important to point out that Debian already has packages " "for most kinds of programs, and the number of packages already in the Debian " "archive is much larger than that of contributors with upload rights. Thus, " "contributions to packages already in the archive are far more appreciated " "(and more likely to receive sponsorship) by other developers <placeholder " "type=\"footnote\" id=\"0\"/>. You can contribute in various ways." msgstr "" "仅作为一笔旁注,Debian 已经拥有了绝大多数类型软件的软件包,仓库中软件包的数量" "也远远超过了有上传权限的贡献者的数量。因此,为已经在仓库中的软件包贡献力量是" "非常受其他开发者欢迎的(且更容易获得 sponsorship)<placeholder type=\"footnote" "\" id=\"0\"/>。你可以通过非常多的方式来实现这一目的。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "接手被抛弃而仍然被很多人使用的软件包。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>" msgstr "加入 <ulink url=\"&teams;\">打包小组</ulink>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "为某些常用的软件包分类 Bug。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" msgstr "在需要时准备 <ulink url=\"&devref-nmu;\">QA 或 NMU 上传</ulink>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If you are able to adopt the package, get the sources (with something " #| "like <literal>apt-get source <replaceable>packagename</replaceable></" #| "literal>) and examine them. This document unfortunately doesn't include " #| "comprehensive information about adopting packages. Thankfully you " #| "shouldn't have a hard time figuring out how the package works since " #| "someone has already done the initial set up for you. Keep reading, " #| "though, a lot of the advice below will still be applicable for your case." msgid "" "If you are able to adopt the package, get the sources (with something like " "<literal>apt-get source <replaceable>packagename</replaceable></literal>) " "and examine them. This document unfortunately doesn't include comprehensive " "information about adopting packages. Thankfully you shouldn't have a hard " "time figuring out how the package works since someone has already done the " "initial setup for you. Keep reading, though; a lot of the advice below will " "still be applicable for your case." msgstr "" "如果你有能力“收养”那个软件包,下载(使用 <literal>apt-get source " "<replaceable>packagename</replaceable></literal> 或其他类似的工具)并分析它的" "代码。这篇文档没有包含如何接手软件包的详细信息,但幸运的是因为接手软件包时起" "始的工作已经有人完成,接手的工作应比从头开始轻松得多。尽管如此,请继续阅读," "下面给出的建议会对你很有帮助。" #. type: Content of: <book><chapter><section><para> msgid "" "If the package is new, and you decide you'd like to see it in Debian, " "proceed as follows:" msgstr "" "如果你要制作的软件包是全新的,并且希望它出现在 Debian 中,请按照以下的步骤进" "行:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "First, you must know that program works, and have tried it for some time " #| "to confirm its usefulness." msgid "" "First, you must know that the program works, and have tried it for some time " "to confirm its usefulness." msgstr "首先,你必须知道这个软件能够工作,并且需要试用一段时间。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "You must check if no one else is working on the package already at <ulink " #| "url=\"&wnpp-packaged;\">the list of packages being worked on</ulink>. If " #| "no one else is working on it, file an ITP (Intent To Package) bug report " #| "to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " #| "using <command>reportbug</command>. If someone's already on it, contact " #| "them if you feel you need to. If not - find another interesting program " #| "that nobody maintains." msgid "" "You must check that no one else is already working on the package on the " "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> " "site. If no one else is working on it, file an ITP (Intent To Package) bug " "report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " "using <command>reportbug</command>. If someone's already on it, contact " "them if you feel you need to. If not - find another interesting program " "that nobody is maintaining." msgstr "" "你必须在 <ulink url=\"&wnpp-do;being_packaged\">正在被处理的软件包列表</" "ulink> 上查看以确定没有其他人已经开始了工作。如果没有,则提交一份 ITP " "(Intent To Package) Bug 报告到 <systemitem role=\"package\">wnpp</" "systemitem> pseudo 软件包(可以使用 <command>reportbug</command>)。如果已经有" "人在处理,则在需要的情况下联系他或他们。如果不需要你的帮助,就寻找其他你感兴" "趣且没有人维护的软件包。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "That program <emphasis role=\"strong\">must have a license</emphasis>." msgid "The software <emphasis role=\"strong\">must have a license</emphasis>." msgstr "软件 <emphasis role=\"strong\">必须有一个许可证</emphasis>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>main</literal> section, Debian Policy requires it <emphasis " "role=\"strong\">to be fully compliant with the Debian Free Software " "Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis " "role=\"strong\">not to require a package outside of <literal>main</literal></" "emphasis> for compilation or execution. This is the desired case." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "For the <literal>contrib</literal> section, it must be compliant to all " #| "the DFSG but it may require a package outside of <literal>main</literal> " #| "for compilation or execution." msgid "" "For the <literal>contrib</literal> section, it must comply with the DFSG but " "it may require a package outside of <literal>main</literal> for compilation " "or execution." msgstr "" "对于 <literal>contrib</literal> 类的软件,其许可证必须满足 DFSG 的全部条件," "但可以依赖于 <literal>main</literal> 之外的软件包以完成编译或运行。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "For the <literal>non-free</literal> section, it may not be compliant to " #| "some of the DFSG but it <emphasis role=\"strong\">must be distributable</" #| "emphasis>." msgid "" "For the <literal>non-free</literal> section, it may be non-compliant with " "the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>." msgstr "" "对于 <literal>non-free</literal> 类的软件,其许可证可以不满足 DFSG 中的一些条" "件,但至少需要是 <emphasis role=\"strong\">可以分发的</emphasis>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If you are unsure about where it should go, post the license text on <ulink " "url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for " "advice." msgstr "" "如果你不清楚你的软件应该分入哪一类,则把许可证文本发送到 <ulink url=" "\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> 请他人提出意见。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "That program certainly should <emphasis role=\"strong\">not</emphasis> " #| "run setuid root, or even better - it shouldn't need to be setuid or " #| "setgid to anything." msgid "" "The program should <emphasis role=\"strong\">not</emphasis> introduce " "security and maintenance concerns to the Debian system." msgstr "" "程序 <emphasis role=\"strong\">不应该</emphasis> setuid 到 root,甚至可以更好" "——不 setuid 或 setgid 到任何用户或组。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "That program should be well documented and its code needs to be " #| "understandable (i.e. not obfuscated)." msgid "" "The program should be well documented and its code needs to be " "understandable (i.e. not obfuscated)." msgstr "程序应当有很好的文档,最好源代码也容易理解(比如不混乱)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "You should contact program's author(s) to check if they agree with " #| "packaging it and amicable to Debian. It is important to be able to " #| "consult with author(s) about the program in case of any program specific " #| "problems, so don't try to package unmaintained pieces of software." msgid "" "You should contact the program's author(s) to check if they agree with " "packaging it and are amicable to Debian. It is important to be able to " "consult with the author(s) in case of any problems with the program, so " "don't try to package unmaintained software." msgstr "" "你应该与程序的作者取得联系问一下他是否认为程序应当被打包,以及他是否对 " "Debian 友好。能够询问作者关于程序的任何问题是非常重要的,不要尝试打包一个无人" "维护的软件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "That program certainly should <emphasis role=\"strong\">not</emphasis> " #| "run setuid root, or even better - it shouldn't need to be setuid or " #| "setgid to anything." msgid "" "The program certainly should <emphasis role=\"strong\">not</emphasis> run " "setuid root, or even better, it shouldn't need to be setuid or setgid to " "anything." msgstr "" "程序 <emphasis role=\"strong\">不应该</emphasis> setuid 到 root,甚至可以更好" "——不 setuid 或 setgid 到任何用户或组。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "That program should not be a daemon, or something that goes in " #| "<filename>*/sbin</filename> directories, or open a port as root." msgid "" "The program should not be a daemon, or go in an <filename>*/sbin</filename> " "directory, or open a port as root." msgstr "" "这个程序不应该是守护进程,也不应该安装文件到 <filename>*/sbin</filename> 目录" "或者以 root 打开任何端口。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Of course, these things are just safety measures, and intended to save " #| "you from raging users if you do something wrong in some setuid daemon... " #| "When you gain some more experience in packaging, you'll be able to do " #| "such packages, but even the experienced developers consult the <ulink url=" #| "\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org</ulink> mailing " #| "list when they are in doubt. And people there will gladly help." msgid "" "Of course, the last one is just a safety measures, and intended to save you " "from enraging users if you do something wrong in some setuid daemon... When " "you gain more experience in packaging, you'll be able to package such " "software." msgstr "" "当然,这些问题都只是为了安全,并试图让你不至于在比如 setuid 守护进程等问题上" "犯错误而激怒了用户... 当你在打包方面有了更多经验时,就可以处理这些软件包了。" "但即便是富有经验的开发人员在遇到疑惑时也会发邮件到 <ulink url=\"&debian-" "mentors-ldo;\">debian-mentors@lists.debian.org</ulink> 邮件列表咨询,那里的人" "会很乐意提供帮助。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Once again, as a new maintainer you are discouraged from creating " #| "complicated packages, e.g.," msgid "" "As a new maintainer, you are encouraged to get some experience in packaging " "with easier packages and discouraged from creating complicated packages." msgstr "再次强调,作为一个新维护人员,不推荐创建复杂的软件包,例如:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "multiple binary packages," msgid "Simple packages" msgstr "多个二进制包的软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (collection of data such as wallpaper " "graphics)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (executables written in an interpreted " "language such as POSIX shell)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Intermediate complexity packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = any (ELF binary executables compiled from " "languages such as C and C++)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "multiple binary packages, arch = any + all (packages for ELF binary " "executables + documentation)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "the source file format being neither in <filename>tar.gz</filename> nor " #| "<filename>tar.bz2</filename>, or" msgid "" "upstream source in a format other than <filename>tar.gz</filename> or " "<filename>tar.bz2</filename>" msgstr "" "源代码不是 <filename>tar.gz</filename> 也不是 <filename>tar.bz2</filename> 格" "式,或" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "the source tarball containing undistributable contents." msgid "upstream source containing undistributable contents" msgstr "源代码 tarball 中包含不可分发的内容。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "multiple binary packages," msgid "High complexity packages" msgstr "多个二进制包的软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter module package used by other packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "generic ELF library package used by other packages" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "multiple binary packages," msgid "multiple binary packages including an ELF library package" msgstr "多个二进制包的软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "source package with multiple upstream sources" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "kernel module packages," msgid "kernel module packages" msgstr "内核模块软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "kernel patch packages," msgid "kernel patch packages" msgstr "内核补丁软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "any package with non-trivial maintainer scripts" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging high complexity packages is not too hard, but it requires a bit " "more knowledge. You should seek specific guidance for every complex feature. " "For example, some languages have their own sub-policy documents:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>" msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-python;\">Python policy</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-java;\">Java policy</ulink>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Do not worry about the missing <filename>Makefile</filename>. You can " "install the <command>hello</command> command by simply using " "<command>debhelper</command> as in <xref linkend=\"install\"/>, or by " "modifying the upstream source to add a new <filename>Makefile</filename> " "with the <literal>install</literal> target as in <xref linkend=\"modify\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " "practice and experiment with all the steps of Debian packaging with simple " "packages while reading this tutorial. A trivial upstream tarball " "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a " "good starting point.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "获得程序,并且试用它" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "So the first thing to do is to find and download the original source " #| "code. I presume that you already have the source file that you picked up " #| "at the author's homepage. Sources for free Unix programs usually come in " #| "<command>tar</command>+<command>gzip</command> format with extension " #| "<filename>.tar.gz</filename>, or <command>tar</command>+<command>bzip2</" #| "command> format with extension <filename>.tar.bz2</filename>. These " #| "usually contain the subdirectory called " #| "<filename><replaceable>programname</replaceable>-<replaceable>version</" #| "replaceable></filename> in them and all the sources under it." msgid "" "So the first thing to do is to find and download the original source code. " "Presumably you already have the source file that you picked up at the " "author's homepage. Sources for free Unix programs usually come in " "<command>tar</command>+<command>gzip</command> format with the extension " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> format with the extension <filename>.tar.bz2</filename>, or " "<command>tar</command>+<command>xz</command> format with the extension " "<filename>.tar.xz</filename>. These usually contain a directory called " "<filename><replaceable>package</replaceable>-<replaceable>version</" "replaceable></filename> with all the sources inside." msgstr "" "第一件要做的事就是找到并下载原始的源代码。我假定你已经从作者的主页上找到了它" "的源代码。Unix 下的自由软件源代码通常是以 <command>tar</command>" "+<command>gzip</command> 格式(扩展名为 <filename>.tar.gz</filename>)或 " "<command>tar</command>+<command>bzip2</command> 格式(扩展名为 <filename>.tar." "bz2</filename>)的形式提供的。通常归档文件中包含了一个名为 " "<filename><replaceable>programname</replaceable>-<replaceable>version</" "replaceable></filename> 的子目录,里面包含了全部的源代码。" #. type: Content of: <book><chapter><section><para> msgid "" "If the latest version of the source is available through a VCS such as Git, " "Subversion, or CVS, you need to get it with <literal>git clone</literal>, " "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into " "<command>tar</command>+<command>gzip</command> format yourself by using the " "<literal>--exclude-vcs</literal> option." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can identify the archive format using the <command>file</command> " "command when the file extension is not enough." msgstr "" "当文件扩展名不足以判断文件类型时,可以使用 <command>file</command> 命令来判" "断。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your program's source comes as some other sort of archive (for " #| "instance, the filename ends in <filename>.Z</filename> or <filename>.zip</" #| "filename><placeholder type=\"footnote\" id=\"0\"/>), unpack it with " #| "appropriate tools and repack it, too." msgid "" "If your program's source comes as some other sort of archive (for instance, " "the filename ends in <filename>.Z</filename> or <filename>.zip</" "filename><placeholder type=\"footnote\" id=\"0\"/>), you should also unpack " "it with the appropriate tools and repack it." msgstr "" "如果你的程序源代码是以其他形式提供的(比如文件名以 <filename>.Z</filename> 或 " "<filename>.zip</filename> 结尾<placeholder type=\"footnote\" id=\"0\"/>),则" "使用合适的工具将其解包,再重新打包。" #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes with some contents which do not comply with " "DFSG, you should also unpack it to remove such contents and repack it with a " "modified upstream version containing <literal>dfsg</literal>." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "This program is already packaged. Current version 0.15.3 has changed " #| "substantially from the version 0.9.12 in the following examples." msgid "" "This program is already packaged. The <ulink url=\"&gentoo-package;" "\">current version</ulink> uses Autotools as its build structure and is " "substantially different from the following examples, which were based on " "version 0.9.12." msgstr "" "需要注意的是,这个程序已经被打包好了,并且从写这篇文档之初到现在它已经发生了" "很大的变化。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "As an example, I'll use a program called <command>gentoo</command>, an X " #| "GTK+ file manager.<placeholder type=\"footnote\" id=\"0\"/>" msgid "" "As an example, I'll use a program called <command>gentoo</command>, a GTK+ " "file manager. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "作为示例,我将使用一个名为 <command>gentoo</command> 的程序,它是一个 X GTK+ " "文件管理器。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Create a subdirectory under your home directory named <filename>debian</" #| "filename> or <filename>deb</filename> or anything you find appropriate (e." #| "g. just <filename>~/gentoo</filename> would do fine in this case). " #| "Place the downloaded archive in it, and extract it (with <literal>tar xzf " #| "gentoo-0.9.12.tar.gz</literal>). Make sure there are no errors, even " #| "some <emphasis>irrelevant</emphasis> ones, because there will most " #| "probably be problems unpacking on other people's systems, whose unpacking " #| "tools may or may not ignore those anomalies. On your console screen, you " #| "should see the following." msgid "" "Create a subdirectory under your home directory named <filename>debian</" "filename> or <filename>deb</filename> or anything you find appropriate (e." "g. just <filename>~/gentoo</filename> would do fine in this case). Place " "the downloaded archive in it, and extract it (with <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " "tools may or may not ignore these anomalies, so they may have problems " "unpacking them. Your shell command line may look something like this:" msgstr "" "在你的用户主目录下创建一个子目录,命名为 <filename>debian</filename> 或 " "<filename>deb</filename> 或任意你觉得合适的其他名字(本例中使用 <filename>~/" "gentoo</filename>)。把下载好的归档文件放在其中并解包(使用 <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal> 命令)。要确定解包过程中没有发生错误,即便是有" "一点 <emphasis>不恰当</emphasis> 也不行,因为在别人的系统上解包这些文件时,如" "果他们的工具并不忽略这些反常的现象就会出现问题。在你的终端屏幕上,应该看到如" "下的情形。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Now you have another subdirectory, called <filename>gentoo-0.9.12</" #| "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " #| "read the provided documentation. Usually there are files named " #| "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." #| "lsm</filename> or <filename>*.html</filename>. You must find " #| "instructions on how to correctly compile and install the program (most " #| "probably they'll assume you want to install to <filename>/usr/local/bin</" #| "filename> directory; you won't be doing that, but more on that later in " #| "<xref linkend=\"destdir\"/>)." msgid "" "Now you have another subdirectory, called <filename>gentoo-0.9.12</" "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " "read the provided documentation. Usually there are files named " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> or <filename>*.html</filename>. You must find instructions " "on how to compile and install the program (most probably they'll assume you " "want to install to the <filename>/usr/local/bin</filename> directory; you " "won't be doing that, but more on that later in <xref linkend=\"destdir\"/>)." msgstr "" "现在又有了一个新的子目录,名为 <filename>gentoo-0.9.12</filename>。进入该目录" "并 <emphasis>彻底</emphasis> 读完其中的文档。通常情况下这些文档被命名为 " "<filename>README*</filename>、<filename>INSTALL*</filename>、<filename>*." "lsm</filename> 或 <filename>*.html</filename>。你必须找到关于如何正确编译和安" "装程序的指导(最可能的是他们会默认你希望把程序安装到 <filename>/usr/local/" "bin</filename> 目录,但事实上你不能那样做,详细的内容稍后将在 <xref linkend=" "\"destdir\"/> 中说明)。" #. type: Content of: <book><chapter><section><para> msgid "" "You should start packaging with a completely clean (pristine) source " "directory, or simply with freshly unpacked sources." msgstr "" "开始打包时源代码目录应当是绝对干净(原始)的,或者直接使用刚刚解包得到的源代" "码。" #. type: Content of: <book><chapter><section><title> msgid "Simple build systems" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Many modern programs come with a script <filename>configure</filename> which " "when executed creates a <filename>Makefile</filename> customized for your " "system." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Simple programs come with a <filename>Makefile</filename> file in them " #| "and can be compiled simply with <literal>make</literal>. Some of them " #| "support <literal>make check</literal>, which runs included self-checks. " #| "Installation to the destination directories is usually done with " #| "<literal>make install</literal>." msgid "" "Simple programs usually come with a <filename>Makefile</filename> and can be " "compiled just by invoking <literal>make</literal>.<placeholder type=" "\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, " "which runs included self-tests. Installation to the destination directories " "is usually done with <literal>make install</literal>." msgstr "" "带有 <filename>Makefile</filename> 文件的简单程序可以很容易地使用 " "<literal>make</literal> 来编译。其中的一些还支持 <literal>make check</" "literal>,可以完成一系列自检。编译好后可以使用 <literal>make install</" "literal> 来将程序安装到目标目录。" #. type: Content of: <book><chapter><section><para> msgid "" "Now try to compile and run your program, to make sure it works properly and " "doesn't break something else while it's installing or running." msgstr "" "现在尝试编译和运行你的程序,确保它工作正常,且在安装和运行时不会导致其他问" "题。" #. type: Content of: <book><chapter><section><para> msgid "" "Also, you can usually run <literal>make clean</literal> (or better " "<literal>make distclean</literal>) to clean up the build directory. " "Sometimes there's even a <literal>make uninstall</literal> which can be used " "to remove all the installed files." msgstr "" "你还可以运行 <literal>make clean</literal> (或更好的 <literal>make " "distclean</literal>)来清理编译目录。有时还会带有 <literal>make uninstall</" "literal> 用以卸载已经安装了的文件。" #. type: Content of: <book><chapter><section><title> msgid "Popular portable build systems" msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "A lot of Free programs are written in the <ulink url=\"&cxx;" #| "_(programming_language)\">C</ulink> and <ulink url=\"&cxx;++\">C++</" #| "ulink> languages. Many of these use Autotools or CMake to make them " #| "portable across different platforms. These tools are used to generate " #| "<filename>Makefile</filename> and other required source files. Then, " #| "such programs are built with usual <literal>make; make install</literal>." msgid "" "A lot of free software programs are written in the <ulink url=\"&c-program;" "\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these " "use Autotools or CMake to make them portable across different platforms. " "These build tools need to be used to generate the <filename>Makefile</" "filename> and other required source files first. Then, such programs are " "built using the usual <literal>make; make install</literal>." msgstr "" "非常多的自由软件是使用 <ulink url=\"&cxx;_(programming_language)\">C</ulink> " "和 <ulink url=\"&cxx;++\">C++</ulink> 语言编写的。其中的有很多使用 Autotools " "或 CMake 来使其可以在不同平台上移植。这些工具被用于生成 <filename>Makefile</" "filename> 和其他必须的源文件,然后这些程序可以使用正常的 <literal>make; make " "install</literal> 来编译和安装。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Autotools is too big to deal in this small tutorial. This section is meant " "to provide keywords and references only. Please make sure to read the " "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and the local " "copy of <filename>&autotools-readme;</filename>, if you need to use it." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<ulink url=\"&gnu-build-system;\">Autotools</ulink> are the GNU build " #| "system comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" #| "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</" #| "ulink>, and <ulink url=\"&gettext;\">gettext</ulink>. You can notice " #| "such sources by the <filename>configure.ac</filename>, <filename>Makefile." #| "am</filename>, and <filename>Makefile.in</filename> files. <placeholder " #| "type=\"footnote\" id=\"0\"/>" msgid "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> is the GNU build system " "comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, " "and <ulink url=\"&gettext;\">gettext</ulink>. You can recognize such " "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" "filename>, and <filename>Makefile.in</filename> files. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> 是 GNU 编译系统工具,包" "括 <ulink url=\"&autoconf;\">Autoconf</ulink>、<ulink url=\"&automake;" "\">Automake</ulink>、<ulink url=\"&libtool;\">Libtool</ulink> 和 <ulink url=" "\"&gettext;\">gettext</ulink>。你可以通过 <filename>configure.ac</filename>、" "<filename>Makefile.am</filename> 和 <filename>Makefile.in</filename> 等文件来" "识别这种类型的源代码。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The first step of Autotools work flow is usually that the upstream runs " #| "<literal>autoreconf -i -f</literal> in the source and distributes this " #| "source with generated files." msgid "" "The first step of the Autotools workflow is usually that upstream runs " "<literal>autoreconf -i -f</literal> in the source directory and distributes " "the generated files along with the source." msgstr "" "使用 Autotools 的第一步是上游作者在代码中运行 <literal>autoreconf -i -f</" "literal> 并把生成的文件同源代码一起分发。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "configure.ac-----+-> autoreconf -+-> configure\n" #| "Makefile.am -----+ | +-> Makefile.in\n" #| "src/Makefile.am -+ | +-> src/Makefile.in\n" #| " | +-> config.h.in\n" #| " automake\n" #| " aclocal\n" #| " aclocal.m4\n" #| " autoheader\n" msgid "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" msgstr "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" #. type: Content of: <book><chapter><section><para> msgid "" "Editing <filename>configure.ac</filename> and <filename>Makefile.am</" "filename> files requires some knowledge of <command>autoconf</command> and " "<command>automake</command>. See <literal>info autoconf</literal> and " "<literal>info automake</literal>." msgstr "" "编辑 <filename>configure.ac</filename> 和 <filename>Makefile.am</filename> 等" "文件需要一些关于 <command>autoconf</command> 和 <command>automake</command> " "的知识。参看 <literal>info autoconf</literal> 和 <literal>info automake</" "literal>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The second step of Autotools work flow is usually that the user obtains " #| "this distributed source and runs <literal>./configure && make</" #| "literal> in the source to compile program into a " #| "<command><replaceable>binary</replaceable></command>." msgid "" "The second step of the Autotools workflow is usually that the user obtains " "this distributed source and runs <literal>./configure && make</" "literal> in the source directory to compile the program into an executable " "command <command><replaceable>binary</replaceable></command>." msgstr "" "使用 Autotools 的流程第二部是用户获得分发的源代码后在源代码中运行 <literal>./" "configure && make</literal> 并将其编译成为 " "<command><replaceable>binary</replaceable></command> (二进制程序)。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" #| "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" #| "config.h.in -----+ +-> config.h -----+\n" #| " |\n" #| " config.status -+\n" #| " config.guess --+\n" msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" msgstr "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You can change many things in the <filename>Makefile</filename> file such " #| "as the default file install location using the command option, e.g. " #| "<command>./configure --prefix=/usr</command>." msgid "" "You can change many things in the <filename>Makefile</filename>; for " "instance you can change the default location for file installation using the " "option <literal>./configure --prefix=/usr</literal>." msgstr "" "你可以通过命令选项来改变 <filename>Makefile</filename> 文件中的很多设置,比如" "默认的文件安装位置(使用 <command>./configure --prefix=/usr</command>)。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">dh-autoreconf</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "You can automate this by using <systemitem role=\"package\">dh-autoreconf</" "systemitem> package. See <xref linkend=\"customrules\"/>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package\">dh-" "autoreconf</systemitem> 软件包。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Although it is not required, updating the <filename>configure</filename> " #| "and other files with <literal>autoreconf -i -f</literal> as the user may " #| "improve the compatibility of the source." msgid "" "Although it is not required, updating the <filename>configure</filename> and " "other files with <literal>autoreconf -i -f</literal> may improve the " "compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "尽管不是必须的,还可以使用 <literal>autoreconf -i -f</literal> 更新 " "<filename>configure</filename> 和其他相关文件,这样做可能提高源代码的兼容性。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<ulink url=\"&cxx;Make\">CMake</ulink> is an alternative build system. " #| "You can notice such sources by the <filename>CMakeLists.txt</filename> " #| "file." msgid "" "<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You " "can recognize such sources by the <filename>CMakeLists.txt</filename> file." msgstr "" "<ulink url=\"&cxx;Make\">CMake</ulink> 是另一个可选的编译系统,可以通过 " "<filename>CMakeLists.txt</filename> 文件来识别它。" #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "软件包名称和版本" #. type: Content of: <book><chapter><section><para> msgid "" "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " "you can take <literal>gentoo</literal> as the (source) <emphasis role=" "\"strong\">package name</emphasis> and <literal>0.9.12</literal> as the " "<emphasis role=\"strong\">upstream version</emphasis>. These are used in " "the <filename>debian/changelog</filename> file described later in <xref " "linkend=\"changelog\"/>, too." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Although this simple approach works most of the times, you may need to " "adjust <emphasis role=\"strong\">package name</emphasis> and <emphasis role=" "\"strong\">upstream version</emphasis> by renaming the upstream source to " "follow Debian Policy and existing convention." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default package name field length of <command>aptitude</command> is 30. " "For more than 90% of packages, the package name is less than 24 characters." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You must choose the <emphasis role=\"strong\">package name</emphasis> to " "consist only of lower case letters (<literal>a-z</literal>), digits " "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" "literal>) signs, and periods (<literal>.</literal>). It must be at least two " "characters long, must start with an alphanumeric character, and must not be " "the same as existing ones. It is a good idea to keep its length within 30 " "characters. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you follow the <ulink url=\"&devref-newpackage;\">Debian Developer's " "Reference 5.1. \"New packages\"</ulink>, the ITP process will usually catch " "this kind of issues." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream uses some generic term such as <literal>test-suite</literal> for " "its name, it is a good idea to rename it to identify its contents explicitly " "and avoid namespace pollution. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This stricter rule should help you avoid confusing file names." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default version field length of <command>aptitude</command> is 10. The " "Debian revision with preceding hyphen usually consumes 2. For more than 80% " "of packages, the upstream version is less than 8 characters and the Debian " "revision is less than 2 characters. For more than 90% of packages, the " "upstream version is less than 10 characters and the Debian revision is less " "than 3 characters." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You should choose the <emphasis role=\"strong\">upstream version</emphasis> " "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>), and periods " "(<literal>.</literal>). It must start with a digit (<literal>0-9</" "literal>). <placeholder type=\"footnote\" id=\"0\"/> It is good idea to " "keep its length within 8 characters if possible. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream does not use a normal versioning scheme such as " "<literal>2.30.32</literal> but uses some kind of date such as " "<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " "part of the version, make sure to remove them from the <emphasis role=" "\"strong\">upstream version</emphasis>. Such information can be recorded in " "the <filename>debian/changelog</filename> file. If you need to invent a " "version string, use the <literal>YYYYMMDD</literal> format such as " "<literal>20110429</literal> as upstream version. This ensures that " "<command>dpkg</command> interprets later versions correctly as upgrades. If " "you need to ensure smooth transition to the normal version scheme such as " "<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format " "such as <literal>0~110429</literal> as upstream version, instead." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Version strings may be <emphasis role=\"strong\">upstream version</emphasis> " "(<literal><replaceable>version</replaceable></literal>), <emphasis role=" "\"strong\">Debian revision</emphasis> (<literal><replaceable>revision</" "replaceable></literal>), or <emphasis role=\"strong\">version</emphasis> " "(<literal><replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal>). See <xref linkend=\"newrevision\"/> for how the " "<emphasis role=\"strong\">Debian revision</emphasis> is incremented." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This process can be automated using the <citerefentry> " #| "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry> command as follows:" msgid "" "Version strings <placeholder type=\"footnote\" id=\"0\"/> can be compared " "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> as follows." msgstr "" "这个过程可以通过使用 <citerefentry> <refentrytitle>uupdate</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 来更自动化地完成:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgid "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" msgstr "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "The version comparison rule can be summarized as:" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Strings are compared from the head to the tail." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are larger than digits." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Numbers are compared as integers." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are compared in ASCII code order." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "There are special rules for period (<literal>.</literal>), plus (<literal>+</" "literal>), and tilde (<literal>~</literal>) characters, as follows." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case occurs when upstream releases <filename>gentoo-0.9.12-" "ReleaseCandidate-99.tar.gz</filename> as the pre-release of " "<filename>gentoo-0.9.12.tar.gz</filename>. You need to make sure that the " "upgrade works properly by renaming the upstream source to " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Set up <command>quilt</command>" msgid "Setting up <command>dh_make</command>" msgstr "设置 <command>quilt</command>" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "The following text assumes you are using Bash as your login shell. If " #| "you use other login shells such as Z shell, use their pertinent " #| "configuration files instead of <filename>~/.bashrc</filename>." msgid "" "The following text assumes you are using Bash as your login shell. If you " "use some other login shell such as Z shell, use their corresponding " "configuration files instead of <filename>~/.bashrc</filename>." msgstr "" "以下默认以 Bash 作为登陆 shell。如果你使用其他的 shell,例如 Z shell,使用它" "们的配置文件代替这里提到的 <filename>~/.bashrc</filename>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's set up the shell environment variable <literal>$DEBEMAIL</literal> " #| "and <literal>$DEBFULLNAME</literal> so many Debian maintenance tools " #| "recognize your name and email address to use for packages as follows." #| "<placeholder type=\"footnote\" id=\"0\"/>." msgid "" "Set up the shell environment variables <literal>$DEBEMAIL</literal> and " "<literal>$DEBFULLNAME</literal> so that various Debian maintenance tools " "recognize your email address and name to use for packages. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "首先我们设置两个 环境变量,<literal>$DEBEMAIL</literal> 和 <literal>" "$DEBFULLNAME</literal>,使多数 Debian 维护工具能够正确识别你用于维护软件包的" "姓名和电子邮件地址。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ cat >>~/.bashrc <<EOF\n" #| "DEBEMAIL=your.email.address@example.org\n" #| "DEBFULLNAME=Firstname Lastname\n" #| "export DEBEMAIL DEBFULLNAME\n" #| "EOF\n" msgid "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" msgstr "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=your.email.address@example.org\n" "DEBFULLNAME=Firstname Lastname\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Initial Debian package" msgid "Initial non-native Debian package" msgstr "初始化 Debian 软件包" #. type: Content of: <book><chapter><section><para> msgid "" "Normal Debian packages are non-native Debian packages made from upstream " "programs. If you wish to create a non-native Debian package of an upstream " "source <filename>gentoo-0.9.12.tar.gz</filename>, you can create an initial " "non-native Debian package for it by issuing the <command>dh_make</command> " "command as follows." msgstr "" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ mkdir ~/gentoo ; cd ~/gentoo\n" #| "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" #| "$ tar xvzf gentoo-0.9.12.tar.gz\n" #| "$ ls -F\n" #| "gentoo-0.9.12/\n" #| "gentoo-0.9.12.tar.gz\n" msgid "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the upstream source provides the <filename>debian</filename> directory " "and its contents, run the <command>dh_make</command> command with the extra " "option <literal>--addmissing</literal>. The new source <literal>3.0 " "(quilt)</literal> format is robust enough not to break even for these " "packages. You may need to update the contents provided by the upstream for " "your Debian package." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This process can be automated using the <citerefentry> " #| "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry> command as follows:" msgid "" "Of course, replace the filename with the name of your original source " "archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> for details." msgstr "" "这个过程可以通过使用 <citerefentry> <refentrytitle>uupdate</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 来更自动化地完成:" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are several choices here: <literal>s</literal> for Single binary " "package, <literal>i</literal> for arch-Independent package, <literal>m</" "literal> for Multiple binary packages, <literal>l</literal> for Library " "package, <literal>k</literal> for Kernel module package, <literal>n</" "literal> for kernel patch package, and <literal>b</literal> for <systemitem " "role=\"package\">cdbs</systemitem> package. This document focuses on the " "use of the <command>dh</command> command (from the package <systemitem role=" "\"package\">debhelper</systemitem>) to create a single binary package, but " "also touches on how to use it for arch-independent or multiple binary " "packages. The package <systemitem role=\"package\">cdbs</systemitem> offers " "an alternative packaging script infrastructure to the <command>dh</command> " "command and is outside the scope of this document." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You should see some output asking you what sort of package you want to " "create. Gentoo is a single binary package - it creates only one binary " "package, i.e, one <filename>.deb</filename> file - so we will select the " "first option (with the <literal>s</literal> key), check the information on " "the screen, and confirm by pressing <literal><replaceable>ENTER</" "replaceable></literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After this execution of <command>dh_make</command>, a copy of the " #| "upstream tarball is created as <filename>gentoo_0.9.12.orig.tar.gz</" #| "filename> in the parent directory to accommodate the creation of the non-" #| "native Debian source package with the <filename>debian.tar.gz</filename> " #| "later." msgid "" "This execution of <command>dh_make</command> creates a copy of the upstream " "tarball as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent " "directory to accommodate the creation of the non-native Debian source " "package with the name <filename>debian.tar.gz</filename> later." msgstr "" "执行 <command>dh_make</command> 后,上一级目录中自动创建了一份上游 tarball 的" "副本,名为 <filename>gentoo_0.9.12.orig.tar.gz</filename>,这个文件和稍后介绍" "的 <filename>debian.tar.gz</filename> 在一起满足了 Debian 非本地源代码包的要" "求。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" msgstr "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Please note 2 key features in this <filename>gentoo_0.9.12.orig.tar.gz</" #| "filename> file name:" msgid "" "Please note two key features of this filename <filename>gentoo_0.9.12.orig." "tar.gz</filename>:" msgstr "" "请注意 <filename>gentoo_0.9.12.orig.tar.gz</filename> 这个文件名的两个关键特" "点:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Package name and version are separated by the <literal>_</literal> " #| "(underscore)." msgid "" "Package name and version are separated by the character <literal>_</literal> " "(underscore)." msgstr "软件包名称和版本是以下划线 <literal>_</literal> 分隔的。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "There is the <filename>.orig</filename> before the <filename>.tar.gz</" #| "filename>." msgid "" "The string <filename>.orig</filename> is inserted before the <filename>.tar." "gz</filename>." msgstr "<filename>.tar.gz</filename> 扩展名前有 <filename>.orig</filename>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You should also notice that many template files are created in the source " #| "under the <filename>debian</filename> directory. These will be explained " #| "in <xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should " #| "also understand that the packaging is not automatic process. You need to " #| "modify the upstream source for Debian as <xref linkend=\"modify\"/>. " #| "After all these, you need to build Debian packages under the proper " #| "method as <xref linkend=\"build\"/>, check them as <xref linkend=\"checkit" #| "\"/>, and upload them as <xref linkend=\"upload\"/>. I will explain all " #| "these steps." msgid "" "You should also notice that many template files are created in the source " "under the <filename>debian</filename> directory. These will be explained in " "<xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should also " "understand that packaging cannot be a fully automated process. You will " "need to modify the upstream source for Debian (see <xref linkend=\"modify\"/" ">). After this, you need to use the proper methods for building Debian " "packages (<xref linkend=\"build\"/>), testing them (<xref linkend=\"checkit" "\"/>), and uploading them (<xref linkend=\"upload\"/>). All the steps will " "be explained." msgstr "" "你应该可以注意到 <filename>debian</filename> 目录下有了许多模板文件。这些文件" "将在 <xref linkend=\"dreq\"/> 和 <xref linkend=\"dother\"/> 一一解释。你还应" "该明白,打包不是一个自动的过程,你还需要按照 <xref linkend=\"modify\"/> 中的" "方法来修改软件包。此后,你还要按照 <xref linkend=\"build\"/> 中叙述的合适的方" "法来编译 Debian 软件包、按照 <xref linkend=\"checkit\"/> 中的方法检查其中错" "误,最终依照 <xref linkend=\"upload\"/> 的介绍将其上传。我将对所有的这些步骤" "进行解释。" #. type: Content of: <book><chapter><section><para> msgid "" "If you accidentally erased some template files while working on them, you " "can recover them by running <command>dh_make</command> with the <literal>--" "addmissing</literal> option again in a Debian package source tree." msgstr "" "如果你在修改过程中不小心删除或弄坏了某些模板文件,你可以使用 " "<command>dh_make</command> 加上 <literal>--addmissing</literal> 参数来将其还" "原。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Updating an existing package may get complicated since it may be using " #| "older techniques. Please stick with fresh packaging cases for now to " #| "learn basics. I will come back to explain it later in <xref linkend=" #| "\"update\"/>." msgid "" "Updating an existing package may get complicated since it may be using older " "techniques. While learning the basics, please stick to creating a fresh " "package; further explanations are given in <xref linkend=\"update\"/>." msgstr "" "更新一个已存在的软件包可能比较复杂,因为它可能使用旧的技术。请继续在这里学习" "最新的打包技术以便掌握必要的基本功。我们会在稍后的 <xref linkend=\"update\"/" "> 中回头讲解如何处理这种情况。" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the source file does not need to contain any build system " "discussed in <xref linkend=\"simplemake\"/> and <xref linkend=\"portable\"/" ">. It could be just a collection of graphical data etc. Installation of " "files may be carried out using only <systemitem role=\"package\">debhelper</" "systemitem> configuration files such as <filename>debian/install</filename> " "(see <xref linkend=\"install\"/>)." msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Initial Debian package" msgid "Initial native Debian package" msgstr "初始化 Debian 软件包" #. type: Content of: <book><chapter><section><para> msgid "" "If a package contains source files you are only maintaining for Debian, " "possibly only for local use, it may be simpler to create it as a Debian " "native package. If you have source files in <filename>~/mypackage-1.0</" "filename>, you can create an initial native Debian package for it by issuing " "the <command>dh_make</command> command as follows." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Then the <filename>debian</filename> directory and its contents are created " "just like <xref linkend=\"non-native-dh-make\"/>. This does not create a " "tarball since this is a native Debian package. But that is the only " "difference. The rest of the packaging activities are practically the same." msgstr "" #. type: Content of: <book><chapter><title> msgid "Modifying the source" msgstr "修改源代码" #. type: Content of: <book><chapter><para> msgid "" "Please note that there isn't space here to go into <emphasis>all</emphasis> " "the details of fixing upstream sources, but here are some basic steps and " "problems people often run across." msgstr "" "请注意这里没有足够的篇幅来描述修改上游源代码的 <emphasis>全部</emphasis> 细" "节,但是这里介绍了基本的步骤和常见的问题。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Set up <command>quilt</command>" msgid "Setting up <command>quilt</command>" msgstr "设置 <command>quilt</command>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <command>quilt</command> program offers the basic method to record " #| "modification to the source for the Debian packaging. Since slightly " #| "different default is desirable for Debian packaging, let's set up " #| "<filename>~/.quiltrc</filename> as follows. <placeholder type=\"footnote" #| "\" id=\"0\"/>" msgid "" "The program <command>quilt</command> offers a basic method for recording " "modifications to the upstream source for Debian packaging. It's useful to " "have a slightly customized default, so let's create an alias " "<command>dquilt</command> for Debian packaging by adding the following lines " "to <filename>~/.bashrc</filename>. The second line provides the same shell " "completion feature of the <command>quilt</command> command to the " "<command>dquilt</command> command." msgstr "" "<command>quilt</command> 程序为 Debian 工作提供了对源码修改的基本记录方法。由" "于我们的需求与默认配置相当的不同,我们把 <filename>~/.quiltrc</filename> 设置" "成如下的样子。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "You change the <filename>Makefile</filename> file as follows." msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows." msgstr "现在将 <filename>Makefile</filename> 修改为如下的样子。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" #| "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" #| " # Debian packaging case and unset $QUILT_PATCHES\n" #| " QUILT_PATCHES=debian/patches\n" #| " QUILT_PATCH_OPTS=--unified-reject-files\n" #| " QUILT_DIFF_ARGS=-p ab --no-timestamps --no-index --color=auto\n" #| " QUILT_REFRESH_ARGS=-p ab --no-timestamps --no-index\n" #| " QUILT_COLORS=diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\n" #| " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" #| "fi\n" msgid "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" msgstr "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # Debian packaging case and unset $QUILT_PATCHES\n" " QUILT_PATCHES=debian/patches\n" " QUILT_PATCH_OPTS=--unified-reject-files\n" " QUILT_DIFF_ARGS=-p ab --no-timestamps --no-index --color=auto\n" " QUILT_REFRESH_ARGS=-p ab --no-timestamps --no-index\n" " QUILT_COLORS=diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> and <filename>/usr/share/doc/quilt/quilt.html</" #| "filename> for how to use <command>quilt</command>." msgid "" "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <filename>&quilt-pdf;</filename> on how to " "use <command>quilt</command>." msgstr "" "参看 <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 和 <filename>/usr/share/doc/quilt/quilt.html</" "filename> 来了解如何使用 <command>quilt</command>。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Fixing upstream bug" msgid "Fixing upstream bugs" msgstr "修复上游 Bug" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's assume you find an error in the upstream <filename>Makefile</" #| "filename> file as follows where <literal>install: gentoo</literal> should " #| "have been <literal>install: gentoo-target</literal>." msgid "" "Let's assume you find an error in the upstream <filename>Makefile</filename> " "as follows where <literal>install: gentoo</literal> should have been " "<literal>install: gentoo-target</literal>." msgstr "" "让我们假设你在上游的 <filename>Makefile</filename> 文件中找到了一个错误,其中" "的 <literal>install: gentoo</literal> 应该是 <literal>install: gentoo-" "target</literal> 才正确。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "The <filename>debian/patches</filename> directory should exist now if you " #| "run <command>dh_make</command> as described before. This example " #| "operation creates it just in case you are updating the existing package." msgid "" "The <filename>debian/patches</filename> directory should exist now if you " "ran <command>dh_make</command> as described before. This example operation " "creates it just in case you are updating an existing package." msgstr "" "<filename>debian/patches</filename> 应当在你按照前面所述的步骤运行 " "<command>dh_make</command> 时生成的。这个例子中我们新创建它,因为假设的是在更" "新一个已存在的软件包。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's fix this and record this with the <command>quilt</command> command " #| "as <filename>fix-gentoo-target.patch</filename>. <placeholder type=" #| "\"footnote\" id=\"0\"/>" msgid "" "Let's fix this and record it with the <command>dquilt</command> command as " "<filename>fix-gentoo-target.patch</filename>. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "让我们使用 <command>quilt</command> 修复它,并把它命名为 <filename>fix-" "gentoo-target.patch</filename>。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ mkdir debian/patches\n" #| "$ quilt new fix-gentoo-target.patch\n" #| "$ quilt add Makefile\n" msgid "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ mkdir debian/patches\n" "$ quilt new fix-gentoo-target.patch\n" "$ quilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "You change the <filename>Makefile</filename> file as follows." msgstr "现在将 <filename>Makefile</filename> 修改为如下的样子。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Ask <command>quilt</command> to refresh the patch to create " #| "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " #| "description." msgid "" "Ask <command>dquilt</command> to generate the patch to create " "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " "description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</" "ulink>." msgstr "" "使用 <command>quilt</command> 刷新补丁以创建 <filename>debian/patches/fix-" "gentoo-targe.patch</filename> 并添加描述。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ quilt refresh\n" #| "$ quilt header -e\n" #| "... describe patch\n" msgid "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ quilt refresh\n" "$ quilt header -e\n" "... 描述补丁\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Installation of files to the destination" msgid "Installation of files to their destination" msgstr "把文件安装到目的位置" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Normally, programs install themselves in the <filename>/usr/local</" #| "filename> subdirectory. Since it is reserved for system administrator's " #| "(or user's) private use, Debian packages must not use that directory but " #| "should use system directories such as the <filename>/usr/bin</filename> " #| "subdirectory following the Filesystem Hierarchy Standard (<ulink url=" #| "\"&fhs;\">FHS</ulink>, <filename>/usr/share/doc/debian-policy/fhs/fhs-2.3." #| "html</filename>)." msgid "" "Most third-party software installs itself in the <filename>/usr/local</" "filename> directory hierarchy. On Debian this is reserved for private use " "by the system administrator, so packages must not use directories such as " "<filename>/usr/local/bin</filename> but should instead use system " "directories such as <filename>/usr/bin</filename>, obeying the <ulink url=" "\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)." msgstr "" "正常情况下,程序将其本身安装在 <filename>/usr/local</filename>。因为它是保留" "给系统管理员(或用户)的私有位置,Debian 软件包不可以使用该目录,而是按照文件系" "统层级标准(<ulink url=\"&fhs;\">FHS</ulink>,<filename>/usr/share/doc/debian-" "policy/fhs/fhs-2.3.html</filename>)使用如 <filename>/usr/bin</filename> 等目" "录。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Normally, <citerefentry> <refentrytitle>make</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> is used to automate building the " #| "program and the execution of <literal>make install</literal> installs " #| "programs directly to the desired destination by the <literal>install</" #| "literal> target of the <filename>Makefile</filename> file. In order for " #| "Debian to provide binary packages, the build system installs programs to " #| "the file tree image created under a temporary directory instead to the " #| "actual destination." msgid "" "Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> is used to automate building the program, and " "executing <literal>make install</literal> installs programs directly to the " "desired destination (following the <literal>install</literal> target in the " "<filename>Makefile</filename>). In order for Debian to provide pre-built " "installable packages, it modifies the build system to install programs into " "a file tree image created under a temporary directory instead of the actual " "destination." msgstr "" "通常在自动编译程序时使用 <citerefentry> <refentrytitle>make</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 程序,执行 <literal>make install</" "literal> 就把程序直接按照 <filename>Makefile</filename> 文件中的 " "<literal>install</literal> target 安装到指定的位置。为了使 Debian 能够提供二" "进制软件包,编译系统将文件安装到一个临时目录中创建的文件系统树的镜像中,而非" "直接安装到实际的目标位置。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "These 2 differences between (1) the normal program installation and (2) " #| "the Debian packaging can be transparently addressed by the <systemitem " #| "role=\"package\">debhelper</systemitem> package through the " #| "<command>dh_auto_configure</command> and <command>dh_auto_install</" #| "command> commands if the following conditions are met." msgid "" "These two differences between normal program installation on one hand and " "the Debian packaging system on the other can be transparently addressed by " "the <systemitem role=\"package\">debhelper</systemitem> package through the " "<command>dh_auto_configure</command> and <command>dh_auto_install</command> " "commands if the following conditions are met." msgstr "" "普通程序安装过程和 Debian 打包安装过程的区别可以由 <systemitem role=\"package" "\">debhelper</systemitem> 软件包中的 <command>dh_auto_configure</command> 和 " "<command>dh_auto_install</command> 透明地处理。但程序必须满足以下条件:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <filename>Makefile</filename> file follows the GNU conventions to " #| "support <literal>$(DESTDIR)</literal> variable (<filename>/usr/share/doc/" #| "gnu-standards/standards.html#Makefile-Conventions</filename>)." msgid "" "The <filename>Makefile</filename> must follow GNU conventions and support " "the <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" " "id=\"0\"/>" msgstr "" "<filename>Makefile</filename> 文件遵循 GNU 的规定支持 <literal>$(DESTDIR)</" "literal> 变量(<filename>/usr/share/doc/gnu-standards/standards.html#Makefile-" "Conventions</filename>)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "The source follows the Filesystem Hierarchy Standard (FHS)." msgid "The source must follow the Filesystem Hierarchy Standard (FHS)." msgstr "源代码遵循文件系统层级标准(FHS)。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Programs that use GNU <command>autoconf</command> " #| "<emphasis>automatically</emphasis> follow the GNU conventions and their " #| "packaging is almost <emphasis>automatic</emphasis>. With this and other " #| "heuristics, the <systemitem role=\"package\">debhelper</systemitem> " #| "package estimates that it works for about 90% of packages without making " #| "any intrusive changes to their build system. So the packaging is not as " #| "complicated as it may seem." msgid "" "Programs that use GNU <command>autoconf</command> follow the GNU conventions " "automatically, so they can be trivial to package. On the basis of this and " "other heuristics, it is estimated that the <systemitem role=\"package" "\">debhelper</systemitem> package will work for about 90% of packages " "without making any intrusive changes to their build system. So packaging is " "not as complicated as it may seem." msgstr "" "使用 GNU <command>autoconf</command> 的程序 <emphasis>自动</emphasis> 遵守了 " "GNU 的规定,这些程序的打包也就 <emphasis>几乎是自动的</emphasis>。通过这项特" "点和其他启发式处理,<systemitem role=\"package\">debhelper</systemitem> 软件" "包可以直接打包约 90% 的软件包而不需对编译系统做出大的改变。所以打包也不是它看" "起来那样复杂。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If you need to make changes in the <filename>Makefile</filename> file, " #| "you should make sure to support these <literal>$(DESTDIR)</literal> " #| "variable. The <literal>$(DESTDIR)</literal> variable is unset in it and " #| "is prepended to each file path used for the program installation. The " #| "packaging script will set <literal>$(DESTDIR)</literal> to the temporary " #| "directory." msgid "" "If you need to make changes in the <filename>Makefile</filename>, you should " "be careful to support the <literal>$(DESTDIR)</literal> variable. Although " "it is unset by default, the <literal>$(DESTDIR)</literal> variable is " "prepended to each file path used for the program installation. The " "packaging script will set <literal>$(DESTDIR)</literal> to the temporary " "directory." msgstr "" "如果你需要修改 <filename>Makefile</filename> 文件,要确保其支持 <literal>" "$(DESTDIR)</literal> 变量。默认情况下 <literal>$(DESTDIR)</literal> 变量没有" "设置并且默认使用程序选择的安装位置。打包脚本会将 <literal>$(DESTDIR)</" "literal> 设置为临时目录。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "For multiple binary packages, the <command>dh_auto_install</command> " #| "command uses <filename>debian/tmp</filename> as the temporary directory " #| "while the <command>dh_install</command> command with the help of " #| "<filename>debian/<replaceable>package-1</replaceable>.install</filename> " #| "and <filename>debian/<replaceable>package-2</replaceable>.install</" #| "filename> files will split contents of <filename>debian/tmp</filename> " #| "into <filename>debian/<replaceable>package-1</replaceable></filename> and " #| "<filename>debian/<replaceable>package-2</replaceable></filename> " #| "temporary directories to create multiple binary <filename>*.deb</" #| "filename> packages." msgid "" "For a source package generating multiple binary packages, the " "<command>dh_auto_install</command> command uses <filename>debian/tmp</" "filename> as the temporary directory while the <command>dh_install</command> " "command with the help of <filename>debian/<replaceable>package-1</" "replaceable>.install</filename> and <filename>debian/<replaceable>package-2</" "replaceable>.install</filename> files will split the contents of " "<filename>debian/tmp</filename> into <filename>debian/" "<replaceable>package-1</replaceable></filename> and <filename>debian/" "<replaceable>package-2</replaceable></filename> temporary directories, to " "create <filename><replaceable>package-1</replaceable>_*.deb</filename> and " "<filename><replaceable>package-2</replaceable>_*.deb</filename> binary " "packages." msgstr "" "对于多个二进制包,<command>dh_auto_install</command> 将临时目录设置为" "<filename>debian/tmp</filename>,而 <command>dh_install</command> 命令则将文" "件按照 <filename>debian/<replaceable>package-1</replaceable>.install</" "filename> 和 <filename>debian/<replaceable>package-2</replaceable>.install</" "filename> 等文件的描述将 <filename>debian/tmp</filename> 中的文件分别装入 " "<filename>debian/<replaceable>package-1</replaceable></filename> 和 " "<filename>debian/<replaceable>package-2</replaceable></filename> 等临时目录以" "创建 <filename>*.deb</filename> 软件包。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The temporary directory used by the <command>dh_auto_install</command> " #| "command is chosen as <filename>debian/<replaceable>package</replaceable></" #| "filename> for single binary packages. <placeholder type=\"footnote\" id=" #| "\"0\"/> Everything that is contained in the temporary directory will be " #| "installed on a user's system when they install your package, the only " #| "difference is that <command>dpkg</command> will be installing the files " #| "in the root directory." msgid "" "For a source package generating a single binary package, the temporary " "directory used by the <command>dh_auto_install</command> command will be set " "to <filename>debian/<replaceable>package</replaceable></filename>. " "<placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in " "the temporary directory will be installed on users' systems when they " "install your package; the only difference is that <command>dpkg</command> " "will be installing the files to paths relative to the root directory rather " "than your working directory." msgstr "" "对于单个二进制包 <command>dh_auto_install</command> 将临时目录设置为 " "<filename>debian/<replaceable>package</replaceable></filename>。<placeholder " "type=\"footnote\" id=\"0\"/> 临时目录中的全部文件都将在用户安装软件包时被安装" "到用户系统,唯一的区别是 <command>dpkg</command> 会把文件安装到真实的根目录树" "中。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Bear in mind that even though your program installs in <filename>debian/" #| "<replaceable>package</replaceable></filename>, it still needs to behave " #| "correctly when placed in the root directory, i.e. when installed from " #| "the <filename>.deb</filename> package. So you must not allow the build " #| "system to hardcode strings like <literal>/home/me/deb/" #| "<replaceable>package</replaceable>-<replaceable>version</replaceable>/usr/" #| "share/<replaceable>package</replaceable></literal> into the package file." msgid "" "Bear in mind that even though your program installs in <filename>debian/" "<replaceable>package</replaceable></filename>, it still needs to behave " "correctly when installed from the <filename>.deb</filename> package under " "the root directory. So you must not allow the build system to hardcode " "strings like <literal>/home/me/deb/<replaceable>package</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>package</" "replaceable></literal> into files in the package." msgstr "" "请记住,即使你的程序正确安装到了<filename>debian/<replaceable>package</" "replaceable></filename>,仍然要考虑它可以在在实际的根目录中安装的情形,即从" "<filename>.deb</filename> 软件包文件安装的情形。所以绝对不允许将诸如 " "<literal>/home/me/deb/<replaceable>package</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>package</" "replaceable></literal> 的内容硬编码到编译系统中并装入软件包文件。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "This is just an example to show how the <filename>Makefile</filename> " #| "file should look like. If the <filename>Makefile</filename> file is " #| "created by the <command>./configure</command> command, the correct way to " #| "fix this kind of <filename>Makefile</filename> is to executed the " #| "<command>./configure</command> command from the " #| "<command>dh_auto_configure</command> command with default options " #| "including <literal>--prefix=/usr</literal>." msgid "" "This is just an example to show what a <filename>Makefile</filename> should " "look like. If the <filename>Makefile</filename> is created by the " "<command>./configure</command> command, the correct way to fix this kind of " "<filename>Makefile</filename> is to execute <command>./configure</command> " "from the <command>dh_auto_configure</command> command with default options " "including <literal>--prefix=/usr</literal>." msgstr "" "这只是一个 <filename>Makefile</filename> 的例子。如果 <filename>Makefile</" "filename> 是通过 <command>./configure</command> 命令生成的,修复该类的 " "<filename>Makefile</filename> 的方法是通过 <command>dh_auto_configure</" "command> 执行 <command>./configure</command>,并带上如 <literal>--prefix=/" "usr</literal> 的默认选项。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Here's the relevant part of <systemitem role=\"package\">gentoo</" #| "systemitem>'s <filename>Makefile</filename> file <placeholder type=" #| "\"footnote\" id=\"0\"/>:" msgid "" "Here's the relevant part of <systemitem role=\"package\">gentoo</" "systemitem>'s <filename>Makefile</filename><placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "以下是 <systemitem role=\"package\">gentoo</systemitem> 的 " "<filename>Makefile</filename> 文件中的相关部分<placeholder type=\"footnote\" " "id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "# Where to put binary on 'make install'?\n" #| "BIN = /usr/local/bin\n" #| "# Where to put icons on 'make install'?\n" #| "ICONS = /usr/local/share/gentoo\n" msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" msgstr "" "# Where to put binary on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "We see that the files are set to install under <filename>/usr/local</" #| "filename>. Change those paths to:" msgid "" "We see that the files are set to install under <filename>/usr/local</" "filename>. As explained above, that directory hierarchy is reserved for " "local use on Debian, so change those paths to:" msgstr "" "可以看到文件被放到了 <filename>/usr/local</filename> 下。把他们改变为:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "# Where to put binary on 'make install'?\n" #| "BIN = $(DESTDIR)/usr/bin\n" #| "# Where to put icons on 'make install'?\n" #| "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgstr "" "# Where to put binary on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The more exact locations for binaries, icons, documentation etc. are " #| "specified in the Filesystem Hierarchy Standard (see <filename>/usr/share/" #| "doc/debian-policy/fhs/</filename>). I recommend you browse it and read " #| "the sections that might concern your package." msgid "" "The exact locations that should be used for binaries, icons, documentation, " "etc. are specified in the Filesystem Hierarchy Standard (FHS). You should " "browse through it and read the sections relevant to your package." msgstr "" "二进制文件、图标和文档等的更详细位置均在文件层级标准(FHS,参看 <filename>/" "usr/share/doc/debian-policy/fhs/</filename>)中作出了详尽描述。我建议阅读相关" "章节以了解可能影响你软件包的内容。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "So, we should install the binary in <filename>/usr/bin</filename> instead " #| "of <filename>/usr/local/bin</filename>, the manual page in <filename>/usr/" #| "share/man/man1</filename> instead of <filename>/usr/local/man/man1</" #| "filename> etc. Notice how there's no manual page mentioned in " #| "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" #| "filename>, but since the Debian Policy requires that every program has " #| "one, we'll make one later and install it in <filename>/usr/share/man/" #| "man1</filename>." msgid "" "So, we should install executable commands in <filename>/usr/bin</filename> " "instead of <filename>/usr/local/bin</filename>, the manual page in " "<filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/" "man1</filename>, and so on. Notice how there's no manual page mentioned in " "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" "filename>, but since Debian Policy requires that every program has one, " "we'll make one later and install it in <filename>/usr/share/man/man1</" "filename>." msgstr "" "因此,我们应当把二进制文件安装到 <filename>/usr/bin</filename> 而非 " "<filename>/usr/local/bin</filename>,man 手册页则应放在 <filename>/usr/share/" "man/man1</filename> 而非 <filename>/usr/local/man/man1</filename> 等。注意到 " "<systemitem role=\"package\">gentoo</systemitem>的 <filename>Makefile</" "filename> 里没有提及手册页,而按照 Debian Policy 的要求,每个程序都应当有一个" "手册页,我们将在稍后制作一个并安装到 <filename>/usr/share/man/man1</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Some programs don't use <filename>Makefile</filename> variables to define " "paths such as these. This means you might have to edit some real C sources " "in order to fix them to use the right locations. But where to search, and " "exactly what for? You can find this out by issuing:" msgstr "" "有些程序不使用 <filename>Makefile</filename> 变量定义路径,这意味着你可能需要" "去编辑 C 程序源代码来使他们使用正确的路径。但是到哪里去搜索,哪些才是呢?你可" "以通过以下的方法找到它们:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ grep -nr -e 'usr/local/lib' --include='*.[c|h]' .\n" msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" msgstr "$ grep -nr -e 'usr/local/lib' --include='*.[c|h]' .\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>grep</command> will run recursively through the source tree and " "tell you the filename and the line number for all matches." msgstr "" "<command>grep</command> 会递归搜索整个源代码树并告诉你所有匹配项的文件名和行" "号。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Edit those files and in those lines replace <literal>usr/local/lib</" #| "literal> with <literal>usr/lib</literal>." msgid "" "Edit those files and in those lines replace <literal>usr/local/lib</literal> " "with <literal>usr/lib</literal>. This can be done automatically as follows:" msgstr "" "编辑那些文件,用 <literal>usr/lib</literal> 替换 <literal>usr/local/lib</" "literal>。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n" #| " $(find . -type f -name '*.[c|h]')\n" msgid "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you want to confirm each substitution instead, this can be done " "interactively as follows:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n" #| " $(find . -type f -name '*.[c|h]')\n" msgid "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After that you should find the install target (search for line that " #| "starts with <literal>install:</literal>, that will usually work) and " #| "rename all references to directories other than ones defined at the top " #| "of the <filename>Makefile</filename>." msgid "" "Next you should find the <literal>install</literal> target (searching for " "the line that starts with <literal>install:</literal> will usually work) and " "rename all references to directories other than ones defined at the top of " "the <filename>Makefile</filename>." msgstr "" "此后你应该找到 install target (通常搜索以 <literal>install:</literal> 开头的" "行即可),并把所有的相关目录以及在 <filename>Makefile</filename> 顶部定义变量" "均做修改。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After your upstream bug fix, <systemitem role=\"package\">gentoo</" #| "systemitem>'s install target said:" msgid "" "Originally, <systemitem role=\"package\">gentoo</systemitem>'s " "<literal>install</literal> target said:" msgstr "" "在你修复了上游的 Bug 后,<systemitem role=\"package\">gentoo</systemitem> 的 " "install target 应是这样:" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's fix this and record this with the <command>quilt</command> command " #| "as <filename>debian/patches/install.patch</filename>." msgid "" "Let's fix this upstream bug and record it with the <command>dquilt</command> " "command as <filename>debian/patches/install.patch</filename>." msgstr "" "让我们把这些修改使用 <command>quilt</command> 记录到<filename>debian/patches/" "install.patch</filename>。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ quilt new install.patch\n" #| "$ quilt add Makefile\n" msgid "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ quilt new install.patch\n" "$ quilt add Makefile\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "Let's change this for Debian package as following using the editor:" msgid "In your editor, change this for the Debian package as follows:" msgstr "我们使用编辑器按照以下内容为 Debian 软件包做修改:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" msgstr "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You've surely noticed that there's now a <literal>install -d</literal> " #| "command before the other commands in the rule. The original " #| "<filename>Makefile</filename> didn't have it because usually the " #| "<literal>/usr/local/bin</literal> and other directories already exist on " #| "the system where one runs <literal>make install</literal>. However, " #| "since we will install into our own empty (or even nonexistent) directory, " #| "we will have to create each and every one of those directories." msgid "" "You'll have noticed that there's now an <literal>install -d</literal> " "command before the other commands in the rule. The original " "<filename>Makefile</filename> didn't have it because usually <literal>/usr/" "local/bin</literal> and other directories already exist on the system where " "you are running <literal>make install</literal>. However, since we will be " "installing into a newly created private directory tree, we will have to " "create each and every one of those directories." msgstr "" "你一定会注意到在其他命令前有了一个 <literal>install -d</literal> 命令。原始" "的 <filename>Makefile</filename> 文件中没有它,因为通常情况下 <literal>/usr/" "local/bin</literal> 和用到的其他目录早已存在于系统,使用 <literal>make " "install</literal> 时不用对此处理。然而因为我们要向空目录或尚不存在的目录中安" "装,我们必须创建每一个目录。" #. type: Content of: <book><chapter><section><para> msgid "" "We can also add in other things at the end of the rule, like the " "installation of additional documentation that the upstream authors sometimes " "omit:" msgstr "我们还可以在末尾添加上其他的内容,比如上游作者有时会省略的附加文档:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" msgstr "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After careful check, if everything is fine, ask <command>quilt</command> " #| "to refresh the patch to create <filename>debian/patches/install.patch</" #| "filename> and add its description." msgid "" "Check carefully, and if everything is okay, ask <command>dquilt</command> to " "generate the patch to create <filename>debian/patches/install.patch</" "filename> and add its description." msgstr "" "仔细检查后如果没有问题,使用 <command>quilt</command> 刷新补丁以创建 " "<filename>debian/patches/install.patch</filename> 文件并添加对它的描述。" #. type: Content of: <book><chapter><section><para> msgid "Now you have a series of patches." msgstr "现在你有了一格系列的补丁。" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>" msgstr "" "修复上游 Bug:<filename>debian/patches/fix-gentoo-target.patch</filename>" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Debian specific packaging modification: <filename>debian/patches/install." "patch</filename>" msgstr "" "Debian 特有的打包修改:<filename>debian/patches/install.patch</filename>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Whenever you make changes that are not specifically related to Debian " #| "package such as <filename>debian/patches/fix-gentoo-target.patch</" #| "filename>, be sure to send them to the upstream maintainer so they can be " #| "included in the next program revision and be useful to everyone else. " #| "Also remember to make your fixes not specific to Debian or Linux (or even " #| "Unix!) prior to sending them -- make them portable. This will make your " #| "fixes much easier to apply." msgid "" "Whenever you make changes that are not specific to the Debian package such " "as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to " "send them to the upstream maintainer so they can be included in the next " "version of the program and be useful to everyone else. Also remember to " "avoid making your fixes specific to Debian or Linux - or even Unix! Make " "them portable. This will make your fixes much easier to apply." msgstr "" "进行任何不是 Debian 特有的修改时,比如 <filename>debian/patches/fix-gentoo-" "target.patch</filename>,一定要向上游作者进行反馈,以便上游作者方便在下一版本" "中以使更多人受益。同时请记住在做不特别针对 Debian 或 Linux (甚至是 Unix!)的" "修改时要使其可以移植,这会使你的修改更容易被接受。" #. type: Content of: <book><chapter><section><para> msgid "" "Note that you don't have to send the <filename>debian/*</filename> files " "upstream." msgstr "注意你不一定要把 <filename>debian/*</filename> 都提交到上游。" #. type: Content of: <book><chapter><section><title> msgid "Differing libraries" msgstr "不一样的库名称" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "There is one other common problem: libraries are often different from " #| "platform to platform. For example, a <filename>Makefile</filename> can " #| "contain a reference to a library which doesn't exist on Debian systems. " #| "In that case, we need to change it to a library which does exist in " #| "Debian, and serves the same purpose." msgid "" "There is one other common problem: libraries are often different from " "platform to platform. For example, a <filename>Makefile</filename> can " "contain a reference to a library which doesn't exist on the Debian system. " "In that case, we need to change it to a library which does exist in Debian, " "and serves the same purpose." msgstr "" "还有另外一个常见的问题:不同平台之间的库常常是不同的。例如一个 " "<filename>Makefile</filename> 中可能引了用一个不在 Debian 上存在的库。这种情" "况下我们需要将其修改为 Debian 中存在的、提供完全相同功能的库。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "So, if there is a line in your program's <filename>Makefile</filename> " #| "(or <filename>Makefile.in</filename>) that says something like this (and " #| "your program doesn't compile) <placeholder type=\"footnote\" id=\"0\"/>:" msgid "" "Let's assume a line in your program's <filename>Makefile</filename> (or " "<filename>Makefile.in</filename>) as the following." msgstr "" "如果你手中程序的 <filename>Makefile</filename>(或 <filename>Makefile.in</" "filename>)中有如下的行(且程序无法通过编译)<placeholder type=\"footnote\" id=" "\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "LIBS = -lfoo -lbar\n" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If there are API changes from the <literal>foo</literal> library to the " "<literal>foo2</literal> library, required changes to the source code need to " "be made to match the new API." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If your program doesn't compile since the <literal>foo</literal> library " "doesn't exist and its equivalent is provided by the <literal>foo2</literal> " "library on the Debian system, you can fix this build problem as " "<filename>debian/patches/foo2.patch</filename> by changing <literal>foo</" "literal> into <literal>foo2</literal>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ quilt new ncurse.patch\n" #| "$ quilt add Makefile\n" #| "$ sed -i -e s/-lcurses/-lncurses/g Makefile\n" #| "$ quilt refresh\n" #| "$ quilt header -e\n" #| "... describe patch\n" msgid "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ quilt new ncurse.patch\n" "$ quilt add Makefile\n" "$ sed -i -e s/-lcurses/-lncurses/g Makefile\n" "$ quilt refresh\n" "$ quilt header -e\n" "... 描述补丁\n" #. type: Content of: <book><chapter><title> msgid "Required files under the <filename>debian</filename> directory" msgstr "<filename>debian</filename> 目录中的必须内容" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "In this chapter, files in the <filename>debian</filename> directory are " "referred to without the leading <filename>debian/</filename> for simplicity " "whenever the meaning is obvious." msgstr "" #. type: Content of: <book><chapter><para> msgid "" "There is a new subdirectory under the program's source directory, called " "<filename>debian</filename>. There are a number of files in this directory " "that we should edit in order to customize the behavior of the package. The " "most important of them are <filename>control</filename>, " "<filename>changelog</filename>, <filename>copyright</filename>, and " "<filename>rules</filename>, which are required for all packages. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>control</filename> file" msgid "<filename>control</filename>" msgstr "<filename>control</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This file contains various values which <command>dpkg</command>, " #| "<command>dselect</command>, <command>apt-get</command>, <command>apt-" #| "cache</command>, <command>aptitude</command>, and other package " #| "management tools will use to manage the package. It is defined by the " #| "<ulink url=\"&policy-control;\">Debian Policy Manual, 5 'Control files " #| "and their fields'</ulink>." msgid "" "This file contains various values which <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command>, and other package management tools " "will use to manage the package. It is defined by the <ulink url=\"&policy-" "control;\">Debian Policy Manual, 5 \"Control files and their fields\"</" "ulink>." msgstr "" "这个文件包含了很多供 <command>dpkg</command>、<command>dselect</command>、" "<command>apt-get</command>、<command>apt-cache</command>、<command>aptitude</" "command> 等软件包管理工具提取信息以进行管理时所使用的变量。这些变量均在 " "<ulink url=\"&policy-control;\">Debian Policy Manual, 5 'Control files and " "their fields'</ulink> 中定义。" #. type: Content of: <book><chapter><section><para> msgid "" "Here is the <filename>control</filename> file <command>dh_make</command> " "created for us:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| " 1 Source: gentoo\n" #| " 2 Section: unknown\n" #| " 3 Priority: extra\n" #| " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" #| " 5 Build-Depends: debhelper (>= 7.0.50~)\n" #| " 6 Standards-Version: 3.8.4\n" #| " 7 Homepage: <insert the upstream URL, if relevant>\n" #| " 8\n" #| " 9 Package: gentoo\n" #| "10 Architecture: any\n" #| "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" #| "12 Description: <insert up to 60 chars description>\n" #| "13 <insert long description, indented with spaces>\n" msgid "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>= 7.0.50~)\n" " 6 Standards-Version: 3.8.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" #. type: Content of: <book><chapter><section><para> msgid "(I've added the line numbers.)" msgstr "(注:我为它添加了行号。)" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "Lines 1-6 are the control information for the source package." msgid "" "Lines 1-7 are the control information for the source package. Lines 9-13 " "are the control information for the binary package." msgstr "第 1-6 行是源代码包的控制信息。" #. type: Content of: <book><chapter><section><para> msgid "Line 1 is the name of the source package." msgstr "第 1 行是源代码包的名称。" #. type: Content of: <book><chapter><section><para> msgid "Line 2 is the section of the distribution the source package goes into." msgstr "第 2 行是该源码包要进入发行版中的分类。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections" "\"</ulink> and <ulink url=\"§ions-unstable;\">List of sections in " "<literal>sid</literal></ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "As you may have noticed, Debian archive is divided in sections: " #| "<literal>main</literal> (the free software), <literal>non-free</literal> " #| "(the not really free software) and <literal>contrib</literal> (free " #| "software that depends on non-free software). Under those, there are " #| "logical subsections that describe in short what packages are in. So we " #| "have <literal>admin</literal> for administrator-only programs, " #| "<literal>base</literal> for the basic tools, <literal>devel</literal> for " #| "programmer tools, <literal>doc</literal> for documentation, " #| "<literal>libs</literal> for libraries, <literal>mail</literal> for e-mail " #| "readers and daemons, <literal>net</literal> for network apps and daemons, " #| "<literal>x11</literal> for X11 programs that don't fit anywhere else, and " #| "many more. See the <ulink url=\"&policy-subsections;\">Debian Policy " #| "Manual, 2.4 'Sections'</ulink> and <ulink url=\"§ions-unstable;" #| "\">List of sections in 'sid'</ulink> for the guidance." msgid "" "As you may have noticed, the Debian archive is divided into multiple areas: " "<literal>main</literal> (the free software), <literal>non-free</literal> " "(the not really free software) and <literal>contrib</literal> (free software " "that depends on non-free software). Each of these is divided into sections " "that classify packages into rough categories. So we have <literal>admin</" "literal> for administrator-only programs, <literal>devel</literal> for " "programmer tools, <literal>doc</literal> for documentation, <literal>libs</" "literal> for libraries, <literal>mail</literal> for email readers and " "daemons, <literal>net</literal> for network apps and daemons, <literal>x11</" "literal> for X11 programs that don't fit anywhere else, and many more. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "你可能已经注意到,Debian 仓库被分为几个类别:<literal>main</literal> (自由软" "件)、<literal>non-free</literal> (非自由软件)以及 <literal>contrib</literal> " "(依赖于非自由软件的自由软件)。在这些大的分类之下还有多个逻辑上的子分类,用以" "简短描述软件包的用途类别。<literal>admin</literal> 为仅供系统管理员使用的程" "序,<literal>base</literal> 为基本工具,<literal>devel</literal> 为开发工具," "<literal>doc</literal> 为文档,<literal>libs</literal> 为库,<literal>mail</" "literal> 为电子邮件阅读器或邮件系统守护程序,<literal>net</literal> 为网络应" "用程序或网络服务守护进程,<literal>x11</literal> 为不属于其他分类的为 X11 程" "序。更多的子分类见 <ulink url=\"&policy-subsections;\">Debian Policy Manual, " "2.4 'Sections'</ulink> 和 <ulink url=\"§ions-unstable;\">List of " "sections in 'sid'</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "Let's change it then to x11. (A <literal>main/</literal> prefix is implied " "so we can omit it.)" msgstr "" "我们将本例设置为 x11。( <literal>main/</literal> 前缀是默认值,可以省略。)" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities" "\"</ulink>." msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "Line 3 describes how important it is that the user installs this package. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <literal>optional</literal> priority will usually work for new " #| "packages that do not conflict with others with <literal>required</" #| "literal>, <literal>important</literal> or <literal>standard</literal> " #| "priorities." msgid "" "The <literal>optional</literal> priority will usually work for new packages " "that do not conflict with others claiming <literal>required</literal>, " "<literal>important</literal>, or <literal>standard</literal> priority." msgstr "" "<literal>optional</literal> 优先级适用于不与优先级为 <literal>required</" "literal>、<literal>important</literal> 或 <literal>standard</literal> 的软件" "包冲突的新软件包。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>extra</literal> priority will usually work for new packages " "that conflict with others with non-<literal>extra</literal> priorities." msgstr "" "<literal>extra</literal> 优先级适用于与其他非 <literal>extra</literal> 优先级" "软件包冲突的新软件包。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Section and priority are used by the frontends like <command>aptitude</" #| "command> when they sort packages and select defaults. Once you upload " #| "the package to Debian, the value of these two fields can be overridden by " #| "the archive maintainers, in which case you will be notified by email." msgid "" "Section and priority are used by front-ends like <command>aptitude</command> " "when they sort packages and select defaults. Once you upload the package to " "Debian, the value of these two fields can be overridden by the archive " "maintainers, in which case you will be notified by email." msgstr "" "Section 和 Priority 常被如 <command>aptitude</command> 的前端所使用,以分类软" "件包并计算默认值。一旦你把软件包上传到 Debian,这两项的值可以被仓库维护人员修" "改,在被修改时你将收到邮件。" #. type: Content of: <book><chapter><section><para> msgid "" "As this is a normal priority package and doesn't conflict with anything " "else, we will change the priority to <literal>optional</literal>." msgstr "" "由于这是一个常规优先级的软件,并不与其他软件包冲突,我们将优先级改为 " "<literal>optional</literal>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Line 4 is the name and email address of the maintainer. Make sure that " #| "this field includes a valid <literal>To</literal> header for an email, " #| "because after you upload it, the bug tracking system will use it to " #| "deliver bug emails to you. Avoid using commas, ampersands and " #| "parenthesis." msgid "" "Line 4 is the name and email address of the maintainer. Make sure that this " "field includes a valid <literal>To</literal> header for email, because after " "you upload it, the bug tracking system will use it to deliver bug emails to " "you. Avoid using commas, ampersands, or parentheses." msgstr "" "第 4 行是维护者的姓名和电子邮件地址。请确保此处的值可以直接用于电子邮件头的 " "<literal>To</literal> 项。因为一旦你将软件包上传至仓库,Bug 跟踪系统将使用其" "向你发送可能的 Bug 报告邮件。避免使用逗号、“&”符号或括号。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 \"Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</" "ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The 5th line includes the list of packages required to build your package " #| "as the <literal>Build-Depends</literal> field. You can also have the " #| "<literal>Build-Depends-Indep</literal> field as an additional line, " #| "here. (see the <ulink url=\"&policy-relationships;#s-sourcebinarydeps" #| "\">Debian Policy Manual, 7.7 'Relationships between source and binary " #| "packages - Build-Depends, Build-Depends-Indep, Build-Conflicts, Build-" #| "Conflicts-Indep'</ulink>). Some packages like <systemitem role=\"package" #| "\">gcc</systemitem> and <systemitem role=\"package\">make</systemitem> " #| "which are required by the <systemitem role=\"package\">build-essential</" #| "systemitem> package are implied. If you need to have other tools to " #| "build your package, you should add them to these fields. Multiple " #| "entries are separated with commas; read on for the explanation of binary " #| "dependencies to find out more about the syntax of these lines." msgid "" "Line 5 includes the list of packages required to build your package as the " "<literal>Build-Depends</literal> field. You can also have the " "<literal>Build-Depends-Indep</literal> field as an additional line, here. " "<placeholder type=\"footnote\" id=\"0\"/> Some packages like <systemitem " "role=\"package\">gcc</systemitem> and <systemitem role=\"package\">make</" "systemitem> which are required by the <systemitem role=\"package\">build-" "essential</systemitem> package are implied. If you need to have other tools " "to build your package, you should add them to these fields. Multiple " "entries are separated with commas; read on for the explanation of binary " "package dependencies to find out more about the syntax of these lines." msgstr "" "第 5 行中的 <literal>Build-Depends</literal> 项列出了编译此软件包需要的软件" "包。一些情况下你还需要这里添加一行 <literal>Build-Depends-Indep</literal> (参" "看 <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 'Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep'</" "ulink>)。<systemitem role=\"package\">build-essential</systemitem> 依赖的软件" "包,如 <systemitem role=\"package\">gcc</systemitem> 和 <systemitem role=" "\"package\">make</systemitem> 等,已经默认安装而不需再写到此处。如果你需要其" "他工具来编译这个软件包,请将它们加到这里。多个软件包应使用半角逗号分隔,继续" "阅读二进制包依赖关系以增进对这些行的语法的理解。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "For all packages packaged with the <command>dh</command> command in the " #| "<filename>debian/rules</filename> file, you must have <literal>debhelper " #| "(>=7.0.50~)</literal> in the <literal>Build-Depends</literal> field to " #| "satisfy the Debian Policy requirement for the <literal>clean</literal> " #| "target." msgid "" "For all packages packaged with the <command>dh</command> command in the " "<filename>debian/rules</filename> file, you must have <literal>debhelper " "(>=9)</literal> in the <literal>Build-Depends</literal> field to satisfy " "the Debian Policy requirement for the <literal>clean</literal> target." msgstr "" "对于所有在 <filename>debian/rules</filename> 文件中使用 <command>dh</" "command> 命令的软件包,必须在 <literal>Build-Depends</literal> 中包含 " "<literal>debhelper (>=7.0.50~)</literal> 以满足 Debian Policy 中对 " "<literal>clean</literal> target 的要求。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "For source packages which have some binary packages with " #| "<literal>Architecture: any</literal>, they are rebuild by the " #| "autobuilder. Since this autobuilder procedure runs <literal>debian/rules " #| "build</literal> in it while installing only packages listed in the " #| "<literal>Build-Depends</literal> field (see <xref linkend=\"autobuilder\"/" #| ">), the <literal>Build-Depends</literal> field needs to list practically " #| "all the required packages and the <literal>Build-Depends-indep</literal> " #| "is rarely used." msgid "" "Source packages which have binary packages with <literal>Architecture: any</" "literal> are rebuilt by the autobuilder. Since this autobuilder procedure " "installs only the packages listed in the <literal>Build-Depends</literal> " "field before running <literal>debian/rules build</literal> (see <xref " "linkend=\"autobuilder\"/>), the <literal>Build-Depends</literal> field needs " "to list practically all the required packages and <literal>Build-Depends-" "Indep</literal> is rarely used." msgstr "" "对于生成一些标有 <literal>Architecture: any</literal> 的软件包,它们将被 " "autobuilder 编译。因为 autobuilder 仅安装 <literal>Build-Depends</literal> 后" "便执行 <literal>debian/rules build</literal> 中的内容(参看 <xref linkend=" "\"autobuilder\"/>),<literal>Build-Depends</literal> 需要列出所有必须的编译依" "赖,而 <literal>Build-Depends-indep</literal> 则很少使用。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "For source packages which have binary packages only with " #| "<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" #| "literal> field may list all the required packages unless they are already " #| "listed in the <literal>Build-Depends</literal> field to satisfy the " #| "Debian Policy requirement for the <literal>clean</literal> target." msgid "" "For source packages with binary packages all of which are " "<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" "literal> field may list all the required packages unless they are already " "listed in the <literal>Build-Depends</literal> field to satisfy the Debian " "Policy requirement for the <literal>clean</literal> target." msgstr "" "对于仅有 <literal>Architecture: all</literal> 的软件包,<literal>Build-" "Depends-Indep</literal> 中应列出 <literal>Build-Depends</literal> 中未列出的" "所有需要的软件包,以便满足 Debian Policy 中对 <literal>clean</literal> " "target 的要求。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "This somewhat strange situation is a feature well documented in the " #| "<ulink url=\"&policy-build-depends-indep;\">Debian Policy Manual, " #| "Footnotes 48</ulink>. This is not due to the use of the <command>dh</" #| "command> command in the <filename>debian/rules</filename> file but due to " #| "how the <command>dpkg-buildpackage</command> works. The same situation " #| "applies to the <ulink url=\"https://bugs.launchpad.net/launchpad-buildd/" #| "+bug/238141\">auto build system for Ubuntu</ulink>." msgid "" "This somewhat strange situation is a feature well documented in the <ulink " "url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 55</" "ulink>. This is not due to the use of the <command>dh</command> command in " "the <filename>debian/rules</filename> file but due to how the <command>dpkg-" "buildpackage</command> works. The same situation applies to the <ulink url=" "\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build " "system for Ubuntu</ulink>." msgstr "" "这种奇怪的情况是 <ulink url=\"&policy-build-depends-indep;\">Debian Policy " "Manual, Footnotes 48</ulink> 中详细描述的一种特性。这不是由于在 " "<filename>debian/rules</filename> 中使用 <command>dh</command> 命令所致的,真" "正的原因是 <command>dpkg-buildpackage</command> 如何运行。相同的情形也适用于 " "<ulink url=\"https://bugs.launchpad.net/launchpad-buildd/" "+bug/238141\">Ubuntu 的自动编译系统</ulink>。" #. type: Content of: <book><chapter><section><para> msgid "" "If you are not sure which one should be used, use the <literal>Build-" "Depends</literal> field to be on the safe side. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "如果你不知道应该使用哪一个,则使用 <literal>Build-Depends</literal> 以保证安" "全。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "To find out what packages your package needs to be built run the command:" msgstr "要找出编译你的软件所需的软件包可以使用这个命令:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-depcheck -d ./configure\n" msgstr "$ dpkg-depcheck -d ./configure\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "To manually find exact build dependency for <command><replaceable>/usr/" #| "bin/foo</replaceable></command>, you execute" msgid "" "To manually find exact build dependencies for <command><replaceable>/usr/bin/" "foo</replaceable></command>, execute" msgstr "" "要手工地找到 <command><replaceable>/usr/bin/foo</replaceable></command> 的编" "译依赖,可以执行:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" msgstr "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" #. type: Content of: <book><chapter><section><para> msgid "" "and for each library listed, e.g., <command>libfoo.so.6</command>, execute" msgstr "对于列出的每个库,例如 <command>libfoo.so.6</command>,运行:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg -S libfoo.so.6\n" msgstr "$ dpkg -S libfoo.so.6\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Then you just take <literal>-dev</literal> version of every package as " #| "<literal>Build-Depends</literal> entry. If you use <command>ldd</" #| "command> for this purpose, it will report indirect lib dependencies as " #| "well, resulting in the problem of excessive build dependencies." msgid "" "Then just take the <literal>-dev</literal> version of every package as a " "<literal>Build-Depends</literal> entry. If you use <command>ldd</command> " "for this purpose, it will report indirect lib dependencies as well, " "resulting in the problem of excessive build dependencies." msgstr "" "接下来直接将相应的 <literal>-dev</literal> 软件包的名称放到 <literal>Build-" "Depends</literal> 项内。如果你使用 <command>ldd</command>,它也会报告出间接的" "库依赖关系,这可能造成填写了某些不必要的依赖。" #. type: Content of: <book><chapter><section><para> msgid "" "<systemitem role=\"package\">gentoo</systemitem> also happens to require " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> and <systemitem role=\"package" "\">libglib1.2-dev</systemitem> to build, so we'll add them here next to " "<systemitem role=\"package\">debhelper</systemitem>." msgstr "" "<systemitem role=\"package\">gentoo</systemitem> 需要 <systemitem role=" "\"package\">xlibs-dev</systemitem>、<systemitem role=\"package\">libgtk1.2-" "dev</systemitem> 和 <systemitem role=\"package\">libglib1.2-dev</systemitem> " "才能编译,所以我们将这些软件包加在 <systemitem role=\"package\">debhelper</" "systemitem> 之后。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 6 is the version of the <ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink> standards this package follows, the one you read while making " "your package." msgstr "" "第 6 行是此软件包所依据的 <ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink> 标准版本号。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "On line 7 you can put the URL of the homepage for the upstream program." msgid "On line 7 you can put the URL of the software's upstream homepage." msgstr "在第 7 行你可以放置上游项目的首页地址。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the name of the binary package. This is usually the same as the " "name of the source package, but it doesn't necessarily have to be that way." msgstr "第 9 行是二进制软件包的名称。通常情况下与源代码包相同,但不是必须的。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "See <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " "\"Architecture\"</ulink> for exact details." msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "Line 10 describes the architectures the binary package can be compiled for. " "This value is usually one of the following depending on the type of the " "binary package. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>Breaks</literal>" msgid "<literal>Architecture: any</literal>" msgstr "<literal>Breaks</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture dependent one usually in a " "compiled language." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>Breaks</literal>" msgid "<literal>Architecture: all</literal>" msgstr "<literal>Breaks</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture independent one usually " "consisting of text, images, or scripts in an interpreted language." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Line 10 describes the CPU architecture the binary package can be compiled " #| "for. We'll leave this as <literal>any</literal> because <citerefentry> " #| "<refentrytitle>dpkg-gencontrol</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry> will fill in the appropriate value for any machine this " #| "package gets compiled on." msgid "" "We leave line 10 as is since this is written in C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> will fill in the appropriate architecture value " "for any machine this source package gets compiled on." msgstr "" "第 10 行描述了这个软件包可以在哪些 CPU 构架上编译。我们将保持它为 " "<literal>any</literal>,因为 <citerefentry> <refentrytitle>dpkg-gencontrol</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 将在这个软件包可以编" "译的平台上为此处填写合适的信息。" #. type: Content of: <book><chapter><section><para> msgid "" "If your package is architecture independent (for example, a shell or Perl " "script, or a document), change this to <literal>all</literal>, and read " "later in <xref linkend=\"rules\"/> about using the <literal>binary-indep</" "literal> rule instead of <literal>binary-arch</literal> for building the " "package." msgstr "" "如果你的软件包是平台独立的(例如一个 shell 或 Perl 脚本,或一些文档),将这项改" "变为 <literal>all</literal>,然后继续阅读 <xref linkend=\"rules\"/> 中关于使" "用 <literal>binary-indep</literal> 指令替代 <literal>binary-arch</literal> 来" "编译软件包的内容。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 11 shows one of the most powerful features of the Debian packaging " "system. Packages can relate to each other in various ways. Apart from " "<literal>Depends</literal>, other relationship fields are " "<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" "Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " "<literal>Provides</literal>, and <literal>Replaces</literal>." msgstr "" "第 11 行显示了 Debian 软件包系统中最强大的特性之一。每个软件包都可以和其他软" "件包有各种不同的关系。除 <literal>Depends</literal> 外,还有 " "<literal>Recommends</literal>、<literal>Suggests</literal>、<literal>Pre-" "Depends</literal>、<literal>Breaks</literal>、<literal>Conflicts</literal>、" "<literal>Provides</literal> 和 <literal>Replaces</literal>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The package management tools usually behave the same way when dealing " #| "with these relations; if not, it will be explained. (see <citerefentry> " #| "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " #| "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " #| "<refentrytitle>apt</refentrytitle> <manvolnum>8</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>aptitude</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> etc.)" msgid "" "The package management tools usually behave the same way when dealing with " "these relations; if not, it will be explained. (See <citerefentry> " "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, etc.)" msgstr "" "软件包管理工具通常对这些关系采取相同的操作,如果不是,我将会详细解释。(参看 " "<citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> " "</citerefentry>、<citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>、<citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>、<citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 等。)" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " "\"Declaring relationships between packages\"</ulink>." msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <literal>dh $@</literal> command can be customized as follows. " #| "<placeholder type=\"footnote\" id=\"0\"/>" msgid "" "Here is a simplified description of package relationships. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>dh $@</literal> 命令可以按以下方式定制。<placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Depends</literal>" msgstr "<literal>Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed unless the packages it depends on are " "installed. Use this if your program absolutely will not run (or will cause " "severe breakage) unless a particular package is present." msgstr "" "此软件包仅当它依赖的软件包均已安装后才可以安装。此处写明你的程序所必须的软件" "包。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Recommends</literal>" msgstr "<literal>Recommends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Use this for packages that are not strictly necessary but are typically " #| "used with your program. When a user installs your program, all frontends " #| "will likely prompt them to install the recommended packages. " #| "<command>aptitude</command> and <command>apt-get</command> install " #| "recommended packages along with your package (but the user can disable " #| "this default behaviour). <command>dpkg</command> will ignore this field." msgid "" "Use this for packages that are not strictly necessary but are typically used " "with your program. When a user installs your program, all front-ends will " "probably prompt them to install the recommended packages. " "<command>aptitude</command> and <command>apt-get</command> install " "recommended packages along with your package by default (but the user can " "disable this behavior). <command>dpkg</command> will ignore this field." msgstr "" "这项中的软件包不是严格意义上必须安装才可以保证程序运行。当用户安装软件包时," "所有前端工具都会询问是否要安装这些推荐的软件包。<command>aptitude</command> " "和 <command>apt-get</command> 会在安装你的软件包的时候自动安装推荐的软件包(用" "户可以禁用这个默认行为)。<command>dpkg</command> 则会忽略此项。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Suggests</literal>" msgstr "<literal>Suggests</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Use this for packages which will work nicely with your program but are " #| "not at all necessary. When a user installs your program, all frontends " #| "will likely prompt them to install the suggested packages. " #| "<command>aptitude</command> can be configured to install suggested " #| "packages along with your package but this is not its default. " #| "<command>dpkg</command> and <command>apt-get</command> will ignore this " #| "field." msgid "" "Use this for packages which will work nicely with your program but are not " "at all necessary. When a user installs your program, they will probably not " "be prompted to install suggested packages. <command>aptitude</command> can " "be configured to install suggested packages along with your package but this " "is not its default. <command>dpkg</command> and <command>apt-get</command> " "will ignore this field." msgstr "" "此项中的软件包可以使你的程序更好地工作,但不是一定需要的。当用户安装程序时," "所有的前端程序将询问是否安装建议的软件包。<command>aptitude</command> 可以被" "配置为安装软件时自动安装建议的软件包。<command>dpkg</command> 和 " "<command>apt-get</command> 将忽略此项。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Pre-Depends</literal>" msgstr "<literal>Pre-Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is stronger than <literal>Depends</literal>. The package will not be " "installed unless the packages it pre-depends on are installed and " "<emphasis>correctly configured</emphasis>. Use this <emphasis>very</" "emphasis> sparingly and only after discussing it on the <ulink url=\"&debian-" "devel-ldo;\">debian-devel@lists.debian.org</ulink> mailing list. Read: " "don't use it at all. :-)" msgstr "" "此项中的依赖强于 <literal>Depends</literal> 项。软件包仅在预依赖的软件包已经" "安装后才可以正常安装并且 <emphasis>正确配置</emphasis> 后才可以正常安装。在使" "用此项时应 <emphasis>非常慎重</emphasis>,仅当在 <ulink url=\"&debian-devel-" "ldo;\">debian-devel@lists.debian.org</ulink> 邮件列表讨论后才能使用。记住:根" "本就不要用这项。 :-)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Conflicts</literal>" msgstr "<literal>Conflicts</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed until all the packages it conflicts with " "have been removed. Use this if your program absolutely will not run or will " "cause severe problems if a particular package is present." msgstr "" "仅当所有冲突的软件包都已经删除后此软件包才可以安装。当程序在某些特定软件包存" "在时根本无法运行或存在严重问题时使用此项。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Breaks</literal>" msgstr "<literal>Breaks</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The package will be installed while all the listed packages will be " #| "broken. Normally a <literal>Breaks</literal> entry has an earlier than " #| "version clause. The resolution is generally to upgrade the listed " #| "packages by the higher-level package management tools." msgid "" "When installed the package will break all the listed packages. Normally a " "<literal>Breaks</literal> entry specifies that it applies to versions " "earlier than a certain value. The resolution is generally to use higher-" "level package management tools to upgrade the listed packages." msgstr "" "此软件包安装后列出的软件包将会受到损坏。通常 <literal>Breaks</literal> 要附带" "一个“版本号小于多少”的说明。这样,软件包管理工具将会选择升级被损坏的特定版本" "的软件包。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Provides</literal>" msgstr "<literal>Provides</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "For some types of packages where there are multiple alternatives virtual " #| "names have been defined. You can get the full list in the <filename>/usr/" #| "share/doc/debian-policy/virtual-package-names-list.txt.gz</filename> " #| "file. Use this if your program provides a function of an existing " #| "virtual package." msgid "" "For some types of packages where there are multiple alternatives virtual " "names have been defined. You can get the full list in the <ulink url=" "\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> file. Use " "this if your program provides a function of an existing virtual package." msgstr "" "某些类型的软件包会定义有多个可选的虚拟名称。你可以在 <filename>/usr/share/" "doc/debian-policy/virtual-package-names-list.txt.gz</filename> 文件中找到完整" "的列表。如果你的程序提供了某个已存在的虚拟软件包的功能则使用此项。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Replaces</literal>" msgstr "<literal>Replaces</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this when your program replaces files from another package, or " "completely replaces another package (used in conjunction with " "<literal>Conflicts</literal>). Files from the named packages will be " "overwritten with the files from your package." msgstr "" "当你的程序要替换其他软件包的某些文件,或是完整地替换另一个软件包(与 " "<literal>Conflicts</literal> 一起使用)。列出的软件包中的某些文件会被你的软件" "包所覆盖。" #. type: Content of: <book><chapter><section><para> msgid "" "All these fields have uniform syntax. They are a list of package names " "separated by commas. These package names may also be lists of alternative " "package names, separated by vertical bar symbols <literal>|</literal> (pipe " "symbols)." msgstr "" "所有的这些项都使用相同的语法。它们是一个软件包列表,软件包名称间使用半角逗号" "分隔。也可以写出有多个可选的软件包名称,这些软件包使用 <literal>|</literal> " "符号分隔。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The fields may restrict their applicability to particular versions of " #| "each named package. These versions are listed in parentheses after each " #| "individual package name, and they should contain a relation from the list " #| "below followed by the version number. The relations allowed are: " #| "<literal><<</literal>, <literal><=</literal>, <literal>=</" #| "literal>, <literal>>=</literal> and <literal>>></literal> for " #| "strictly lower, lower or equal, exactly equal, greater or equal and " #| "strictly greater, respectively. For example," msgid "" "The fields may restrict their applicability to particular versions of each " "named package. The restriction of each individual package is listed in " "parentheses after its name, and should contain a relation from the list " "below followed by a version number value. The relations allowed are: " "<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " "<literal>>=</literal>, and <literal>>></literal> for strictly " "lower, lower or equal, exactly equal, greater or equal, and strictly " "greater, respectively. For example," msgstr "" "这些项内还可以指定某些软件包的版本号之间的关系。版本号在括号内,紧随软件包名" "称之后,并在以下逻辑符号后写清具体版本:<literal><<</literal>、" "<literal><=</literal>、<literal>=</literal>、<literal>>=</literal> 和 " "<literal>>></literal>,分别代表严格小于、小于或等于、严格等于、大于或等" "于以及严格大于。例如:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" msgstr "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" #. type: Content of: <book><chapter><section><para> msgid "" "The last feature you need to know about is <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> will scan it for binaries and libraries " #| "determine their shared library dependencies and detect which packages " #| "they are in, such as <systemitem role=\"package\">libc6</systemitem> or " #| "<systemitem role=\"package\">xlib6g</systemitem>, after your package has " #| "been built and installed into the temporary directory. This list of " #| "shared library dependencies is used for <literal>${shlibs:Depends}</" #| "literal>." msgid "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates shared library dependencies for binary " "packages. It generates a list of <ulink url=\"&elf;\">ELF</ulink> " "executables and shared libraries it has found for each binary package. This " "list is used for substituting <literal>${shlibs:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 会在程序编译完成并被放入临时文件夹后扫描二进制文件" "和库文件来确定动态库的依赖关系,并检测包含它们的软件包名称。例如 <systemitem " "role=\"package\">libc6</systemitem> 或 <systemitem role=\"package\">xlib6g</" "systemitem>。 这些软件包将被列在 <literal>${shlibs:Depends}</literal> 的位" "置。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The package list generated by the <citerefentry> <refentrytitle>dh_perl</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> is used for " #| "<literal>${perl:Depends}</literal>." msgid "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates Perl dependencies. It generates a " "list of a dependencies on <literal>perl</literal> or <literal>perlapi</" "literal> for each binary package. This list is used for substituting " "<literal>${perl:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 所生成的软件包列表将用于 <literal>${perl:Depends}" "</literal> 的位置。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Some <systemitem role=\"package\">debhelper</systemitem> commands may " #| "make the generated package need to depend on some other packages. This " #| "list of required packages is used for <literal>${misc:Depends}</literal>." msgid "" "Some <systemitem role=\"package\">debhelper</systemitem> commands may cause " "the generated package to depend on some additional packages. All such " "commands generate a list of required packages for each binary package. This " "list is used for substituting <literal>${misc:Depends}</literal>." msgstr "" "一些 <systemitem role=\"package\">debhelper</systemitem> 命令可能会使生成的软" "件包需要依赖于某些其他软件包,这些软件包将被列于 <literal>${misc:Depends}</" "literal> 的位置。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The package list generated by the <citerefentry> <refentrytitle>dh_perl</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> is used for " #| "<literal>${perl:Depends}</literal>." msgid "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> generates <filename>DEBIAN/control</filename> for " "each binary package while substituting <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." msgstr "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 所生成的软件包列表将用于 <literal>${perl:Depends}" "</literal> 的位置。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Having said all that, we can leave the <literal>Depends</literal> field " #| "exactly as it is now, and insert another line after it saying " #| "<literal>Suggests: file</literal>, because <systemitem role=\"package" #| "\">gentoo</systemitem> can use some features provided by that <systemitem " #| "role=\"package\">file</systemitem> package." msgid "" "Having said all that, we can leave the <literal>Depends</literal> field " "exactly as it is now, and insert another line after it saying " "<literal>Suggests: file</literal>, because <systemitem role=\"package" "\">gentoo</systemitem> can use some features provided by the <systemitem " "role=\"package\">file</systemitem> package." msgstr "" "说过这些以后,我们可以把 <literal>Depends</literal> 项保持现状不动,并在其下" "插入一行 <literal>Suggests: file</literal>,因为 <systemitem role=\"package" "\">gentoo</systemitem> 可以使用 <systemitem role=\"package\">file</" "systemitem> 软件包提供的某些特性。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the Homepage URL. Let's assume this to be at <ulink url=\"&gentoo;" "\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Line 12 is the short description. Most people screens are 80 columns " #| "wide so this shouldn't be longer than about 60 characters. I'll change " #| "it to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgid "" "Line 12 is the short description. Terminals are conventionally 80 columns " "wide so this shouldn't be longer than about 60 characters. I'll change it " "to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgstr "" "第 12 行是短描述。绝大多数人的屏幕是 80 列宽,所以描述不应超过 60 个字符。在" "这个例子里我把它写为 <literal>fully GUI-configurable, two-pane X file " "manager</literal>。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "These descriptions are in English. Translations of these descriptions are " "provided by <ulink url=\"&ddtp;\">The Debian Description Translation Project " "- DDTP</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Line 13 is where the long description goes. This should be a paragraph " #| "which gives more details about the package. Column 1 of each line should " #| "be empty. There must be no blank lines, but you can put a single " #| "<literal>.</literal> (dot) in a column to simulate that. Also, there " #| "must be no more than one blank line after the long description." msgid "" "Line 13 is where the long description goes. This should be a paragraph " "which gives more details about the package. Column 1 of each line should be " "empty. There must be no blank lines, but you can put a single <literal>.</" "literal> (dot) in a column to simulate that. Also, there must be no more " "than one blank line after the long description. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "第 13 行是长描述开始的地方。这应当是一段更详细地描述软件包的话。每行的第一个" "格应当留空。描述中不应存在空行,如果必须使用空行,则在行中仅放置一个 " "<literal>.</literal> (半角句点)。同时,长描述后也不应有超过一行的空白。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "For more help about these, check in <ulink url=\"&developers-reference;" #| "\">Debian Developer's Reference</ulink>." msgid "" "See <ulink url=\"&devref-bpp-vcs;\">Debian Developer's Reference, 6.2.5. " "\"Version Control System location\"</ulink>." msgstr "" "关于这些问题的更多帮助,查看 <ulink url=\"&developers-reference;\">Debian " "Developer's Reference</ulink>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's insert <literal>Vcs-*</literal> fields documented in <ulink url=" #| "\"&devref-bpp-vcs;\">Developer's Reference, 6.2.5. 'Version Control " #| "System location'</ulink> between line 6 and 7. Let's assume that the " #| "<systemitem role=\"package\">gentoo</systemitem> package is located in " #| "Debian Alioth Git Service at <literal>git://git.debian.org/git/collab-" #| "maint/gentoo.git</literal>." msgid "" "We can insert <literal>Vcs-*</literal> fields to document the Version " "Control System (VCS) location between lines 6 and 7. <placeholder type=" "\"footnote\" id=\"0\"/> Let's assume that the <systemitem role=\"package" "\">gentoo</systemitem> package has its VCS located in the Debian Alioth Git " "Service at <literal>git://git.debian.org/git/collab-maint/gentoo.git</" "literal>." msgstr "" "接下来我们按照 <ulink url=\"&devref-bpp-vcs;\">Developer's Reference, " "6.2.5. 'Version Control System location'</ulink> 中记叙的内容在第 6 和第 7 " "行之间添加 <literal>Vcs-*</literal> 项。这里我们假设 <systemitem role=" "\"package\">gentoo</systemitem> 软件包处于 Debian Alioth Git 服务的 " "<literal>git://git.debian.org/git/collab-maint/gentoo.git</literal>" #. type: Content of: <book><chapter><section><para> msgid "Finally, here is the updated <filename>control</filename> file:" msgstr "到此为止,我们做好了 <filename>control</filename> 文件:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| " 1 Source: gentoo\n" #| " 2 Section: x11\n" #| " 3 Priority: optional\n" #| " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" #| " 5 Build-Depends: debhelper (>= 7.0.5), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" #| " 6 Standards-Version: 3.8.4\n" #| " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" #| " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" #| " 9 Homepage: &gentoo;\n" #| "10\n" #| "11 Package: gentoo\n" #| "12 Architecture: any\n" #| "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" #| "14 Suggests: file\n" #| "15 Description: fully GUI-configurable, two-pane X file manager\n" #| "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" #| "17 user do (almost) all of the configuration and customizing from within the\n" #| "18 program itself. If you still prefer to hand-edit configuration files,\n" #| "19 they're fairly easy to work with since they are written in an XML format.\n" #| "20 .\n" #| "21 gentoo features a fairly complex and powerful file identification system,\n" #| "22 coupled to a object-oriented style system, which together give you a lot\n" #| "23 of control over how files of different types are displayed and acted upon.\n" #| "24 Additionally, over a hundred pixmap images are available for use in file\n" #| "25 type descriptions.\n" #| "26 .\n" #| "29 gentoo was written from scratch in ANSI C, and it utilises the GTK+ toolkit\n" #| "30 for its interface.\n" msgid "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>= 7.0.5), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.8.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to a object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilises the GTK+ toolkit\n" "30 for its interface.\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>copyright</filename> file" msgid "<filename>copyright</filename>" msgstr "<filename>copyright</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This file contains the information about package upstream resources, " #| "copyright and license information. Its format is not dictated by the " #| "Debian Policy Manual, but the content is (<ulink url=\"&policy-copyright;" #| "\">Debian Policy Manual, 12.5 'Copyright information'</ulink>). You may " #| "also consult <ulink url=\"&dep5;\">DEP-5: Machine-parseable debian/" #| "copyright</ulink>." msgid "" "This file contains information about the copyright and license of the " "upstream sources. <ulink url=\"&policy-copyright;\">Debian Policy Manual, " "12.5 \"Copyright information\"</ulink> dictates its content and <ulink url=" "\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</filename></" "ulink> provides guidelines for its format." msgstr "" "这个文件包含了上游软件的资源、版权以及许可证信息。它的形式没有在 Debian " "Policy 中详述,但其内容为 (<ulink url=\"&policy-copyright;\">Debian Policy " "Manual, 12.5 'Copyright information'</ulink>)。你还可以查看 <ulink url=" "\"&dep5;\">DEP-5: Machine-parseable debian/copyright</ulink>。" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> can give you a template <filename>copyright</" "filename> file. Let's use the <literal>--copyright gpl2</literal> option " "here to get a template file for the <systemitem role=\"package\">gentoo</" "systemitem> package released under GPL-2." msgstr "" "<command>dh_make</command> 可以给出一个 <filename>copyright</filename> 文件的" "模板。在这里我们使用 <literal>--copyright gpl2</literal> 参数来获得一个模板写" "明 <systemitem role=\"package\">gentoo</systemitem> 软件包是发布于 GPL-2 许可" "证下。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You must fill in missing information such as the place you got the " #| "package from, the actual copyright notice and their license to complete " #| "this file. For the common free software licenses such as GNU GPL-1, GNU " #| "GPL-2, GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, " #| "Apache-2.0 or the Artistic license, you can just refer to the appropriate " #| "file in <filename>/usr/share/common-licenses/</filename> directory that " #| "exists on every Debian system. Otherwise, you must include the complete " #| "license." msgid "" "You must fill in missing information to complete this file, such as the " "place you got the package from, the actual copyright notice, and the " "license. For certain common free software licenses (GNU GPL-1, GNU GPL-2, " "GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0, " "or the Artistic license), you can just refer to the appropriate file in the " "<filename>/usr/share/common-licenses/</filename> directory that exists on " "every Debian system. Otherwise, you must include the complete license." msgstr "" "你必须填写上其余的信息,如你从何处获得此软件,实际的版权声明和它们的许可证。" "对于常见的自由软件许可证,如 GNU GPL-1、GNU GPL-2、GNU GPL-3、LGPL-2、" "LGPL-2.1、LGPL-3、GNU FDL-1.2、GNU FDL-1.3、Apache-2.0 或 Artistic 许可证,你" "可以直接将其指向存在于所有 Debian 系统的 <filename>/usr/share/common-" "licenses/</filename> 目录下的相关文件。其他的许可证则必须包含完整的许可证文" "本。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "In short, here's how <systemitem role=\"package\">gentoo</systemitem>'s " #| "<filename>copyright</filename> file should look like:" msgid "" "In short, here's what <systemitem role=\"package\">gentoo</systemitem>'s " "<filename>copyright</filename> file should look like:" msgstr "" "简言之,<systemitem role=\"package\">gentoo</systemitem> 的 " "<filename>copyright</filename> 文件如下所示:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" msgstr "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Please follow the HOWTO provided by ftpmasters and sent to debian-devel-" #| "announce: <ulink url=\"&debian-devel-announce-ldo;2006/03/msg00023.html" #| "\">&debian-devel-announce-ldo;2006/03/msg00023.html</ulink>." msgid "" "Please follow the HOWTO provided by the ftpmasters and sent to debian-devel-" "announce: <ulink url=\"&howto-copyright;\"/>." msgstr "" "另外还可以参看 ftpmasters 发送到 debian-devel-announce 的 HOWTO: <ulink url=" "\"&debian-devel-announce-ldo;2006/03/msg00023.html\">&debian-devel-announce-" "ldo;2006/03/msg00023.html</ulink>" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>changelog</filename> file" msgid "<filename>changelog</filename>" msgstr "<filename>changelog</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This is a required file, which has a special format described in the " #| "<ulink url=\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 'debian/" #| "changelog'</ulink>. This format is used by <command>dpkg</command> and " #| "other programs to obtain the version number, revision, distribution and " #| "urgency of your package." msgid "" "This is a required file, which has a special format described in <ulink url=" "\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</" "ulink>. This format is used by <command>dpkg</command> and other programs " "to obtain the version number, revision, distribution, and urgency of your " "package." msgstr "" "这是一个必须的文件,它的格式在 <ulink url=\"&policy-dpkgchangelog;\">Debian " "Policy Manual, 4.4 'debian/changelog'</ulink> 中有详细的描述。这种格式被 " "<command>dpkg</command> 和其他程序用以获得版本号信息、适应的发行版和紧急程" "度。" #. type: Content of: <book><chapter><section><para> msgid "" "For you, it is also important, since it is good to have documented all " "changes you have done. It will help people downloading your package to see " "whether there are issues with the package that they should know about. It " "will be saved as <filename>/usr/share/doc/gentoo/changelog.Debian.gz</" "filename> in the binary package." msgstr "" "对于你而言,详细描述你所做出的更改也是很好且很重要的。它将帮助下载你的软件包" "的人了解这个软件包中是否有他们需要知道的事情。它会被作为 <filename>/usr/" "share/doc/gentoo/changelog.Debian.gz</filename> 保存在二进制包中。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<command>dh_make</command> created a default one, and this is how it " #| "looks like:" msgid "" "<command>dh_make</command> created a default one, and this is what it looks " "like:" msgstr "<command>dh_make</command> 创建了一个默认的文件,这是它的样子:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Line 1 is the package name, version, distribution, and urgency. The name " #| "must match the source package name, distribution should be either " #| "<literal>unstable</literal> (or even <literal>experimental</literal>) " #| "<placeholder type=\"footnote\" id=\"0\"/>, and urgency shouldn't be " #| "changed to anything higher than <literal>low</literal>. :-)" msgid "" "Line 1 is the package name, version, distribution, and urgency. The name " "must match the source package name; distribution should be " "<literal>unstable</literal>, and urgency shouldn't be changed to anything " "higher than <literal>low</literal>. :-)" msgstr "" "第 1 行是软件包名、版本号、发行版和紧急程度。软件包名必须与实际的源代码包名相" "同,发行版可以是 <literal>unstable</literal>(甚至 <literal>experimental</" "literal>)<placeholder type=\"footnote\" id=\"0\"/>,紧急程度则不要使用任何高" "于 <literal>low</literal> 的内容。 :-)" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Lines 3-5 are a log entry, where you document changes made in this " #| "package revision (not the upstream changes - there is special file for " #| "that purpose, created by the upstream authors, which you will later " #| "install as <filename>/usr/share/doc/gentoo/changelog.gz</filename>). " #| "Let's assume your ITP (Intent To Package) bug report number was " #| "<literal>12345</literal>. New lines must be inserted just before the " #| "uppermost line that begins with <literal>*</literal> (asterisk). You can " #| "do it with <citerefentry> <refentrytitle>dch</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>, or manually with a text editor." msgid "" "Lines 3-5 are a log entry, where you document changes made in this package " "revision (not the upstream changes - there is a special file for that " "purpose, created by the upstream authors, which you will later install as " "<filename>/usr/share/doc/gentoo/changelog.gz</filename>). Let's assume your " "ITP (Intent To Package) bug report number was <literal>12345</literal>. New " "lines must be inserted just below the uppermost line that begins with " "<literal>*</literal> (asterisk). You can do it with <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "or manually with a text editor." msgstr "" "第 3-5 行是一个很长的条目,记录了你在这个 Debian 版本中做出的修改(不是上游)修" "改——上游修改由上游作者创建另外一个文件并维护,它们应被安装为 <filename>/usr/" "share/doc/gentoo/changelog.gz</filename>)。假设你的 ITP (Intent To Package," "计划打包)的 Bug 号为 <literal>12345</literal>。新行必须插入在上一个以星号 " "<literal>*</literal> 开头的行的正下方。你可以使用 <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "完成这个工作,也可以使用普通的文本编辑器手工完成。" #. type: Content of: <book><chapter><section><para> msgid "" "In order to prevent a package being accidentally uploaded before completing " "the package, it is good idea to change the distribution value to an invalid " "distribution value <literal>UNRELEASED</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "You will end up with something like this:" msgstr "最后它会成为以下的样子:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "1 gentoo (0.9.12-1) unstable; urgency=low\n" #| "2\n" #| "3 * Initial Release. Closes: #12345\n" #| "4 * This is my first Debian package.\n" #| "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" #| "6\n" #| "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" #| "8\n" msgid "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "If you use the <literal>dch -r</literal> command to make this last change, " "please make sure to save the <filename>changelog</filename> file explicitly " "by the editor." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are satisfied with all the changes and documented them in " "<filename>changelog</filename>, you should change the distribution value " "from <literal>UNRELEASED</literal> to the target distribution value " "<literal>unstable</literal> (or even <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can read more about updating the <filename>changelog</filename> file " "later in <xref linkend=\"update\"/>." msgstr "" "你可以在关于更新的 <xref linkend=\"update\"/> 中了解更多关于 " "<filename>changelog</filename> 的内容。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>rules</filename> file" msgid "<filename>rules</filename>" msgstr "<filename>rules</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Now we need to take a look at the exact rules which <citerefentry> " #| "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> " #| "</citerefentry> will use to actually create the package. This file is " #| "actually another <filename>Makefile</filename>, but different from the " #| "one(s) in the upstream source. Unlike other files in <filename>debian</" #| "filename>, this one is marked as executable." msgid "" "Now we need to take a look at the exact rules which <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> will use to actually create the package. This file is in fact " "another <filename>Makefile</filename>, but different from the one(s) in the " "upstream source. Unlike other files in <filename>debian</filename>, this " "one is marked as executable." msgstr "" "现在我们需要看看 <citerefentry> <refentrytitle>dpkg-buildpackage</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 用于实际创建软件包的 " "rules 文件。这个文件是一个 <filename>Makefile</filename>,但不同于上游源代码" "中的那个。和 <filename>debian</filename> 目录中的其他文件不同,这个文件被标记" "为可执行。" #. type: Content of: <book><chapter><section><section><title> #, fuzzy #| msgid "Targets of <filename>rules</filename> file" msgid "Targets of the <filename>rules</filename> file" msgstr "<filename>rules</filename> 文件中的 target" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can start learning how to write <filename>Makefile</filename> from " "<ulink url=\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. The " "full documentation is available as <ulink url=\"&gnu-make;\"></ulink> or as " "the <systemitem role=\"package\">make-doc</systemitem> package in the " "<literal>non-free</literal> archive area." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> explains the details." msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Every <filename>rules</filename> file, like any other <filename>Makefile</" "filename>, consists of several rules, each of which defines a target and how " "it is carried out. <placeholder type=\"footnote\" id=\"0\"/> A new rule " "begins with its target declaration in the first column. The following lines " "beginning with the TAB code (ASCII 9) specify the recipe for carrying out " "that target. Empty lines and lines beginning with <literal>#</literal> " "(hash) are treated as comments and ignored. <placeholder type=\"footnote\" " "id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "A rule that you want to execute is invoked by its target name as a command " "line argument. For example, <literal>debian/rules <replaceable>build</" "replaceable></literal> and <literal>fakeroot make -f debian/rules " "<replaceable>binary</replaceable></literal> execute rules for " "<literal><replaceable>build</replaceable></literal> and " "<literal><replaceable>binary</replaceable></literal> targets respectively." msgstr "" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "The simplified explanation of targets are the following." msgid "Here is a simplified explanation of the targets:" msgstr "以下是对各 target 的简单解释:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>clean</literal> target: to clean all compiled, generated, and " #| "useless files in the build-tree. (required)" msgid "" "<literal>clean</literal> target: to clean all compiled, generated, and " "useless files in the build-tree. (Required)" msgstr "" "<literal>clean</literal>:清理所有编译的、生成的或编译树中无用的文件。(必须)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>build</literal> target: to build the source into compiled " #| "programs and formatted documents in the build-tree. (required)" msgid "" "<literal>build</literal> target: to build the source into compiled programs " "and formatted documents in the build-tree. (Required)" msgstr "" "<literal>build</literal>:在编译树中将代码编译为程序并生成格式化的文档。(必" "须)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>build</literal> target: to build the source into compiled " #| "programs and formatted documents in the build-tree. (required)" msgid "" "<literal>build-arch</literal> target: to build the source into arch-" "dependent compiled programs in the build-tree. (Required)" msgstr "" "<literal>build</literal>:在编译树中将代码编译为程序并生成格式化的文档。(必" "须)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>build</literal> target: to build the source into compiled " #| "programs and formatted documents in the build-tree. (required)" msgid "" "<literal>build-indep</literal> target: to build the source into arch-" "independent formatted documents in the build-tree. (Required)" msgstr "" "<literal>build</literal>:在编译树中将代码编译为程序并生成格式化的文档。(必" "须)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>install</literal> target: to install files into a file tree for " #| "each binary package under the <filename>debian</filename> directory. If " #| "defined, <literal>binary*</literal> targets effectively depend on this " #| "target. (optional)" msgid "" "<literal>install</literal> target: to install files into a file tree for " "each binary package under the <filename>debian</filename> directory. If " "defined, <literal>binary*</literal> targets effectively depend on this " "target. (Optional)" msgstr "" "<literal>install</literal>:把文件安装到 <filename>debian</filename> 目录内为" "各个二进制包构建的文件树。如果有定义,<literal>binary*</literal> target 则会" "依赖于此 target。(可选)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage</literal> as in <xref " "linkend=\"completebuild\"/>." msgstr "" "此 target 被 <literal>dpkg-buildpackage</literal> 用于 <xref linkend=" "\"completebuild\"/> 描述的过程中。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>binary</literal> target: to create all binary packages " #| "(effectively combination of <literal>binary-arch</literal> and " #| "<literal>binary-indep</literal> targets). (required)<placeholder type=" #| "\"footnote\" id=\"0\"/>" msgid "" "<literal>binary</literal> target: to create all binary packages (effectively " "a combination of <literal>binary-arch</literal> and <literal>binary-indep</" "literal> targets). (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary</literal>:创建所有二进制包(是 <literal>binary-arch</" "literal> 和 <literal>binary-indep</literal> 的合并)。(必须)<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage -B</literal> as in <xref " "linkend=\"autobuilder\"/>." msgstr "" "此 target 被 <literal>dpkg-buildpackage -B</literal> 用于<xref linkend=" "\"autobuilder\"/> 描述的过程中。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>binary-arch</literal> target: to create arch-dependent " #| "(<literal>Architecture: any</literal>) binary packages in the parent " #| "directory. (required)<placeholder type=\"footnote\" id=\"0\"/>" msgid "" "<literal>binary-arch</literal> target: to create arch-dependent " "(<literal>Architecture: any</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-arch</literal>:在父目录中创建平台依赖" "(<literal>Architecture: any</literal>)的二进制包。(必须)<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage -A</literal>." msgstr "此 target 被 <literal>dpkg-buildpackage -A</literal> 使用。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>binary-indep</literal> target: to create arch-independent " #| "(<literal>Architecture: all</literal>) binary packages in the parent " #| "directory. (required)<placeholder type=\"footnote\" id=\"0\"/>" msgid "" "<literal>binary-indep</literal> target: to create arch-independent " "(<literal>Architecture: all</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-indep</literal>:在父目录中创建平台独立" "(<literal>Architecture: all</literal>)的二进制包。(必须)<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>get-orig-source</literal> target: to obtain the most recent " #| "version of the original source package from upstream archive site. " #| "(optional)" msgid "" "<literal>get-orig-source</literal> target: to obtain the most recent version " "of the original source package from an upstream archive. (Optional)" msgstr "" "<literal>get-orig-source</literal>:从上游站点获得最新的原始源代码包。(可选)" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "You are probably confused now, but it will all be clear upon examination " #| "of the <filename>rules</filename> file that <command>dh_make</command> " #| "gives us as a default. You should also read <literal>info make</literal> " #| "for more information." msgid "" "You are probably overwhelmed by now, but things are much simpler upon " "examination of the <filename>rules</filename> file that <command>dh_make</" "command> gives us as a default." msgstr "" "可能你现在感到有些迷惑,在接下来讲解 <command>dh_make</command> 给出的默认的 " "<filename>rules</filename> 文件时会进行详细的讲解。你还应该阅读 " "<literal>info make</literal> 来了解更多信息。" #. type: Content of: <book><chapter><section><section><title> msgid "Default <filename>rules</filename> file" msgstr "默认的 <filename>rules</filename> 文件" #. type: Content of: <book><chapter><section><section><para> msgid "" "Newer <command>dh_make</command> generates a very simple but powerful " "default <filename>rules</filename> file using the <command>dh</command> " "command:" msgstr "" "新版本的 <command>dh_make</command> 会生成一个使用 <command>dh</command> 命令" "的非常简单但非常强大的默认的 <filename>rules</filename> 文件:" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" msgstr "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "(I've added the line numbers. In the actual <filename>rules</filename> " #| "file, the leading white spaces are TAB codes.)" msgid "" "(I've added the line numbers. In the actual <filename>rules</filename> " "file, the leading spaces are a TAB code.)" msgstr "" "(注:我添加了行号。实际的 <filename>rules</filename> 文件里开头的空格是 TAB " "填充的。)" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably familiar with lines like line 1 from shell and Perl " "scripts. It tells the operating system that this file is to be processed " "with <filename>/usr/bin/make</filename>." msgstr "" "可能在 shell 或 Perl 脚本中你已经对第一行的形式很熟悉了,它告诉操作系统这个文" "件应使用 <filename>/usr/bin/make</filename> 处理。" #. type: Content of: <book><chapter><section><section><para> msgid "" "Line 10 can be uncommented to set the <literal>DH_VERBOSE</literal> variable " "to 1, so that the <command>dh</command> command outputs which <command>dh_*</" "command> commands it is executing. You can also add a line <literal>export " "DH_OPTIONS=-v</literal> here, so that each <command>dh_*</command> command " "outputs which commands it is executing. This helps you to understand " "exactly what is going on behind this simple <filename>rules</filename> file " "and to debug its problems. This new <command>dh</command> is designed to " "form a core part of the <systemitem role=\"package\">debhelper</systemitem> " "tools, and not to hide anything from you." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "This uses the new <systemitem role=\"package\">debhelper</systemitem> v7+ " "features. Its design concepts are explained in <ulink url=\"&debhelper-" "slides;\">Not Your Grandpa's Debhelper</ulink> presented at DebConf9 by the " "<systemitem role=\"package\">debhelper</systemitem> upstream. Under " "<literal>lenny</literal>, <command>dh_make</command> created a much more " "complicated <filename>rules</filename> file with explicit rules and many " "<command>dh_*</command> scripts listed for each one, most of which are now " "unnecessary (and show the package's age). The new <command>dh</command> " "command is simpler and frees us from doing the routine work \"manually\". " "You still have full power to customize the process with " "<literal>override_dh_*</literal> targets. See <xref linkend=\"customrules\"/" ">. It is based only on the <systemitem role=\"package\">debhelper</" "systemitem> package and does not obfuscate the package building process as " "the <systemitem role=\"package\">cdbs</systemitem> package tends to." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can verify the actual sequences of <command>dh_*</command> programs " "invoked for a given <literal><replaceable>target</replaceable></literal> " "without really running them by invoking <literal>dh --no-act " "<replaceable>target</replaceable></literal> or <literal>debian/rules -- '--" "no-act <replaceable>target</replaceable>'</literal>." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "Lines 12 and 13 are where all the work is done with an implicit rule using " "the pattern rule. The percent sign means \"any targets\", which then call a " "single program, <command>dh</command>, with the target name. <placeholder " "type=\"footnote\" id=\"0\"/> The <command>dh</command> command is a wrapper " "script which runs appropriate sequences of <command>dh_*</command> programs " "depending on its argument. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>; " #| "which in turn runs the following:" msgid "" "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>, " "which in turn runs the following:" msgstr "" "<literal>debian/rules clean</literal> 运行了 <literal>dh clean</literal>,实" "际执行的命令为:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" msgstr "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules build</literal> runs <literal>dh build</literal>; " "which in turn runs the following:" msgstr "" "<literal>debian/rules build</literal> 运行了 <literal>dh build</literal>,实" "际执行的命令为:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" msgstr "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "The following example assumes your <filename>debian/compat</filename> has a " "value equal or more than 9 to avoid invoking any python support commands " "automatically." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " "binary</literal>; which in turn runs the following<placeholder type=" "\"footnote\" id=\"0\"/>:" msgstr "" "<literal>fakeroot debian/rules binary</literal> 执行了 <literal>fakeroot dh " "binary</literal>; 实际执行的命令为<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, fuzzy, no-wrap #| msgid "" #| "dh_testroot\n" #| "dh_prep\n" #| "dh_installdirs\n" #| "dh_auto_install\n" #| "dh_install\n" #| "dh_installdocs\n" #| "dh_installchangelogs\n" #| "dh_installexamples\n" #| "dh_installman\n" #| "dh_installcatalogs\n" #| "dh_installcron\n" #| "dh_installdebconf\n" #| "dh_installemacsen\n" #| "dh_installifupdown\n" #| "dh_installinfo\n" #| "dh_pysupport\n" #| "dh_installinit\n" #| "dh_installmenu\n" #| "dh_installmime\n" #| "dh_installmodules\n" #| "dh_installlogcheck\n" #| "dh_installlogrotate\n" #| "dh_installpam\n" #| "dh_installppp\n" #| "dh_installudev\n" #| "dh_installwm\n" #| "dh_installxfonts\n" #| "dh_bugfiles\n" #| "dh_lintian\n" #| "dh_gconf\n" #| "dh_icons\n" #| "dh_perl\n" #| "dh_usrlocal\n" #| "dh_link\n" #| "dh_compress\n" #| "dh_fixperms\n" #| "dh_strip\n" #| "dh_makeshlibs\n" #| "dh_shlibdeps\n" #| "dh_installdeb\n" #| "dh_gencontrol\n" #| "dh_md5sums\n" #| "dh_builddeb\n" msgid "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" msgstr "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_pysupport\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-arch</literal> runs <literal>fakeroot " "dh binary-arch</literal>; which in turn runs the same sequence as " "<literal>fakeroot dh binary</literal> but with the <literal>-a</literal> " "option appended for each command." msgstr "" "<literal>fakeroot debian/rules binary-arch</literal> 执行了 " "<literal>fakeroot dh binary-arch</literal>,其效果等同于 <literal>fakeroot " "dh binary</literal> 并附加 <literal>-a</literal> 参数于每个命令。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-indep</literal> runs <literal>fakeroot " "dh binary-indep</literal>; which in turn runs almost the same sequence as " "<literal>fakeroot dh binary</literal> but excluding <command>dh_strip</" "command>, <command>dh_makeshlibs</command>, and <command>dh_shlibdeps</" "command> with the <literal>-i</literal> option appended for each remaining " "command." msgstr "" "<literal>fakeroot debian/rules binary-indep</literal> 执行了 " "<literal>fakeroot dh binary-indep</literal>,这会运行几乎和 " "<literal>fakeroot dh binary</literal> 一样的命令,但 <command>dh_strip</" "command>、<command>dh_makeshlibs</command> 和 <command>dh_shlibdeps</" "command> 除外,其他命令则均附加<literal>-i</literal> 选项。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "For complete information on what all these <command>dh_*</command> scripts " "do exactly, and what their other options are, please read their respective " "manual pages and the <systemitem role=\"package\">debhelper</systemitem> " "documentation." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "These commands support other build environments such as <filename>setup.py</" "filename> which can be listed by executing <literal>dh_auto_build --list</" "literal> in a package source directory." msgstr "" #. type: Content of: <book><chapter><section><section><para> msgid "" "The functions of <command>dh_*</command> commands are largely self-evident " "from their names. <placeholder type=\"footnote\" id=\"0\"/> There are a few " "notable ones that are worth giving (over)simplified explanations here " "assuming a typical build environment based on a <filename>Makefile</" "filename>. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>distclean</literal>, <literal>realclean</literal>, " "or <literal>clean</literal>, and executes that." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<command>dh_auto_install</command> usually executes the following if " #| "<filename>Makefile</filename> exists with the <literal>install</literal> " #| "target (line folded for readability)." msgid "" "<command>dh_auto_clean</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>distclean</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_install</command> 通常在 <filename>Makefile</filename> 存在" "且有 <literal>install</literal> target 时执行以下命令(进行了换行以便阅读)。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make distclean\n" msgstr "make distclean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_configure</command> usually executes the following if " "<filename>./configure</filename> exists (arguments abbreviated for " "readability)." msgstr "" "<command>dh_auto_configure</command> 在 <filename>./configure</filename> 存在" "时通常执行以下命令(省略了部分参数以方便此处阅读)。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" msgstr "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_build</command> usually executes the following to execute " "the first target of <filename>Makefile</filename> if it exists." msgstr "" "<command>dh_auto_build</command> 通常使用以下命令执行 <filename>Makefile</" "filename> 中的第一个 target。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make\n" msgstr "make\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>test</literal> or <literal>check</literal>, and " "executes that." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<command>dh_auto_install</command> usually executes the following if " #| "<filename>Makefile</filename> exists with the <literal>install</literal> " #| "target (line folded for readability)." msgid "" "<command>dh_auto_test</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>test</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_install</command> 通常在 <filename>Makefile</filename> 存在" "且有 <literal>install</literal> target 时执行以下命令(进行了换行以便阅读)。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make test\n" msgstr "make test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<command>dh_auto_install</command> usually executes the following if " #| "<filename>Makefile</filename> exists with the <literal>install</literal> " #| "target (line folded for readability)." msgid "" "<command>dh_auto_install</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>install</literal> " "target (line folded for readability)." msgstr "" "<command>dh_auto_install</command> 通常在 <filename>Makefile</filename> 存在" "且有 <literal>install</literal> target 时执行以下命令(进行了换行以便阅读)。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" msgstr "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "Targets which require the <command>fakeroot</command> command contain " #| "<command>dh_testroot</command>. If you are not pretending to be root " #| "using this command, it exits with an error." msgid "" "All targets which require the <command>fakeroot</command> command will " "contain <command>dh_testroot</command>, which exits with an error if you are " "not using this command to pretend to be root." msgstr "" "需要 <command>fakeroot</command> 命令的都包含了 <command>dh_testroot</" "command>。如果你没有假装为 root,将会报错并退出。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "The important part to know about the <filename>rules</filename> file " #| "created by <command>dh_make</command>, is that it is just a suggestion. " #| "It will work for most packages but for more complicated ones, don't be " #| "afraid to customize it to fit your needs. Only things that you must not " #| "change are the names of the rules, because all the tools use these names, " #| "as mandated by the Debian Policy." msgid "" "The important part to know about the <filename>rules</filename> file created " "by <command>dh_make</command> is that it is just a suggestion. It will work " "for most packages but for more complicated ones, don't be afraid to " "customize it to fit your needs." msgstr "" "关于 <command>dh_make</command> 生成的 <filename>rules</filename> 文件,你应" "该知道的最重要的事是,它仅仅是一个建议。它对多数简单的软件包有效,但对于更复" "杂的则要大胆对其进行定制以满足需要。只有一件事不应改变,就是它们的名字,这些" "名称由 Debian Policy 定义且被所有工具使用。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "Although <literal>install</literal> is not required target, it is " #| "supported. <literal>fakeroot dh install</literal> behaves like " #| "<literal>fakeroot dh binary</literal> but stops after " #| "<command>dh_fixperms</command>." msgid "" "Although <literal>install</literal> is not a required target, it is " "supported. <literal>fakeroot dh install</literal> behaves like " "<literal>fakeroot dh binary</literal> but stops after <command>dh_fixperms</" "command>." msgstr "" "尽管 <literal>install</literal> target 不是必须的,但也被支持。" "<literal>fakeroot dh install</literal> 的操作就像 <literal>fakeroot dh " "binary</literal>一样,但停止于 <command>dh_fixperms</command>。" #. type: Content of: <book><chapter><section><section><title> msgid "Customization of <filename>rules</filename> file" msgstr "定制 <filename>rules</filename> 文件" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are many ways to customize the <filename>rules</filename> file created " "with the new <command>dh</command> command." msgstr "" "有很多方法来定制使用新的 <command>dh</command> 命令创建的 <filename>rules</" "filename> 文件。" #. type: Content of: <book><chapter><section><section><para><footnote><para> #, fuzzy #| msgid "" #| "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" #| "Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " #| "should activate its customization function by <literal>dh --with " #| "<replaceable>custom-name</replaceable> $@</literal>." msgid "" "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " "should activate its customization function by <literal>dh $@ --with " "<replaceable>custom-name</replaceable></literal>." msgstr "" "如果一个软件包安装了 <filename>/usr/share/perl5/Debian/Debhelper/Sequence/" "<replaceable>custom_name</replaceable>.pm</filename> 文件,你应当使用 " "<literal>dh --with <replaceable>custom-name</replaceable> $@</literal> 命令激" "活其功能。" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>dh $@</literal> command can be customized as follows. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>dh $@</literal> 命令可以按以下方式定制。<placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "Use of the <command>dh_pysupport</command> command is preferred over use " #| "of the <command>dh_pycentral</command> command. Do not use the " #| "<command>dh_python</command> command." msgid "" "Use of the <command>dh_python2</command> command is preferred over use of " "<command>dh_pysupport</command> or <command>dh_pycentral</command> " "commands. Do not use the <command>dh_python</command> command." msgstr "" "在 <command>dh_pysupport</command> 和 <command>dh_pycentral</command> 命令之" "间更推荐使用前者,不要使用 <command>dh_python</command> 命令。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Add support of the <command>dh_pysupport</command> command. (The best " #| "choice for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgid "" "Add support for the <command>dh_python2</command> command. (The best choice " "for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "添加 <command>dh_pysupport</command> 命令支持。(对于 Python 的最佳选" "择。)<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">python-support</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">python</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package" "\">python-support</systemitem> 软件包。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with python-central $@</literal> instead." msgid "Use <literal>dh $@ --with python2</literal>." msgstr "使用 <literal>dh --with python-central $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This handles Python modules using the <systemitem role=\"package\">python-" #| "support</systemitem> framework." msgid "" "This handles Python modules using the <systemitem role=\"package\">python</" "systemitem> framework." msgstr "" "这会使用 <systemitem role=\"package\">python-support</systemitem> 框架处理 " "Python 模块。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "Add support of the <command>dh_dkms</command> command." msgid "" "Add support for the <command>dh_pysupport</command> command. (deprecated)" msgstr "添加 <command>dh_dkms</command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">python-support</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">python-support</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package" "\">python-support</systemitem> 软件包。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with quilt $@</literal> instead." msgid "Use <literal>dh $@ --with pysupport</literal>." msgstr "使用 <literal>dh --with quilt $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "support</systemitem> framework." msgstr "" "这会使用 <systemitem role=\"package\">python-support</systemitem> 框架处理 " "Python 模块。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "Add support of the <command>dh_pycentral</command> command." msgid "" "Add support for the <command>dh_pycentral</command> command. (deprecated)" msgstr "添加 <command>dh_pycentral</command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">python-central</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">python-central</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package" "\">python-central</systemitem> 软件包。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with python-central $@</literal> instead." msgid "Use <literal>dh $@ --with python-central</literal> instead." msgstr "使用 <literal>dh --with python-central $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This also deactivates the <command>dh_pysupport</command> command." msgstr "这样会同时停用 <command>dh_pysupport</command> 命令。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "central</systemitem> framework." msgstr "" "这会使用 <systemitem role=\"package\">python-central</systemitem> 框架处理 " "Python 模块。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "Add support of the <command>dh_installtex</command> command." msgid "Add support for the <command>dh_installtex</command> command." msgstr "添加 <command>dh_installtex</command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">tex-common</systemitem> package " #| "in <literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">tex-common</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package\">tex-" "common</systemitem> 软件包。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with tex $@</literal> instead." msgid "Use <literal>dh $@ --with tex</literal> instead." msgstr "使用 <literal>dh --with tex $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This registers Type 1 fonts, hyphenation patterns, or formats with TeX." msgid "" "This registers Type 1 fonts, hyphenation patterns, and formats with TeX." msgstr "这样会注册 Type 1 字体、断句样式或其他使用 TeX 的格式。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Add support of the <command>dh_quilt_patch</command> and " #| "<command>dh_quilt_unpatch</command> commands." msgid "" "Add support for the <command>dh_quilt_patch</command> and " "<command>dh_quilt_unpatch</command> commands." msgstr "" "添加 <command>dh_quilt_patch</command> 和 <command>dh_quilt_unpatch</" "command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">quilt</systemitem> package in " #| "<literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">quilt</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package" "\">quilt</systemitem> 软件包。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with quilt $@</literal> instead." msgid "Use <literal>dh $@ --with quilt</literal> instead." msgstr "使用 <literal>dh --with quilt $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This applies and un-applies patches to the upstream source from files in " #| "the <filename>debian/patches</filename> directory for the <literal>1.0</" #| "literal> source package." msgid "" "This applies and un-applies patches to the upstream source from files in the " "<filename>debian/patches</filename> directory for a source package in the " "<literal>1.0</literal> format." msgstr "" "这会在你使用 <literal>1.0</literal> 格式的源代码包时自动应用或解除 " "<filename>debian/patches</filename> 目录中的补丁。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This is not needed if you use the new <literal>3.0 (quilt)</literal> " #| "source package." msgid "" "This is not needed if you use the new <literal>3.0 (quilt)</literal> source " "package format." msgstr "" "如果你使用新的 <literal>3.0 (quilt)</literal> 源代码包格式时不需要这些。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "Add support of the <command>dh_dkms</command> command." msgid "Add support for the <command>dh_dkms</command> command." msgstr "添加 <command>dh_dkms</command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">dkms</systemitem> package in " #| "<literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">dkms</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package" "\">dkms</systemitem> 软件包。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with dkms $@</literal> instead." msgid "Use <literal>dh $@ --with dkms</literal> instead." msgstr "使用 <literal>dh --with dkms $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "This correctly handles DKMS usage by the kernel module package." msgid "This correctly handles DKMS usage by kernel module packages." msgstr "这会使内核模块软件包正确使用 DKMS。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Add support of the <command>dh_autotools-dev_updateconfig</command> and " #| "<command>dh_autotools-dev_restoreconfig</command> commands." msgid "" "Add support for the <command>dh_autotools-dev_updateconfig</command> and " "<command>dh_autotools-dev_restoreconfig</command> commands." msgstr "" "添加 <command>dh_autotools-dev_updateconfig</command> 和 " "<command>dh_autotools-dev_restoreconfig</command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">autotools-dev</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">autotools-dev</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package" "\">autotools-dev</systemitem> 软件包。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with autotools-dev $@</literal> instead." msgid "Use <literal>dh $@ --with autotools-dev</literal> instead." msgstr "使用 <literal>dh --with autotools-dev $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates and restores <filename>config.sub</filename> and " "<filename>config.guess</filename>." msgstr "" "这会自动更新或还原 <filename>config.sub</filename> 和 <filename>config." "guess</filename> 文件。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Add support of the <command>dh_autoreconf</command> and " #| "<command>dh_autoreconf_clean</command> commands." msgid "" "Add support for the <command>dh_autoreconf</command> and " "<command>dh_autoreconf_clean</command> commands." msgstr "" "添加 <command>dh_autoreconf</command> 和 <command>dh_autoreconf_clean</" "command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">dh-autoreconf</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Include the <systemitem role=\"package\">dh-autoreconf</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package\">dh-" "autoreconf</systemitem> 软件包。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with autoreconf $@</literal> instead." msgid "Use <literal>dh $@ --with autoreconf</literal> instead." msgstr "使用 <literal>dh --with autoreconf $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates the GNU Build System files and restores them after the build." msgstr "这样会在编译时更新 GNU 编译系统文件并在编译后对其进行恢复。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "Add support of the <command>dh_dkms</command> command." msgid "Add support for the <command>dh_girepository</command> command." msgstr "添加 <command>dh_dkms</command> 命令支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">bash-completion</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Includes the <systemitem role=\"package\">gobject-introspection</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package\">bash-" "completion</systemitem> 软件包。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with quilt $@</literal> instead." msgid "Use <literal>dh $@ --with gir</literal> instead." msgstr "使用 <literal>dh --with quilt $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This computes dependencies for packages shipping GObject introspection data " "and generates the <literal>${gir:Depends}</literal> substitution variable " "for the package dependency." msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "Add support to the <command>bash</command> completion feature." msgid "Add support for the <command>bash</command> completion feature." msgstr "添加 <command>bash</command> 补全特性支持。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Install the <systemitem role=\"package\">bash-completion</systemitem> " #| "package in <literal>Build-Depends</literal>." msgid "" "Includes the <systemitem role=\"package\">bash-completion</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package\">bash-" "completion</systemitem> 软件包。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Use <literal>dh --with bash-completion $@</literal> instead." msgid "Use <literal>dh $@ --with bash-completion</literal> instead." msgstr "使用 <literal>dh --with bash-completion $@</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This installs <command>bash</command> completions using configuration " #| "file at <filename>debian/<replaceable>package</replaceable>.bash-" #| "completion</filename>." msgid "" "This installs <command>bash</command> completions using a configuration file " "at <filename>debian/<replaceable>package</replaceable>.bash-completion</" "filename>." msgstr "" "这会使用 <filename>debian/<replaceable>package</replaceable>.bash-" "completion</filename> 中的配置文件安装 <command>bash</command> 补全。" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many <command>dh_*</command> commands invoked by the new <command>dh</" "command> command can be customized by the corresponding configuration files " "in the <filename>debian</filename> directory. See <xref linkend=\"dother\"/" "> and the manpage of each command for the customization of such features." msgstr "" "很多由新的 <command>dh</command> 命令触发的 <command>dh_*</command> 都可以通" "过修改 <filename>debian</filename> 目录中的配置文件来对其行为进行定制。参看 " "<xref linkend=\"dother\"/> 和每个命令的 man 手册页。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Under <literal>lenny</literal>, if you wanted to change the behavior of a " "<command>dh_*</command> script you found the relevant line in the " "<filename>rules</filename> file and adjusted it." msgstr "" "在 <literal>lenny</literal> 下,如果你希望更改某个 <command>dh_*</command> 脚" "本的行为,你需要在 <filename>rules</filename> 中找到相应的行然后进行调整。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "Some <command>dh_*</command> commands invoked by the new <command>dh</" #| "command> command may require you to run it with some arguments or to run " #| "additional commands with them or to skip them. For such cases, you " #| "create an <literal>override_dh_<replaceable>foo</replaceable></literal> " #| "target with its rule in the <filename>rules</filename> file only for the " #| "<command>dh_<replaceable>foo</replaceable></command> command you want to " #| "change. It basically say <emphasis>run me instead</emphasis>. " #| "<placeholder type=\"footnote\" id=\"0\"/>" msgid "" "You may need to run <command>dh_*</command> commands invoked via the new " "<command>dh</command> with added arguments, or to run additional commands " "with them, or to skip them. For such cases, you create an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target with " "its rule in the <filename>rules</filename> file defining an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target for the " "<command>dh_<replaceable>foo</replaceable></command> command you want to " "change. It basically says <emphasis>run me instead</emphasis>. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "某些由新的 <command>dh</command> 命令所触发的 <command>dh_*</command> 命令可" "能需要额外的参数使其一同执行或者跳过执行。对于这类情况,你可以在 " "<filename>rules</filename> 文件中创建一个 " "<literal>override_dh_<replaceable>foo</replaceable></literal> target 来使其完" "成你想要的 <command>dh_<replaceable>foo</replaceable></command> 命令。它的作" "用简单说就是 <emphasis>把运行的命令换成我</emphasis>。<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "Please note that the <command>dh_auto_*</command> commands tend to do " #| "more than what has been discussed as (over)simplified explanation to take " #| "care all the corner cases. Use of simplified equivalent command instead " #| "of these in <literal>override_dh_*</literal> targets except the " #| "<literal>override_dh_auto_clean</literal> target is a bad idea since it " #| "may kill such <systemitem role=\"package\">debhelper</systemitem>'s smart " #| "features." msgid "" "Please note that the <command>dh_auto_*</command> commands tend to do more " "than what has been discussed in this (over)simplified explanation to take " "care of all the corner cases. It is a bad idea to use " "<literal>override_dh_*</literal> targets to substitute simplified equivalent " "commands (except for the <literal>override_dh_auto_clean</literal> target) " "since it may bypass such smart <systemitem role=\"package\">debhelper</" "systemitem> features." msgstr "" "请注意 <command>dh_auto_*</command> 命令所做的比上述简化的步骤中介绍的内容更" "多。除了 <literal>override_dh_auto_clean</literal> 外把上面的简化命令写成 " "<literal>override_dh_*</literal> 中是不明智的,这样会使得 <systemitem role=" "\"package\">debhelper</systemitem> 的许多智能特性无法体现。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "If you want to store the system configuration data for the <systemitem " #| "role=\"package\">gentoo</systemitem> package in the <filename>/etc/" #| "gentoo</filename> directory instead of the usual <filename>/etc</" #| "filename> directory, you can override the default <literal>--sysconfig=/" #| "etc</literal> argument given by the <command>dh_auto_configure</command> " #| "command to the <command>./configure</command> command by the following. " #| "<placeholder type=\"footnote\" id=\"0\"/>" msgid "" "So, for instance, if you want to store system configuration data in the " "<filename>/etc/gentoo</filename> directory instead of the usual <filename>/" "etc</filename> directory for the recent <systemitem role=\"package\">gentoo</" "systemitem> package using Autotools, you can override the default <literal>--" "sysconfig=/etc</literal> argument given by the <command>dh_auto_configure</" "command> command to the <command>./configure</command> command by the " "following." msgstr "" "如果你希望把 <systemitem role=\"package\">gentoo</systemitem> 软件包的配置文" "件安装到 <filename>/etc/gentoo</filename> 而非默认的 <filename>/etc</" "filename> 目录,你可以覆盖 <command>dh_auto_configure</command> 默认的使用的 " "<literal>--sysconfig=/etc</literal> 参数,改为向 <command>./configure</" "command> 命令传递以下参数:<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "The arguments given after <literal>--</literal> are appended to the default " "arguments of the auto-executed program to override them. Using the " "<command>dh_auto_configure</command> command is better than directly " "invoking the <command>./configure</command> command here since it will only " "override the <literal>--sysconfig</literal> argument and retains any other, " "benign arguments to the <command>./configure</command> command." msgstr "" #. type: Content of: <book><chapter><section><section><para><footnote><para> #, fuzzy #| msgid "" #| "<command>dh_auto_build</command> without any arguments will execute the " #| "first target in the <filename>Makefile</filename> file." msgid "" "<command>dh_auto_build</command> without any arguments will execute the " "first target in the <filename>Makefile</filename>." msgstr "" "没有参数的 <command>dh_auto_build</command>命令将执行 <filename>Makefile</" "filename> 中的第一个 target。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "If <filename>Makefile</filename> of a source for <systemitem role=" #| "\"package\">gentoo</systemitem> requires you to specify <literal>build</" #| "literal> as its target to build it <placeholder type=\"footnote\" id=" #| "\"0\"/>, you create an <literal>override_dh_auto_build</literal> target " #| "to enable it." msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify <literal>build</" "literal> as its target to build it <placeholder type=\"footnote\" id=\"0\"/" ">, you create an <literal>override_dh_auto_build</literal> target to enable " "this." msgstr "" "如果 <systemitem role=\"package\">gentoo</systemitem> 的 <filename>Makefile</" "filename> 需要指定 <literal>build</literal> 作为其编译用的 " "target<placeholder type=\"footnote\" id=\"0\"/>,你可以创建一个 " "<literal>override_dh_auto_build</literal> target 来启用它。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" msgstr "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "This ensures to run $(MAKE) with all the default arguments given by the " #| "<command>dh_auto_build</command> command and <literal>build</literal> " #| "argument." msgid "" "This ensures <literal>$(MAKE)</literal> is run with all the default " "arguments given by the <command>dh_auto_build</command> command plus the " "<literal>build</literal> argument." msgstr "" "这保证了 $(MAKE) 会使用 <command>dh_auto_build</command> 传递的所有参数并编译" "处理 <literal>build</literal> 这个 target。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "If <filename>Makefile</filename> of a source for <systemitem role=" #| "\"package\">gentoo</systemitem> requires you to specify <literal>build</" #| "literal> as its target to build it <placeholder type=\"footnote\" id=" #| "\"0\"/>, you create an <literal>override_dh_auto_build</literal> target " #| "to enable it." msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify the " "<literal>packageclean</literal> target to clean it for the Debian package " "instead of using <literal>distclean</literal> or <literal>clean</literal> " "targets, you can create an <literal>override_dh_auto_clean</literal> target " "to enable thit." msgstr "" "如果 <systemitem role=\"package\">gentoo</systemitem> 的 <filename>Makefile</" "filename> 需要指定 <literal>build</literal> 作为其编译用的 " "target<placeholder type=\"footnote\" id=\"0\"/>,你可以创建一个 " "<literal>override_dh_auto_build</literal> target 来启用它。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" msgstr "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "If <filename>Makefile</filename> of a source for <systemitem role=" #| "\"package\">gentoo</systemitem> contains <literal>test</literal> target " #| "which you do not want to run for the Debian package building process, you " #| "can use empty <literal>override_dh_auto_test</literal> target to skip it." msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> contains a <literal>test</literal> target " "which you do not want to run for the Debian package building process, you " "can use an empty <literal>override_dh_auto_test</literal> target to skip it." msgstr "" "如果 <systemitem role=\"package\">gentoo</systemitem> 的 <filename>Makefile</" "filename> 包含了一个 <literal>test</literal> target 但你不想在 Debian 软件包" "编译过程中运行它,可以使用空的 <literal>override_dh_auto_test</literal> " "target 来跳过它。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "override_dh_auto_test:\n" msgstr "override_dh_auto_test:\n" #. type: Content of: <book><chapter><section><section><para><footnote><para> #, fuzzy #| msgid "" #| "The <filename>debian/changelog</filename> and <filename>debian/NEWS</" #| "filename> files are always automatically installed. The upstream " #| "changelog is searched by converting filenames to the lower case and " #| "matching them with the <filename>changelog</filename>, <filename>changes</" #| "filename>, <filename>changelog.txt</filename>, and <filename>changes.txt</" #| "filename>." msgid "" "The <filename>debian/changelog</filename> and <filename>debian/NEWS</" "filename> files are always automatically installed. The upstream changelog " "is found by converting filenames to lower case and matching them against " "<filename>changelog</filename>, <filename>changes</filename>, " "<filename>changelog.txt</filename>, and <filename>changes.txt</filename>." msgstr "" "<filename>debian/changelog</filename> 和 <filename>debian/NEWS</filename> 总" "是会被自动安装。程序会不分大小写地搜索以下文件名来检测上游 changelog:" "<filename>changelog</filename>、<filename>changes</filename>、" "<filename>changelog.txt</filename>和<filename>changes.txt</filename>。" #. type: Content of: <book><chapter><section><section><para> msgid "" "If <systemitem role=\"package\">gentoo</systemitem> has an unusual upstream " "changelog file called <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> will not install that file by " "default. The <command>dh_installchangelogs</command> command requires " "<filename>FIXES</filename> as its argument to install it. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "如果 <systemitem role=\"package\">gentoo</systemitem> 有某个不常见的上游 " "changelog 文件名为 <filename>FIXES</filename>,默认情况下 " "<command>dh_installchangelogs</command> 不会安装它。" "<command>dh_installchangelogs</command> 命令需要将 <filename>FIXES</" "filename> 作为它的参数来安装它。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" msgstr "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "When you use the new <command>dh</command> command, use of explicit " #| "targets such as the ones listed in <xref linkend=\"targets\"/> except " #| "<literal>get-orig-source</literal> target may make it difficult to " #| "understand their exact effects. Please limit explicit targets to " #| "<literal>override_dh_*</literal> targets and completely independent ones, " #| "if possible." msgid "" "When you use the new <command>dh</command> command, use of explicit targets " "such as the ones listed in <xref linkend=\"targets\"/>, other than the " "<literal>get-orig-source</literal> target, may make it difficult to " "understand their exact effects. Please limit explicit targets to " "<literal>override_dh_*</literal> targets and completely independent ones, if " "possible." msgstr "" "如果你使用新的 <command>dh</command> 命令时,还使用 <xref linkend=\"targets" "\"/> 中除 <literal>get-orig-source</literal> 的 target ,会使得其效果难以预" "料。请尽量避免使用独立的或预设的 target,如果必须修改默认设置则酌情使用 " "<literal>override_dh_*</literal>。" #. type: Content of: <book><chapter><title> msgid "Other files under the <filename>debian</filename> directory" msgstr "<filename>debian</filename> 目录下的其他文件" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "To control most of what <systemitem role=\"package\">debhelper</" #| "systemitem> does while building the package, you put optional " #| "configuration files under the <filename>debian</filename> directory. " #| "This chapter will make an overview of what each of these does and its " #| "format. Please read <ulink url=\"&debian-policy;\">Debian Policy Manual</" #| "ulink> and <ulink url=\"&developers-reference;\">Debian Developer's " #| "Reference</ulink> for guidelines for the packaging." msgid "" "To control most of what <systemitem role=\"package\">debhelper</systemitem> " "does while building the package, you put optional configuration files under " "the <filename>debian</filename> directory. This chapter will provide an " "overview of what each of these does and its format. Please read the <ulink " "url=\"&debian-policy;\">Debian Policy Manual</ulink> and <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> for " "guidelines for packaging." msgstr "" "要控制 <systemitem role=\"package\">debhelper</systemitem> 在构建软件包过程中" "的行为,可以在 <filename>debian</filename> 目录中放置可选的配置文件。本章将会" "对这些文件和它们的格式进行概述。请阅读 <ulink url=\"&debian-policy;\">Debian " "Policy Manual</ulink> 和 <ulink url=\"&developers-reference;\">Debian " "Developer's Reference</ulink> 来了解更多内容。" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "The <command>dh_make</command> command will create some template " #| "configuration files under the <filename>debian</filename> directory. " #| "Most of them come with filenames suffixed by <literal>.ex</literal>. " #| "Some of them come with filenames prefixed by the binary package name such " #| "as <literal><replaceable>package</replaceable></literal>. Take a look at " #| "all of them." msgid "" "The <command>dh_make</command> command will create some template " "configuration files under the <filename>debian</filename> directory. Most " "of them come with filenames suffixed by <literal>.ex</literal>. Some of " "them come with filenames prefixed by the binary package name such as " "<literal><replaceable>package</replaceable></literal>. Take a look at all " "of them. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_make</command> 命令会在 <filename>debian</filename> 目录中创建一" "些配置文件模板,它们的文件名多带有 <literal>.ex</literal> 的后缀。其中的一些" "可能以软件包名作为前缀,如 <literal><replaceable>package</replaceable></" "literal>。现在对它们进行一个大致的了解。" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "The <command>dh_make</command> command may not create some template " #| "configuration files for <systemitem role=\"package\">debhelper</" #| "systemitem>. In such cases, you need to create them with the editor." msgid "" "Some template configuration files for <systemitem role=\"package" "\">debhelper</systemitem> may not be created by the <command>dh_make</" "command> command. In such cases, you need to create them with an editor." msgstr "" "还有一些 <systemitem role=\"package\">debhelper</systemitem> 的配置文件模板 " "<command>dh_make</command> 命令没有直接创建。在这种情况下如果你需要它们,则要" "使用文本编辑器手工创建。" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "If you wish or need to activate any of those, please do the following." msgid "If you wish or need to activate any of these, please do the following:" msgstr "如果你希望或需要激活它们中的任意一个或多个,请按照下面的方法做。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "rename template files by removing the <literal>.ex</literal> or <literal>." #| "EX</literal> suffix if the template files have one." msgid "" "rename template files by removing the <literal>.ex</literal> or <literal>." "EX</literal> suffix if they have one;" msgstr "" "如果模板文件带有 <literal>.ex</literal> 或 <literal>.EX</literal> 后缀,则重" "命名它去掉后缀。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "rename the name of these configuration files using the actual binary " #| "package name in place of <literal><replaceable>package</replaceable></" #| "literal>." msgid "" "rename the configuration files to use the actual binary package name in " "place of <literal><replaceable>package</replaceable></literal>;" msgstr "" "按照需要,把带有软件包名的配置文件的前缀改为实际的二进制软件包名,例如 " "<literal><replaceable>package</replaceable></literal>。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> #, fuzzy #| msgid "modify template file contents to suit your needs." msgid "modify template file contents to suit your needs;" msgstr "修改模板文件来满足你的需要。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> #, fuzzy #| msgid "remove template files which you do not need." msgid "remove template files which you do not need;" msgstr "删除不需要的模板文件。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "modify the <filename>control</filename> file (see <xref linkend=\"control" #| "\"/>), if necessary." msgid "" "modify the <filename>control</filename> file (see <xref linkend=\"control\"/" ">), if necessary;" msgstr "" "如果需要,修改 <filename>control</filename> 文件(参看 <xref linkend=\"control" "\"/>)。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/>), " "if necessary." msgstr "" "如果需要,修改 <filename>rules</filename> 文件(参看 <xref linkend=\"rules\"/" ">)。" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "Alternatively, this <filename>install</filename> can have the name of the " #| "file only without the installation directory when the relative directory " #| "path does not change. This format is usually used for a large package " #| "that splits build result into multiple binary packages using " #| "<filename><replaceable>package-1</replaceable>.install</filename>, " #| "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgid "" "Any <systemitem role=\"package\">debhelper</systemitem> configuration files " "without a <filename><replaceable>package</replaceable></filename> prefix, " "such as <filename>install</filename>, apply to the first binary package. " "When there are many binary packages, their configurations can be specified " "by prefixing their name to their configuration filenames such as " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "当然 <filename>install</filename> 文件也可以只包含相对的源路径而不带目标位" "置。这样的格式通常用于使用 <filename><replaceable>package-1</replaceable>." "install</filename>、<filename><replaceable>package-2</replaceable>.install</" "filename> 等将大软件包分割为多个二进制包的情况。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>README.Debian</filename> file" msgid "<filename>README.Debian</filename>" msgstr "<filename>README.Debian</filename> 文件" #. type: Content of: <book><chapter><section><para> msgid "" "Any extra details or discrepancies between the original package and your " "Debian version should be documented here." msgstr "所有关于你的 Debian 版本与原始版本间的额外信息或差别都应在这里记录。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<command>dh_make</command> created a default one, this is what it looks " #| "like:" msgid "" "<command>dh_make</command> created a default one; this is what it looks like:" msgstr "<command>dh_make</command> 创建了一个默认的文件,以下是它的样子:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" msgstr "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have nothing to be documented, remove this file. See <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "如果你没有需要写在这里的东西,则删除这个文件。参看 <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>compat</filename> file" msgid "<filename>compat</filename>" msgstr "<filename>compat</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <filename>compat</filename> file defines the <systemitem role=" #| "\"package\">debhelper</systemitem> compatibility level. Currently, you " #| "should set it to the <systemitem role=\"package\">debhelper</systemitem> " #| "V7 by the following." msgid "" "The <filename>compat</filename> file defines the <systemitem role=\"package" "\">debhelper</systemitem> compatibility level. Currently, you should set it " "to the <systemitem role=\"package\">debhelper</systemitem> v9 as follows:" msgstr "" "<filename>compat</filename> 文件定义了 <systemitem role=\"package" "\">debhelper</systemitem> 的兼容级别。目前你应当使用以下命令将其设置为 " "<systemitem role=\"package\">debhelper</systemitem> V7。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ echo 7 > debian/compat\n" msgid "$ echo 9 > debian/compat\n" msgstr "$ echo 7 > debian/compat\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>conffiles</filename> file" msgid "<filename>conffiles</filename>" msgstr "<filename>conffiles</filename> 文件" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian " "Policy Manual, \"D.2.5 Conffiles\"</ulink>." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令会安装这个文件。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "One of the most annoying things about software is when you spend a great " #| "deal of time and effort customizing a program, only to have an upgrade " #| "stomp all over your changes. Debian solves this problem by marking " #| "configuration files so that when you upgrade a package, you'll be " #| "prompted whether you want to keep your old configuration or not." msgid "" "One of the most annoying things about software is when you spend a great " "deal of time and effort customizing a program, only to have an upgrade stomp " "all over your changes. Debian solves this problem by marking such " "configuration files as conffiles. <placeholder type=\"footnote\" id=\"0\"/> " "When you upgrade a package, you'll be asked whether you want to keep your " "old configuration files or not." msgstr "" "系统管理中有件很恼人的事,就是当你付出了很多时间和经历来自定义一个程序,但是" "升级后所有的修改都被覆盖掉了。Debian 通过将配置文件单独标记来解决这个问题,当" "软件包升级的时候,你将会被询问是否要保留你的旧配置文件。" #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry><refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> <emphasis>automatically</emphasis> flags any " "files under the <filename>/etc</filename> directory as conffiles, so if your " "program only has conffiles there you do not need to specify them in this " "file. For most package types, the only place conffiles should ever be is " "under <filename>/etc</filename>, and so this file doesn't need to exist." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your program uses configuration files but also rewrites them on its " #| "own, it's best not to make them as conffiles because <command>dpkg</" #| "command> will then prompt users to verify the changes all the time." msgid "" "If your program uses configuration files but also rewrites them on its own, " "it's best not to make them conffiles because <command>dpkg</command> will " "then prompt users to verify the changes all the time." msgstr "" "如果你的程序使用配置文件,但程序会自动对配置进行改写,则最好也将其标记为配置" "文件,这样 <command>dpkg</command> 总是会要求用户校验发生了的变更。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If the program you're packaging requires every user to modify the " #| "configuration files in the <filename>/etc</filename> directory, there are " #| "2 popular ways to make them not as conffiles to keep <command>dpkg</" #| "command> quiet." msgid "" "If the program you're packaging requires every user to modify the " "configuration files in the <filename>/etc</filename> directory, there are " "two popular ways to arrange for them to not be conffiles, keeping " "<command>dpkg</command> quiet." msgstr "" "如果你正在打包的程序需要所有用户都为自己修改 <filename>/etc</filename> 目录中" "的配置,有两种常见的方法让 <command>dpkg</command> 不将其记录为配置文件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "You make a symlink under the <filename>/etc</filename> directory pointing " #| "to a file under the <filename>/var</filename> directory generated by the " #| "<emphasis>maintainer scripts</emphasis>." msgid "" "Create a symlink under the <filename>/etc</filename> directory pointing to a " "file under the <filename>/var</filename> directory generated by the " "maintainer scripts." msgstr "" "用 <emphasis>maintainer scripts</emphasis> 在 <filename>/etc</filename> 目录" "中创建指向 <filename>/var</filename> 相关目录的符号链接。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "You make a file generated by the <emphasis>maintainer scripts</emphasis> " #| "under the <filename>/etc</filename> directory." msgid "" "Create a file generated by the maintainer scripts under the <filename>/etc</" "filename> directory." msgstr "" "用 <emphasis>maintainer scripts</emphasis> 在 <filename>/etc</filename> 目录" "中生成一个文件。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For more information on the <emphasis>maintainer scripts</emphasis>, see " #| "<xref linkend=\"maintscripts\"/>." msgid "" "For information on maintainer scripts, see <xref linkend=\"maintscripts\"/>." msgstr "" "更多关于 <emphasis>maintainer scripts</emphasis> 的信息,参看 <xref linkend=" "\"maintscripts\"/>" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename><replaceable>package</replaceable>.cron.*</filename> files" msgid "<filename><replaceable>package</replaceable>.cron.*</filename>" msgstr "<filename><replaceable>package</replaceable>.cron.*</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your package requires regularly scheduled tasks to operate properly, " #| "you can use this file to set it up. You can either setup regular tasks " #| "that happen hourly, daily, weekly or monthly or alternatively happen any " #| "other time that you wish. The filenames are:" msgid "" "If your package requires regularly scheduled tasks to operate properly, you " "can use these files to set that up. You can set up regular tasks that " "either happen hourly, daily, weekly, or monthly, or alternatively happen at " "any other time that you wish. The filenames are:" msgstr "" "如果你的软件包需要有计划运行的操作以保证正常工作,可以使用这个文件进行设置。" "既可以设置常规的任务使其在每小时、每天、每星期、每月或其他情况或时间下运行。" "相应的文件名是:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<filename>cron.hourly</filename> - Installed as <filename>/etc/cron." #| "hourly/<replaceable>package</replaceable></filename>: run once an hour " #| "every hour." msgid "" "<filename><replaceable>package</replaceable>.cron.hourly</filename> - " "Installed as <filename>/etc/cron.hourly/<replaceable>package</replaceable></" "filename>; run once an hour." msgstr "" "<filename>cron.hourly</filename> - 安装为 <filename>/etc/cron.hourly/" "<replaceable>package</replaceable></filename>:每小时运行一次。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<filename>cron.daily</filename> - Installed as <filename>/etc/cron.daily/" #| "<replaceable>package</replaceable></filename>: run once a day, usually " #| "early morning." msgid "" "<filename><replaceable>package</replaceable>.cron.daily</filename> - " "Installed as <filename>/etc/cron.daily/<replaceable>package</replaceable></" "filename>; run once a day." msgstr "" "<filename>cron.daily</filename> - 安装为 <filename>/etc/cron.daily/" "<replaceable>package</replaceable></filename>:每天运行一次,通常在早晨。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<filename>cron.weekly</filename> - Installed as <filename>/etc/cron." #| "weekly/<replaceable>package</replaceable></filename>: run once a week, " #| "usually early Sunday morning." msgid "" "<filename><replaceable>package</replaceable>.cron.weekly</filename> - " "Installed as <filename>/etc/cron.weekly/<replaceable>package</replaceable></" "filename>; run once a week." msgstr "" "<filename>cron.weekly</filename> - 安装为 <filename>/etc/cron.weekly/" "<replaceable>package</replaceable></filename>:每星期运行一次,通常在星期日早" "晨。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<filename>cron.hourly</filename> - Installed as <filename>/etc/cron." #| "hourly/<replaceable>package</replaceable></filename>: run once an hour " #| "every hour." msgid "" "<filename><replaceable>package</replaceable>.cron.monthly</filename> - " "Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></" "filename>: run once a month." msgstr "" "<filename>cron.hourly</filename> - 安装为 <filename>/etc/cron.hourly/" "<replaceable>package</replaceable></filename>:每小时运行一次。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<filename>cron.d</filename> - Installed as <filename>/etc/cron.d/" #| "<replaceable>package</replaceable></filename>: for any other time" msgid "" "<filename><replaceable>package</replaceable>.cron.d</filename> - Installed " "as <filename>/etc/cron.d/<replaceable>package</replaceable></filename>: for " "any other time." msgstr "" "<filename>cron.d</filename> - 安装为 <filename>/etc/cron.d/" "<replaceable>package</replaceable></filename> 指定的任意时间。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For the named files, the format of them is the shell script. The " #| "different one is <filename><replaceable>package</replaceable>.cron.d</" #| "filename> which follows the format of <citerefentry> " #| "<refentrytitle>crontab</refentrytitle> <manvolnum>5</manvolnum> </" #| "citerefentry>." msgid "" "Most of these files are shell scripts, with the exception of " "<filename><replaceable>package</replaceable>.cron.d</filename> which follows " "the format of <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." msgstr "" "对于前几个文件,其格式为 shell 脚本。唯一不同的是 " "<filename><replaceable>package</replaceable>.cron.d</filename>,它的格式需要" "参照 <citerefentry> <refentrytitle>crontab</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Note that this doesn't include log rotation; for that, see <citerefentry> " #| "<refentrytitle>dh_installlogrotate</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> and <citerefentry> <refentrytitle>logrotate</" #| "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>." msgid "" "No explicit <filename>cron.*</filename> file is needed to set up log " "rotation; for that, see <citerefentry><refentrytitle>dh_installlogrotate</" "refentrytitle> <manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>logrotate</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" "注意这里的操作不包含日志旋转,如果需要日志旋转,参看 <citerefentry> " "<refentrytitle>dh_installlogrotate</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> 和 <citerefentry> <refentrytitle>logrotate</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>dirs</filename> file" msgid "<filename>dirs</filename>" msgstr "<filename>dirs</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This file specifies the directories which we need but the normal " #| "installation procedure (<literal>make install DESTDIR=...</literal> " #| "invoked by <literal>dh_auto_install</literal>) somehow doesn't create. " #| "This generally means there is a problem with the <filename>Makefile</" #| "filename>." msgid "" "This file specifies any directories which we need but which are not created " "by the normal installation procedure (<literal>make install DESTDIR=...</" "literal> invoked by <literal>dh_auto_install</literal>). This generally " "means there is a problem with the <filename>Makefile</filename>." msgstr "" "这个文件指定了我们需要,但正常安装过程(<literal>dh_auto_install</literal> 触" "发 <literal>make install DESTDIR=...</literal>)里没有被安装的目录。通常这是由" "于 <filename>Makefile</filename> 中存在问题。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Files listed in the <filename>install</filename> file doesn't need the " #| "directories created first. See <xref linkend=\"install\"/>." msgid "" "Files listed in an <filename>install</filename> file don't need their " "directories created first. See <xref linkend=\"install\"/>." msgstr "" "<filename>install</filename> 文件中列出的文件不需要提前创建目录,参看 <xref " "linkend=\"install\"/>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "It is best to first try to run the installation first and only use this " #| "if you run into trouble. There is no preceding slash on the directory " #| "names." msgid "" "It is best to try to run the installation first and only use this if you run " "into trouble. There is no preceding slash on the directory names listed in " "the <filename>dirs</filename> file." msgstr "" "最好是先尝试安装,如果遇到了相关的问题再使用这个文件。目录名中不应有前导的 / " "符号。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.doc-base</filename> file" msgid "<filename><replaceable>package</replaceable>.doc-base</filename>" msgstr "<filename><replaceable>package</replaceable>.doc-base</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your package has documentation other than manual pages and info docs, " #| "you should use the <systemitem role=\"package\">doc-base</systemitem> " #| "file to register it, so the user can find it with e.g. <citerefentry> " #| "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " #| "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>." msgid "" "If your package has documentation other than manual and info pages, you " "should use the <systemitem role=\"package\">doc-base</systemitem> file to " "register it, so the user can find it with e.g. <citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, or <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "如果你的软件包在 man 手册页和 info 信息文档外还有其他文档,你应该使用 " "<systemitem role=\"package\">doc-base</systemitem> 文件注册它们,这样用户可以" "使用例如 <citerefentry> <refentrytitle>dhelp</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>、<citerefentry> <refentrytitle>dwww</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 或 <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 的工具找到它们。" #. type: Content of: <book><chapter><section><para> msgid "" "This usually includes HTML, PS and PDF files, shipped in <filename>/usr/" "share/doc/<replaceable>packagename</replaceable>/</filename>." msgstr "" "这通常包括 HTML、PS 和 PDF 文件,放置在 <filename>/usr/share/doc/" "<replaceable>packagename</replaceable>/</filename>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This is how <systemitem role=\"package\">gentoo</systemitem>'s doc-base " #| "file <filename>gentoo.doc-base</filename> looks like:" msgid "" "This is what <systemitem role=\"package\">gentoo</systemitem>'s doc-base " "file <filename>gentoo.doc-base</filename> looks like:" msgstr "" "以下是 <systemitem role=\"package\">gentoo</systemitem> 的 doc-base 文件 " "<filename>gentoo.doc-base</filename> 的样子:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" msgstr "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For information on the file format, see <citerefentry> " #| "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" #| "citerefentry> and the <systemitem role=\"package\">doc-base</systemitem> " #| "manual, in <filename>/usr/share/doc/doc-base/doc-base.html/</filename>." msgid "" "For information on the file format, see <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and the Debian <systemitem role=\"package\">doc-base</" "systemitem> Manual at the local copy <filename>&doc-base;</filename> " "provided by the <systemitem role=\"package\">doc-base</systemitem> package." msgstr "" "关于文件格式的更多信息,参看 <citerefentry> <refentrytitle>install-docs</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry> 和 <filename>/usr/" "share/doc/doc-base/doc-base.html/</filename> 中的 <systemitem role=\"package" "\">doc-base</systemitem> 手册。" #. type: Content of: <book><chapter><section><para> msgid "" "For more details on installing additional documentation, look in <xref " "linkend=\"destdir\"/>." msgstr "关于安装附加文档的更多信息,查看 <xref linkend=\"destdir\"/>。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>docs</filename> file" msgid "<filename>docs</filename>" msgstr "<filename>docs</filename> 文件" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies the file names of documentation files we can have " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> install into the temporary directory for us." msgstr "" "这个文件制定了我们使用 <citerefentry> <refentrytitle>dh_installdocs</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 安装到临时目录的文件" "名。" #. type: Content of: <book><chapter><section><para> msgid "" "By default, it will include all existing files in the top-level source " "directory that are called <filename>BUGS</filename>, <filename>README*</" "filename>, <filename>TODO</filename> etc." msgstr "" "默认情况下它会加入代码目录顶层的所有名为 <filename>BUGS</filename>、" "<filename>README*</filename>、<filename>TODO</filename> 等的文件。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For <systemitem role=\"package\">gentoo</systemitem>, I also included " #| "some other files:" msgid "" "For <systemitem role=\"package\">gentoo</systemitem>, some other files are " "also included:" msgstr "" "对于 <systemitem role=\"package\">gentoo</systemitem>,我还加入了一些其他文" "件:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" msgstr "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>emacsen-*</filename> file" msgid "<filename>emacsen-*</filename>" msgstr "<filename>emacsen-*</filename> 文件" #. type: Content of: <book><chapter><section><para> msgid "" "If your package supplies Emacs files that can be bytecompiled at package " "installation time, you can use these files to set it up." msgstr "" "如果你的软件包提供可以在安装时编译为字节码的 Emacs 文件,你可以使用这些文件设" "置。" #. type: Content of: <book><chapter><section><para> msgid "" "They are installed into the temporary directory by <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "它们会被 <citerefentry> <refentrytitle>dh_installemacsen</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 安装到临时目录。" #. type: Content of: <book><chapter><section><para> msgid "If you don't need these, remove them." msgstr "如果你不需要这些,就删除它们。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.examples</filename> file" msgid "<filename><replaceable>package</replaceable>.examples</filename>" msgstr "<filename><replaceable>package</replaceable>.examples</filename> 文件" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs files and " "directories listed in this file as example files." msgstr "" "<citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 会将列出的文件和目录作为示例文件安" "装。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.init</filename> and " #| "<filename><replaceable>package</replaceable>.default</filename> files" msgid "" "<filename><replaceable>package</replaceable>.init</filename> and " "<filename><replaceable>package</replaceable>.default</filename>" msgstr "" "<filename><replaceable>package</replaceable>.init</filename> 和 " "<filename><replaceable>package</replaceable>.default</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your package is a daemon that needs to be run at the system start-up, " #| "you've obviously disregarded my initial recommendation, haven't you? :-)" msgid "" "If your package is a daemon that needs to be run at system start-up, you've " "obviously disregarded my initial recommendation, haven't you? :-)" msgstr "" "如果你的软件包需要在系统启动时运行一个守护进程,那么你显然没有按照我最初的建" "议做事,不是吗? :-)" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <filename><replaceable>package</replaceable>.init</filename> file is " #| "installed as the <filename>/etc/init.d/<replaceable>package</" #| "replaceable></filename> script. Its fairly generic skeleton template is " #| "provided by the <command>dh_make</command> command as <filename>init.d." #| "ex</filename>. You'll likely have to rename and edit it, a lot, while " #| "making sure to provide Filesystem Hierarchy Standard (see <filename>/usr/" #| "share/doc/debian-policy/fhs/</filename>) compliant headers. It gets " #| "installed into the temporary directory by <citerefentry> " #| "<refentrytitle>dh_installinit</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>." msgid "" "The <filename><replaceable>package</replaceable>.init</filename> file is " "installed as the <filename>/etc/init.d/<replaceable>package</replaceable></" "filename> script which starts and stops the daemon. Its fairly generic " "skeleton template is provided by the <command>dh_make</command> command as " "<filename>init.d.ex</filename>. You'll likely have to rename and edit it, a " "lot, while making sure to provide <ulink url=\"&lsb;\">Linux Standard Base</" "ulink> (LSB) compliant headers. It gets installed into the temporary " "directory by <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." msgstr "" "<filename><replaceable>package</replaceable>.init</filename> 文件会被安装为 " "<filename>/etc/init.d/<replaceable>package</replaceable></filename> 脚本。" "<command>dh_make</command> 创建的 <filename>init.d.ex</filename> 是一个很好的" "骨架文件。你可能要对其改名并做很多修改,同时还要提供文件系统层级标准(FHS,参" "看 <filename>/usr/share/doc/debian-policy/fhs/</filename>)所要求的文件头。它" "们会被 <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 安装到临时目录。" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.default</filename> file " "will be installed as <filename>/etc/default/<replaceable>package</" "replaceable></filename>. This file sets defaults that are sourced by the " "init script. This <filename><replaceable>package</replaceable>.default</" "filename> file is most often used to disable running a daemon, or to set " "some default flags or timeouts. If your init script has certain " "configurable features, you can set them in the " "<filename><replaceable>package</replaceable>.default</filename> file, " "instead of in the init script itself." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your upstream program has an init file you can either use it or not. " #| "If you don't use their init.d script then create a new one in " #| "<filename>debian/<replaceable>package</replaceable>.init</filename>. " #| "However if the upstream init script looks fine and installs in the right " #| "place you still need to setup the <filename>rc*</filename> symlinks. To " #| "do this you will need to override <command>dh_installinit</command> in " #| "the <filename>rules</filename> file with the following lines:" msgid "" "If your upstream program provides a file for the init script, you can either " "use it or not. If you don't use their init script then create a new one in " "<filename><replaceable>package</replaceable>.init</filename>. However if " "the upstream init script looks fine and installs in the right place you " "still need to set up the <filename>rc*</filename> symlinks. To do this you " "will need to override <command>dh_installinit</command> in the " "<filename>rules</filename> file with the following lines:" msgstr "" "如果你的上游程序中包含了 init 文件,你可以选择是否使用它。如果不使用,则创建" "相应的 <filename>debian/<replaceable>package</replaceable>.init</filename> 文" "件;如果上游的 init 脚本很好且被安装到正确的位置,你仍然需要设置 " "<filename>rc*</filename> 符号链接。你需要按照以下的方法在 <filename>rules</" "filename> 文件中覆盖 <command>dh_installinit</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" msgstr "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" #. type: Content of: <book><chapter><section><para> msgid "If you don't need this, remove the files." msgstr "如果你不需要这些,就删除它们。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>install</filename> file" msgid "<filename>install</filename>" msgstr "<filename>install</filename> 文件" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This replaces the deprecated <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command which is " "configured by the <filename>files</filename> file." msgstr "" "这取代了已经废弃的 <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 命令,它本是用 " "<filename>files</filename> 文件所配置的。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If there are files that need to be installed into your package but your " #| "standard <literal>make install</literal> won't do it, you put the " #| "filenames and destinations into this <filename>install</filename> file. " #| "They are installed by <citerefentry> <refentrytitle>dh_install</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.<placeholder type=" #| "\"footnote\" id=\"0\"/> You should first check there is not a more " #| "specific tool to use. For example, documents should be in the " #| "<filename>docs</filename> file and not in this one." msgid "" "If there are files that need to be installed into your package but your " "standard <literal>make install</literal> won't do it, put the filenames and " "destinations into this <filename>install</filename> file. They are " "installed by <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=" "\"0\"/> You should first check there is not a more specific tool to use. " "For example, documents should be in the <filename>docs</filename> file and " "not in this one." msgstr "" "如果你的软件包需要标准的 <literal>make install</literal> 没有安装的文件,可以" "把文件名和目标路径写入 <filename>install</filename> 文件,它们将被 " "<citerefentry> <refentrytitle>dh_install</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 安装。<placeholder type=\"footnote\" id=\"0\"/> 你" "需要首先检查要安装的文件是否有更有针对性的特定工具会对其进行安装,例如示例、" "文档应写在 <filename>docs</filename> 文件中安装。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This <filename>install</filename> file has one line per file installed, " #| "with the name of the file (relative to the top build directory) then a " #| "space then the installation directory (relative to the install " #| "directory). One example of where this is used is where a binary is " #| "forgotten to be installed, the <filename>install</filename> file would " #| "look like:" msgid "" "This <filename>install</filename> file has one line per file installed, with " "the name of the file (relative to the top build directory) then a space then " "the installation directory (relative to the install directory). One example " "of where this is used is if a binary <filename>src/<replaceable>bar</" "replaceable></filename> is left uninstalled; the <filename>install</" "filename> file might look like:" msgstr "" "这个 <filename>install</filename> 文件每行安装一份文件,格式上先是相对于编译" "目录的源目录,然后是一个空格,接下来是相对于安装目录的目标目录。假设某个二进" "制文件没有被默认安装,则应在 <filename>install</filename> 文件添加如下内容:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ debc <replaceable>package</replaceable>.changes\n" msgid "src/<replaceable>bar</replaceable> usr/bin\n" msgstr "$ debc <replaceable>package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "This will mean when this package is installed, there will be a binary " #| "file <filename>/usr/bin/mybin</filename>." msgid "" "This means when this package is installed, there will be an executable " "command <filename>/usr/bin/<replaceable>bar</replaceable></filename>." msgstr "" "这意味着安装这个软件包时将有一个二进制文件 <filename>/usr/bin/mybin</" "filename>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Alternatively, this <filename>install</filename> can have the name of the " #| "file only without the installation directory when the relative directory " #| "path does not change. This format is usually used for a large package " #| "that splits build result into multiple binary packages using " #| "<filename><replaceable>package-1</replaceable>.install</filename>, " #| "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgid "" "Alternatively, this <filename>install</filename> can have the name of the " "file only without the installation directory when the relative directory " "path does not change. This format is usually used for a large package that " "splits the output of its build into multiple binary packages using " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "当然 <filename>install</filename> 文件也可以只包含相对的源路径而不带目标位" "置。这样的格式通常用于使用 <filename><replaceable>package-1</replaceable>." "install</filename>、<filename><replaceable>package-2</replaceable>.install</" "filename> 等将大软件包分割为多个二进制包的情况。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <command>dh_install</command> command will fall back to look in " #| "<filename>debian/tmp</filename> for files, if it doesn't find them in the " #| "current directory (or wherever you've told it to look using <literal>--" #| "sourcedir</literal>)." msgid "" "The <command>dh_install</command> command will fall back to looking in " "<filename>debian/tmp</filename> for files, if it doesn't find them in the " "current directory (or wherever you've told it to look using <literal>--" "sourcedir</literal>)." msgstr "" "如果 <command>dh_install</command> 命令没有在当前目录(或者你可能使用 " "<literal>--sourcedir</literal> 参数指定的位置)找到文件,它会回滚至使用 " "<filename>debian/tmp</filename> 目录。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename><replaceable>package</replaceable>.info</filename> file" msgid "<filename><replaceable>package</replaceable>.info</filename>" msgstr "<filename><replaceable>package</replaceable>.info</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your package has info pages, you should install them using " #| "<citerefentry> <refentrytitle>dh_installinfo</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> by listing them in the " #| "<filename><replaceable>package</replaceable>.info</filename> files." msgid "" "If your package has info pages, you should install them using <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing them in a <filename><replaceable>package</" "replaceable>.info</filename> file." msgstr "" "如果你的软件包有 info 信息页,应该使用 <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 安装,要安装的文件列于 <filename><replaceable>package</" "replaceable>.info</filename> 文件中。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename><replaceable>package</replaceable>.info</filename> file" msgid "<filename><replaceable>package</replaceable>.links</filename>" msgstr "<filename><replaceable>package</replaceable>.info</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your package has info pages, you should install them using " #| "<citerefentry> <refentrytitle>dh_installinfo</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> by listing them in the " #| "<filename><replaceable>package</replaceable>.info</filename> files." msgid "" "If you need to create additional symlinks in package build directories as " "package maintainer, you should install them using <citerefentry> " "<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing their full paths of source and destination files in " "a <filename><replaceable>package</replaceable>.links</filename> file." msgstr "" "如果你的软件包有 info 信息页,应该使用 <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 安装,要安装的文件列于 <filename><replaceable>package</" "replaceable>.info</filename> 文件中。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "" #| "<filename>{<replaceable>package</replaceable>.|source/}lintian-overrides</" #| "filename> files" msgid "" "<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</" "filename>" msgstr "" "<filename>{<replaceable>package</replaceable>.|source/}lintian-overrides</" "filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " #| "diagnostics for a case when the policy allows exceptions to some rule, " #| "you can use <filename><replaceable>package</replaceable>.lintian-" #| "overrides</filename> or <filename>source/lintian-overrides</filename> to " #| "quiet it. Please read <filename>/usr/share/doc/lintian/lintian.html/" #| "index.html</filename> and refrain from abusing this." msgid "" "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " "diagnostic for a case where Debian policy allows exceptions to some rule, " "you can use <filename><replaceable>package</replaceable>.lintian-overrides</" "filename> or <filename>source/lintian-overrides</filename> to quieten it. " "Please read Lintian User's Manual (<filename>&lintian-doc;</filename>) and " "refrain from abusing this." msgstr "" "如果 <systemitem role=\"package\">lintian</systemitem> 报告了一个 Debian " "Policy 允许的例外的错误诊断,你可以使用 <filename><replaceable>package</" "replaceable>.lintian-overrides</filename> 或 <filename>source/lintian-" "overrides</filename> 使其不再警告。请阅读 <filename>/usr/share/doc/lintian/" "lintian.html/index.html</filename> 并应严格避免滥用。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.lintian-overrides</filename> " #| "is for the binary package named as <systemitem role=\"package" #| "\"><replaceable>package</replaceable></systemitem> and is installed into " #| "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" #| "filename> by the <command>dh_lintian</command> command." msgid "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> is " "for the binary package named <systemitem role=\"package" "\"><replaceable>package</replaceable></systemitem> and is installed into " "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" "filename> by the <command>dh_lintian</command> command." msgstr "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> 是" "对于名为 <systemitem role=\"package\"><replaceable>package</replaceable></" "systemitem> 有效的配置,会由 <command>dh_lintian</command> 命令安装到" "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "<filename>source/lintian-overrides</filename> is for the source package. " "This is not installed." msgstr "" "<filename>source/lintian-overrides</filename> 是针对源代码包的,不会安装。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>manpage.*</filename> files" msgid "<filename>manpage.*</filename>" msgstr "<filename>manpage.*</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Your program(s) should have a manual page. If they don't, you should " #| "create them. The <command>dh_make</command> command creates few template " #| "files for a manual page. These need to be copied and edited for each " #| "command without its manual page. Please make sure to remove unused " #| "templates." msgid "" "Your program(s) should have a manual page. If they don't, you should create " "them. The <command>dh_make</command> command creates some template files " "for manual pages. These need to be copied and edited for each command " "missing its manual page. Please make sure to remove unused templates." msgstr "" "你的程序应该有 man 手册页,如果它们没有自带则需要由你来创建。" "<command>dh_make</command> 命令创建了几个 man 手册页的模板。它们需要被妥善地" "编辑,并且要删除未使用的模板。" #. type: Content of: <book><chapter><section><section><title> #, fuzzy #| msgid "<filename>manpage.1.ex</filename> file" msgid "<filename>manpage.1.ex</filename>" msgstr "<filename>manpage.1.ex</filename> 文件" #. type: Content of: <book><chapter><section><section><para> msgid "" "Manual pages are normally written in <citerefentry> <refentrytitle>nroff</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. The " "<filename>manpage.1.ex</filename> template is written in <command>nroff</" "command>, too. See the <citerefentry> <refentrytitle>man</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> manual page for a brief description " "of how to edit such a file." msgstr "" "man 手册页通常是使用 <citerefentry> <refentrytitle>nroff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 的格式编写的。<filename>manpage.1." "ex</filename> 模板也是使用 <command>nroff</command> 格式的。参看 " "<citerefentry> <refentrytitle>man</refentrytitle> <manvolnum>7</manvolnum> </" "citerefentry> 手册页来简要了解如何编辑这个文件。" #. type: Content of: <book><chapter><section><section><para> msgid "" "The final manual page file name should give the name of the program it is " "documenting, so we will rename it from <literal>manpage</literal> to " "<literal>gentoo</literal>. The file name also includes <literal>.1</" "literal> as the first suffix, which means it's a manual page for a user " "command. Be sure to verify that this section is indeed the correct one. " "Here's a short list of manual page sections:" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Section" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Description" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Notes" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "1" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "User command" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Executable commands or scripts" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "2" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System calls" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions provided by the kernel" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "3" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "library packages," msgid "Library calls" msgstr "库软件包;" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions within system libraries" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "4" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Special files" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "Other files under the <filename>debian</filename> directory" msgid "Usually found in <filename>/dev</filename>" msgstr "<filename>debian</filename> 目录下的其他文件" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "5" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "File formats" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>compat</filename> file" msgid "E.g. <filename>/etc/passwd</filename>'s format" msgstr "<filename>compat</filename> 文件" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "6" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games or other frivolous programs" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "7" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "library packages," msgid "Macro packages" msgstr "库软件包;" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<command>mc</command> command" msgid "Such as <command>man</command> macros" msgstr "<command>mc</command> 命令" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "8" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System administration" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Programs typically only run by root" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "9" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Kernel routines" msgstr "" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Non-standard calls and internals" msgstr "" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " #| "called <filename>gentoo.1</filename>. If there was no " #| "<filename>gentoo.1</filename> man page in the original source, you should " #| "create it by renaming the <filename>manpage.1.ex</filename> template to " #| "<filename>gentoo.1</filename> and edit it by using information from the " #| "example and from upstream docs." msgid "" "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " "called <filename>gentoo.1</filename>. If there was no <filename>gentoo.1</" "filename> man page in the original source, you should create it by renaming " "the <filename>manpage.1.ex</filename> template to <filename>gentoo.1</" "filename> and editing it using information from the example and from the " "upstream docs." msgstr "" "所以 <systemitem role=\"package\">gentoo</systemitem> 的 man 手册页应叫 " "<filename>gentoo.1</filename>。如果原始代码中没有 <filename>gentoo.1</" "filename> man 手册页,你需要重命名 <filename>manpage.1.ex</filename> 模板为 " "<filename>gentoo.1</filename> 并按照示例和上游文档编辑它。" #. type: Content of: <book><chapter><section><section><para><footnote><para> #, fuzzy #| msgid "" #| "If the command is missing <command>info</command> page but have " #| "documentation files in the <filename>/usr/share/<replaceable>package</" #| "replaceable></filename> directory, you should manually edit generated the " #| "man page created by the <command>help2man</command> command." msgid "" "Note that <command>help2man</command>'s placeholder man page will claim that " "more detailed documentation is available in the info system. If the command " "is missing an <command>info</command> page, you should manually edit the man " "page created by the <command>help2man</command> command." msgstr "" "如果命令没有 <command>info</command> 信息页但在 <filename>/usr/share/" "<replaceable>package</replaceable></filename> 目录中有其他文档,你应该手工编" "辑 <command>help2man</command> 命令所创建的 man 手册页。" #. type: Content of: <book><chapter><section><section><para> #, fuzzy #| msgid "" #| "You can use the <command>help2man</command> command to generate a man " #| "page out of <literal>--help</literal> and <literal>--version</literal> " #| "output of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgid "" "You can use the <command>help2man</command> command to generate a man page " "out of the <literal>--help</literal> and <literal>--version</literal> output " "of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "你也可以使用 <command>help2man</command> 命令来通过程序的 <literal>--help</" "literal> 和 <literal>--version</literal> 参数的输出创建 man 手册页。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><title> #, fuzzy #| msgid "<filename>manpage.sgml.ex</filename> file" msgid "<filename>manpage.sgml.ex</filename>" msgstr "<filename>manpage.sgml.ex</filename> 文件" #. type: Content of: <book><chapter><section><section><para> msgid "" "If on the other hand you prefer writing SGML instead of <command>nroff</" "command>, you can use the <filename>manpage.sgml.ex</filename> template. If " "you do this, you have to:" msgstr "" "如果你希望使用 SGML 而非 <command>nroff</command> 格式编写 man 手册页,可以使" "用 <filename>manpage.sgml.ex</filename> 模板。如果你要这样,需要进行以下步" "骤:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "rename the file to something like <filename>gentoo.sgml</filename>." msgstr "重命名文件为类似 <filename>gentoo.sgml</filename> 的名称。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-to-man</systemitem> package" msgstr "安装 <systemitem role=\"package\">docbook-to-man</systemitem> 软件包。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add <literal>docbook-to-man</literal> to the <literal>Build-Depends</" "literal> line in the <filename>control</filename> file" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "add a <literal>override_dh_auto_build</literal> target to your " #| "<filename>rules</filename> file:" msgid "" "add an <literal>override_dh_auto_build</literal> target to your " "<filename>rules</filename> file:" msgstr "" "在 <filename>rules</filename> 文件里添加 <literal>override_dh_auto_build</" "literal> target:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><section><title> #, fuzzy #| msgid "<filename>manpage.xml.ex</filename> file" msgid "<filename>manpage.xml.ex</filename>" msgstr "<filename>manpage.xml.ex</filename> 文件" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you prefer XML over SGML, you can use the <literal>manpage.xml.ex</" "literal> template. If you do this, you have to:" msgstr "" "如果你希望使用XML 而非 SGML,可以使用 <literal>manpage.xml.ex</literal> 模" "板。如果你要这样,需要进行以下步骤:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "rename the source file to something like <literal>gentoo.1.xml</literal>" msgstr "重命名源文件为类似 <literal>gentoo.1.xml</literal> 的名称。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-xsl</systemitem> package " "and an XSLT processor like <systemitem role=\"package\">xsltproc</" "systemitem> (recommended)" msgstr "" "安装 <systemitem role=\"package\">docbook-xsl</systemitem> 软件包和一个 XSLT " "处理器,例如 <systemitem role=\"package\">xsltproc</systemitem> (推荐)。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add the <literal>docbook-xsl</literal>, <literal>docbook-xml</literal>, and " "<literal>xsltproc</literal> packages to the <literal>Build-Depends</literal> " "line in the <literal>control</literal> file" msgstr "" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, fuzzy, no-wrap #| msgid "" #| "override_dh_auto_build:\n" #| " xsltproc --nonet \\\n" #| " --param make.year.ranges 1 \\\n" #| " --param make.single.year.ranges 1 \\\n" #| " --param man.charmap.use.subset 0 \\\n" #| " -o debian/ \\\n" #| " http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" #| " debian/gentoo.1.xml\n" #| " dh_auto_build\n" msgid "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" " http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.manpages</filename> file" msgid "<filename><replaceable>package</replaceable>.manpages</filename>" msgstr "<filename><replaceable>package</replaceable>.manpages</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your package has manual pages, you should install them using " #| "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> by listing them in the " #| "<filename><replaceable>package</replaceable>.manpages</filename> files." msgid "" "If your package has manual pages, you should install them using " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> by listing them in a " "<filename><replaceable>package</replaceable>.manpages</filename> file." msgstr "" "如果你的软件包有 man 手册页,你应该将它们列在 " "<filename><replaceable>package</replaceable>.manpages</filename> 文件中以便 " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 安装。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "To install <filename>doc/gentoo.1</filename> for the <systemitem role=" #| "\"package\">gentoo</systemitem> package as its manpage, you create a " #| "<filename>gentoo.manpages</filename> file as:" msgid "" "To install <filename>docs/gentoo.1</filename> as a manpage for the " "<systemitem role=\"package\">gentoo</systemitem> package, create a " "<filename>gentoo.manpages</filename> file as follows." msgstr "" "要将 <filename>doc/gentoo.1</filename> 安装为 <systemitem role=\"package" "\">gentoo</systemitem> 的 man 手册页,创建一个 <filename>gentoo.manpages</" "filename>,内容如下:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "docs/gentoo.1\n" msgstr "docs/gentoo.1\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>menu</filename> file" msgid "<filename>menu</filename>" msgstr "<filename>menu</filename> 文件" #. type: Content of: <book><chapter><section><para> msgid "" "X Window System users usually have a window manager with a menu that can be " "customized to launch programs. If they have installed the Debian " "<systemitem role=\"package\">menu</systemitem> package, a set of menus for " "every program on the system will be created for them." msgstr "" "X Windows 系统用户通常有窗口管理器,并且带有可定制的菜单用于启动程序。如果他" "们安装了 Debian 的 <systemitem role=\"package\">menu</systemitem> 软件包,整" "个系统中所有已安装软件的一系列菜单将会被自动创建。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Here's the default <filename>menu.ex</filename> file that " #| "<command>dh_make</command> created:" msgid "" "Here's the default <filename>menu.ex</filename> file that <command>dh_make</" "command> created." msgstr "" "以下是 <command>dh_make</command> 创建的默认的 <filename>menu.ex</filename> " "文件:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" msgstr "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The first field after the colon character is <literal>needs</literal>, and " "it specifies what kind of interface the program needs. Change this to one " "of the listed alternatives, e.g. <literal>text</literal> or <literal>X11</" "literal>." msgstr "" "冒号后的第一个域是 <literal>needs</literal>,它指定了程序需要何种界面。修改此" "处为列出的选项之一,例如 <literal>text</literal> 或 <literal>X11</literal>。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The current list of sections is in <ulink url=\"&menu-structure;\">The " "Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>. There was " "a major reorganization of menu structure for <literal>squeeze</literal>." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The next is <literal>section</literal>, where the menu and submenu the " #| "entry should appear in. The current list of sections <placeholder type=" #| "\"footnote\" id=\"0\"/> is at: <filename>/usr/share/doc/debian-policy/" #| "menu-policy.html/ch2.html#s2.1</filename>" msgid "" "The next is the <literal>section</literal> that the menu and submenu entry " "should appear in. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "接下来是 <literal>section</literal>,包含菜单和子菜单项。当前可用的章节列表" "<placeholder type=\"footnote\" id=\"0\"/>位于:<filename>/usr/share/doc/" "debian-policy/menu-policy.html/ch2.html#s2.1</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>title</literal> field is the name of the program. You can " "start this one in uppercase if you like. Just keep it short." msgstr "" "<literal>title</literal> 域是程序的名称,它可以用大写字母开头,只需保证它不要" "很长。" #. type: Content of: <book><chapter><section><para> msgid "" "Finally, the <literal>command</literal> field is the command that runs the " "program." msgstr "最后的 <literal>command</literal> 域是运行此程序时使用的命令。" #. type: Content of: <book><chapter><section><para> msgid "" "Let's change the file name to <filename>menu</filename> and change the menu " "entry to this:" msgstr "我们把文件名修改为 <filename>menu</filename>,并修改其内容为:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" msgstr "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You can also add other fields like <literal>longtitle</literal>, " #| "<literal>icon</literal>, <literal>hints</literal> etc. See " #| "<citerefentry> <refentrytitle>dh_installmenu</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " #| "<refentrytitle>menufile</refentrytitle> <manvolnum>5</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>update-menus</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> and <filename>/usr/share/doc/" #| "debian-policy/menu-policy.html/</filename> for more information." msgid "" "You can also add other fields like <literal>longtitle</literal>, " "<literal>icon</literal>, <literal>hints</literal> etc. See <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, and <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> for more information." msgstr "" "你还可以添加诸如 <literal>longtitle</literal>、<literal>icon</literal>、" "<literal>hints</literal> 等域。参看 <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>、<citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>、<citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 和 <filename>/usr/share/doc/debian-policy/menu-policy.html/</" "filename> 了解更多信息。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>NEWS</filename> file" msgid "<filename>NEWS</filename>" msgstr "<filename>NEWS</filename> 文件" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "<citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 命令会安装这个文件。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>{post|pre}{inst|rm}</filename> files" msgid "<filename>{pre,post}{inst,rm}</filename>" msgstr "<filename>{post|pre}{inst|rm}</filename> 文件" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Despite this use of the <command>bash</command> shorthand expression " "<filename>{pre,post}{inst,rm}</filename> to indicate these filenames, you " "should use pure POSIX syntax for these maintainer scripts for compatibility " "with <command>dash</command> as the system shell." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "These <filename>postinst</filename>, <filename>preinst</filename>, " #| "<filename>postrm</filename>, and <filename>prerm</filename> files " #| "<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " #| "scripts</emphasis>. They are scripts which are put in the control area " #| "of the package and run by <command>dpkg</command> when your package is " #| "installed, upgraded or removed." msgid "" "These <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename>, and <filename>prerm</filename> files " "<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " "scripts</emphasis>. They are scripts which are put in the control area of " "the package and run by <command>dpkg</command> when your package is " "installed, upgraded, or removed." msgstr "" "<filename>postinst</filename>、<filename>preinst</filename>、" "<filename>postrm</filename> 和 <filename>prerm</filename> 文件 <placeholder " "type=\"footnote\" id=\"0\"/> 被称为 <emphasis>maintainer scripts</emphasis>。" "它们是放置于软件包控制信息区域,并由 <command>dpkg</command> 在软件包安装、升" "级或卸载时执行的脚本。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "As a novice maintainer, you should avoid any manual editing of " #| "<emphasis>maintainer scripts</emphasis> because they are problematic. " #| "For more information look in the <ulink url=\"&policy-mantainerscripts;" #| "\">Debian Policy Manual, 6 'Package maintainer scripts and installation " #| "procedure'</ulink>, and take a look at these example files provided by " #| "<command>dh_make</command>." msgid "" "As a novice maintainer, you should avoid any manual editing of maintainer " "scripts because they are problematic. For more information refer to the " "<ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 \"Package " "maintainer scripts and installation procedure\"</ulink>, and take a look at " "the example files provided by <command>dh_make</command>." msgstr "" "作为一个新维护人员,你应当避免手工编辑 <emphasis>maintainer scripts</" "emphasis>,因为它们常存在各种问题。更多信息请阅读 <ulink url=\"&policy-" "mantainerscripts;\">Debian Policy Manual, 6 'Package maintainer scripts and " "installation procedure'</ulink> 并查看 <command>dh_make</command> 给出的示" "例。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If you did not listen to me and made your custom <emphasis>maintainer " #| "scripts</emphasis> for a package, you should make sure to test them not " #| "only for <emphasis role=\"strong\">install</emphasis> and <emphasis role=" #| "\"strong\">upgrade</emphasis> but also for <emphasis role=\"strong" #| "\">remove</emphasis> and <emphasis role=\"strong\">purge</emphasis>." msgid "" "If you did not listen to me and have created custom maintainer scripts for a " "package, you should make sure to test them not only for <emphasis role=" "\"strong\">install</emphasis> and <emphasis role=\"strong\">upgrade</" "emphasis> but also for <emphasis role=\"strong\">remove</emphasis> and " "<emphasis role=\"strong\">purge</emphasis>." msgstr "" "如果你不听我的劝告,自己为一个软件包创建了 <emphasis>maintainer scripts</" "emphasis>,你必须保证不仅测试 <emphasis role=\"strong\">install</emphasis> " "和 <emphasis role=\"strong\">upgrade</emphasis>,还应测试 <emphasis role=" "\"strong\">remove</emphasis> 和 <emphasis role=\"strong\">purge</emphasis>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Upgrades to the new version should be silent and non-intrusive (existing " #| "users should not notice the upgrade except by discovering that old bugs " #| "have been fixed and there perhaps are new features)." msgid "" "Upgrades to the new version should be silent and non-intrusive (existing " "users should not notice the upgrade except by discovering that old bugs have " "been fixed and perhaps that there are new features)." msgstr "" "升级到新版本应当是静默的(已有用户应当只在发现旧的 Bug 被修复或有新特性时注意" "到升级的变化)。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "When the upgrade is necessarily intrusive (eg., config files scattered " #| "through various home directories with totally different structure), you " #| "may consider to set package to the safe default (e.g., disabled service) " #| "and provide proper documentations required by the policy " #| "(<filename>README.Debian</filename> and <filename>NEWS.Debian</filename>) " #| "as the last resort. Don't bother user with the <command>debconf</" #| "command> note invoked from these <emphasis>maintainer scripts</emphasis> " #| "for upgrades." msgid "" "When the upgrade is necessarily intrusive (eg., config files scattered " "through various home directories with totally different structure), you may " "consider as the last resort switching the package to a safe fallback state " "(e.g., disabling a service) and providing the proper documentation required " "by policy (<filename>README.Debian</filename> and <filename>NEWS.Debian</" "filename>). Don't bother the user with <command>debconf</command> notes " "invoked from these maintainer scripts for upgrades." msgstr "" "当更新必须以非静默模式进行时(例如多个主目录中的配置文件都要改为完全不同的结构" "时),你应该考虑将软件包设置到安全的默认配置(例如禁用服务)并按照 Debian " "Policy 提供相应的文档(<filename>README.Debian</filename> 和 <filename>NEWS." "Debian</filename>)。不要在升级时使用 <emphasis>maintainer scripts</emphasis> " "触发 <command>debconf</command> 来打扰用户。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <systemitem role=\"package\">ucf</systemitem> package provides " #| "<emphasis>conffile-like</emphasis> handling infrastructure to preserve " #| "user changes for files that may not be labeled <emphasis>conffiles</" #| "emphasis> such as ones managed by the <emphasis>maintainer scripts</" #| "emphasis>. This should minimize issues associated with them." msgid "" "The <systemitem role=\"package\">ucf</systemitem> package provides a " "<emphasis>conffile-like</emphasis> handling infrastructure to preserve user " "changes for files that may not be labeled as <emphasis>conffiles</emphasis> " "such as those managed by the maintainer scripts. This should minimize " "issues associated with them." msgstr "" "<systemitem role=\"package\">ucf</systemitem> 软件包提供了 <emphasis>类似 " "conffile</emphasis> 的对不应标记为 <emphasis>conffiles</emphasis> 的文件的保" "留机制。这可以将与 <emphasis>maintainer scripts</emphasis> 相关的问题减少到最" "低。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "These <emphasis>maintainer scripts</emphasis> are the Debian enhancements " #| "that explain <emphasis role=\"strong\">why people choose Debian</" #| "emphasis>. You must be very careful not to annoy them with these." msgid "" "These maintainer scripts are among the Debian enhancements that explain " "<emphasis role=\"strong\">why people choose Debian</emphasis>. You must be " "very careful not to turn them into a source of annoyance." msgstr "" "这些 <emphasis>maintainer scripts</emphasis> 是 Debian 对于软件系统的增强特" "性,它们解释了 <emphasis role=\"strong\">人们为什么选择 Debian</emphasis>。你" "必须非常小心,保证人们不因此产生烦恼。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.examples</filename> file" msgid "<filename><replaceable>package</replaceable>.symbols</filename>" msgstr "<filename><replaceable>package</replaceable>.examples</filename> 文件" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging of library is not easy for a novice maintainer and should be " "avoided. Having said it, if your package has libraries, you should have " "<filename>debian/<replaceable>package</replaceable>.symbols</filename> " "files. See <xref linkend=\"librarysymbols\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>TODO</filename> file" msgid "<filename>TODO</filename>" msgstr "<filename>TODO</filename> 文件" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令会安装这个文件。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>watch</filename> file" msgid "<filename>watch</filename>" msgstr "<filename>watch</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <filename>watch</filename> file format is documented in the " #| "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> manpage. The <filename>watch</filename> file " #| "configures the <command>uscan</command> program (in the <systemitem role=" #| "\"package\">devscripts</systemitem> package) to watch the site where you " #| "originally got the source from. This is also used by <ulink url=\"&dehs;" #| "\">Debian External Health Status (DEHS)</ulink>." msgid "" "The <filename>watch</filename> file format is documented in the " "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> manpage. The <filename>watch</filename> file configures the " "<command>uscan</command> program (in the <systemitem role=\"package" "\">devscripts</systemitem> package) to watch the site where you originally " "got the source from. This is also used by the <ulink url=\"&dehs;\">Debian " "External Health Status (DEHS)</ulink> service." msgstr "" "<filename>watch</filename> 文件的格式被详述于 <citerefentry> " "<refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> man 手册页中。<filename>watch</filename> 文件配置了 " "<command>uscan</command> 程序(<systemitem role=\"package\">devscripts</" "systemitem> 中)以便监视你获得原始源代码的网站。它还被用于 <ulink url=\"&dehs;" "\">Debian External Health Status (DEHS)</ulink>。" #. type: Content of: <book><chapter><section><para> msgid "Here are its contents:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" msgstr "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Normally with this <filename>watch</filename> file, the URL at " #| "<literal>&sf-net;/gentoo</literal> is downloaded and searched for links " #| "of the form <literal><a href=...></literal>. The base name (just " #| "the part after the final <literal>/</literal>) of these linked URLs are " #| "matched against Perl regexp (see <citerefentry> <refentrytitle>perlre</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) pattern " #| "<literal>gentoo-(.+)\\.tar\\.gz</literal>. Out of matched files, the " #| "file with the greatest version number is downloaded and the " #| "<command>uupdate</command> program is run to create the updated source " #| "tree from them." msgid "" "Normally with a <filename>watch</filename> file, the URL at <literal>&sf-" "net;/gentoo</literal> is downloaded and searched for links of the form " "<literal><a href=...></literal>. The basename (just the part after " "the final <literal>/</literal>) of each linked URL is compared against the " "Perl regular expression pattern (see <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Out of the files that match, the one with the " "greatest version number is downloaded and the <command>uupdate</command> " "program is run to create an updated source tree." msgstr "" "通常,在按照这个 <filename>watch</filename> 文件执行时,URL <literal>&sf-" "net;/gentoo</literal> 会被下载,程序在其中搜搜 <literal><a href=...></" "literal>。<literal>/</literal> 后的基本名称会按照 Perl 正则表达式匹配(参看 " "<citerefentry> <refentrytitle>perlre</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>) <literal>gentoo-(.+)\\.tar\\.gz</literal>。在所" "有匹配的文件里,将会下载带有最大版本号的,此后由 <command>uupdate</command> " "程序创建更新的源代码树。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Although this is true for other sites, the SourceForge download service " #| "at <ulink url=\"&sf-net;\">&sf-net;</ulink> is an exception. When the " #| "<filename>watch</filename> file has an URL matching with the Perl regexp " #| "<literal>^http://sf\\.net/</literal>, the <command>uscan</command> " #| "program substitutes it with <literal>&qa-do;watch/sf.php/</literal> and " #| "then applies this rule. The URL redirector service at this <ulink url=" #| "\"&qa-do;\">&qa-do;</ulink> is designed to offer a stable redirect " #| "service to the desired file for the <filename>watch</filename> file " #| "having <literal>&sf-net;/<replaceable>project</replaceable>/" #| "<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This " #| "solves issues related to the periodically changing URL there." msgid "" "Although this is true for other sites, the SourceForge download service at " "<ulink url=\"&sf-net;\"/> is an exception. When the <filename>watch</" "filename> file has an URL matching the Perl regexp <literal>^http://sf\\.net/" "</literal>, the <command>uscan</command> program replaces it with " "<literal>&qa-do;watch/sf.php/</literal> and then applies this rule. The URL " "redirector service at <ulink url=\"&qa-do;\"/> is designed to offer a stable " "redirect service to the desired file for any <filename>watch</filename> " "pattern of the form <literal>&sf-net;/<replaceable>project</replaceable>/" "<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This solves " "issues related to periodically changing SourceForge URLs." msgstr "" "尽管上述内容对于所有站点都适用,但 SourceForge 下载服务(<ulink url=\"&sf-net;" "\">&sf-net;</ulink>)仍是一个例外。当 <filename>watch</filename> 中包含匹配 " "Perl 正则表达式 <literal>^http://sf\\.net/</literal> 的 URL 时," "<command>uscan</command> 程序会将其替换为 <literal>&qa-do;watch/sf.php/</" "literal> 然后应用此规则。<ulink url=\"&qa-do;\">&qa-do;</ulink> 的 URL 重定向" "服务器被设计用于提供一个稳定的重定向服务以满足 <filename>watch</filename> 文" "件中的 <literal>&sf-net;/<replaceable>project</replaceable>/<replaceable>tar-" "name</replaceable>-(.+)\\.tar\\.gz</literal> 形式,这样解决了关于经常性 URL " "变更导致的问题。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>source/format</filename> file" msgid "<filename>source/format</filename>" msgstr "<filename>source/format</filename> 文件" #. type: Content of: <book><chapter><section><para> msgid "" "In the <filename>debian/source/format</filename> file, there should be a " "single line indicating the desired format for the source package (check " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> for an exhaustive list). After <literal>squeeze</" "literal>, it should say either:" msgstr "" "在 <filename>debian/source/format</filename> 中只包含一行,写明了此源代码包的" "格式(查看 <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 获得完整列表)。在 <literal>squeeze</" "literal> 后,它应该是以下二者之一:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgstr "<literal>3.0 (native)</literal> - Debian native 软件" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (quilt)</literal> for everything else." msgstr "<literal>3.0 (quilt)</literal> - 其他所有软件" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for the summary " #| "information concerning the switch to the new <literal>3.0 (quilt)</" #| "literal> and <literal>3.0 (native)</literal> source formats." msgid "" "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for a summary on the switch " "to the new <literal>3.0 (quilt)</literal> and <literal>3.0 (native)</" "literal> source formats." msgstr "" "参看 <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> 了解转换到新的 <literal>3.0 " "(quilt)</literal> 和 <literal>3.0 (native)</literal> 源代码格式时的总结考虑。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Actually, this new format also supports multiple upstream tarballs and more " "compression methods. These are beyond the scope of this document." msgstr "" "实际上新格式还支持多个上游 tarball 和更多的压缩方法,但这已超出本文档讲述的范" "围。" #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format records modifications " "in a <command>quilt</command> patch series within <filename>debian/patches</" "filename>. Those changes are then automatically applied during extraction " "of the source package. <placeholder type=\"footnote\" id=\"0\"/> The Debian " "modifications are simply stored in a <filename>debian.tar.gz</filename> " "archive containing all files under the <filename>debian</filename> " "directory. This new format supports inclusion of binary files such as PNG " "icons by the package maintainer without requiring tricks. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "全新的 <literal>3.0 (quilt)</literal> 源代码格式将所有修改使用 " "<command>quilt</command> 补丁系列记录到 <filename>debian/patches</filename>。" "这些修改会在解压源代码包时自动应用。<placeholder type=\"footnote\" id=\"0\"/" "> Debian 修改保存于 <filename>debian.tar.gz</filename> 归档文件,其中包含了整" "个 <filename>debian</filename> 目录。这个新格式支持直接添加例如 PNG 图标等的" "二进制文件。<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "When <command>dpkg-source</command> extracts a source package in " "<literal>3.0 (quilt)</literal> source format, it automatically applies all " "patches listed in <filename>debian/patches/series</filename>. You can avoid " "applying patches at the end of the extraction with the <literal>--skip-" "patches</literal> option." msgstr "" "<command>dpkg-source</command> 解压 <literal>3.0 (quilt)</literal> 格式的源码" "包时会自动应用所有列于 <filename>debian/patches/series</filename> 的补丁。你" "可以使用 <literal>--skip-patches</literal> 选项避免在解压后自动应用补丁。" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/local-options</filename>" msgstr "<filename>source/local-options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "When you want to manage Debian packaging activities under a VCS, you " "typically create one branch (e.g. <literal>upstream</literal>) tracking the " "upstream source and another branch (e.g. typically <literal>master</" "literal> for Git) tracking the Debian package. For the latter, you usually " "want to have unpatched upstream source with your <filename>debian/*</" "filename> files for the Debian packaging to ease merging of the new upstream " "source." msgstr "" "如果你希望使用版本控制系统(VCS)时,你可以创建一个分支(例如叫做 " "<literal>upstream</literal>) 来跟踪上游代码,和另一个分支(对于 Git 而言典型的" "是 <literal>master</literal> 分支)来跟踪你的 Debian 软件包。对于后者,通常会" "将未应用补丁的上游代码和你的 <filename>debian/*</filename> 文件放在一起以便容" "易合并上游的新代码。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After you build a package, the source is normally left patched. You need " #| "to unpatch it manually by running <literal>quilt pop -a</literal> before " #| "committing to the <literal>master</literal> branch. You can automate " #| "this by adding the optional <filename>debian/source/local-options</" #| "filename> file containing <literal>unapply-patches</literal>. This file " #| "is not included in the generated source package and changes the local " #| "build behavior only. This file may contain <literal>abort-on-upstream-" #| "changes</literal>, too (see <citerefentry> <refentrytitle>dpkg-source</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)." msgid "" "After you build a package, the source is normally left patched. You need to " "unpatch it manually by running <literal>dquilt pop -a</literal> before " "committing to the <literal>master</literal> branch. You can automate this " "by adding the optional <filename>debian/source/local-options</filename> file " "containing <literal>unapply-patches</literal>. This file is not included in " "the generated source package and changes the local build behavior only. " "This file may contain <literal>abort-on-upstream-changes</literal>, too (see " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." msgstr "" "在编译软件包之后,源代码通常会被保持在应用补丁后的状态。你需要手工执行 " "<literal>quilt pop -a</literal> 来解除这些补丁,然后再提交到 " "<literal>master</literal> 分支。你可以向 <filename>debian/source/local-" "options</filename> 文件里添加一行 <literal>unapply-patches</literal> 来自动实" "现此目的。这个文件不会被加入到生成的源代码包,它只影响本地的编译构建行为。这" "个文件里还可以包含 <literal>abort-on-upstream-changes</literal> (参看 " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "unapply-patches\n" "abort-on-upstream-changes\n" msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>source/local-options</filename> file" msgid "<filename>source/options</filename>" msgstr "<filename>source/local-options</filename> 文件" #. type: Content of: <book><chapter><section><para> msgid "" "The autogenerated files in the source tree can be quite annoying for " "packaging since they generate meaningless large patch files. There are " "custom modules such as <command>dh_autoreconf</command> to ease this problem " "as described in <xref linkend=\"customrules\"/>." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You must test your package if it installs without problem. The " #| "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> command helps you to test to install all the " #| "generated binary packages." msgid "" "You can provide a Perl regular expression to the <literal>--extend-diff-" "ignore</literal> option argument of <citerefentry> <refentrytitle>dpkg-" "source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> to ignore " "changes made to the autogenerated files while creating the source package." msgstr "" "你必须测试你的软件包看是否存在安装问题。<citerefentry> <refentrytitle>debi</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 命令可以帮助你测试生" "成的二进制软件包。" #. type: Content of: <book><chapter><section><para> msgid "" "As a general solution to address this problem of the autogenerated files, " "you can store such a <command>dpkg-source</command> option argument in the " "<filename>source/options</filename> file of the source package. The " "following will skip creating patch files for <filename>config.sub</" "filename>, <filename>config.guess</filename>, and <filename>Makefile</" "filename>." msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<filename>patches/*</filename> files" msgid "<filename>patches/*</filename>" msgstr "<filename>patches/*</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The old <literal>1.0</literal> source format created a single large " #| "<filename>diff.gz</filename> file which contains package maintenance " #| "files in <filename>debian</filename> and patch files to the source. Such " #| "a package is a bit cumbersome to inspect and understand for each source " #| "tree modification later. This is not so nice." msgid "" "The old <literal>1.0</literal> source format created a single large " "<filename>diff.gz</filename> file containing package maintenance files in " "<filename>debian</filename> and patch files for the source. Such a package " "is a bit cumbersome to inspect and understand for each source tree " "modification later. This is not so nice." msgstr "" "旧的 <literal>1.0</literal> 源代码包格式使用单一的大 <filename>diff.gz</" "filename> 文件保存 <filename>debian</filename> 文件夹和补丁。这样的软件包比较" "难于在事后检查和分析。这不是很好。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Several methods of patch set maintenance have been proposed and are in use " "for Debian packages. The <command>quilt</command> system is the preferred " "maintenance system in use. Others include <command>dpatch</command>, " "<command>dbs</command>, and <command>cdbs</command>. Many of these keep " "such patches as <filename>debian/patches/*</filename> files." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format stores patches in " "<filename>debian/patches/*</filename> files using the <command>quilt</" "command> command. These patches and other package data which are all " "contained under the <filename>debian</filename> directory are packaged as " "the <filename>debian.tar.gz</filename> file. Since the <command>dpkg-" "source</command> command can handle <command>quilt</command> formatted patch " "data in the <literal>3.0 (quilt)</literal> source without the <systemitem " "role=\"package\">quilt</systemitem> package, it does not need a " "<literal>Build-Depends</literal> on <systemitem role=\"package\">quilt</" "systemitem>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "If you are asking a sponsor to upload your package, this kind of clear " #| "separation and documentation of your changes are very important to " #| "expedite the package review by your sponsor." msgid "" "If you are asking a sponsor to upload your package, this kind of clear " "separation and documentation of your changes is very important to expedite " "the package review by your sponsor." msgstr "" "如果你需要一个 sponsor 上传你的软件包,这种情况下,清晰的软件包分解和对你做出" "的更改的描述对于软件包的审查都非常重要。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <command>quilt</command> command is explained in <citerefentry> " #| "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>. It records modifications to the source as a stack of " #| "<literal>-p1</literal> patch files in the <filename>debian/patches</" #| "filename> directory and the source tree is untouched outside of the " #| "<filename>debian</filename> directory. The order of these patches are " #| "recorded in the <filename>debian/patches/series</filename> file. You can " #| "apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " #| "type=\"footnote\" id=\"0\"/>" msgid "" "The <command>quilt</command> command is explained in <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. It records modifications to the source as a stack of " "<literal>-p1</literal> patch files in the <filename>debian/patches</" "filename> directory and the source tree is untouched outside of the " "<filename>debian</filename> directory. The order of these patches is " "recorded in the <filename>debian/patches/series</filename> file. You can " "apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "<command>quilt</command> 命令在 <citerefentry> <refentrytitle>quilt</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 中有详细描述。它将对" "源代码的修改维护于 <filename>debian/patches</filename> 中一系列 <literal>-" "p1</literal> 级别的补丁文件中,<filename>debian</filename> 目录外的文件没有任" "何修改。这些补丁的顺序记录于 <filename>debian/patches/series</filename> 文件" "中。你可以轻松地 apply (=push)、un-apply (=pop) 和 refresh 补丁。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For <xref linkend=\"modify\"/>, we created 3 patches in <filename>debian/" #| "patches</filename>." msgid "" "For <xref linkend=\"modify\"/>, we created three patches in <filename>debian/" "patches</filename>." msgstr "" "在 <xref linkend=\"modify\"/> 中,我们在 <filename>debian/patches</filename> " "创建了三个补丁。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Since Debian patches are located in <filename>debian/patches</filename>, " #| "please make sure to setup the <command>quilt</command> command properly " #| "as described in <xref linkend=\"quiltrc\"/>." msgid "" "Since Debian patches are located in <filename>debian/patches</filename>, " "please make sure to set up the <command>dquilt</command> command properly as " "described in <xref linkend=\"quiltrc\"/>." msgstr "" "因为 Debian 补丁位于 <filename>debian/patches</filename>,请确定按照 <xref " "linkend=\"quiltrc\"/> 中的方法正确配置 <command>quilt</command>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "When someone (including yourself) provides you with a patch " #| "<filename><replaceable>foo</replaceable>.patch</filename> to the source " #| "later, then the modification of a <literal>3.0 (quilt)</literal> source " #| "package is quite simple:" msgid "" "When anyone (including yourself) provides a patch " "<filename><replaceable>foo</replaceable>.patch</filename> to the source " "later, modifying a <literal>3.0 (quilt)</literal> source package is quite " "simple:" msgstr "" "如果在之后有人提供了一个补丁 <filename><replaceable>foo</replaceable>.patch</" "filename>,对于 <literal>3.0 (quilt)</literal> 源代码包格式可以很容易修改:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ dpkg-source -x gentoo_0.9.12.dsc\n" #| "$ cd gentoo-0.9.12\n" #| "$ quilt import ../<replaceable>foo</replaceable>.patch\n" #| "$ quilt push\n" #| "$ quilt refresh\n" #| "$ quilt header -e\n" #| "... describe patch\n" msgid "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ quilt import ../<replaceable>foo</replaceable>.patch\n" "$ quilt push\n" "$ quilt refresh\n" "$ quilt header -e\n" "... describe patch\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The patches stored in the newer <literal>3.0 (quilt)</literal> source " #| "format must be <emphasis>fuzz</emphasis> free. You should ensure it as " #| "<literal>quilt pop -a; while quilt push; do quilt refresh; done</literal>." msgid "" "The patches stored in the newer <literal>3.0 (quilt)</literal> source format " "must be <emphasis>fuzz</emphasis> free. You can ensure this with " "<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." msgstr "" "存储于新的 <literal>3.0 (quilt)</literal> 源代码包格式的补丁必须有 <emphasis>" "清晰的边界</emphasis>。你应该通过 <literal>quilt pop -a; while quilt push; " "do quilt refresh; done</literal> 来验证这点。" #. type: Content of: <book><chapter><title> msgid "Building the package" msgstr "构建软件包" #. type: Content of: <book><chapter><para> msgid "We should now be ready to build the package." msgstr "现在我们已经为构建软件包做好了准备。" #. type: Content of: <book><chapter><section><title> msgid "Complete (re)build" msgstr "完整的(重)构建" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "In order to properly make complete (re)build of a package, you have to " #| "ensure to install" msgid "" "In order to perform a complete (re)build of a package properly, you need to " "make sure you have installed" msgstr "为保证完整的软件包(重)构建能顺利进行,你必须保证系统中已经安装:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <systemitem role=\"package\">build-essential</systemitem> package," msgstr "<systemitem role=\"package\">build-essential</systemitem> 软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>), and" msgstr "" "列于 <literal>Build-Depends</literal> 域的软件包(参看 <xref linkend=\"control" "\"/>);" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends-indep</literal> field (see " "<xref linkend=\"control\"/>)." msgstr "" "列于 <literal>Build-Depends-indep</literal> 域的软件包(参看 <xref linkend=" "\"control\"/>)。" #. type: Content of: <book><chapter><section><para> msgid "Then you issue the following command in the source directory:" msgstr "然后在源代码目录中执行以下命令:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage\n" msgstr "$ dpkg-buildpackage\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make full binary and source packages for you. It " "will:" msgstr "这样会自动完成所有从源代码包构建二进制包的工作,包括:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "clean the source tree (<literal>debian/rules clean</literal>)" msgstr "清理源代码树(<literal>debian/rules clean</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the source package (<literal>dpkg-source -b</literal>)" msgstr "构建源代码包(<literal>dpkg-source -b</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the program (<literal>debian/rules build</literal>)" msgstr "构建程序(<literal>debian/rules build</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)" msgstr "构建二进制包(<literal>fakeroot debian/rules binary</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "sign the source <filename>.dsc</filename> file, using <command>gpg</command>" msgstr "使用 <command>gpg</command> 签署 <filename>.dsc</filename> 文件" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "create and sign the upload <filename>.changes</filename> file, using " "<command>dpkg-genchanges</command> and <command>gpg</command>" msgstr "" "使用 <command>dpkg-genchanges</command> 和 <command>gpg</command> 创建并签署" "上传用的 <filename>.changes</filename> 文件" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This GPG key must be signed by a Debian developer to get connected to the " "web of trust and must be registered to <ulink url=\"&keyring;\">the Debian " "keyring</ulink>. This enables your uploaded packages to be accepted to the " "Debian archives. See <ulink url=\"&keycreate;\">Creating a new GPG key</" "ulink> and <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "The only input that will be required of you is your GPG secret pass phrase, " "twice. <placeholder type=\"footnote\" id=\"0\"/> If you are building Debian " "packages only for your own local use, you can skip promptings for the GPG " "signatures on the <filename>.dsc</filename> file and the <filename>.changes</" "filename> file like this:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ dpkg-buildpackage -B\n" msgid "$ dpkg-buildpackage -us -uc\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After all this is done, you will see the following files in the directory " #| "above (<filename>~/gentoo</filename>):" msgid "" "For a non-native Debian package, e.g., <systemitem role=\"package\">gentoo</" "systemitem>, you will see the following files in the parent directory " "(<filename>~/gentoo</filename>) after building packages:" msgstr "之后查看上级目录(<filename>~/gentoo</filename>):" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This is the original source code tarball, merely renamed to the above so " #| "that it adheres to the Debian standard. Note that this was created " #| "initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgid "" "This is the original upstream source code tarball, merely renamed to the " "above so that it adheres to the Debian standard. Note that this was created " "initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgstr "" "这是原始的源代码 tarball,由 <literal>dh_make -f ../gentoo-0.9.12.tar.gz</" "literal> 命令重命名以符合 Debian 的标准。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code. The file is generated " "from your <filename>control</filename> file, and is used when unpacking the " "source with <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. This file is GPG signed, so that " "people can be sure that it's really yours." msgstr "" "这是一个从 <filename>control</filename> 文件生成的源代码概要,可用于 " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 程序。这个文件是使用 GPG 签署过的,以便别人可以确" "信它确实是你所提供的。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This compressed tarball contains your <filename>debian</filename> " #| "directory contents. Each and every addition you made to the original " #| "source code are stored as <command>quilt</command> patches in " #| "<filename>debian/patches</filename>." msgid "" "This compressed tarball contains your <filename>debian</filename> directory " "contents. Each and every addition you made to the original source code is " "stored as a <command>quilt</command> patch in <filename>debian/patches</" "filename>." msgstr "" "这个压缩的 Tar 归档包含你的 <filename>debian</filename> 目录。其他对于源代码" "的修改都由 <command>quilt</command> 补丁存储于 <filename>debian/patches</" "filename> 中。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "You can avoid applying <command>quilt</command> patches in the " #| "<literal>3.0 (quilt)</literal> source format at the end of the extraction " #| "with the <literal>--skip-patches</literal> option. Alternatively, you " #| "can run <literal>quilt pop -a</literal> after normal operation." msgid "" "You can avoid applying <command>quilt</command> patches in the <literal>3.0 " "(quilt)</literal> source format at the end of the extraction with the " "<literal>--skip-patches</literal> option. Alternatively, you can run " "<literal>dquilt pop -a</literal> after normal operation." msgstr "" "你可以使用 <literal>--skip-patches</literal> 选项来在正常的是否操作后避免应" "用 <literal>3.0 (quilt)</literal> 源代码包格式中的 <command>quilt</command> " "补丁。你也可以在正常解压后使用 <literal>quilt pop -a</literal> 恢复这些补丁对" "源码的修改。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If someone else wants to re-create your package from scratch, they can " "easily do so using the above three files. The extraction procedure is " "trivial: just copy the three files somewhere else and run <literal>dpkg-" "source -x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "如果其他人想要重新构建你的软件包,他们可以使用以上三个文件很容易地完成。只需" "复制三个文件,再运行 <literal>dpkg-source -x gentoo_0.9.12-1.dsc</literal>。 " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package. You can use <command>dpkg</command> " "to install and remove this just like any other package." msgstr "" "这是你的二进制包,可以使用 <command>dpkg</command> 程序安装或卸载它,就像其他" "软件包一样。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "This file describes all the changes made in the current package revision, " #| "and it is used by the Debian FTP archive maintenance programs to install " #| "the binary and source packages in it. It is partly generated from the " #| "<filename>changelog</filename> file and the <filename>.dsc</filename> " #| "file. This file is GPG signed, so that people can be sure that it's " #| "really yours." msgid "" "This file describes all the changes made in the current package revision; it " "is used by the Debian FTP archive maintenance programs to install the binary " "and source packages. It is partly generated from the <filename>changelog</" "filename> file and the <filename>.dsc</filename> file. This file is GPG " "signed, so that people can be sure that it's really yours." msgstr "" "这个文件描述了当前版本的软件包中的全部变更,它被 Debian FTP 仓库维护程序用于" "安装二进制和源代码包。它的是部分从 <filename>changelog</filename> 和 " "<filename>.dsc</filename> 文件生成的,并使用 GPG 签名以便别人可以确信它确实是" "你提供的。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "As you keep working on the package, behavior will change and new features " #| "will be added. People downloading your package can look at this file and " #| "quickly see what has changed. Debian archive maintenance programs will " #| "also post the contents of this file to the <ulink url=\"&debian-devel-" #| "announce-ldo;\">debian-devel-announce@lists.debian.org</ulink> mailing " #| "list." msgid "" "As you keep working on the package, its behavior will change and new " "features will be added. People downloading your package can look at this " "file and quickly see what has changed. Debian archive maintenance programs " "will also post the contents of this file to the <ulink url=\"&debian-devel-" "changes-ldo;\">debian-devel-changes@lists.debian.org</ulink> mailing list." msgstr "" "随着你不断完善这个软件包,程序的行为会发生变化,也会有更多新特性添加进来。下" "载你软件包的人可以查看这个文件来快速找到有那些变化,Debian 仓库维护程序还会把" "它的内容发表至 <ulink url=\"&debian-devel-announce-ldo;\">debian-devel-" "announce@lists.debian.org</ulink> 邮件列表。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The long strings of numbers in the <filename>.dsc</filename> and " #| "<filename>.changes</filename> files are MD5/SHA1/SHA256 checksums for the " #| "files mentioned. A person downloading your files can test them with " #| "<citerefentry> <refentrytitle>md5sum</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>sha1sum</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, or " #| "<citerefentry> <refentrytitle>sha256sum</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> and if the numbers don't match, they'll know " #| "the file is corrupt or has been tampered with." msgid "" "The long strings of numbers in the <filename>.dsc</filename> and <filename>." "changes</filename> files are SHA1/SHA256 checksums for the files mentioned. " "Anyone downloading your files can test them with <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> or <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> and if the numbers don't match, " "they'll know the file is corrupt or has been tampered with." msgstr "" "<filename>.dsc</filename> 和 <filename>.changes</filename> 文件中很长的数字串" "是其中提及文件的 MD5/SHA1/SHA256 校验和。下载你软件包的人可以使用 " "<citerefentry> <refentrytitle>md5sum</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>、<citerefentry> <refentrytitle>sha1sum</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 或 <citerefentry> " "<refentrytitle>sha256sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 来进行核对。如果校验和不符,则说明文件已被损坏或偷换。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "After all this is done, you will see the following files in the directory " #| "above (<filename>~/gentoo</filename>):" msgid "" "For a native Debian package, e.g., <systemitem role=\"package\">mypackage</" "systemitem>, you will see the following files in the parent directory after " "building packages:" msgstr "之后查看上级目录(<filename>~/gentoo</filename>):" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgid "<filename>mypackage_1.0.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the source code tarball created from the <filename>mypackage-1.0</" "filename> directory by the <command>dpkg-source</command> command. (Its " "suffix is not <filename>orig.tar.gz</filename>.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgid "<filename>mypackage_1.0.dsc</filename>" msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code as in the non-native " "Debian package. (There is no Debian revision.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgid "<filename>mypackage_1.0_i386.deb</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package as in the non-native Debian package. " "(There is no Debian revision.)" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgid "<filename>mypackage_1.0_i386.changes</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package version as " "in the non-native Debian package. (There is no Debian revision.)" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Autobuilder" msgstr "自动编译系统" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The actual autobuilder system involves much more complicated schemes than " "the one documented here. Such details are beyond the scope of this document." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Debian supports many <ulink url=\"&ports;\">ports</ulink> with the <ulink " "url=\"&buildd;\">autobuilder network</ulink> running <command>buildd</" "command> daemons on computers of many different architectures. Although you " "do not need to do this yourself, you should be aware of what will happen to " "your packages. Let's look into roughly how they rebuild your packages for " "multiple architectures. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For <literal>Architecture: any</literal> packages, the autobuilder system " #| "rebuild them. It ensures to install" msgid "" "For <literal>Architecture: any</literal> packages, the autobuilder system " "performs a rebuild. It ensures the installation of" msgstr "" "对于 <literal>Architecture: any</literal> 的软件包,自动编译系统重构建它们," "它确保系统中已经安装:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <systemitem role=\"package\">build-essential</systemitem> package, and" msgstr "<systemitem role=\"package\">build-essential</systemitem> 软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>)." msgstr "" "列于 <literal>Build-Depends</literal> 域的软件包(参看 <xref linkend=\"control" "\"/>)。" #. type: Content of: <book><chapter><section><para> msgid "Then it issues the following command in the source directory:" msgstr "然后在源代码目录中执行以下命令:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -B\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make architecture dependent binary packages on " "another architecture. It will:" msgstr "这样会自动完成从源代码包构建平台依赖二进制包的工作,包括:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "build architecture dependent binary packages (<literal>fakeroot debian/rules " "binary-arch</literal>)" msgstr "" "构建平台依赖二进制包(<literal>fakeroot debian/rules binary-arch</literal>)" #. type: Content of: <book><chapter><section><para> msgid "This is why you see your package for other architectures." msgstr "这就是你看到你的软件包在其他平台上可用的原因。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> " #| "package, the <command>chroot</command> environment under the <systemitem " #| "role=\"package\">sbuild</systemitem> package used by the autobuilder " #| "system does not force the minimal system and may leave many packages " #| "installed." msgid "" "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> package, " "the <command>chroot</command> environment under the <systemitem role=" "\"package\">sbuild</systemitem> package used by the autobuilder system does " "not enforce the use of a minimal system and may have many leftover packages " "installed." msgstr "" "和在 <systemitem role=\"package\">pbuilder</systemitem> 中不同,自动编译系统" "使用的 <systemitem role=\"package\">sbuild</systemitem> 所维护的 " "<command>chroot</command> 不强制要求最小化的编译系统,并可能保持很多软件包始" "终安装在其中。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Although packages listed in the <literal>Build-Depends-indep</literal> " #| "field are required to be installed for the normal packaging by us (see " #| "<xref linkend=\"completebuild\"/>), they are not required to be installed " #| "for the autobuilder system since it build only architecture dependent " #| "binary packages. <placeholder type=\"footnote\" id=\"0\"/> This " #| "difference between normal packaging and autobuilder situation dictates " #| "whether you record such required packages in the <literal>Build-Depends</" #| "literal> or <literal>Build-Depends-indep</literal> fields of the " #| "<filename>debian/control</filename> file (see <xref linkend=\"control\"/" #| ">)." msgid "" "Although packages listed in the <literal>Build-Depends-Indep</literal> field " "are required to be installed for our normal packaging work (see <xref " "linkend=\"completebuild\"/>), they are not required to be installed for the " "autobuilder system since it builds only architecture dependent binary " "packages. <placeholder type=\"footnote\" id=\"0\"/> This distinction " "between normal packaging and autobuilding procedures is what dictates " "whether you should record such required packages in the <literal>Build-" "Depends</literal> or <literal>Build-Depends-Indep</literal> fields of the " "<filename>debian/control</filename> file (see <xref linkend=\"control\"/>)." msgstr "" "尽管通常的打包工作中 <literal>Build-Depends-indep</literal> 域中列出的软件包" "都需要安装(参看 <xref linkend=\"completebuild\"/>),但是在编译平台依赖二进制" "包时它们无需在自动编译系统上安装。<placeholder type=\"footnote\" id=\"0\"/>通" "常打包和自动编译系统的这种不同为你指出如何考虑必须的软件包应如何放在 " "<filename>debian/control</filename> 文件的 <literal>Build-Depends</literal> " "或 <literal>Build-Depends-indep</literal> 域中(参看 <xref linkend=\"control" "\"/>)。" #. type: Content of: <book><chapter><section><title> msgid "<command>debuild</command> command" msgstr "<command>debuild</command> 命令" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You can automate package build process of the <command>dpkg-buildpackage</" #| "command> command further with the <command>debuild</command> command. " #| "See <citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry>." msgid "" "You can automate the <command>dpkg-buildpackage</command> command's package " "build process further with the <command>debuild</command> command. See " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." msgstr "" "你可以使用 <command>debuild</command> 命令来进一步自动化 <command>dpkg-" "buildpackage</command> 的构建过程。参看 <citerefentry> " "<refentrytitle>debuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Customization of the <command>debuild</command> command can be done " #| "through <filename>/etc/devscripts.conf</filename> or <filename>~/." #| "devscripts</filename>. I would suggest at least following items:" msgid "" "Customization of the <command>debuild</command> command can be done through " "<filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</" "filename>. I would suggest at least the following items:" msgstr "" "对 <command>debuild</command> 命令的自定义可以通过 <filename>/etc/devscripts." "conf</filename> 或 <filename>~/.devscripts</filename> 实现。我建议至少添加以" "下几项:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" msgstr "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "With these, packages are signed by your specified GPG key ID (good for " #| "sponsoring packages) and checked by the <command>lintian</command> " #| "command in details." msgid "" "With these, packages are signed by your specified GPG key ID (good for " "sponsoring packages) and checked in detail by the <command>lintian</command> " "command." msgstr "" "这样软件包会使用指定的 ID 的 GPG 私钥签署(对于 sponsor 软件包有好处),并使用 " "<command>lintian</command> 命令对软件包做最大程度的检查。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Cleaning source and rebuilding package from a user account is as simple " #| "as:" msgid "" "Cleaning the source and rebuilding the package from your user account is as " "simple as:" msgstr "在普通用户帐号中可以使用以下这样简单的命令清理源代码并重构建软件包:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild\n" msgstr "$ debuild\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "There is the <filename>.orig</filename> before the <filename>.tar.gz</" #| "filename>." msgid "" "Here, if you are building Debian packages only for your own local use, you " "can skip promptings for the GPG signatures on the <filename>.dsc</filename> " "file and the <filename>.changes</filename> file like this:" msgstr "<filename>.tar.gz</filename> 扩展名前有 <filename>.orig</filename>。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ debuild -sa\n" msgid "$ debuild -us -uc\n" msgstr "$ debuild -sa\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "You can clean source tree as simple as:" msgid "You can clean the source tree as simply as:" msgstr "还可以简单地清理源代码树:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild clean\n" msgstr "$ debuild clean\n" #. type: Content of: <book><chapter><section><title> msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 软件包" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "Since the <systemitem role=\"package\">pbuilder</systemitem> package is " #| "still evolving, you have to check the actual configuration situation by " #| "consulting the latest official documentation." msgid "" "Since the <systemitem role=\"package\">pbuilder</systemitem> package is " "still evolving, you should check the actual configuration situation by " "consulting the latest official documentation." msgstr "" "<systemitem role=\"package\">pbuilder</systemitem> 软件包仍然在改进中,你可以" "查看最新的官方文档来检查实际的配置状况。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgid "" "See <ulink url=\"&buildd-do;\"/> for more on Debian package auto-building." msgstr "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For a clean room (<command>chroot</command>) build environment to verify " #| "the build dependencies, the <systemitem role=\"package\">pbuilder</" #| "systemitem> package is very useful. <placeholder type=\"footnote\" id=" #| "\"0\"/> This ensures a clean build from the source under the " #| "<literal>sid</literal> auto-builder for different architectures and " #| "avoids the severity serious FTBFS (Fails To Build From Source) bug which " #| "is always in the RC (release critical) category. See <ulink url=" #| "\"&buildd-do;\">&buildd-do;</ulink> for more on the Debian package auto-" #| "builder." msgid "" "For a clean room (<command>chroot</command>) build environment to verify the " "build dependencies, the <systemitem role=\"package\">pbuilder</systemitem> " "package is very useful. <placeholder type=\"footnote\" id=\"0\"/> This " "ensures a clean build from the source under the <literal>sid</literal> auto-" "builder for different architectures and avoids a severity serious FTBFS " "(Fails To Build From Source) bug which is always in the RC (release " "critical) category. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "对于使用净室(<command>chroot</command>)编译环境来验证编译依赖而言," "<systemitem role=\"package\">pbuilder</systemitem> 软件包是非常有用的。" "<placeholder type=\"footnote\" id=\"0\"/>它确保了软件包在不同构架上的 " "<literal>sid</literal> 发行版环境中的自动编译器中能成功编译,避免了总是被归类" "于 RC (Release Critical,影响发布)的严重 FTBFS (Fails To Build From Source," "从源代码编译失败) Bug。参看 <ulink url=\"&buildd-do;\">&buildd-do;</ulink> 以" "更多了解 Debian 软件包自动编译系统。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " #| "package by the following." msgid "" "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " "package as follows:" msgstr "" "我们通过以下操作来定制 <systemitem role=\"package\">pbuilder</systemitem> 软" "件包。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "setting <filename>/var/cache/pbuilder/result</filename> directory " #| "writable by the user." msgid "" "setting the <filename>/var/cache/pbuilder/result</filename> directory " "writable by your user account." msgstr "设置 <filename>/var/cache/pbuilder/result</filename> 对用户可写。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" #| "hooks</replaceable></filename>, writable by the user to place hook " #| "scripts." msgid "" "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable></filename>, writable by the user, to place hook scripts " "in." msgstr "" "创建一个对用户可写的目录保存钩子脚本,例如 <filename><replaceable>/var/cache/" "pbuilder/hooks</replaceable></filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "setting <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" #| "filename> to include as follows." msgid "" "configuring <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" "filename> to include the following." msgstr "" "在 <filename>~/.pbuilderrc</filename> 或 <filename>/etc/pbuilderrc</" "filename> 中添加以下内容:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, fuzzy, no-wrap #| msgid "" #| "AUTO_DEBSIGN=yes\n" #| "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgid "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgstr "" "AUTO_DEBSIGN=yes\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will allow you to sign generated packages with your secret GPG key in " "the <filename>~/.gnupg/</filename> directory." msgstr "" "这使你可以使用 <filename>~/.gnupg/</filename> 目录中的 GPG 私钥签署生成的软件" "包。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's then initialize the local <systemitem role=\"package\">pbuilder</" #| "systemitem> <command>chroot</command> system first as follows." msgid "" "First let's initialize the local <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> system as follows." msgstr "" "使用以下命令初始化 <systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> 系统:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo pbuilder create\n" msgstr "$ sudo pbuilder create\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If you already have the completed source packages, issue the following " #| "commands in the directory where the <filename><replaceable>foo</" #| "replaceable>.orig.tar.gz</filename>, <filename><replaceable>foo</" #| "replaceable>.debian.tar.gz</filename>, and <filename><replaceable>foo</" #| "replaceable>.dsc</filename> files exist to update the local <systemitem " #| "role=\"package\">pbuilder</systemitem> <command>chroot</command> system " #| "and to build binary packages in it." msgid "" "If you already have a completed source package, issue the following commands " "in the directory where the <filename><replaceable>foo</replaceable>.orig.tar." "gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</" "filename>, and <filename><replaceable>foo</replaceable>.dsc</filename> files " "exist to update the local <systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> system and to build binary packages in it." msgstr "" "如果你已经创建了源代码包,在包含 <filename><replaceable>foo</replaceable>." "orig.tar.gz</filename>、<filename><replaceable>foo</replaceable>.debian.tar." "gz</filename> 和 <filename><replaceable>foo</replaceable>.dsc</filename> 文件" "的目录中执行下面的命令来更新 <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> 系统以便执行构建。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ sudo pbuilder --update\n" #| "$ sudo pbuilder --build <replaceable>foo</replaceable>.dsc\n" msgid "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" msgstr "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The newly built packages will be located in <filename>/var/cache/pbuilder/" #| "result/</filename> with non-root ownership." msgid "" "The newly built packages without the GPG signatures will be located in " "<filename>/var/cache/pbuilder/result/</filename> with non-root ownership." msgstr "" "新构建的软件包将被放置于 <filename>/var/cache/pbuilder/result/</filename> 且" "属主不是 root。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "There is the <filename>.orig</filename> before the <filename>.tar.gz</" #| "filename>." msgid "" "The GPG signatures on the <filename>.dsc</filename> file and the <filename>." "changes</filename> file can be generated as:" msgstr "<filename>.tar.gz</filename> 扩展名前有 <filename>.orig</filename>。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgid "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_version</replaceable>.dsc\n" "$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If you already have the updated source tree without generating the " #| "matching source packages, issue the following commands in the source " #| "directory where the <filename>debian</filename> directory exists, instead." msgid "" "If you have an updated source tree but have not generated the matching " "source package, issue the following commands in the source directory where " "the <filename>debian</filename> directory exists, instead." msgstr "" "如果你已经更新了源代码树但没有生成对应的源代码包,在存放 <filename>debian</" "filename> 目录的目录里执行:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ pdebuild\n" msgstr "" "$ sudo pbuilder --update\n" "$ pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your local use, you can " "skip promptings for the GPG signatures on the <filename>.dsc</filename> file " "and the <filename>.changes</filename> file as:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ AUTO_DEBSIGN=no pdebuild\n" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "You can log into its <command>chroot</command> environment with the " "<literal>pbuilder --login --save-after-login</literal> command and configure " "it as you wish. This environment can be saved by leaving its shell prompt " "with <literal>^D</literal> (Control-D)." msgstr "" "你可以使用 <literal>pbuilder --login --save-after-login</literal> 命令登录到" "这个 <command>chroot</command> 环境中并按照需要对其进行配置。通过 " "<literal>^D</literal> (Control-D)离开这个 shell 时环境会被保存。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You " #| "can find many examples of the hook script in the <filename>/usr/share/doc/" #| "pbuilder/examples</filename> directory." msgid "" "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You can " "find many examples of hook scripts in the <filename>/usr/share/doc/pbuilder/" "examples</filename> directory." msgstr "" "此处默认 <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>。你可以在 " "<filename>/usr/share/doc/pbuilder/examples</filename> 目录中找到很多钩子脚本" "的例子。" #. type: Content of: <book><chapter><section><para> msgid "" "The latest version of the <command>lintian</command> command can be executed " "in the <literal>chroot</literal> environment using the hook script " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> configured as follows. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "最新版的 <command>lintian</command> 命令可以通过设置钩子脚本 " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> 在 <literal>chroot</literal> 环境中运行。脚本内容如下:" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "#!/bin/sh\n" #| "set -e\n" #| "install_packages() {\n" #| " apt-get -y --force-yes install $@\n" #| " }\n" #| "install_packages lintian\n" #| "echo +++ lintian output +++\n" #| "su -c lintian -i -I --show-overrides /tmp/buildd/*.changes - pbuilder\n" #| "# use this version if you don't want lintian to fail the build\n" #| "#su -c lintian -i -I --show-overrides /tmp/buildd/*.changes; : - pbuilder\n" #| "echo +++ end of lintian output +++\n" msgid "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" msgstr "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install $@\n" " }\n" "install_packages lintian\n" "echo +++ lintian output +++\n" "su -c lintian -i -I --show-overrides /tmp/buildd/*.changes - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c lintian -i -I --show-overrides /tmp/buildd/*.changes; : - pbuilder\n" "echo +++ end of lintian output +++\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You need to have access to the latest <literal>sid</literal> environment " #| "to build packages properly for <literal>sid</literal>. In reality, " #| "<literal>sid</literal> may be experiencing issues which makes it not " #| "desirable for you to migrate your whole system. The <systemitem role=" #| "\"package\">pbuilder</systemitem> package can help you to cope with this " #| "kind of situation." msgid "" "You need to have access to the latest <literal>sid</literal> environment to " "build packages properly for <literal>sid</literal>. In practice, " "<literal>sid</literal> may be experiencing issues which makes it undesirable " "for you to migrate your whole system. The <systemitem role=\"package" "\">pbuilder</systemitem> package can help you to cope with this kind of " "situation." msgstr "" "为 <literal>sid</literal> 编译软件包需要使用 <literal>sid</literal> 环境。在" "现实中 <literal>sid</literal> 存在很多问题以至于你不愿意将整个系统都迁移到其" "上。<systemitem role=\"package\">pbuilder</systemitem> 可以在这种情况下很好地" "解决问题。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are some restrictions for such updates of your <literal>stable</" "literal> package." msgstr "升级你的 <literal>stable</literal> 软件包有规定限制。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You may need to update your <literal>stable</literal> packages after " #| "their release for <literal>stable-proposed-updates</literal>, " #| "<literal>stable/updates</literal>, etc. <placeholder type=\"footnote\" " #| "id=\"0\"/> For such occasions, I am running <literal>sid</literal> system " #| "is not good enough excuse not to update them promptly. The <systemitem " #| "role=\"package\">pbuilder</systemitem> package can help you to access " #| "environments of almost any Debian derivative distributions of the same " #| "CPU architecture." msgid "" "You may need to update your <literal>stable</literal> packages after their " "release for <literal>stable-proposed-updates</literal>, <literal>stable/" "updates</literal>, etc. <placeholder type=\"footnote\" id=\"0\"/> For such " "occasions, the fact you may be running a <literal>sid</literal> system is " "not a good enough excuse for failing to update them promptly. The " "<systemitem role=\"package\">pbuilder</systemitem> package can help you to " "access environments of almost any Debian derivative distribution of the same " "architecture." msgstr "" "你可能需要通过 <literal>stable-proposed-updates</literal>、<literal>stable/" "updates</literal> 等升级你的 <literal>stable</literal> 软件包。<placeholder " "type=\"footnote\" id=\"0\"/>对于这类情况,“我正在运行 <literal>sid</literal> " "系统” 并不是你不为它们进行升级的充分理由。<systemitem role=\"package" "\">pbuilder</systemitem> 软件包可以帮助你使用到相同 CPU 构架下几乎所有 " "Debian 和 Debian 衍生版系统。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "See <ulink url=\"&pbuilder;\">&pbuilder;</ulink>, <citerefentry> " #| "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>, <citerefentry> <refentrytitle>pbuilderrc</refentrytitle> " #| "<manvolnum>5</manvolnum> </citerefentry>, and <citerefentry> " #| "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" #| "citerefentry>." msgid "" "See <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, and <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." msgstr "" "参看 <ulink url=\"&pbuilder;\">&pbuilder;</ulink>、<citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>、<citerefentry> <refentrytitle>pbuilderrc</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> 和 <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>" #. type: Content of: <book><chapter><section><title> msgid "<command>git-buildpackage</command> command and similars" msgstr "<command>git-buildpackage</command> 和相似命令" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If your upstream uses the source code management system (<ulink url=" #| "\"&debref-vcs;\">VCS</ulink>) to maintain their code, you should " #| "consider to use them. That makes merging and cherry-picking upstream " #| "patches much easier. There are several specialized wrapper script " #| "packages for the Debian package building for each VCS." msgid "" "If your upstream uses a source code management system (VCS) <placeholder " "type=\"footnote\" id=\"0\"/> to maintain their code, you should consider " "using it as well. This makes merging and cherry-picking upstream patches " "much easier. There are several specialized wrapper script packages for " "Debian package building for each VCS." msgstr "" "如果你的上游对源代码使用版本控制系统(<ulink url=\"&debref-vcs;\">VCS</" "ulink>),你也应该考虑使用它们。这会使得合并和提取上游补丁更加简单。在 Debian " "有多个为不同 VCS 设计的脚本软件包来协助 Debian 软件包构建。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">git-buildpackage</systemitem>: Suite to help " #| "with Debian packages in Git repositories." msgid "" "<systemitem role=\"package\">git-buildpackage</systemitem>: a suite to help " "with Debian packages in Git repositories." msgstr "" "<systemitem role=\"package\">git-buildpackage</systemitem>:帮助维护 Git 仓库" "中软件包的套件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: helper programs " "to maintain Debian packages with Subversion." msgstr "" "<systemitem role=\"package\">svn-buildpackage</systemitem>:帮助维护 " "Subversion 仓库中软件包的程序。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">cvs-buildpackage</systemitem>: A set of " #| "Debian package scripts for CVS source trees." msgid "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: a set of Debian " "package scripts for CVS source trees." msgstr "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>:为 CVS 源代码树设" "计的 Debian 软件包脚本集。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documents how " "to use the <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> service." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "Use of <systemitem role=\"package\">git-buildpackage</systemitem> is " "becoming quite popular for Debian Developers to manage Debian packages with " "the Git server on <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>. " "<placeholder type=\"footnote\" id=\"0\"/> This package offers many commands " "to <emphasis>automate</emphasis> packaging activities." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import previous Debian package to a Git " "repository." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令会安装这个文件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import new upstream tar to a Git repository." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令会安装这个文件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: generate the Debian changelog from Git commit " "messages." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令会安装这个文件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令会安装这个文件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> and <filename>/usr/share/doc/quilt/quilt.html</" #| "filename> for how to use <command>quilt</command>." msgid "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository " "using <command>pbuilder</command>/<command>cowbuilder</command>." msgstr "" "参看 <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 和 <filename>/usr/share/doc/quilt/quilt.html</" "filename> 来了解如何使用 <command>quilt</command>。" #. type: Content of: <book><chapter><section><para> msgid "These commands use 3 branches to track packaging activity." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgid "<literal>main</literal> for Debian package source tree." msgstr "<literal>3.0 (native)</literal> - Debian native 软件" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>quilt delete</literal> to remove it." msgid "<literal>upstream</literal> for upstream source tree." msgstr "使用 <literal>quilt delete</literal> 删除它。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "The <literal>--pristine-tar</literal> option invokes the <command>pristine-" "tar</command> command which can regenerate an exact copy of a pristine " "upstream tarball using only a small binary delta file and the contents of " "the tarball, which are typically kept in an <literal>upstream</literal> " "branch in the VCS." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " #| "binary</literal>; which in turn runs the following<placeholder type=" #| "\"footnote\" id=\"0\"/>:" msgid "" "<literal>pristine-tar</literal> for upstream tarball generated by the " "<literal>--pristine-tar</literal> option.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<literal>fakeroot debian/rules binary</literal> 执行了 <literal>fakeroot dh " "binary</literal>; 实际执行的命令为<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "Here are few web resources available for advanced audiences." msgid "Here are some web resources available for advanced audiences." msgstr "对于资深打包人员,有以下几个可用的资源:" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Building Debian Packages with git-buildpackage at <filename>/usr/share/" #| "doc/git-buildpackage/manual-html/gbp.html</filename>" msgid "" "Building Debian Packages with git-buildpackage (<filename>&git-buildpackage-" "doc;</filename>)" msgstr "" "位于 <filename>/usr/share/doc/git-buildpackage/manual-html/gbp.html</" "filename> 的 Building Debian Packages with git-buildpackage" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" msgstr "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgstr "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</" #| "ulink>" msgid "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" msgstr "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<systemitem role=\"package\">file</systemitem> - this handy program can " #| "determine what type a file is. (see <citerefentry> <refentrytitle>file</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" msgid "" "You can configure <systemitem role=\"package\">git-buildpackage</systemitem> " "with <filename>~/.gbp.conf</filename>. See <citerefentry> <refentrytitle>gbp." "conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">file</systemitem> - 这个小程序可以检测文件的类" "型。(参看 <citerefentry> <refentrytitle>file</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)" #. type: Content of: <book><chapter><section><title> msgid "Quick rebuild" msgstr "快速重构建" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Environment variables which are normally configured to proper values are not " "set by this method. Never create real packages to be uploaded using this " "<emphasis role=\"strong\">quick</emphasis> method." msgstr "" "常规情形下被配置好的环境变量在此时不会被自动设置。永远不要将使用这个 " "<emphasis role=\"strong\">快速</emphasis> 方法构建的软件包上传到任何地方。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "With a large package, you may not want to rebuild from scratch every time " #| "while you tune details in <filename>debian/rules</filename>. For testing " #| "purposes, you can make a <filename>.deb</filename> file without " #| "rebuilding the upstream sources like this <placeholder type=\"footnote\" " #| "id=\"0\"/>:" msgid "" "With a large package, you may not want to rebuild from scratch every time " "while you're tuning details in <filename>debian/rules</filename>. For " "testing purposes, you can make a <filename>.deb</filename> file without " "rebuilding the upstream sources like this<placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "对于很大的软件包,在调试 <filename>debian/rules</filename> 的过程中你可能不想" "对整个软件包进行重构建。仅用于测试目的,你可以不重新构建源代码包而使用以下的" "方法创建 <filename>.deb</filename> 文件<placeholder type=\"footnote\" id=" "\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules binary\n" msgstr "$ fakeroot debian/rules binary\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "Or, simply as following to see if it build or not." msgid "Or simply do the following to see if it builds or not:" msgstr "或者可以仅查看它是否能通过编译:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules build\n" msgstr "$ fakeroot debian/rules build\n" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are finished with your tuning, remember to rebuild following the " "proper procedure. You may not be able to upload correctly if you try to " "upload <filename>.deb</filename> files built this way." msgstr "" "一旦完成了调试,记住要按照前面所的正常过程重构建你的软件包。你可能无法正常上" "传用此种方法构建的 <filename>.deb</filename> 文件。" #. type: Content of: <book><chapter><title> msgid "Checking the package for errors" msgstr "检查软件包中的错误" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "There are few chores you should know to check the package for errors by " #| "yourself before uploading packages to public archives." msgid "" "There are some techniques you should know for checking a package for errors " "before uploading it to the public archives." msgstr "在上传软件包到公共仓库前,你还需要自己做一些检查软件包错误的例行工作。" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "Testing on machine other than your own is also good idea. You must watch " #| "closely for any warnings or errors for all the test described here." msgid "" "It's also a good idea to carry out testing on a machine other than your " "own. You must watch closely for any warnings or errors for all the tests " "described here." msgstr "" "不仅在自己的机器上测试总是一个好主意。你必须谨慎地对待以下叙述的测试中显示的" "任何一个警告或错误信息。" #. type: Content of: <book><chapter><section><title> msgid "Suspicious changes" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you find a new autogenerated patch file such as <filename>debian-changes-" "*</filename> in the <filename>debian/patches</filename> directory after " "building your non-native Debian package in <literal>3.0 (quilt)</literal> " "format, chances are you changed some files by accident or the build script " "modified the upstream source. If it is your mistake, fix it. If it is " "caused by the build script, fix the root cause with <command>dh-autoreconf</" "command> as in <xref linkend=\"customrules\"/> or work around it with " "<filename>source/options</filename> as in <xref linkend=\"sourceopt\"/>." msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Verifying package for install" msgid "Verifying a package's installation" msgstr "检验软件包安装过程" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You must test your package if it installs without problem. The " #| "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> command helps you to test to install all the " #| "generated binary packages." msgid "" "You must test your package for whether it installs without problem. The " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> command helps you to test installing all the generated " "binary packages." msgstr "" "你必须测试你的软件包看是否存在安装问题。<citerefentry> <refentrytitle>debi</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 命令可以帮助你测试生" "成的二进制软件包。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n" msgstr "$ sudo debi gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You have to make sure that there are no overlapped files with other " #| "existing packages using the <filename>Contents-<replaceable>i386</" #| "replaceable></filename> file downloaded from the Debian archive to " #| "prevent installation problem on different systems. The <command>apt-" #| "file</command> command may be handy for this task. If there are " #| "overlapped files, please take actions to avoid the real problem using the " #| "alternatives mechanism (see <citerefentry> <refentrytitle>update-" #| "alternatives</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) by " #| "coordinating with other affected packages or by setting the " #| "<literal>Conflicts</literal> entry in the <filename>debian/control</" #| "filename> file." msgid "" "To prevent installation problem on different systems, you must make sure " "that there are no filenames conflicting with other existing packages, using " "the <filename>Contents-<replaceable>i386</replaceable></filename> file " "downloaded from the Debian archive. The <command>apt-file</command> command " "may be handy for this task. If there are collisions, please take action to " "avoid this real problem, whether by renaming the file, moving a common file " "to a separate package that multiple packages can depend on, using the " "alternatives mechanism (see <citerefentry><refentrytitle>update-" "alternatives</refentrytitle> <manvolnum>1</manvolnum></citerefentry>) in " "coordination with the maintainers of other affected packages, or declaring a " "<literal>Conflicts</literal> relationship in the <filename>debian/control</" "filename> file." msgstr "" "你必须使用从 Debian 仓库下载的 <filename>Contents-<replaceable>i386</" "replaceable></filename> 文件校验是否在不同系统上存在文件覆盖的问题。" "<command>apt-file</command> 命令正适合完成这个任务。如果存在问题,请通过与受" "影响的软件包合作使用 alternatives 机制来避免实际问题(参看 <citerefentry> " "<refentrytitle>update-alternatives</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>)或在 <filename>debian/control</filename> 文件中设置 " "<literal>Conflicts</literal> 条目。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "Verifying package for <emphasis>maintainer scripts</emphasis>" msgid "Verifying a package's maintainer scripts" msgstr "检验 <emphasis>maintainer scripts</emphasis>" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "All <emphasis>maintainer scripts</emphasis>, i.e., <filename>preinst</" #| "filename>, <filename>prerm</filename>, <filename>postinst</filename>, and " #| "<filename>postrm</filename> files, are non-trivial unless they are auto-" #| "generated by the <systemitem role=\"package\">debhelper</systemitem> " #| "programs. So do not use them if you are a novice maintainer (see <xref " #| "linkend=\"maintscripts\"/>)." msgid "" "All maintainer scripts (that is, <filename>preinst</filename>, " "<filename>prerm</filename>, <filename>postinst</filename>, and " "<filename>postrm</filename> files) are hard to write correctly unless they " "are auto-generated by the <systemitem role=\"package\">debhelper</" "systemitem> programs. So do not use them if you are a novice maintainer " "(see <xref linkend=\"maintscripts\"/>)." msgstr "" "所有 <emphasis>maintainer scripts</emphasis>,包括 <filename>preinst</" "filename>、<filename>prerm</filename>、<filename>postinst</filename> 和 " "<filename>postrm</filename> 文件,除非是由 <systemitem role=\"package" "\">debhelper</systemitem> 程序自动生成的,都是测试的重点。如果你是新维护人员" "则不要使用它们(参看 <xref linkend=\"maintscripts\"/>)。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If the package makes use of these non-trivial <emphasis>maintainer " #| "scripts</emphasis>, be sure to test not only for install but also for " #| "remove, purge, and upgrade. Many <emphasis>maintainer script</emphasis> " #| "bugs show up when packages are removed or purged. Use the <command>dpkg</" #| "command> command as follows to test them." msgid "" "If the package makes use of these non-trivial maintainer scripts, be sure to " "test not only for install but also for remove, purge, and upgrade " "processes. Many maintainer script bugs show up when packages are removed or " "purged. Use the <command>dpkg</command> command as follows to test them." msgstr "" "如果软件包使用了这些需要严格测试的 <emphasis>maintainer scripts</emphasis>," "请确保不仅测试 install,还要测试 remove、purge 和 upgrade。很多 " "<emphasis>maintainer scripts</emphasis> 的 Bug 都显现于卸载或彻底删除软件包" "时。使用 <command>dpkg</command> 命令来测试它们。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" msgstr "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" #. type: Content of: <book><chapter><section><para> msgid "This should be done with sequences such as the following." msgstr "整个测试过程应按照以下序列操作:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the previous version (if needed)." msgstr "如果可能,安装前一个版本的软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "upgrade it from the previous version." msgstr "从前一个版本升级软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "downgrade it back to the previous version (optional)." msgstr "降级软件包到前一个版本(可选);" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "purge it." msgstr "彻底删除该软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the new package." msgstr "全新安装该软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "remove it." msgstr "卸载该软件包;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install it again." msgstr "再次安装该软件包。" #. type: Content of: <book><chapter><section><para> msgid "" "If this is your first package, you should create dummy packages with " "different versions to test your package in advance to prevent future " "problems." msgstr "" "如果这是你的第一个软件包,你应该使用其他版本号创建一个测试用的软件包来完成升" "级测试,这样可以避免将来的问题。" #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that if your package has previously been released in Debian, " "people will often be upgrading to your package from the version that was in " "the last Debian release. Remember to test upgrades from that version too." msgstr "" "请牢记如果你的软件包已经在以往版本的 Debian 中发布,人们通常会从最近发布的 " "Debian 发布里的版本升级,所以也要测试从那个版本升级到当前的版本。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Although downgrade is not officially supported, it should be nice to " #| "support it." msgid "" "Although downgrading is not officially supported, supporting it is a " "friendly gesture." msgstr "尽管降级没有被正式支持,支持它也总是不错的。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<systemitem role=\"package\">lintian</systemitem> package" msgid "Using <systemitem role=\"package\">lintian</systemitem>" msgstr "<systemitem role=\"package\">lintian</systemitem> 软件包" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You do not need to provide the <command>lintian</command> option <literal>-i " "-I --show-overrides</literal> if you customized <filename>/etc/devscripts." "conf</filename> or <filename>~/.devscripts</filename> as described in <xref " "linkend=\"debuild\"/>." msgstr "" "如果你按照 <xref linkend=\"debuild\"/> 中的叙述定义了 <filename>/etc/" "devscripts.conf</filename> 或 <filename>~/.devscripts</filename> 文件,就不需" "要再添加 <command>lintian</command> 选项 <literal>-i -I --show-overrides</" "literal>。" #. type: Content of: <book><chapter><section><para> msgid "" "Run <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> on your <filename>.changes</filename> file. The " "<command>lintian</command> command runs many test scripts to check for many " "common packaging errors. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "使用 <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 检查你的 <filename>.changes</filename> 文件。" "<command>lintian</command> 命令会运行很多测试脚本来检查常见的打包错误。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" msgstr "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Of course, replace the filename with the name of the <filename>.changes</" #| "filename> file generated for your package. The output of the " #| "<command>lintian</command> command are marked as follows." msgid "" "Of course, replace the filename with the name of the <filename>.changes</" "filename> file generated for your package. The output of the " "<command>lintian</command> command uses the following flags." msgstr "" "当然,要使用你自己软件包所生成的 <filename>.changes</filename> 文件的文件名。" "<command>lintian</command> 命令的输出常带有以下几种标记:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>E:</literal> for error; a sure policy violation or a packaging " #| "error." msgid "" "<literal>E:</literal> for error; a sure policy violation or packaging error." msgstr "" "<literal>E:</literal> 代表错误:确定违反了 Debian Policy 或是一个肯定的打包错" "误。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>W:</literal> for warning; a possible policy violation or a " #| "packaging error." msgid "" "<literal>W:</literal> for warning; a possible policy violation or packaging " "error." msgstr "" "<literal>W:</literal> 代表警告:可能违反了 Debian Policy 或是一个可能的打包错" "误。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>I:</literal> for info; a information on certain packaging " #| "aspects." msgid "" "<literal>I:</literal> for info; information on certain aspects of packaging." msgstr "<literal>I:</literal> 代表信息:对于特定打包类别的信息。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>N:</literal> for note; a detailed message to help your debugging." msgstr "<literal>N:</literal> 代表注释:帮助你调试的详细信息。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>O:</literal> for overridden; a message overridden by the " "<filename>lintian-overrides</filename> files but displayed by the <literal>--" "show-overrides</literal> option." msgstr "" "<literal>O:</literal> 代表已覆盖:一个被 <filename>lintian-overrides</" "filename> 文件覆盖的信息,但由于使用 <literal>--show-overrides</literal> 选项" "而显示。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "For warnings, tune the package to avoid them or verify that the warnings " #| "are spurious. If spurious, set the <filename>lintian-overrides</" #| "filename> files as described in <xref linkend=\"lintian\"/>." msgid "" "When you see warnings, tune the package to avoid them or verify that the " "warnings are spurious. If spurious, set up <filename>lintian-overrides</" "filename> files as described in <xref linkend=\"lintian\"/>." msgstr "" "对于警告,你应该改进软件包或者检查警告是否的确无意义。如果确定没有意义,则按" "照 <xref linkend=\"lintian\"/> 中的叙述使用 <filename>lintian-overrides</" "filename> 文件将其覆盖。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Note that you can build the package with <command>dpkg-buildpackage</" #| "command> and run <command>lintian</command> on it in one command with " #| "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" #| "manvolnum> </citerefentry> or with <citerefentry> " #| "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>." msgid "" "Note that you can build the package with <command>dpkg-buildpackage</" "command> and run <command>lintian</command> on it in one command, if you use " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> or <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "" "你可以使用 <citerefentry> <refentrytitle>debuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 或 <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 将 <command>dpkg-buildpackage</command> 与在其后运行 " "<command>lintian</command> 合并到一个命令里。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<command>debc</command> command" msgid "The <command>debc</command> command" msgstr "<command>debc</command> 命令" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You can list files in the binary Debian package by <citerefentry> " #| "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry> command." msgid "" "You can list files in the binary Debian package with the <citerefentry> " "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "command." msgstr "" "你可以使用 <citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令列出一个二进制 Debian 软件包中的文件。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debc <replaceable>package</replaceable>.changes\n" msgstr "$ debc <replaceable>package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<command>debdiff</command> command" msgid "The <command>debdiff</command> command" msgstr "<command>debdiff</command> 命令" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare file contents in two source Debian packages with the " "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "你可以使用 <citerefentry> <refentrytitle>debdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 命令比较两个 Debian 源代码包的内容。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also compare file lists in two sets of binary Debian packages with " "the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "你还可以使用 <citerefentry> <refentrytitle>debdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 命令比较两个 Debian 二进制包的文件列" "表。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "These are useful to identify what has been changed in the source " #| "packages, if no files have been unintentionally misplaced or removed in " #| "the binary packages, and if no other inadvertent changes were made when " #| "updating binary packages." msgid "" "These are useful to identify what has been changed in the source packages " "and to check for inadvertent changes made when updating binary packages, " "such as unintentionally misplacing or removing files." msgstr "" "这个命令对于检查源代码包中哪些文件被修改了非常有用,还可以发现二进制包中是否" "有文件被意外替换或删除,或在更新二进制包时检查是否有其他没有被提及的变更。" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<command>interdiff</command> command" msgid "The <command>interdiff</command> command" msgstr "<command>interdiff</command> 命令" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare two <filename>diff.gz</filename> files with the " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command. This is useful for verifying that no " "inadvertent changes were made to the source by the maintainer when updating " "packages in the old <literal>1.0</literal> source format." msgstr "" "你可以使用 <citerefentry> <refentrytitle>interdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 命令比较两个 <filename>diff.gz</" "filename> 文件。这对于更新使用旧的 <literal>1.0</literal> 源代码格式的软件包" "时,检查是否有意外的变更非常有用。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" msgstr "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "The new <literal>3.0</literal> source format stores changes in multiple " "patch files as described in <xref linkend=\"patches\"/>. You can trace " "changes of each <filename>debian/patches/*</filename> file using " "<command>interdiff</command>, too." msgstr "" #. type: Content of: <book><chapter><section><title> #, fuzzy #| msgid "<command>mc</command> command" msgid "The <command>mc</command> command" msgstr "<command>mc</command> 命令" #. type: Content of: <book><chapter><section><para> msgid "" "Many of these file inspection operations can be made into an intuitive " "process by using a file manager like <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> which will let you " "browse not only the contents of <filename>*.deb</filename> package files but " "also <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, " "<filename>*.diff.gz</filename>, and <filename>*.orig.tar.gz</filename> files." msgstr "" "很多文件检查操作可以通过使用类似 <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 的文件管理器来完成," "它可以帮助你直接查看 <filename>*.deb</filename> 文件的内容,除此之外还可以用" "于 <filename>*.udeb</filename>、<filename>*.debian.tar.gz</filename>、" "<filename>*.diff.gz</filename> 和 <filename>*.orig.tar.gz</filename> 文件。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Be on the lookout for extra unneeded files or zero length files, both in " #| "the binary and source package. Often cruft doesn't get cleaned up " #| "properly; adjust your <filename>rules</filename> file to compensate for " #| "that." msgid "" "Be on the lookout for extra unneeded files or zero length files, both in the " "binary and source package. Often cruft doesn't get cleaned up properly; " "adjust your <filename>rules</filename> file to compensate for this." msgstr "" "还要检查在二进制包和源代码包中是否有不需要的文件或者空文件。这些文件经常没有" "被正确清理,如果存在这种情况,要调整 <filename>rules</filename> 文件进行处" "理。" #. type: Content of: <book><chapter><title> msgid "Updating the package" msgstr "更新软件包" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "Once you release a package, you need to update it soon." msgid "After you release a package, you will soon need to update it." msgstr "一旦你发布了一个软件包,在之后的某个时间里就需要对它进行更新。" #. type: Content of: <book><chapter><section><title> msgid "New Debian revision" msgstr "新的 Debian 版本" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Let's say that a bug report was filed against your package as " #| "<literal>#54321</literal>, and it describes a problem that you can " #| "solve. To create a new Debian revision of the package, you need to:" msgid "" "Let's say that a bug report was filed against your package as " "<literal>#654321</literal>, and it describes a problem that you can solve. " "Here's what you need to do to create a new Debian revision of the package." msgstr "" "假设针对你的软件包报告的 Bug 号为 <literal>#54321</literal>,它描述了一个你可" "以解决的问题。要创建软件包的一个新 Debian 版本,你需要:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to be recorded as a new patch, do the following." msgstr "如果要将它记录于新的补丁中,这样做:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>quilt new <replaceable>bugname.patch</replaceable></literal> to " #| "set patch name;" msgid "" "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> to " "set the patch name;" msgstr "" "<literal>quilt new <replaceable>bugname.patch</replaceable></literal> 设置补" "丁名称;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>quilt add <replaceable>buggy-file</replaceable></literal> to " #| "declare file to be modified;" msgid "" "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> to " "declare the file to be modified;" msgstr "" "<literal>quilt add <replaceable>buggy-file</replaceable></literal> 声明文件将" "被更改;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Correct the problem in the package source for the upstream bug;" msgstr "修正软件包代码中的上游 Bug;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>quilt refresh</literal> to record to " #| "<filename><replaceable>bugname.patch</replaceable></filename>;" msgid "" "<literal>dquilt refresh</literal> to record it to " "<filename><replaceable>bugname.patch</replaceable></filename>;" msgstr "" "<literal>quilt refresh</literal> 将修改记录到 <filename><replaceable>bugname." "patch</replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>quilt header -e</literal> to add its description;" msgid "<literal>dquilt header -e</literal> to add its description;" msgstr "<literal>quilt header -e</literal> 添加对它的描述;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to update an existing patch, do the following." msgstr "如果是更新一个已存在的补丁,这样做:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>quilt pop <replaceable>foo.patch</replaceable></literal> to " #| "recall existing <filename><replaceable>foo.patch</replaceable></filename>;" msgid "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> to recall " "the existing <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "" "<literal>quilt pop <replaceable>foo.patch</replaceable></literal> 重现已存在" "的 <filename><replaceable>foo.patch</replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Correct the problem in the old <filename><replaceable>foo.patch</" "replaceable></filename>;" msgstr "" "修正旧的 <filename><replaceable>foo.patch</replaceable></filename> 中的问题;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>quilt refresh</literal> to update <filename><replaceable>foo." #| "patch</replaceable></filename>;" msgid "" "<literal>dquilt refresh</literal> to update <filename><replaceable>foo." "patch</replaceable></filename>;" msgstr "" "<literal>quilt refresh</literal> 更新 <filename><replaceable>foo.patch</" "replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>quilt header -e</literal> to update its description;" msgid "<literal>dquilt header -e</literal> to update its description;" msgstr "<literal>quilt header -e</literal> 更新对它的描述;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>while quilt push; do quilt refresh; done</literal> to apply all " #| "patches while removing <emphasis>fuzz</emphasis>;" msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>;" msgstr "" "<literal>while quilt push; do quilt refresh; done</literal> 应用所有补丁以确" "保它们 <emphasis>边界清晰</emphasis>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "To get the date in the required format, use <literal>LANG=C date -R</" "literal>." msgstr "要获得需要的日期格式,使用 <literal>LANG=C date -R</literal>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add a new revision at the top of the Debian <filename>changelog</filename> " "file, for example with <literal>dch -i</literal>, or explicitly with " "<literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal> and then insert the comments using your preferred " "editor. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "在 Debian <filename>changelog</filename> 文件的顶部添加一个条目。例如可以使" "用 <literal>dch -i</literal> 或用 <literal>dch -v <replaceable>version</" "replaceable>-<replaceable>revision</replaceable></literal> 来指定版本,然后用" "你喜欢的编辑器插入信息。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Include a short description of the bug and the solution in the changelog " #| "entry, followed by <literal>Closes: #54321</literal>. That way, the bug " #| "report will be <emphasis>automagically</emphasis> closed by the archive " #| "maintenance software the moment your package gets accepted in the Debian " #| "archive." msgid "" "Include a short description of the bug and the solution in the changelog " "entry, followed by <literal>Closes: #654321</literal>. That way, the bug " "report will be <emphasis>automagically</emphasis> closed by the archive " "maintenance software the moment your package gets accepted into the Debian " "archive." msgstr "" "在 changlog 条目中简要描述 Bug 和相应的解决办法,并在后面添加 " "<literal>Closes: #54321</literal>。这样 Bug 报告会在你的软件包被 Debian 仓库" "接受的同时被仓库管理软件 <emphasis>自动关闭</emphasis>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in the above to fix more bugs while updating the Debian " "<filename>changelog</filename> file with <literal>dch</literal> as needed." msgstr "" "重复上述操作来修复更多的 Bug,并在需要的时候使用 <literal>dch</literal> 更新 " "Debian <filename>changelog</filename> 文件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "You can release this updated source by repeating what you did in <xref " #| "linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref " #| "linkend=\"upload\"/>." msgid "" "Repeat what you did in <xref linkend=\"completebuild\"/> and <xref linkend=" "\"checkit\"/>." msgstr "" "重复 <xref linkend=\"completebuild\"/> 、<xref linkend=\"checkit\"/> 和 " "<xref linkend=\"upload\"/> 中的操作,即可发布此更新的软件包。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Once you are satisfied, you should change the distribution value in " "<filename>changelog</filename> from <literal>UNRELEASED</literal> to the " "target distribution value <literal>unstable</literal> (or even " "<literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Repeat what you did in <xref linkend=\"completebuild\"/>, <xref linkend=" #| "\"checkit\"/>, and <xref linkend=\"upload\"/>. The difference is that " #| "this time, the original source archive won't be included, as it hasn't " #| "been changed and it already exists in the Debian archive." msgid "" "Upload the package as <xref linkend=\"upload\"/>. The difference is that " "this time, the original source archive won't be included, as it hasn't been " "changed and it already exists in the Debian archive." msgstr "" "重复在 <xref linkend=\"completebuild\"/> 、<xref linkend=\"checkit\"/> 和 " "<xref linkend=\"upload\"/> 中进行的操作。惟一的区别是这次不需要再包含原始代码" "文件,因为它们没有变化且已经存在于 Debian 仓库中。" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case can occur when you make a local package to experiment with " "the packaging before uploading the normal version to the official archive, e." "g., <literal><replaceable>1.0.1</replaceable>-<replaceable>1</replaceable></" "literal>. For smoother upgrades, it is a good idea to create a " "<filename>changelog</filename> entry with a version string as " "<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" "literal>. You may unclutter <filename>changelog</filename> by consolidating " "such local change entries into a single entry for the official package. See " "<xref linkend=\"namever\"/> for the order of version strings." msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Inspection of the new upstream release" msgstr "检查新上游版本" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "When preparing packages of the new upstream release for the Debian " #| "archive, you must check the new upstream release, first." msgid "" "When preparing packages of a new upstream release for the Debian archive, " "you must check the new upstream release, first." msgstr "在为 Debian 仓库准备新上游版本的软件包前,你必须首先检查它。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You start this by reading the upstream <filename>changelog</filename>, " #| "<filename>NEWS</filename>, and whatever other documentations they may " #| "have released with the new version." msgid "" "Start by reading the upstream <filename>changelog</filename>, " "<filename>NEWS</filename>, and whatever other documentation they may have " "released with the new version." msgstr "" "检查工作应从阅读 <filename>changelog</filename>、<filename>NEWS</filename> 以" "及所有随新版本一同发布的文档。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You then inspect changes between the old and new upstream sources as " #| "follow to watch out for anything suspicious." msgid "" "You can then inspect changes between the old and new upstream sources as " "follows, watching out for anything suspicious." msgstr "然后应按照以下步骤检查新旧版本之间的差别,看是否存在可疑的内容:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgstr "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Changes to some auto-generated files by Autotools such as " #| "<filename>missing</filename>, <filename>aclocal.m4</filename>, " #| "<filename>config.guess</filename>, <filename>config.h.in</filename>, " #| "<filename>config.sub</filename>, <filename>configure</filename>, " #| "<filename>depcomp</filename>, <filename>install-sh</filename>, " #| "<filename>ltmain.sh</filename>, and <filename>Makefile.in</filename> may " #| "be ignored. You may erase them before running <command>diff</command> to " #| "the source for inspection." msgid "" "Changes to some auto-generated files by Autotools such as <filename>missing</" "filename>, <filename>aclocal.m4</filename>, <filename>config.guess</" "filename>, <filename>config.h.in</filename>, <filename>config.sub</" "filename>, <filename>configure</filename>, <filename>depcomp</filename>, " "<filename>install-sh</filename>, <filename>ltmain.sh</filename>, and " "<filename>Makefile.in</filename> may be ignored. You may delete them before " "running <command>diff</command> on the source for inspection." msgstr "" "对于 Autotools 自动生成的文件,例如 <filename>missing</filename>、" "<filename>aclocal.m4</filename>、<filename>config.guess</filename>、" "<filename>config.h.in</filename>、<filename>config.sub</filename>、" "<filename>configure</filename>、<filename>depcomp</filename>、" "<filename>install-sh</filename>、<filename>ltmain.sh</filename> 和 " "<filename>Makefile.in</filename> 是可以忽略的。你可以在运行 <command>diff</" "command> 进行代码检查前删除它们。" #. type: Content of: <book><chapter><section><title> msgid "New upstream release" msgstr "新上游版本" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is packaged in the old <literal>1.0</literal> format, this can " "be done by running <literal>zcat /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" "literal> in the new extracted source, instead." msgstr "" "如果软件包 <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> 是使用旧的 <literal>1.0</literal> 格式的,可以在新解压的源代码目" "录里运行 <literal>zcat /<replaceable>path</replaceable>/<replaceable>to</" "replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</" "replaceable>.diff.gz|patch -p1</literal> 来完成。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" #| "systemitem> is properly packaged in the newer <literal>3.0 (native)</" #| "literal> or <literal>3.0 (quilt)</literal> formats, packaging a new " #| "upstream version is essentially moving the old <filename>debian</" #| "filename> directory to the new source. This can be done by running " #| "<literal>tar xvzf /<replaceable>path</replaceable>/<replaceable>to</" #| "replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</" #| "replaceable>.debian.tar.gz</literal> in the new extracted source. " #| "<placeholder type=\"footnote\" id=\"0\"/> Of course, you need to do few " #| "obvious chores." msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is properly packaged in the newer <literal>3.0 (native)</" "literal> or <literal>3.0 (quilt)</literal> formats, packaging a new upstream " "version is essentially moving the old <filename>debian</filename> directory " "to the new source. This can be done by running <literal>tar xvzf /" "<replaceable>path</replaceable>/<replaceable>to</replaceable>/" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian." "tar.gz</literal> in the new extracted source. <placeholder type=\"footnote" "\" id=\"0\"/> Of course, you need to do some obvious chores." msgstr "" "如果软件包 <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> 是使用新的 <literal>3.0 (native)</literal> 或 <literal>3.0 " "(quilt)</literal> 格式打包的,制作新的上游版本时需要先把旧的 " "<filename>debian</filename> 目录移至新的源代码内。这可以通过在新解压的源代码" "目录里运行 <literal>tar xvzf /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.debian.tar.gz</literal> 完" "成。<placeholder type=\"footnote\" id=\"0\"/>当然,你需要做几个很显然的杂事。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a copy of the upstream source as the " "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename> " "file." msgstr "" "创建一份上游源代码的副本,命名为 <filename>foo_<replaceable>newversion</" "replaceable>.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Update the Debian <filename>changelog</filename> file with <literal>dch -v " "<replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." msgstr "" "使用 <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</" "replaceable></literal> 更新 Debian <filename>changelog</filename> 文件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "Add an entry with New upstream release." msgid "Add an entry with <literal>New upstream release</literal>." msgstr "添加一个条目,内容为 New upstream release。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Describe concisely the changes <emphasis>in the new upstream release</" #| "emphasis> that fix reported bugs and close those bugs." msgid "" "Describe concisely the changes <emphasis>in the new upstream release</" "emphasis> that fix reported bugs and close those bugs by adding " "<literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "简明地介绍 <emphasis>在新上游版本中</emphasis> 上游修复和关闭的 Bug。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Describe concisely the changes <emphasis>to the new upstream release</" #| "emphasis> by the maintainer that fix reported bugs and close those bugs." msgid "" "Describe concisely the changes <emphasis>to the new upstream release</" "emphasis> by the maintainer that fix reported bugs and close those bugs by " "adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "简明地介绍维护者 <emphasis>对此新上游版本</emphasis> 做出的修改,修复和关闭" "的 Bug。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>while quilt push; do quilt refresh; done</literal> to apply all " #| "patches while removing <emphasis>fuzz</emphasis>." msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>." msgstr "" "运行 <literal>while quilt push; do quilt refresh; done</literal> 以应用全部补" "丁并使它们 <emphasis>边界清晰</emphasis>。" #. type: Content of: <book><chapter><section><para> msgid "" "If the patch/merge did not apply cleanly, inspect the situation (clues are " "left in <filename>.rej</filename> files)." msgstr "" "如果补丁没有干净地被应用,检查原因(线索在 <filename>.rej</filename> 文件里)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If a patch you applied to the source was integrated to the upstream " #| "source," msgid "" "If a patch you applied to the source was integrated into the upstream source," msgstr "如果你的补丁已经被上游接受:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>quilt delete</literal> to remove it." msgid "<literal>dquilt delete</literal> to remove it." msgstr "使用 <literal>quilt delete</literal> 删除它。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source conflicted with new changes in the " "upstream source," msgstr "如果你的补丁与上游代码中的变更有冲突:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<literal>quilt push -f</literal> to apply old patches while forcing " #| "rejects as <filename><replaceable>baz</replaceable>.rej</filename>." msgid "" "<literal>dquilt push -f</literal> to apply old patches while forcing rejects " "as <filename><replaceable>baz</replaceable>.rej</filename>." msgstr "" "使用 <literal>quilt push -f</literal> 应用旧补丁,未应用的部分会被保存为 " "<filename><replaceable>baz</replaceable>.rej</filename>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Edit the <filename><replaceable>baz</replaceable></filename> file " #| "manually to realize intended effect of <filename><replaceable>baz</" #| "replaceable>.rej</filename>." msgid "" "Edit the <filename><replaceable>baz</replaceable></filename> file manually " "to bring about the intended effect of <filename><replaceable>baz</" "replaceable>.rej</filename>." msgstr "" "手工编辑 <filename><replaceable>baz</replaceable></filename> 来在新的代码中实" "现 <filename><replaceable>baz</replaceable>.rej</filename> 中应有的效果。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>quilt refresh</literal> to update the patch." msgid "<literal>dquilt refresh</literal> to update the patch." msgstr "使用 <literal>quilt refresh</literal> 更新补丁。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Continue back to <literal>while quilt push; do quilt refresh; done</" #| "literal>." msgid "" "Continue as usual with <literal>while dquilt push; do dquilt refresh; done</" "literal>." msgstr "再次运行 <literal>while quilt push; do quilt refresh; done</literal>。" #. type: Content of: <book><chapter><section><para> msgid "" "This process can be automated using the <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> command as follows:" msgstr "" "这个过程可以通过使用 <citerefentry> <refentrytitle>uupdate</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 来更自动化地完成:" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "$ apt-get source <replaceable>foo</replaceable>\n" #| "...\n" #| "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" #| "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" #| "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" #| "$ ls -F\n" #| "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" #| "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" #| "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" #| "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" #| "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" #| "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" #| "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" #| "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" #| "$ while quilt push; do quilt refresh; done\n" #| "$ dch\n" #| "... document changes made\n" msgid "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" msgstr "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while quilt push; do quilt refresh; done\n" "$ dch\n" "... document changes made\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the <command>uscan</command> command downloads the updated source but it " "does not run the <command>uupdate</command> command, you should correct the " "<filename>debian/watch</filename> file to have <literal>debian uupdate</" "literal> at the end of the URL." msgstr "" "如果 <command>uscan</command> 命令下载并更新了源代码,但没有运行 " "<command>uupdate</command> 命令,你应该修正 <filename>debian/watch</" "filename> 文件,使 URL 末尾后带有 <literal>debian uupdate</literal>。" #. type: Content of: <book><chapter><section><para> msgid "" "If you set up a <filename>debian/watch</filename> file as described in <xref " "linkend=\"watch\"/>, you can skip the <command>wget</command> command. You " "simply run <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> in the <filename><replaceable>foo</replaceable>-" "<replaceable>oldversion</replaceable></filename> directory instead of the " "<command>uupdate</command> command. This will <emphasis>automagically</" "emphasis> look for the updated source, download it, and run the " "<command>uupdate</command> command. <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "如果你按照 <xref linkend=\"watch\"/> 的叙述设置了 <filename>debian/watch</" "filename> 文件,你可以跳过这个 <command>wget</command> 命令,转而在 " "<filename><replaceable>foo</replaceable>-<replaceable>oldversion</" "replaceable></filename> 目录中运行 <citerefentry> <refentrytitle>uscan</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>,且无需再执行 " "<command>uupdate</command> 命令。它会 <emphasis>自动</emphasis> 查找新的源代" "码、下载并运行 <command>uupdate</command> 命令。<placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can release this updated source by repeating what you did in <xref " "linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref linkend=" "\"upload\"/>." msgstr "" "重复 <xref linkend=\"completebuild\"/> 、<xref linkend=\"checkit\"/> 和 " "<xref linkend=\"upload\"/> 中的操作,即可发布此更新的软件包。" #. type: Content of: <book><chapter><section><title> msgid "Updating the packaging style" msgstr "更新打包风格" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "If your sponsor or other maintainers object to updating the existing " #| "packaging style, it is not worth bothering nor arguing. There are more " #| "important things to do." msgid "" "If your sponsor or other maintainers object to updating the existing " "packaging style, don't bother arguing. There are more important things to " "do." msgstr "" "如果你的 sponsor 或其他维护者一定反对更新已有的打包风格,则不值得去为此烦恼或" "争论,总是有更重要的事要做。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Updating the package style is not a required activity for the update of a " #| "package. But, you can use the full capability of the modern <systemitem " #| "role=\"package\">debhelper</systemitem> system and the <literal>3.0</" #| "literal> source format by doing this. <placeholder type=\"footnote\" id=" #| "\"0\"/>" msgid "" "Updating the package style is not a required activity for the update of a " "package. However, doing so lets you use the full capabilities of the modern " "<systemitem role=\"package\">debhelper</systemitem> system and the " "<literal>3.0</literal> source format. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "更新打包风格不是更新软件包的必须步骤,但是这样可以使你的软件包得到对现代的 " "<systemitem role=\"package\">debhelper</systemitem> 系统和 <literal>3.0</" "literal> 源代码包格式完整的兼容性。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If you need to add erased template files for any reason, you may run " #| "<command>dh_make</command> again in the same Debian package source tree " #| "with <literal>--addmissing</literal> option. Then edit them properly." msgid "" "If you need to recreate deleted template files for any reason, you can run " "<command>dh_make</command> again in the same Debian package source tree with " "the <literal>--addmissing</literal> option. Then edit them appropriately." msgstr "" "如果你需要重新添加已删除的模板文件,可以在同一个 Debian 软件包源代码树中运行 " "<command>dh_make</command>,并添加 <literal>--addmissing</literal> 选项。然后" "对模板进行相应的编辑。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If the package has not updated to use the <systemitem role=\"package" #| "\">debhelper</systemitem> V7 <command>dh</command> syntax for the " #| "<filename>debian/rules</filename> file, update it to use <command>dh</" #| "command>. Update the <filename>debian/control</filename> file " #| "accordingly." msgid "" "If the package has not been updated to use the <systemitem role=\"package" "\">debhelper</systemitem> v7+ <command>dh</command> syntax for the " "<filename>debian/rules</filename> file, update it to use <command>dh</" "command>. Update the <filename>debian/control</filename> file accordingly." msgstr "" "如果软件包的 <filename>debian/rules</filename> 文件没有更新为使用 " "<systemitem role=\"package\">debhelper</systemitem> V7 的 <command>dh</" "command> 语法,则更新它使用 <command>dh</command>。在需要的时候更新 " "<filename>debian/control</filename> 文件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If you want to update the <filename>rules</filename> file created with " #| "the <filename>Makefile</filename> inclusion mechanism of the Common " #| "Debian Build System (<systemitem role=\"package\">cdbs</systemitem>) to " #| "the <command>dh</command> syntax, see <filename>/usr/share/doc/cdbs/cdbs-" #| "doc.html</filename> and understand its <literal>DEB_*</literal> " #| "configuration variables. <placeholder type=\"footnote\" id=\"0\"/>" msgid "" "If you want to update the <filename>rules</filename> file created with the " "<filename>Makefile</filename> inclusion mechanism of the Common Debian Build " "System (<systemitem role=\"package\">cdbs</systemitem>) to the <command>dh</" "command> syntax, see the following to understand its <literal>DEB_*</" "literal> configuration variables." msgstr "" "如果你希望将使用 <systemitem role=\"package\">cdbs</systemitem> 的 " "<filename>Makefile</filename> 语法创建的 <filename>rules</filename> 文件更新" "为 <command>dh</command> 语法,参看 <filename>/usr/share/doc/cdbs/cdbs-doc." "html</filename> 并理解各 <literal>DEB_*</literal> 配置变量。<placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>docs</filename> file" msgid "local copy of <filename>&cdbs-doc;</filename>" msgstr "<filename>docs</filename> 文件" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If you have a <literal>1.0</literal> source package without the " #| "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " #| "update it to the newer <literal>3.0 (native)</literal> source format by " #| "creating <filename>debian/source/format</filename> with <literal>3.0 " #| "(native)</literal>. The rest of <filename>debian/*</filename> files can " #| "be just copied." msgid "" "If you have a <literal>1.0</literal> source package without the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (native)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(native)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied." msgstr "" "如果你有一个不带有 <filename><replaceable>foo</replaceable>.diff.gz</" "filename> 文件的 <literal>1.0</literal> 格式的源代码包,你可以通过创建 " "<filename>debian/source/format</filename> 文件并在其中添加 <literal>3.0 " "(native)</literal> 来将其更新为新的 <literal>3.0 (native)</literal> 源代码包" "格式。<filename>debian</filename> 目录中的其他文件可以直接复制过来。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "You may split <filename>big.diff</filename> into many small incremental " #| "patches using the <command>splitdiff</command> command." msgid "" "You can split <filename>big.diff</filename> into many small incremental " "patches using the <command>splitdiff</command> command." msgstr "" "你可能使用 <command>splitdiff</command> 命令将 <filename>big.diff</filename> " "分割为多个有各自作用的补丁。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If you have a <literal>1.0</literal> source package with the " #| "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " #| "update it to the newer <literal>3.0 (quilt)</literal> source format by " #| "creating <filename>debian/source/format</filename> with <literal>3.0 " #| "(quilt)</literal>. The rest of <filename>debian/*</filename> files can " #| "be just copied. Import the <filename>big.diff</filename> file generated " #| "by the <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" #| "replaceable>.diff.gz > big.diff</literal> command to your " #| "<command>quilt</command> system, if needed. <placeholder type=\"footnote" #| "\" id=\"0\"/>" msgid "" "If you have a <literal>1.0</literal> source package with the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (quilt)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(quilt)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied. Import the <filename>big.diff</filename> file generated by " "the command <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" "replaceable>.diff.gz > big.diff</literal> to your <command>quilt</" "command> system, if needed. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "如果你有一个带有 <filename><replaceable>foo</replaceable>.diff.gz</filename> " "文件的 <literal>1.0</literal> 格式的源代码包,你可以通过创建 " "<filename>debian/source/format</filename> 文件并在其中添加 <literal>3.0 " "(quilt)</literal> 来将其更新为新的 <literal>3.0 (quilt)</literal> 源代码包格" "式。<filename>debian</filename> 目录中的其他文件可以直接复制过来。如果需要," "把 <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</replaceable>." "diff.gz > big.diff</literal> 生成的 <filename>big.diff</filename> 文件导入" "到 <command>quilt</command> 系统。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If it was packaged with another patch system such as <systemitem role=" #| "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" #| "systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " #| "<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</" #| "literal>, convert it to the <systemitem role=\"package\">quilt</" #| "systemitem> command using <filename>deb3</filename> at <ulink url=\"&deb3;" #| "\">&deb3;</ulink>." msgid "" "If it was packaged using another patch system such as <systemitem role=" "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" "systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " "<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, " "convert it to the <systemitem role=\"package\">quilt</systemitem> command " "using <filename>deb3</filename> at <ulink url=\"&deb3;\"/>." msgstr "" "如果它使用了其他的补丁系统,例如 <systemitem role=\"package\">dpatch</" "systemitem>、<systemitem role=\"package\">dbs</systemitem> 或 <systemitem " "role=\"package\">cdbs</systemitem>,使用 <literal>-p0</literal>、<literal>-" "p1</literal> 或 <literal>-p2</literal> 级别,使用 <ulink url=\"&deb3;" "\">&deb3;</ulink> 的 <filename>deb3</filename> 命令将其转换到 <systemitem " "role=\"package\">quilt</systemitem> 系统。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If it was packaged with the <command>dh</command> command with the " #| "<literal>--with quilt</literal> option or with the " #| "<command>dh_quilt_patch</command> and <command>dh_quilt_unpatch</command> " #| "commands, remove such things and make it use the newer <literal>3.0 " #| "(native)</literal> source format." msgid "" "If it was packaged with the <command>dh</command> command with the " "<literal>--with quilt</literal> option or with the <command>dh_quilt_patch</" "command> and <command>dh_quilt_unpatch</command> commands, remove these and " "make it use the newer <literal>3.0 (native)</literal> source format." msgstr "" "如果它使用 <command>dh</command> 命令的 <literal>--with quilt</literal> 选" "项,或 <command>dh_quilt_patch</command> 和 <command>dh_quilt_unpatch</" "command> 命令,删除它们并使其使用新的 <literal>3.0 (native)</literal> 源代码" "包格式。" #. type: Content of: <book><chapter><section><para> msgid "" "You should check <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> and adopt ACCEPTED proposals." msgstr "" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "You need to do other tasks described in <xref linkend=\"newupstream\"/>, " #| "too." msgid "" "You need to do the other tasks described in <xref linkend=\"newupstream\"/>, " "too." msgstr "当然你还需要按照 <xref linkend=\"newupstream\"/> 完成其他的步骤。" #. type: Content of: <book><chapter><section><title> msgid "UTF-8 conversion" msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream documents are encoded in old encoding schemes, converting them " "to <ulink url=\"&utf8;\">UTF-8</ulink> is a good idea." msgstr "" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "Use <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert encodings of plain text files." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令会安装这个文件。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, fuzzy, no-wrap #| msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgid "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs files and " #| "directories listed in this file as example files." msgid "" "Use <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert from HTML files to UTF-8 plain text " "files. When you do this, make sure to execute it under UTF-8 locale." msgstr "" "<citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 会将列出的文件和目录作为示例文件安" "装。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "" #. type: Content of: <book><chapter><section><title> msgid "Reminders for updating packages" msgstr "对更新软件包的几点提示" #. type: Content of: <book><chapter><section><para> msgid "Here are few reminders for updating packages." msgstr "以下是对更新软件包的几点提示。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Preserve old <filename>changelog</filename> entries (sounds obvious, but " #| "there have been incidents to type <literal>dch</literal> when you should " #| "have typed <literal>dch -i</literal>.)" msgid "" "Preserve old <filename>changelog</filename> entries (sounds obvious, but " "there have been cases of people typing <literal>dch</literal> when they " "should have typed <literal>dch -i</literal>.)" msgstr "" "保留旧的 <filename>changelog</filename> 条目(看似显然,但是总有可能把 " "<literal>dch -i</literal> 输入为 <literal>dch</literal>)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Existing Debian changes need to be reevaluated; throw away stuff that " "upstream has incorporated (in one form or another) and remember to keep " "stuff that hasn't been incorporated by upstream, unless there is a " "compelling reason not to." msgstr "" "已存在的 Debian 修改需要被重新校验,去除上游已经接受的东西,除非有必要的原" "因,还要记录尚未被上游接受的部分。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If any changes were made to the build system (hopefully you'd know from " "inspecting upstream changes) then update the <filename>debian/rules</" "filename> and <filename>debian/control</filename> build dependencies if " "necessary." msgstr "" "如果对编译系统作出了修改(希望你已经在检查上游变更时了解了这些),那么要在必要" "时更新 <filename>debian/rules</filename> 和 <filename>debian/control</" "filename> 编译依赖关系。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Check to see <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</" #| "ulink> if someone have provided patches to bugs that are currently open " #| "in it." msgid "" "Check the <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> to " "see if someone has provided patches to bugs that are currently open." msgstr "" "检查 <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> 是否有人为" "某些仍然未修复的 Bug 提供了补丁。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Check the contents of the <filename>.changes</filename> file to make sure " #| "you are uploading to the correct distribution, the proper bugs closures " #| "are listed in the <literal>Closes</literal> field, the " #| "<literal>Maintainer</literal> and <literal>Changed-By</literal> fields " #| "match, the file is GPG-signed, etc." msgid "" "Check the contents of the <filename>.changes</filename> file to make sure " "you are uploading to the correct distribution, the proper bug closures are " "listed in the <literal>Closes</literal> field, the <literal>Maintainer</" "literal> and <literal>Changed-By</literal> fields match, the file is GPG-" "signed, etc." msgstr "" "检查 <filename>.changes</filename> 文件以确保你正要上传到正确的发行版、正确的" "列于 <literal>Closes</literal> 域的 Bug、<literal>Maintainer</literal> 和 " "<literal>Changed-By</literal> 域相匹配,且该文件已经使用 GPG 签署等。" #. type: Content of: <book><chapter><title> msgid "Uploading the package" msgstr "上传软件包" #. type: Content of: <book><chapter><para> #, fuzzy #| msgid "" #| "Now that you have tested your new package thoroughly, you will be " #| "technically ready to start the Debian new maintainer application process, " #| "as described at <ulink url=\"&nm-join;\">&nm-join;</ulink>" msgid "" "Now that you have tested your new package thoroughly, you want to release it " "to a public archive to share it." msgstr "" "当你完成了对软件包的彻底测试,在技术上你已经满足了申请 Debian 新维护人员的要" "求,详细的描述参看 <ulink url=\"&nm-join;\">&nm-join;</ulink>" #. type: Content of: <book><chapter><section><title> msgid "Uploading to the Debian archive" msgstr "上传到 Debian 仓库" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <xref linkend=\"socialdynamics\"/>." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are publicly accessible archives such as <ulink url=\"&mentors-dn;\"/> " "which work almost the same way as the Debian archive and provide an upload " "area for non-DDs. You can set up an equivalent archive by yourself using " "the tools listed at <ulink url=\"&deb-archive;\"/>. So this section is " "useful for non-DDs, too." msgstr "" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "The <systemitem role=\"package\">dput</systemitem> package seems to come " #| "with more features and becoming more popular than the <systemitem role=" #| "\"package\">dupload</systemitem> package. It uses the <filename>/etc/" #| "dput</filename> file for the global configuration and the <filename>~/." #| "dput.cf</filename> file for the per-user one. It supports Ubuntu related " #| "services out-of-box, too." msgid "" "The <systemitem role=\"package\">dput</systemitem> package seems to come " "with more features and to be becoming more popular than the <systemitem role=" "\"package\">dupload</systemitem> package. It uses the file <filename>/etc/" "dput</filename> for its global configuration and the file <filename>~/.dput." "cf</filename> for per-user configuration. It supports Ubuntu-related " "services out-of-the-box, too." msgstr "" "<systemitem role=\"package\">dput</systemitem> 软件包提供了更多的特性,相比" "于 <systemitem role=\"package\">dupload</systemitem> 也越来越受欢迎。它使用 " "<filename>/etc/dput</filename> 文件作为全局配置文件、<filename>~/.dput.cf</" "filename> 作为用户配置文件。它也直接支持 Ubuntu 相关的服务。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Once you become an official developer, you'll need to upload the package " #| "to the Debian archive. You can do this manually, but it's easier to use " #| "the provided automated tools, like <citerefentry> <refentrytitle>dupload</" #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " #| "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry>. We'll describe how it's done with <command>dupload</" #| "command>. <placeholder type=\"footnote\" id=\"0\"/>" msgid "" "Once you become an official developer, <placeholder type=\"footnote\" id=" "\"0\"/> you can upload the package to the Debian archive. <placeholder type=" "\"footnote\" id=\"1\"/> You can do this manually, but it's easier to use the " "existing automated tools, like <citerefentry> <refentrytitle>dupload</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. We'll describe how it's done with <command>dupload</" "command>. <placeholder type=\"footnote\" id=\"2\"/>" msgstr "" "当你成为正式的开发人员,你会需要把软件包上传到 Debian 仓库。你可以手工进行这" "项工作,但使用例如 <citerefentry> <refentrytitle>dupload</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 或 <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "的自动化工具可以帮你更好地完成这项操作。在此我们将叙述如何使用 " "<command>dupload</command> 操作。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "First you have to set up <command>dupload</command>'s config file. You can " "either edit the system-wide <filename>/etc/dupload.conf</filename> file, or " "have your own <filename>~/.dupload.conf</filename> file override the few " "things you want to change." msgstr "" "首先需要设置 <command>dupload</command> 的配置文件。你既可以编辑系统级的 " "<filename>/etc/dupload.conf</filename> 文件,也可以使用自己的 <filename>~/." "dupload.conf</filename> 文件覆盖一些需要修改的设置。" #. type: Content of: <book><chapter><section><para> msgid "" "You can read the <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> manual page to understand what each " "of these options means." msgstr "" "你可以阅读 <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> man 手册页来了解各选项的含义。" #. type: Content of: <book><chapter><section><para><footnote><para> #, fuzzy #| msgid "" #| "For more help about these, check in <ulink url=\"&developers-reference;" #| "\">Debian Developer's Reference</ulink>." msgid "" "See <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. " "\"Uploading a package\"</ulink>." msgstr "" "关于这些问题的更多帮助,查看 <ulink url=\"&developers-reference;\">Debian " "Developer's Reference</ulink>。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "The <literal>$default_host</literal> option determines which of the " #| "upload queues will be used by default. <literal>anonymous-ftp-master</" #| "literal> is the primary one, but it's possible that you will want to use " #| "another one." msgid "" "The <literal>$default_host</literal> option determines which of the upload " "queues will be used by default. <literal>anonymous-ftp-master</literal> is " "the primary one, but it's possible that you will want to use another one. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>$default_host</literal> 选项决定了默认使用哪个上传队列," "<literal>anonymous-ftp-master</literal> 是最基本的一个,但你很可能希望改用其" "他的。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "While connected to the Internet, you can upload your package by the " #| "following:" msgid "" "While connected to the Internet, you can upload your package as follows:" msgstr "连接到互联网后,可以使用以下命令上传你的软件包:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dupload gentoo_0.9.12-1_i386.changes\n" msgstr "$ dupload gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "<command>dupload</command> checks that the MD5/SHA1/SHA256 checksums of " #| "the files match those from the <filename>.changes</filename> file. If " #| "they do not match, it will warn you to rebuild it as described in <xref " #| "linkend=\"completebuild\"/> so it can be properly uploaded." msgid "" "<command>dupload</command> checks that the SHA1/SHA256 file checksums match " "those listed in the <filename>.changes</filename> file. If they do not " "match, it will warn you to rebuild it as described in <xref linkend=" "\"completebuild\"/> so it can be properly uploaded." msgstr "" "<command>dupload</command> 会检查文件的 MD5/SHA1/SHA256 校验和是否与 " "<filename>.changes</filename> 文件中的相匹配,如果不匹配它会做出警告。你应按" "照如 <xref linkend=\"completebuild\"/> 所述来重构建软件包使得它可以被正常上" "传。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&uploadqueue-readme;\"/>. Alternatively, you can use the " "<command>dcut</command> command from the <systemitem role=\"package\">dput</" "systemitem> package." msgstr "" #. type: Content of: <book><chapter><section><para> msgid "" "If you encounter an upload problem at <ulink url=\"&uploadqueue;\"/>, you " "can fix this by manually uploading a GPG-signed <filename>*.commands</" "filename> file to there with <command>ftp</command>. <placeholder type=" "\"footnote\" id=\"0\"/> For example, using <filename>hello.commands</" "filename>:" msgstr "" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "" #| "-----BEGIN PGP SIGNED MESSAGE-----\n" #| "Uploader: Foo Bar <Foo.Bar@example.org>\n" #| "Commands: \n" #| " rm hello_1.0-1_i386.deb\n" #| " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" #| "-----BEGIN PGP SIGNATURE-----\n" #| "Version: 2.6.3ia\n" #| "iQCVAwUBNFiQSXVhJ0HiWnvJAQG58AP+IDJVeSWmDvzMUphScg1EK0mvChgnuD7h\n" #| "BRiVQubXkB2DphLJW5UUSRnjw1iuFcYwH/lFpNpl7XP95LkLX3iFza9qItw4k2/q\n" #| "tvylZkmIA9jxCyv/YB6zZCbHmbvUnL473eLRoxlnYZd3JFaCZMJ86B0Ph4GFNPAf\n" #| "Z4jxNrgh7Bc=\n" #| "=pH94\n" #| "-----END PGP SIGNATURE-----\n" msgid "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" msgstr "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: 2.6.3ia\n" "iQCVAwUBNFiQSXVhJ0HiWnvJAQG58AP+IDJVeSWmDvzMUphScg1EK0mvChgnuD7h\n" "BRiVQubXkB2DphLJW5UUSRnjw1iuFcYwH/lFpNpl7XP95LkLX3iFza9qItw4k2/q\n" "tvylZkmIA9jxCyv/YB6zZCbHmbvUnL473eLRoxlnYZd3JFaCZMJ86B0Ph4GFNPAf\n" "Z4jxNrgh7Bc=\n" "=pH94\n" "-----END PGP SIGNATURE-----\n" #. type: Content of: <book><chapter><section><title> msgid "Including <filename>orig.tar.gz</filename> for upload" msgstr "在上传时包含 <filename>orig.tar.gz</filename> 文件" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "When you first upload the package to the archive, you need to include the " #| "original <filename>orig.tar.gz</filename> source. If the last changelog " #| "entry is not the first one for the given upstream version, you must " #| "provide <command>dpkg-buildpackage</command> command with the <literal>-" #| "sa</literal> option. On the other hand, the <literal>-sd</literal> " #| "option will force to exclude the original <filename>orig.tar.gz</" #| "filename> source." msgid "" "When you first upload the package to the archive, you need to include the " "original <filename>orig.tar.gz</filename> source, too. If the Debian " "revision number of this package is neither <literal>1</literal> nor " "<literal>0</literal>, you must provide the <command>dpkg-buildpackage</" "command> option <literal>-sa</literal>." msgstr "" "第一次向仓库上传软件包时要包含 <filename>orig.tar.gz</filename> 源代码归档。" "如果 changelog 中的最后一个条目是这个上游版本的第一次上传,那么应为 " "<command>dpkg-buildpackage</command> 命令传递 <literal>-sa</literal> 选项。相" "反,<literal>-sd</literal> 选项会强制将原始的 <filename>orig.tar.gz</" "filename> 源代码归档排除在外。" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "<command>debc</command> command" msgid "For the <command>dpkg-buildpackage</command> command:" msgstr "<command>debc</command> 命令" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ dpkg-buildpackage -B\n" msgid "$ dpkg-buildpackage -sa\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "<command>debuild</command> command" msgid "For the <command>debuild</command> command:" msgstr "<command>debuild</command> 命令" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -sa\n" msgstr "$ debuild -sa\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "<command>debuild</command> command" msgid "For the <command>pdebuild</command> command:" msgstr "<command>debuild</command> 命令" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts -sa\n" msgstr "$ pdebuild --debbuildopts -sa\n" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "Please note that the <command>dpkg-buildpackage</command> option " #| "<literal>-sa</literal> to include the original <filename>orig.tar.gz</" #| "filename> source can be specified as:" msgid "" "On the other hand, the <literal>-sd</literal> option will force the " "exclusion of the original <filename>orig.tar.gz</filename> source." msgstr "" "请注意用于包含 <filename>orig.tar.gz</filename> 源代码归档的 <command>dpkg-" "buildpackage</command> 参数 <literal>-sa</literal> 可以这样传递:" #. type: Content of: <book><chapter><section><title> msgid "Skipped uploads" msgstr "跳过的上传" #. type: Content of: <book><chapter><section><para> #, fuzzy #| msgid "" #| "If you created multiple entries in <filename>debian/changelog</filename> " #| "by skipping uploads, you must create a proper <filename>*_.changes</" #| "filename> file which includes all changes from the last upload." msgid "" "If you created multiple entries in <filename>debian/changelog</filename> by " "skipping uploads, you must create a proper <filename>*_.changes</filename> " "file which includes all changes from the last upload. This can be done by " "specifying the <command>dpkg-buildpackage</command> option <literal>-v</" "literal> with the version, e.g., <literal><replaceable>1.2</replaceable></" "literal>." msgstr "" "如果你在 <filename>debian/changelog</filename> 创建了多个条目并跳过了上传,你" "必须创建一个对应的 <filename>*_.changes</filename> 文件,其中包含自上次上传以" "来的全部变更记录。" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ debc <replaceable>package</replaceable>.changes\n" msgid "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" msgstr "$ debc <replaceable>package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ debc <replaceable>package</replaceable>.changes\n" msgid "$ debuild -v<replaceable>1.2</replaceable>\n" msgstr "$ debc <replaceable>package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><screen> #, fuzzy, no-wrap #| msgid "$ sudo pbuilder --build --debbuildopts -sa <replaceable>foo</replaceable>.dsc\n" msgid "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" msgstr "$ sudo pbuilder --build --debbuildopts -sa <replaceable>foo</replaceable>.dsc\n" #. type: Content of: <book><appendix><title> #, fuzzy #| msgid "Updating the packaging style" msgid "Advanced packaging" msgstr "更新打包风格" #. type: Content of: <book><appendix><para> msgid "" "Here are some hints and pointers for advanced packaging topics which you are " "most likely to deal with. You are strongly advised to read all the " "references suggested here." msgstr "" #. type: Content of: <book><appendix><section><title> #, fuzzy #| msgid "Differing libraries" msgid "Shared libraries" msgstr "不一样的库名称" #. type: Content of: <book><appendix><section><para> msgid "" "Before packaging shared <ulink url=\"&library;\">libraries</ulink>, you " "should read the following primary references in detail." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><para> msgid "Here are some oversimplified hints for you to get started." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are <ulink url=\"&elf;\">ELF</ulink> object files " "containing compiled code." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "There is the <filename>.orig</filename> before the <filename>.tar.gz</" #| "filename>." msgid "" "Shared libraries are distributed as <filename>*.so</filename> files. " "(Neither <filename>*.a</filename> files nor <filename>*.la</filename> files)" msgstr "<filename>.tar.gz</filename> 扩展名前有 <filename>.orig</filename>。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are mainly used to share common codes among multiple " "executables with the <command>ld</command> mechanism." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are sometimes used to provide multiple plugins to an " "executable with the <command>dlopen</command> mechanism." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries export <ulink url=\"&symbol;\">symbols</ulink> which " "represent compiled objects such as variables, functions, and classes; and " "enables access to them from the linked executables." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "Update the Debian <filename>changelog</filename> file with <literal>dch -" #| "v <replaceable>newversion</replaceable>-<replaceable>1</replaceable></" #| "literal>." msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" msgstr "" "使用 <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</" "replaceable></literal> 更新 Debian <filename>changelog</filename> 文件。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&soname;\">SONAME</ulink> of a shared library " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of a shared library usually matches the library file name (but " "not always)." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "Update the Debian <filename>changelog</filename> file with <literal>dch -" #| "v <replaceable>newversion</replaceable>-<replaceable>1</replaceable></" #| "literal>." msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" msgstr "" "使用 <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</" "replaceable></literal> 更新 Debian <filename>changelog</filename> 文件。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of shared libraries linked to <filename><replaceable>/usr/bin/" "foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/foo</" "replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "See <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time " "shared libraries\"</ulink>." msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" #| "systemitem> is packaged in the old <literal>1.0</literal> format, this " #| "can be done by running <literal>zcat /<replaceable>path</replaceable>/" #| "<replaceable>to</replaceable>/<replaceable>foo</" #| "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" #| "literal> in the new extracted source, instead." msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: the library package " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> with the SONAME ABI version " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "如果软件包 <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> 是使用旧的 <literal>1.0</literal> 格式的,可以在新解压的源代码目" "录里运行 <literal>zcat /<replaceable>path</replaceable>/<replaceable>to</" "replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</" "replaceable>.diff.gz|patch -p1</literal> 来完成。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "See <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig" "\"</ulink>." msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The package maintainer scripts of the library package must call " "<command>ldconfig</command> under the specific circumstances to create the " "necessary symbolic links for the SONAME.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: the debugging " "symbols package which contains the debugging symbols for the shared library " "package <systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> and <ulink url=\"&policy-dev;\">Debian Policy Manual, " "8.4 \"Development files\"</ulink>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" #| "systemitem> is packaged in the old <literal>1.0</literal> format, this " #| "can be done by running <literal>zcat /<replaceable>path</replaceable>/" #| "<replaceable>to</replaceable>/<replaceable>foo</" #| "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" #| "literal> in the new extracted source, instead." msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: the development package which contains the header files etc. " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "如果软件包 <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> 是使用旧的 <literal>1.0</literal> 格式的,可以在新解压的源代码目" "录里运行 <literal>zcat /<replaceable>path</replaceable>/<replaceable>to</" "replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</" "replaceable>.diff.gz|patch -p1</literal> 来完成。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not contain <filename>*.la</filename> Libtool archive " "files in general.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> #, fuzzy #| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgid "See <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Please read the other manuals if you need more details on terminology." msgid "" "Debian package should not use RPATH in general.<placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "如果你需要更详细地了解术语,请阅读其他手册。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Although it is somewhat outdated and is only a secondary reference, <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "may still be useful." msgstr "" #. type: Content of: <book><appendix><section><title> #, fuzzy #| msgid "" #| "<filename><replaceable>package</replaceable>.examples</filename> file" msgid "" "Managing <filename>debian/<replaceable>package</replaceable>.symbols</" "filename>" msgstr "<filename><replaceable>package</replaceable>.examples</filename> 文件" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Backward-incompatible ABI changes normally require you to update the SONAME " "of the library and the shared library package name to new ones." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "When you package a shared library, you should create <filename>debian/" "<replaceable>package</replaceable>.symbols</filename> file to manage the " "minimal version associated to each symbol for backward-compatible ABI " "changes under the same SONAME of the library for the same shared library " "package name.<placeholder type=\"footnote\" id=\"0\"/> You should read the " "following primary references in detail." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "For C++ libraries and other cases where tracking individual symbols is too " "difficult, follow <ulink url=\"&policy-library-shlibs;\">Debian Policy " "Manual, 8.6.4 \"The shlibs system\"</ulink>, instead." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令会安装这个文件。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令会安装这个文件。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令会安装这个文件。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " #| "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgid "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令会安装这个文件。" #. type: Content of: <book><appendix><section><para> msgid "" "Here is a rough example to create the <systemitem role=\"package\">libfoo1</" "systemitem> package to the upstream version <literal>1.3</literal> with the " "proper <filename>debian/libfoo1.symbols</filename> file." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Prepare the skeleton debianized source tree using the upstream " "<filename>libfoo-1.3.tar.gz</filename> file." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "To install <filename>doc/gentoo.1</filename> for the <systemitem role=" #| "\"package\">gentoo</systemitem> package as its manpage, you create a " #| "<filename>gentoo.manpages</filename> file as:" msgid "" "If this is the first packaging of the <systemitem role=\"package\">libfoo1</" "systemitem> package, create the <filename>debian/libfoo1.symbols</filename> " "file with empty content." msgstr "" "要将 <filename>doc/gentoo.1</filename> 安装为 <systemitem role=\"package" "\">gentoo</systemitem> 的 man 手册页,创建一个 <filename>gentoo.manpages</" "filename>,内容如下:" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was packaged as the " "<systemitem role=\"package\">libfoo1</systemitem> package with the proper " "<filename>debian/libfoo1.symbols</filename> in its source package, use it " "again." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "All previous versions of Debian packages are available at <ulink url=" "\"&snapshot;\">http://snapshot.debian.org/</ulink>. The Debian revision is " "dropped from the version to make it easier to backport the package: " "<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " "<literal>1.1-1</literal> and <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was not packaged " "with the <filename>debian/libfoo1.symbols</filename>, create it as the " "<filename>symbols</filename> file from all available binary packages of the " "same shared library package name containing the same SONAME of the library, " "for example, versions <literal>1.1-1</literal> and <literal>1.2-1</" "literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Make trial builds of the source tree with tools such as <command>debuild</" "command> and <command>pdebuild</command>. (If this fails due to missing " "symbols etc., there were some backward-incompatible ABI changes which " "require you to bump the shared library package name to something like " "<systemitem role=\"package\">libfoo1a</systemitem> and you should start over " "again.)" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "The Debian revision is dropped from the version to make it easier to " "backport the package: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "If you see the diff printed by the <command>dpkg-gensymbols</command> as " "above, extract the updated proper <filename>symbols</filename> file from the " "generated binary package of the shared library. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Add support of the <command>dh_quilt_patch</command> and " #| "<command>dh_quilt_unpatch</command> commands." msgid "" "Build release packages with tools such as <command>debuild</command> and " "<command>pdebuild</command>." msgstr "" "添加 <command>dh_quilt_patch</command> 和 <command>dh_quilt_unpatch</" "command> 命令支持。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" msgstr "" #. type: Content of: <book><appendix><section><para><footnote><para> #, fuzzy #| msgid "" #| "Line 3 describes how important it is that the user installs this " #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy " #| "Manual, 2.5 'Priorities'</ulink> for the guidance." msgid "" "See <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 \"Shared " "library ABI changes\"</ulink>." msgstr "" "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-" "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>" #. type: Content of: <book><appendix><section><para> msgid "" "In addition to the above examples, we need to check the ABI compatibility " "further and bump versions for some symbols manually as needed. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Although it is only a secondary reference, <ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> and its linked web pages may be " "useful." msgstr "" #. type: Content of: <book><appendix><section><title> msgid "Multiarch" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "The multiarch feature introduced to Debian wheezy integrates support for " "cross-architecture installation of binary packages (particularly " "<literal>i386</literal><-><literal>amd64</literal>, but also other " "combinations) in <systemitem role=\"package\">dpkg</systemitem> and " "<systemitem role=\"package\">apt</systemitem>. You should read the " "following references in detail." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " #| "(supplemental)" msgid "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (upstream)" msgstr "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> (补充材料)" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian situation)" msgstr "" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Old special purpose library paths such as <filename>/lib32/</filename> and " "<filename>/lib64/</filename> are not used any more." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "It uses the triplet such as <literal>i386-linux-gnu</literal> and " "<literal>x86_64-linux-gnu</literal> for the install path of shared " "libraries. The actual triplet path is dynamically set into <literal>" "$(DEB_HOST_MULTIARCH)</literal> value by <citerefentry> <refentrytitle>dpkg-" "architecture</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for " "each build. For example, the path to install multiarch libraries are " "changed as follows.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> #, fuzzy #| msgid "library packages," msgid "Old path" msgstr "库软件包;" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "i386 multiarch path" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> #, fuzzy #| msgid "library packages," msgid "amd64 multiarch path" msgstr "库软件包;" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>dirs</filename> file" msgid "<filename>/lib/</filename>" msgstr "<filename>dirs</filename> 文件" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>menu</filename> file" msgid "<filename>/lib/i386-linux-gnu/</filename>" msgstr "<filename>menu</filename> 文件" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>menu</filename> file" msgid "<filename>/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>menu</filename> 文件" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>rules</filename> file" msgid "<filename>/usr/lib/</filename>" msgstr "<filename>rules</filename> 文件" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>install</filename> file" msgid "<filename>/usr/lib/i386-linux-gnu/</filename>" msgstr "<filename>install</filename> 文件" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<filename>install</filename> file" msgid "<filename>/usr/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>install</filename> 文件" #. type: Content of: <book><appendix><section><para> msgid "" "Here are some typical multiarch package split scenario examples for the " "followings:" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename><replaceable>package</replaceable>.cron.*</filename> files" msgid "" "a library source <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" msgstr "<filename><replaceable>package</replaceable>.cron.*</filename> 文件" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "" #| "Create a copy of the upstream source as the " #| "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</" #| "filename> file." msgid "" "a tool source <filename><replaceable>bar</replaceable>-1.tar.gz</filename> " "written in a compiled language" msgstr "" "创建一份上游源代码的副本,命名为 <filename>foo_<replaceable>newversion</" "replaceable>.orig.tar.gz</filename>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename><replaceable>package</replaceable>.info</filename> file" msgid "" "a tool source <filename><replaceable>baz</replaceable>-1.tar.gz</filename> " "written in an interpreted language" msgstr "<filename><replaceable>package</replaceable>.info</filename> 文件" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Architecture:" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Multi-Arch:" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> #, fuzzy #| msgid "Package name and version" msgid "Package content" msgstr "软件包名称和版本" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "" #| "Update the Debian <filename>changelog</filename> file with <literal>dch -" #| "v <replaceable>newversion</replaceable>-<replaceable>1</replaceable></" #| "literal>." msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" msgstr "" "使用 <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</" "replaceable></literal> 更新 Debian <filename>changelog</filename> 文件。" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "any" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "same" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library, co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "" #| "Update the Debian <filename>changelog</filename> file with <literal>dch -" #| "v <replaceable>newversion</replaceable>-<replaceable>1</replaceable></" #| "literal>." msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" msgstr "" "使用 <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</" "replaceable></literal> 更新 Debian <filename>changelog</filename> 文件。" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library debug symbols, co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 软件包" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "Required files under the <filename>debian</filename> directory" msgid "the shared library header files etc., co-installable" msgstr "<filename>debian</filename> 目录中的必须内容" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 软件包" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "foreign" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the run-time support programs, not co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 软件包" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "all" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library documentation files" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 软件包" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the compiled program files, not co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 软件包" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the documentation files for the program" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> #, fuzzy #| msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgid "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" msgstr "<systemitem role=\"package\">pbuilder</systemitem> 软件包" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the interpreted program files" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Please note that the development package should contain a symlink for the " "associated shared library <emphasis role=\"strong\">without a version " "number</emphasis>. E.g.: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</" "filename> -> <filename>libfoo.so.1</filename>" msgstr "" #. type: Content of: <book><appendix><section><title> #, fuzzy #| msgid "Building the package" msgid "Building a shared library package" msgstr "构建软件包" #. type: Content of: <book><appendix><section><para> #, fuzzy #| msgid "" #| "You can list files in the binary Debian package by <citerefentry> " #| "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </" #| "citerefentry> command." msgid "" "You can build a Debian library package enabling the multiarch support using " "<citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> as follows." msgstr "" "你可以使用 <citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 命令列出一个二进制 Debian 软件包中的文件。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>control</filename> file" msgid "Update <filename>debian/control</filename>." msgstr "<filename>control</filename> 文件" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgid "" "Add <literal>Build-Depends: debhelper (>=9)</literal> for the source package " "section." msgstr "<literal>3.0 (native)</literal> - Debian native 软件" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Pre-Depends: ${misc:Pre-Depends}</literal> for each shared " "library binary package." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> #, fuzzy #| msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgid "" "Add <literal>Multi-Arch:</literal> stanza for each binary package section." msgstr "<literal>3.0 (native)</literal> - Debian native 软件" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> #, fuzzy #| msgid "<filename>compat</filename> file" msgid "Set <filename>debian/compat</filename> to \"9\"." msgstr "<filename>compat</filename> 文件" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Adjust the path from the normal <literal>/usr/lib/</literal> to the " "multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> for all " "packaging scripts." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Call <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> in <filename>debian/rules</filename> to set " "<literal>DEB_HOST_MULTIARCH</literal> variable, first." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace <literal>/usr/lib/</literal> with <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> in <filename>debian/rules</filename>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively, you can add <literal>--libdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> and <literal>--libexecdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> arguments to <literal>./configure</" "literal>. Please note that <literal>--libexecdir</literal> specifies the " "default path to install executable programs run by other programs rather " "than by users. Its Autotools default is <filename>/usr/libexec/</filename> " "but its Debian default is <filename>/usr/lib/</filename>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If <literal>./configure</literal> is used in the part of " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>, make sure to replace it with <literal>dh_auto_configure -- " "</literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace all occurrences of <literal>/usr/lib/</literal> with <literal>/usr/" "lib/*/</literal> in <filename>debian/<replaceable>foo</replaceable>.install</" "filename> files." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Generate files like <filename>debian/<replaceable>foo</replaceable>.links</" "filename> from <filename>debian/<replaceable>foo</replaceable>.links.in</" "filename> dynamically by adding a script to " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "Please make sure to verify that the shared library package contains only the " "expected files, and that your -dev package still works." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "All files installed simultaneously as the multiarch package to the same file " "path should have exactly the same file content. You must be careful on " "differences generated by the data byte order and by the compression " "algorithm." msgstr "" #, fuzzy #~| msgid "Building the package" #~ msgid "Build release packages." #~ msgstr "构建软件包" #, fuzzy #~| msgid "<filename>dirs</filename> file" #~ msgid "<filename>/lib64/</filename>" #~ msgstr "<filename>dirs</filename> 文件" #, fuzzy #~| msgid "<filename>rules</filename> file" #~ msgid "<filename>/usr/lib64/</filename>" #~ msgstr "<filename>rules</filename> 文件" #, fuzzy #~| msgid "" #~| "install: gentoo-target\n" #~| " install ./gentoo $(BIN)\n" #~| " install icons/* $(ICONS)\n" #~| " install gentoorc-example $(HOME)/.gentoorc\n" #~ msgid "" #~ "install: gentoo-target\n" #~ "install ./gentoo $(BIN)\n" #~ "install icons/* $(ICONS)\n" #~ "install gentoorc-example $(HOME)/.gentoorc\n" #~ msgstr "" #~ "install: gentoo-target\n" #~ " install ./gentoo $(BIN)\n" #~ " install icons/* $(ICONS)\n" #~ " install gentoorc-example $(HOME)/.gentoorc\n" #, fuzzy #~| msgid "" #~| "Some people use invalid distribution values such as <literal>UNRELEASED</" #~| "literal> to prevent a package to be accidentally uploaded when updating " #~| "a package in a shared VCS." #~ msgid "" #~ "Some people use invalid distribution values such as <literal>UNRELEASED</" #~ "literal> to prevent a package being accidentally uploaded when updating a " #~ "package in a shared VCS." #~ msgstr "" #~ "有些人使用无效的发行版名称,如 <literal>UNRELEASED</literal> 以防止某些软" #~ "件包在共享的 VCS 中修改时被意外上传。" #, fuzzy #~| msgid "" #~| "These packages offer more elegant working environment than manual use of " #~| "the <command>quilt</command> commands for advanced audiences to " #~| "<emphasis>automate</emphasis> building of packages. I will not explain " #~| "them in this tutorial. <placeholder type=\"footnote\" id=\"0\"/>" #~ msgid "" #~ "For advanced audiences, there are packages which <emphasis>automate</" #~ "emphasis> the building of packages under a VCS-managed source tree. I " #~ "will not explain them in this tutorial. <placeholder type=\"footnote\" " #~ "id=\"0\"/>" #~ msgstr "" #~ "这些软件包为需要 <emphasis>自动化</emphasis> 编译软件包的资深打包人员提供" #~ "了相比于手工使用 <command>quilt</command> 命令更加整洁的工作环境,本文档里" #~ "不会对此进行更多叙述。<placeholder type=\"footnote\" id=\"0\"/>" #, fuzzy #~| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #~ msgid "" #~ "<ulink url=\"&debpkg-tutorial2;\">Practical session 2: Packaging GNUjump</" #~ "ulink>" #~ msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #, fuzzy #~| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #~ msgid "" #~ "<ulink url=\"&debpkg-tutorial3;\">Practical session 3: Packaging a Java " #~ "library</ulink>" #~ msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #~ msgid "" #~ "This assumes that the <systemitem role=\"package\">python-support</" #~ "systemitem> package is installed on the system." #~ msgstr "" #~ "此处默认 <systemitem role=\"package\">python-support</systemitem> 软件包已" #~ "经安装在系统中。" #, fuzzy #~| msgid "" #~| "Use <literal>dh $@</literal> as usual. (This is enabled by default)" #~ msgid "" #~ "Use <literal>dh $@</literal> as usual. (Use of <command>dh_pysupport</" #~ "command> is the default)" #~ msgstr "照常使用 <literal>dh $@</literal>。(它被默认启用)" #, fuzzy #~| msgid "" #~| "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" #~ msgid "" #~ "<ulink url=\"&git-buildpackage-doc;\">Building Debian Packages with git-" #~ "buildpackage</ulink>" #~ msgstr "" #~ "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" #, fuzzy #~| msgid "" #~| "Every <filename>rules</filename> file, as any other <filename>Makefile</" #~| "filename>, consists of several targets and their rules specifying how to " #~| "handle the source. <ulink url=\"&policy-debianrules;\">Debian Policy " #~| "Manual, 4.9 'Main building script: debian/rules'</ulink> explains its " #~| "details." #~ msgid "" #~ "Every <filename>rules</filename> file, as any other <filename>Makefile</" #~ "filename>, consists of several targets and their rules specifying how to " #~ "handle the source. <ulink url=\"&policy-debianrules;\">Debian Policy " #~ "Manual, 4.9 \"Main building script: debian/rules\"</ulink> explains its " #~ "details." #~ msgstr "" #~ "每个 <filename>rules</filename> 文件都和其他的 <filename>Makefile</" #~ "filename> 一样包含多个 target 和其中指定如何处理源代码的规则。<ulink url=" #~ "\"&policy-debianrules;\">Debian Policy Manual, 4.9 'Main building script: " #~ "debian/rules'</ulink> 中对此做出了详细解释。" #~ msgid "" #~ "Rules that you want to execute are invoked as command line arguments (for " #~ "example, <literal>./debian/rules build</literal> or <literal>fakeroot " #~ "make -f debian/rules binary</literal>). After the target name, you can " #~ "name the dependency, program or file that the rule depends on. After " #~ "that, there can be any number of commands, indented with " #~ "<literal><replaceable>TAB</replaceable></literal>. A new rule begins " #~ "with the target declaration in the first column. Empty lines and lines " #~ "beginning with <literal>#</literal> (hash) are treated as comments and " #~ "ignored." #~ msgstr "" #~ "你希望执行的 target 规则可以通过命令行参数的方式触发(例如 <literal>./" #~ "debian/rules build</literal> 或 <literal>fakeroot make -f debian/rules " #~ "binary</literal>)。target 名称后你可以添加其依赖的 target 或文件。此后是" #~ "以 <literal><replaceable>TAB</replaceable></literal> 开头的任意数量的名" #~ "录,每行一个。一个新的 target 则在行首顶格开始。空行和以 <literal>#</" #~ "literal> 开头的行将被视为注释而忽略。" #~ msgid "" #~ "This document will explain every little (at first maybe irrelevant) step, " #~ "and help you create that first package, and to gain some experience in " #~ "building next releases of that and maybe other packages later on." #~ msgstr "" #~ "本文档会讲述每一个细节(在开始时或许给人感觉毫不相关),并帮助你创建出自己的" #~ "第一个 Debian 软件包,从而使你学习到如何打包该软件的下一个版本或其他软件的" #~ "经验。" #~ msgid "Official Debian Developer" #~ msgstr "正式的 Debian Developer" #~ msgid "Basic terminology" #~ msgstr "基本术语" #~ msgid "There are two types of packages." #~ msgstr "一共有两种类型的软件包。" #~ msgid "" #~ "<emphasis role=\"strong\">source package</emphasis>: A source package is " #~ "a set of files which contain code and data which you can compile and " #~ "process into execution programs and formatted documents. It usually " #~ "comes as a combination of <filename>*.orig.tar.gz</filename>, <filename>*." #~ "debian.tar.gz</filename> (or <filename>*.diff.gz</filename>), and " #~ "<filename>*.dsc</filename>. Some other archive and compression methods " #~ "may be used, too." #~ msgstr "" #~ "<emphasis role=\"strong\">源代码包</emphasis>:源代码包包含了代码和数据," #~ "可以编译成为可执行的程序和格式化的文档。它通常是以 <filename>*.orig.tar." #~ "gz</filename>、<filename>*.debian.tar.gz</filename> (或 <filename>*.diff." #~ "gz</filename>) 和 <filename>*.dsc</filename> 的组合形式出现的。也可能使用" #~ "一些其他的格式和压缩方法。" #~ msgid "" #~ "<emphasis role=\"strong\">binary package</emphasis>: A binary package " #~ "contains execution programs and formatted documents. It usually comes as " #~ "<filename>*.deb</filename> for the normal Debian system and as " #~ "<filename>*.udeb</filename> for the Debian Installer." #~ msgstr "" #~ "<emphasis role=\"strong\">二进制包</emphasis>:二进制包包含了可执行的程序" #~ "和格式化的文档。它通常是以 <filename>*.deb</filename> 文件的形式提供给普" #~ "通 Debian 系统,以及 <filename>*.udeb</filename> 文件形式提供给 Debian 安" #~ "装程序。" #~ msgid "" #~ "Don't mix terms like source of the program and the source package of the " #~ "program!" #~ msgstr "不要混淆程序源代码和程序的源代码包这样相似但有区别的概念!" #, fuzzy #~| msgid "There are several version names used around Debian." #~ msgid "" #~ "There are several version names<placeholder type=\"footnote\" id=\"0\"/> " #~ "used around Debian." #~ msgstr "Debian 中使用了几种不同的版本号。" #~ msgid "" #~ "<emphasis role=\"strong\">upstream source version</emphasis>: The " #~ "upstream source version is referred as <literal><replaceable>version</" #~ "replaceable></literal>." #~ msgstr "" #~ "<emphasis role=\"strong\">上游源代码版本</emphasis>:上游源代码版本被指代" #~ "为 <literal><replaceable>version</replaceable></literal>。" #~ msgid "" #~ "<emphasis role=\"strong\">Debian revision</emphasis>: The revision by " #~ "Debian on package is referred as <literal><replaceable>revision</" #~ "replaceable></literal>." #~ msgstr "" #~ "<emphasis role=\"strong\">Debian 版本</emphasis>:Debian 软件包的版本被指" #~ "代为 <literal><replaceable>revision</replaceable></literal>。" #~ msgid "" #~ "<emphasis role=\"strong\">Debian package version</emphasis>: The Debian " #~ "package version is referred as the following." #~ msgstr "" #~ "<emphasis role=\"strong\">Debian 软件包版本</emphasis>:Debian 软件包版本" #~ "被按以下规则指代。" #~ msgid "" #~ "<literal><replaceable>version</replaceable></literal> for the native " #~ "Debian binary package and for the Debian source package." #~ msgstr "" #~ "对于 Debian 创建的软件,其源代码包的版本即为上文所述的 " #~ "<literal><replaceable>version</replaceable></literal>。" #~ msgid "" #~ "<literal><replaceable>version</replaceable>-<replaceable>revision</" #~ "replaceable></literal> for the non-native Debian binary package." #~ msgstr "" #~ "对于不是 Debian 创建的软件,其源代码包的版本为 " #~ "<literal><replaceable>version</replaceable>-<replaceable>revision</" #~ "replaceable></literal>。" #, fuzzy #~| msgid "<filename>changelog</filename> file" #~ msgid "files in <filename>/usr/share/doc/dpkg</filename>" #~ msgstr "<filename>changelog</filename> 文件" #, fuzzy #~| msgid "Other files under the <filename>debian</filename> directory" #~ msgid "files in <filename>/usr/share/doc/debian</filename>" #~ msgstr "<filename>debian</filename> 目录下的其他文件" #, fuzzy #~| msgid "<filename>source/local-options</filename> file" #~ msgid "files in <filename>/usr/share/doc/autotools-dev</filename>" #~ msgstr "<filename>source/local-options</filename> 文件" #~ msgid "" #~ "That program should result in binary executable form, libraries are " #~ "harder to handle." #~ msgstr "程序应当最终以二进制可执行程序的形式呈现,库则较难处理。" #~ msgid "Free portable programs" #~ msgstr "自由的可移植程序" #, fuzzy #~| msgid "" #~| "See <ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and " #~| "<filename>/usr/share/doc/autotools-dev/README.Debian.gz</filename>." #~ msgid "" #~ "See <ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and " #~ "<ulink url=\"&autotools-readme;\"/>." #~ msgstr "" #~ "参看 <ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> 和 " #~ "<filename>/usr/share/doc/autotools-dev/README.Debian.gz</filename>。" #~ msgid "" #~ "For the package to be built correctly, you must make the program's " #~ "original name lowercase (if it isn't already), and you should move the " #~ "source directory to <filename><replaceable>packagename</replaceable>-" #~ "<replaceable>version</replaceable></filename>." #~ msgstr "" #~ "为了让软件包可以正确地编译和构建,如果程序原有的名字不是完全小写的则必须将" #~ "其改成小写,并且应当把源代码以 <filename><replaceable>packagename</" #~ "replaceable>-<replaceable>version</replaceable></filename> 的形式命名。" #~ msgid "" #~ "If the program name consists of more than one word, contract them to one " #~ "word, or make an abbreviation. For example, program John's little editor " #~ "for X package would be named <systemitem role=\"package\">johnledx</" #~ "systemitem>, or <systemitem role=\"package\">jle4x</systemitem>, or " #~ "whatever you decide, as long as it's under some reasonable limit, e.g. " #~ "20 characters." #~ msgstr "" #~ "如果程序的名称超过一个单词,把它改成一个单词或缩写成合适的形式。例如,程" #~ "序“John's little editor for X”可以命名为 <systemitem role=\"package" #~ "\">johnledx</systemitem> 或 <systemitem role=\"package\">jle4x</" #~ "systemitem>,或者随便你认为合适的其他名字。它需要符合一定的限制,比如长度" #~ "不要超过 20 和字符。" #~ msgid "" #~ "Version string can be compared by <literal>dpkg --compare-versions " #~ "<replaceable>ver1</replaceable> <replaceable>op</replaceable> " #~ "<replaceable>ver2</replaceable></literal>. See <citerefentry> " #~ "<refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> </" #~ "citerefentry> manpage." #~ msgstr "" #~ "Version 字符串可以用 <literal>dpkg --compare-versions <replaceable>ver1</" #~ "replaceable> <replaceable>op</replaceable> <replaceable>ver2</" #~ "replaceable></literal> 命令比较。参看 <citerefentry> <refentrytitle>dpkg</" #~ "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> man 手册页。" #~ msgid "" #~ "Also check for the exact version of the program (to be included in the " #~ "package version). If that piece of software is not numbered with " #~ "versions like <literal>X.Y.Z</literal>, but with some kind of date, feel " #~ "free to use that date as the version number, as long as newer version " #~ "numbers will look larger. While it is best to use the same version " #~ "number as what upstream uses, if it is in the format of <literal>09Oct23</" #~ "literal> you may need to convert it to <literal>YYYYMMDD</literal> " #~ "format, which would be <literal>20091023</literal>, to ensure proper " #~ "order for upgrade with the <command>dpkg</command> program.<placeholder " #~ "type=\"footnote\" id=\"0\"/>" #~ msgstr "" #~ "还要检查程序的版本号,它将被包含到软件包版本内。如果手中的软件版本号不是 " #~ "<literal>X.Y.Z</literal> 的形式,而是使用日期等形式。那么可以继续使用日期" #~ "来作为版本号,只要新版本程序的版本号能变得比老板本大即可。最好能与上游使用" #~ "相同的版本号,如果上游使用了诸如 <literal>09Oct23</literal> 的格式,那么最" #~ "好将其转换为 <literal>YYYYMMDD</literal> 的格式,此例中为 " #~ "<literal>20091023</literal>,以便保证 <command>dpkg</command> 程序在更新软" #~ "件时能正确处理新旧版本。<placeholder type=\"footnote\" id=\"0\"/>" #~ msgid "" #~ "Some programs won't be numbered at all, in which case you should contact " #~ "the upstream maintainer to see if they've got some other revision-" #~ "tracking method." #~ msgstr "" #~ "还有一些程序根本就没有版本号,这是你应该联系上游维护者,看他们是否使用了其" #~ "他的版本跟踪方法。" #~ msgid "" #~ "Let's make an initial Debian package by issuing the <command>dh_make</" #~ "command> command as follows." #~ msgstr "" #~ "让我们按照以下方法使用 <command>dh_make</command> 来初始化 Debian 软件包。" #~ msgid "" #~ "$ . ~/.bashrc\n" #~ "$ cd ~/gentoo/gentoo-0.9.12\n" #~ "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #~ msgstr "" #~ "$ . ~/.bashrc\n" #~ "$ cd ~/gentoo/gentoo-0.9.12\n" #~ "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #~ msgid "" #~ "It's not too hard, but it does require a bit more knowledge, so we won't " #~ "describe all of it here." #~ msgstr "" #~ "它们并非特别难于掌握,但确实需要更多的知识,所以我们不在这里对所有情况进行" #~ "描述。" #~ msgid "" #~ "But why in that directory, and not some other? Because Debian packages " #~ "never install files beneath <filename>/usr/local</filename> -- that tree " #~ "is reserved for the system administrator's use. Such files on Debian " #~ "systems go under <filename>/usr</filename> instead." #~ msgstr "" #~ "为什么要放在那个目录,而非其他的呢?因为 Debian 软件包从不在 <filename>/" #~ "usr/local</filename> 下安装文件——那是保留给系统管理员使用的。在 Debian 中" #~ "这些文件被直接放入 <filename>/usr</filename>。" #~ msgid "Be careful that you don't mess up the rest of the code! :-)" #~ msgstr "小心不要弄乱其他部分的代码! :-)" #~ msgid "" #~ "The author realizes that this is not the best example considering our " #~ "<systemitem role=\"package\">libncurses</systemitem> package now ships " #~ "with a <filename>libcurses.so</filename> symlink, but he couldn't think " #~ "of a better one. Suggestions very welcome :-)" #~ msgstr "" #~ "作者已经意识到这不是一个最好的例子,因为我们的 <systemitem role=\"package" #~ "\">libncurses</systemitem> 软件包现在提供了一个 <filename>libcurses.so</" #~ "filename> 的符号链接,但作者还没有想出更好的例子。非常欢迎提出建议 :-)" #~ msgid "LIBS = -lcurses -lsomething -lsomethingelse\n" #~ msgstr "LIBS = -lcurses -lsomething -lsomethingelse\n" #~ msgid "" #~ "Let's fix this as <filename>debian/patches/ncurse.patch</filename> by " #~ "changing <literal>curses</literal> into <literal>ncurses</literal>." #~ msgstr "" #~ "我们将这个补丁命名为 <filename>debian/patches/ncurse.patch</filename>,内" #~ "容是把 <literal>curses</literal> 改为 <literal>ncurses</literal>。" #~ msgid "" #~ "For sources using Autotools, use combination of above as <literal>dh --" #~ "with autotools-dev --with autoreconf $@</literal> to be most current with " #~ "the GNU Build System." #~ msgstr "" #~ "对于使用 Autotools 的源代码,使用 <literal>dh --with autotools-dev --with " #~ "autoreconf $@</literal> 让其使用最新的 GNU 编译系统。" #~ msgid "" #~ "<filename>cron.monthly</filename> - Installed as <filename>/etc/cron." #~ "monthly/<replaceable>package</replaceable></filename>: run once a month, " #~ "usually early morning on the first of the month." #~ msgstr "" #~ "<filename>cron.monthly</filename> - 安装为 <filename>/etc/cron.monthly/" #~ "<replaceable>package</replaceable></filename>:每月运行一次,通常在该月第" #~ "一天的早晨。" #~ msgid "src/foo/mybin usr/bin\n" #~ msgstr "src/foo/mybin usr/bin\n" #~ msgid "" #~ "Although I used Bash short hand expression to indicate these files as " #~ "<filename>{post|pre}{inst|rm}</filename> here, I recommend you to use " #~ "pure POSIX (non-Bash) shell for these <emphasis>maintainer scripts</" #~ "emphasis> as much as possible for the better compatibility." #~ msgstr "" #~ "尽管我使用了 Bash 短表达式在此处指出这些文件是 <filename>{post|pre}{inst|" #~ "rm}</filename>,但仍然建议你在这些 <emphasis>maintainer scripts</" #~ "emphasis> 中尽可能地使用纯粹的 POSIX (非 Bash)脚本来提供最佳的兼容性。" #~ msgid "Here's what I put in it:" #~ msgstr "以下是我写入的内容:" #, fuzzy #~| msgid "" #~| "The only input that will be required of you is your GPG secret pass " #~| "phrase, twice." #~ msgid "" #~ "The only input that will be required of you is your GPG secret pass " #~ "phrase, twice. <placeholder type=\"footnote\" id=\"0\"/>" #~ msgstr "这个过程中你需要做的就是输入两次你的 GPG 私钥密码。" #~ msgid "" #~ "This can be done by specifying <literal>-v</literal> option to the " #~ "package building programs such as <command>dpkg-buildpackage</command>, " #~ "<command>debuild</command>, <command>pdebuild</command>, etc." #~ msgstr "" #~ "这可以通过传递 <literal>-v</literal> 选项给例如 <command>dpkg-" #~ "buildpackage</command>、<command>debuild</command>、<command>pdebuild</" #~ "command> 等软件构建程序来完成。" #~ msgid "" #~ "In the <systemitem role=\"package\">cdbs</systemitem> (0.4.74) package, " #~ "there are some negative descriptions of the <filename>rules</filename> " #~ "file created by the <command>dh_make</command> command for the non-" #~ "<systemitem role=\"package\">cdbs</systemitem> choices. Do not worry " #~ "about it. It applies only for <literal>lenny</literal> which created " #~ "explicit targets with long list of <command>dh_*</command> commands." #~ msgstr "" #~ "在 <systemitem role=\"package\">cdbs</systemitem> (0.4.74)软件包中有一些对" #~ "于 <command>dh_make</command> 创建的非 <systemitem role=\"package\">cdbs</" #~ "systemitem> 的 <filename>rules</filename> 文件的消极描述。不要担心它们,它" #~ "们仅是针对于 <literal>lenny</literal> 中需要列出大串的 <command>dh_*</" #~ "command> 命令而言的。" #~ msgid "<firstname>Josip</firstname> <surname>Rodin</surname>" #~ msgstr "<firstname>Josip</firstname> <surname>Rodin</surname>" #~ msgid "<firstname>Osamu</firstname> <surname>Aoki</surname>" #~ msgstr "<firstname>Osamu</firstname> <surname>Aoki</surname>" #, fuzzy #~| msgid "New Debian revision" #~ msgid "How Debian functions" #~ msgstr "新的 Debian 版本" #, fuzzy #~| msgid "There are several role names used around Debian." #~ msgid "Here are my reminders on how Debian functions." #~ msgstr "在 Debian 社区中有几个常见的角色。" #, fuzzy #~| msgid "" #~| "The <systemitem role=\"package\">gentoo</systemitem> package uses the " #~| "GNU build system, also known as the Autotools. See <ulink url=\"&gnu-" #~| "build-system;\">&gnu-build-system;</ulink>." #~ msgid "" #~ "The <systemitem role=\"package\">gentoo</systemitem> package uses the " #~ "<ulink url=\"&gnu-build-system;\">GNU build system</ulink>, also known as " #~ "the Autotools." #~ msgstr "" #~ "<systemitem role=\"package\">gentoo</systemitem> 软件包使用 GNU 编译系统," #~ "又称 Autotools。参看 <ulink url=\"&gnu-build-system;\">&gnu-build-system;" #~ "</ulink>" #~ msgid "" #~ "The last feature you need to know about is <literal>${shlibs:Depends}</" #~ "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" #~ "literal>, etc. These entries are substituted by the list generated by " #~ "other <systemitem role=\"package\">debhelper</systemitem> components when " #~ "the <citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> " #~ "<manvolnum>1</manvolnum> </citerefentry> command is executed." #~ msgstr "" #~ "你应当知道的最后一个特性是关于 <literal>${shlibs:Depends}</literal>、" #~ "<literal>${perl:Depends}</literal>、<literal>${misc:Depends}</literal> " #~ "等。这些条目的值会由 <systemitem role=\"package\">debhelper</systemitem> " #~ "的其他组件在 <citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> " #~ "<manvolnum>1</manvolnum> </citerefentry> 运行时生成。" #, fuzzy #~| msgid "" #~| "See <ulink url=\"&mentors-dn;cgi-bin/welcome\">mentors.debian.net</" #~| "ulink> for publically accessible upload area for non-DD." #~ msgid "" #~ "See <ulink url=\"&mentors-dn;\"/> for publically accessible upload area " #~ "for non-DD." #~ msgstr "" #~ "查看 <ulink url=\"&mentors-dn;cgi-bin/welcome\">mentors.debian.net</" #~ "ulink> 来了解对于非 Debian Developer 可用的公共上传位置。" #~ msgid "" #~ "See <ulink url=\"&debref-archive;\">Debian Reference, 2.7.12. 'Small " #~ "public package archive'</ulink> for an example for creating a small " #~ "public package archive compatible with the modern secure APT system." #~ msgstr "" #~ "访问 <ulink url=\"&debref-archive;\">Debian Reference, 2.7.12. 'Small " #~ "public package archive'</ulink> 来查看一个创建与现代的安全 APT 系统兼容的" #~ "公共软件包仓库的例子。" #~ msgid "" #~ "If you still have questions about packaging that you couldn't find " #~ "answers to in the available documentation and web resources, you can ask " #~ "them on the Debian Mentors' mailing list at <ulink url=\"&debian-mentors-" #~ "ldo;\">debian-mentors@lists.debian.org</ulink>. The more experienced " #~ "Debian developers will gladly help you, but do read at least some of the " #~ "documentation before asking a question!" #~ msgstr "" #~ "如果在所有可用的文档和在线资源中都无法找到答案,你可以在 Debian Mentors 邮" #~ "件列表询问(<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists." #~ "debian.org</ulink>)。在那里会有经验更加丰富的 Debian 开发人员帮助你,但在" #~ "发问前请确定要阅读已有的文档!" #~ msgid "" #~ "If you still have questions, ask on the Debian Developers' mailing list " #~ "at <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org</" #~ "ulink>. See <ulink url=\"&debian-devel-ldo;\">&debian-devel-ldo;</ulink> " #~ "for more information about this mailing list." #~ msgstr "" #~ "如果仍然不能解决所有的问题,则到 Debian Developers 邮件列表询问(<ulink " #~ "url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org</ulink>)。关于此" #~ "邮件列表,参看 <ulink url=\"&debian-devel-ldo;\">&debian-devel-ldo;</" #~ "ulink>" #~ msgid "" #~ "You can also check package information through <ulink url=\"&packages-do;" #~ "\">package search page</ulink> and <ulink url=\"&packages-qa-do;\">Debian " #~ "Package Tracking System</ulink>." #~ msgstr "" #~ "你还可以通过 <ulink url=\"&packages-do;\">软件包搜索页面</ulink> 和 " #~ "<ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> " #~ "(Debian 软件包跟踪系统,PTS)查询软件包信息。" #~ msgid "" #~ "Several different views of orphaned or RFA'ed packages are available at:" #~ msgstr "有几种查看 RFA 软件包的方法:" #~ msgid "" #~ "You can disable this configuration by starting the <command>quilt</" #~ "command> command as <literal>quilt --quiltrc /dev/null ...</literal>." #~ msgstr "" #~ "你可以通过 <literal>quilt --quiltrc /dev/null ...</literal> 来运行 " #~ "<command>quilt</command> 来禁用此配置文件。" #~ msgid "This is what the dependencies mean:" #~ msgstr "以下是各种依赖关系的含义:" #~ msgid "" #~ "Section | Description | Notes\n" #~ " 1 User commands Executable commands or scripts.\n" #~ " 2 System calls Functions provided by the kernel.\n" #~ " 3 Library calls Functions within system libraries.\n" #~ " 4 Special files Usually found in /dev\n" #~ " 5 File formats E.g. /etc/passwd's format\n" #~ " 6 Games Or other frivolous programs\n" #~ " 7 Macro packages Such as man macros.\n" #~ " 8 System administration Programs typically only run by root.\n" #~ " 9 Kernel routines Non-standard calls and internals.\n" #~ msgstr "" #~ "章节 | 描述 | 注释\n" #~ " 1 用户命令 可执行命令或脚本。\n" #~ " 2 系统调用 内核提供的函数。\n" #~ " 3 函数库调用 系统库提供的函数。\n" #~ " 4 特殊文件 常见于 /dev\n" #~ " 5 文件格式 例如 /etc/passwd 的格式。\n" #~ " 6 游戏 游戏或其他无足轻重的程序。\n" #~ " 7 宏包 例如 man 宏。\n" #~ " 8 系统管理 典型由 root 运行的程序。\n" #~ " 9 内核函数 非标准调用和内部控制结构。\n" #~ msgid "" #~ "There were a major reorganization of menu structure for <literal>squeeze</" #~ "literal>." #~ msgstr "<literal>squeeze</literal> 的列表和以前的有了较大的调整。" #~ msgid "" #~ "<systemitem role=\"package\">topgit</systemitem>: a Git patch queue " #~ "manager" #~ msgstr "" #~ "<systemitem role=\"package\">topgit</systemitem>:一个 Git 补丁队列管理" #~ "器。" #~ msgid "" #~ "<ulink url=\"http://git.debian.org/?p=collab-maint/topgit.git;" #~ "a=blob_plain;f=debian/HOWTO-tg2quilt;hb=HEAD\">Using TopGit to generate " #~ "quilt series for Debian packaging</ulink>" #~ msgstr "" #~ "<ulink url=\"http://git.debian.org/?p=collab-maint/topgit.git;" #~ "a=blob_plain;f=debian/HOWTO-tg2quilt;hb=HEAD\">Using TopGit to generate " #~ "quilt series for Debian packaging</ulink>" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/ca.ent������������������������������������������������������������������������0000644�0000000�0000000�00000001754�12256550103�012407� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- This is UTF-8 file. Remember, the *first* definition of an entity wins. --> <!ENTITY othercredit ' <othercredit role="translator"><personname>Innocent De Marchi</personname><email>tangram.peces@gmail.com</email><contrib>Traducció al català</contrib></othercredit> '> <!-- overwrite Wikipiédia links available in Spanish --> <!ENTITY autoconf "http://ca.wikipedia.org/wiki/Autoconf"> <!ENTITY automake "http://es.wikipedia.org/wiki/Automake"> <!ENTITY cmake "http://es.wikipedia.org/wiki/CMake"> <!ENTITY c-program "http://ca.wikipedia.org/wiki/Llenguatge_C"> <!ENTITY cxx "http://ca.wikipedia.org/wiki/C++"> <!ENTITY gettext "http://ca.wikipedia.org/wiki/Gettext"> <!ENTITY gnu-build-system "http://es.wikipedia.org/wiki/Autotools"> <!ENTITY libtool "http://es.wikipedia.org/wiki/GNU_Libtool"> <!ENTITY elf "http://es.wikipedia.org/wiki/Executable_and_Linkable_Format"> <!ENTITY library "http://ca.wikipedia.org/wiki/Llibreria_informàtica"> <!ENTITY utf8 "http://ca.wikipedia.org/wiki/UTF-8"> ��������������������maint-guide-1.2.32/po/en.tex������������������������������������������������������������������������0000644�0000000�0000000�00000000017�12256550103�012427� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\hyphenation{} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/fr.ent������������������������������������������������������������������������0000644�0000000�0000000�00000003440�12256550103�012425� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- This is UTF-8 file. Remember, the *first* definition of an entity wins. --> <!ENTITY othercredit ' <othercredit role="translation"><personname>Frédéric Dumont</personname><email>frederic.dumont@easynet.be</email><contrib>traduction française</contrib></othercredit> <othercredit role="translation"><personname>Mohammed Adnène Trojette</personname><email>adn+deb@diwi.org</email><contrib>traduction française</contrib></othercredit> <othercredit role="translation"><personname>David Prévot</personname><email>david@tilapin.org</email><contrib>traduction française</contrib></othercredit> <othercredit role="translation"><personname>les membres de la liste debian-l10n-french</personname><email>debian-l10n-french@lists.debian.org</email><contrib>traduction française</contrib></othercredit> '> <!-- overwrite Wikipiédia links available in French --> <!ENTITY autoconf "http://fr.wikipedia.org/wiki/Autoconf"> <!ENTITY automake "http://fr.wikipedia.org/wiki/GNU_Automake"> <!ENTITY cmake "http://fr.wikipedia.org/wiki/CMake"> <!ENTITY c-program "http://fr.wikipedia.org/wiki/C_(langage)"> <!ENTITY cxx "http://fr.wikipedia.org/wiki/C++"> <!ENTITY elf "http://fr.wikipedia.org/wiki/Executable_and_Linkable_Format"> <!ENTITY gettext "http://fr.wikipedia.org/wiki/GNU_gettext"> <!ENTITY gnu-build-system "http://fr.wikipedia.org/wiki/Autotools"> <!ENTITY library "http://fr.wikipedia.org/wiki/Bibliothèque_logicielle"> <!ENTITY libtool "http://fr.wikipedia.org/wiki/GNU_Libtool"> <!ENTITY utf8 "http://fr.wikipedia.org/wiki/UTF-8"> <!-- overwrite Debian Wiki links available in French --> <!ENTITY debianwikihelp "http://wiki.debian.org/fr/HelpDebian"> <!-- The Developers' Reference is also available in French --> <!ENTITY developers-refpdf "/usr/share/doc/developers-reference-fr/developers-reference.pdf"> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/ru.ent������������������������������������������������������������������������0000644�0000000�0000000�00000000430�12256550104�012441� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- This is UTF-8 file. Remember, the *first* definition of an entity wins. --> <!ENTITY othercredit ' <othercredit role="translator"><personname>L10N-russian</personname><email>debian-l10n-russian@lists.debian.org</email><contrib>Russian Translation</contrib></othercredit> '> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/ca.po�������������������������������������������������������������������������0000644�0000000�0000000�00002100537�12262517545�012252� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# maint-guide translation to Catalan # Copyright (C) 2010 Software in the Public Interest # This file is distributed under the same license as the maint-guide package. # # Changes: # - Initial translation # Innocent De Marchi <tangram.peces@gmail.com> 2010 # # - Updates # Innocent De Marchi <tangram.peces@gmail.com> 2010-2013 # msgid "" msgstr "" "Project-Id-Version: maint-guide 1.116\n" "POT-Creation-Date: 2014-01-06 00:00+0900\n" "PO-Revision-Date: 2014-01-05 22:00+0100\n" "Last-Translator: Innocent De Marchi <tangram.peces@gmail.com>\n" "Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.4\n" #. type: Attribute 'lang' of: <book> msgid "en" msgstr "ca" #. type: Content of: <book><title> msgid "Debian New Maintainers' Guide" msgstr "Guia del nou desenvolupador de Debian" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Josip Rodin" msgstr "Josip Rodin" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "joy-mg@debian.org" msgstr "joy-mg@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "original contents" msgstr "continguts originals" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Osamu Aoki" msgstr "Osamu Aoki" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "osamu@debian.org" msgstr "osamu@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "updated contents" msgstr "continguts actualitzats" #. type: Content of: <book><bookinfo><releaseinfo> msgid "version &docversion;" msgstr "Version &docversion;" #. type: Content of: <book><bookinfo> msgid "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" msgstr "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "" "This document may be used under the terms the GNU General Public License " "version 2 or higher." msgstr "" "Aquest document es publica amb llicència pública GNU versió 2 o posterior." #. type: Content of: <book><bookinfo><legalnotice><para> msgid "This document was made using these two documents as examples:" msgstr "" "Aquest document s'ha escrit fent servir aquest dos documents com a exemples:" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." msgstr "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." msgstr "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." #. type: Content of: <book><chapter><title> msgid "Getting started The Right Way" msgstr "Començant correctament." #. type: Content of: <book><chapter><para> msgid "" "This document tries to describe the building of a Debian package to ordinary " "Debian users and prospective developers. It uses fairly non-technical " "language, and it's well covered with working examples. There is an old " "Latin saying: <emphasis>Longum iter est per praecepta, breve et efficax per " "exempla</emphasis> (It's a long way by the rules, but short and efficient " "with examples)." msgstr "" "Aquest document descriurà com es construeix un paquet Debian GNU/Linux per a " "un usuari comú Debian i per a futurs desenvolupadors, fent servir un " "llenguatge informal i incloent molts exemples. Un antic dit romà diu " "<emphasis>Longum iter est per preaecepta, breve et efficax per exempla!</" "emphasis> («És un llarg camí amb les normes, però curt i eficient amb els " "exemples»)." #. type: Content of: <book><chapter><para><footnote><para> msgid "" "The document assumes you are using a <literal>&base-release;</literal> or " "newer system. If you need to follow this text in an older system (including " "an older Ubuntu system etc.), you must install backported <systemitem role=" "\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</" "systemitem> packages, at least." msgstr "" "En el document s'assumeix que fas servir la versió <literal>&base-release;</" "literal>. Si vols fer servir aquest document amb versions anteriors " "(incloses sistemes Ubuntu i d'altres), cal que tenguis instal·lats (com a " "mínim) els paquets <systemitem role=\"package\">dpkg</systemitem> i " "<systemitem role=\"package\">debhelper</systemitem> ." #. type: Content of: <book><chapter><para> msgid "" "This document has been updated for the Debian <literal>&base-release;</" "literal> release. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Aquest document està actualitzat a la versió <literal>&base-release;</" "literal> de Debian <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><para><footnote><para> msgid "" "You can learn about the basic handling of a Debian system from the <ulink " "url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to " "learn about Unix programming, too." msgstr "" "Podràs aprendre les operacions bàsiques dels sistemes Debian a <ulink url=" "\"&debref;\">Debian Reference</ulink>. També s'expliquen alguns aspectes de " "la programació en sistemes Unix." #. type: Content of: <book><chapter><para> msgid "" "One of the things that makes Debian such a top-notch distribution is its " "package system. While there is a vast quantity of software already in the " "Debian format, sometimes you need to install software that isn't. You may " "be wondering how you can make your own packages; and perhaps you think it is " "a very difficult task. Well, if you are a real novice on Linux, it is hard, " "but if you were a rookie, you wouldn't be reading this document " "now :-) You do need to know a little about Unix programming but you " "certainly don't need to be a wizard. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Una de les característiques que fan de Debian una de les distribucions més " "importants del mercat és el seu sistema de paquets. Tot i què hi ha una " "gran quantitat de programes disponibles en paquets de Debian, de vegades " "pots haver de fer servir programes que no estan disponibles en aquest " "format. Pot ésser que et demanis com construir els teus paquets i que " "pensis que és una tasca difícil. Bé doncs, si ets un principiant en GNU/" "Linux, pot ésser difícil, però si acabes de començar amb aquest sistema, no " "és recomanable que comencis per aquí :-). Cal saber algunes coses sobre " "programació en Unix, tot i què no és necessari ésser un mestre <placeholder " "type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><para> msgid "" "One thing is certain, though: to properly create and maintain Debian " "packages takes many hours. Make no mistake, for our system to work the " "maintainers need to be both technically competent and diligent." msgstr "" "Tot i així, una cosa és del tot segura: per construir i fer el manteniment " "de paquets Debian adequadament, calen moltes hores. Per a què el nostre " "sistema no tengui errors, cal que els nostres desenvolupadors siguin " "tècnicament competents." #. type: Content of: <book><chapter><para> msgid "" "If you need some help on packaging, please read <xref linkend=\"helpme\"/>." msgstr "" "Si vols més informació sobre la construcció de paquets, llegeix <xref " "linkend=\"helpme\"/>." #. type: Content of: <book><chapter><para> msgid "" "Newer versions of this document should always be available online at <ulink " "url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</" "systemitem> package. The translations may be available in packages such as " "<systemitem role=\"package\">maint-guide-es</systemitem>. Please note that " "this documentation may be slightly outdated." msgstr "" "Les noves versions d'aquest document es publiquen a <ulink url=\"&maint-" "guide;\"/> i en el paquet <systemitem role=\"package\">maint-guide</" "systemitem>. Les traduccions es poden aconseguir en els paquets del tipus " "<systemitem role=\"package\">maint-guide-ca</systemitem>. Teniu en compte " "que les traduccions poden estar sense actualitzar." #. type: Content of: <book><chapter><para> msgid "" "Since this is a tutorial, I choose to explain each detailed step for some " "important topics. Some of them may look irrelevant to you. Please be " "patient. I have also intentionally skipped some corner cases and provided " "only pointers to keep this document simple." msgstr "" "Com es tracta d'un tutorial, he decidit explicar detalladament cada etapa " "dels temes importants. Alguns d'ells poden semblar-te irrellevants. Sigues " "pacient. També he omès intencionadament alguns casos extrems i sempre " "punters només per mantenir senzill aquest document." #. type: Content of: <book><chapter><section><title> msgid "Social dynamics of Debian" msgstr "Dinamisme social a Debian" #. type: Content of: <book><chapter><section><para> msgid "" "Here are some observations of Debian's social dynamics, presented in the " "hope that it will prepare you for interactions with Debian." msgstr "" "Aquest és un recull de les meves observacions sobre la interacció social a " "Debian: espero que t'ajudin en la teva interacció amb Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "We all are volunteers." msgstr "Tots som voluntaris." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You cannot impose on others what to do." msgstr "No podeu imposar als altres el que s'ha de fer." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be motivated to do things by yourself." msgstr "Cal estar motivat per fer les coses per tu mateix." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Friendly cooperation is the driving force." msgstr "La cooperació amistosa és la força motriu." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution should not overstrain others." msgstr "La teva contribució no ha de sobre-esforçar als altres." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution is valuable only when others appreciate it." msgstr "La teva contribució és valuosa només quan els altres t'ho agraeixen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Debian is not your school where you get automatic attention of teachers." msgstr "" "Debian no és la teva escola on automàticament reps atenció dels docents." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be able to learn many things by yourself." msgstr "Cal ésser capaç d'aprendre moltes coses per un mateix." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Attention from other volunteers is a very scarce resource." msgstr "L'atenció d'altres voluntaris és un recurs molt escàs." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Debian is constantly improving." msgstr "Debian millora contínuament." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You are expected to make high quality packages." msgstr "S'espera que construeixis paquets d'alta qualitat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should adapt yourself to change." msgstr "Cal adaptar-se al canvi." #. type: Content of: <book><chapter><section><para> msgid "" "There are several types of people interacting around Debian with different " "roles." msgstr "" "En el desenvolupament i manteniment de Debian, es fan servir les següents " "expressions per referir-se a les persones implicades en la construcció i " "manteniment dels programes i paquets:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream author</emphasis>: the person who made " "the original program." msgstr "" "<emphasis role=\"strong\">autor original</emphasis> («upstream author»): és " "la persona que ha escrit el codi original del programa (o l'original del " "document en el cas de paquets de documentació)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who " "currently maintains the program." msgstr "" "<emphasis role=\"strong\">desenvolupador original</emphasis> («upstream " "maintainer»): la persona actualment responsable del manteniment del codi " "original." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">maintainer</emphasis>: the person making the " "Debian package of the program." msgstr "" "<emphasis role=\"strong\">empaquetador (desenvolupador)</emphasis> " "(«maintainer»): la persona encarregada de la construcció i actualització " "dels paquets per a Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">sponsor</emphasis>: a person who helps maintainers " "to upload packages to the official Debian package archive (after checking " "their contents)." msgstr "" "<emphasis role=\"strong\">patrocinador</emphasis> («sponsor»): la persona " "(cal que sigui un DD o DM) que transfereix els paquets construïts pels " "desenvolupadors al repositori de Debian després de comprovar que el paquet " "s'ajusta a las normes de Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">mentor</emphasis>: a person who helps novice " "maintainers with packaging etc." msgstr "" "<emphasis role=\"strong\">mentor</emphasis>: la persona que ajuda als " "desenvolupadors principiants a iniciar-se en la construcció i manteniment " "del paquet." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): a member of the " "Debian project with full upload rights to the official Debian package " "archive." msgstr "" "<emphasis role=\"strong\">desenvolupador de Debian (DD)</emphasis> («Debian " "Developer»): la persona que es membre de Debian. Té autorització (sense " "limitacions) per transferir paquets al repositori oficial de Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): a person with " "limited upload rights to the official Debian package archive." msgstr "" "<emphasis role=\"strong\">empaquetador/responsable de Debian (DM)</" "emphasis>(«Debian Maintainer»): la persona amb autorització limitada per " "transferir paquets al repositori oficial de Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you cannot become an official <emphasis role=\"strong" "\">Debian Developer</emphasis> (DD) overnight, because it takes more than " "technical skill. Please do not be discouraged by this. If it is useful to " "others, you can still upload your package either as a <emphasis role=\"strong" "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</" "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>." msgstr "" "No és possible arribar a ésser <emphasis role=\"strong\">desenvolupador " "oficial de Debian</emphasis> (DD) de la nit al dia degut a què no és " "suficient ésser tècnicament competent. Cal no desanimar-se per això. Pots " "aconseguir que el teu paquet passi al repositori, si és d'utilitat als " "usuaris, com a <emphasis role=\"strong\">responsable</emphasis> mitjançant " "un <emphasis role=\"strong\">patrocinador</emphasis> o un <emphasis role=" "\"strong\">responsable de Debian</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you do not need to create any new package to become an " "official Debian Developer. Contributing to the existing packages can " "provide a path to becoming an official Debian Developer too. There are many " "packages waiting for good maintainers (see <xref linkend=\"choose\"/>)." msgstr "" "No és necessari construir un nou paquet per ésser desenvolupador oficial de " "Debian. Una opció és contribuir en el manteniment d'algun dels paquets de " "la distribució. Hi ha molts paquets pendents d'algú que s'en faci càrrec " "(consulta <xref linkend=\"choose\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "Since we focus only on technical aspects of packaging in this document, " "please refer to the following to learn how Debian functions and how you can " "get involved." msgstr "" "Com que ens concentrem només en els aspectes tècnics dels paquets en el " "present document, consulta el següent per saber com funciona Debian i com " "pots participar-hi." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (Introductory slides)" msgstr "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (PDF amb diapositives d'introducció en anglès)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)" msgstr "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (document " "oficial)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "\"Contributing to the Debian Project\"</ulink> (semi-official)" msgstr "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "'Contributing to the Debian Project'</ulink> (document semi-oficial)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " "(supplemental)" msgstr "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " "(documentació complementària)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (official)" msgstr "" "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (document oficial)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)" msgstr "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (documentació " "complementària)" #. type: Content of: <book><chapter><section><title> msgid "Programs needed for development" msgstr "Programes necessaris per treballar." #. type: Content of: <book><chapter><section><para> msgid "" "Before you start anything, you should make sure that you have properly " "installed some additional packages needed for development. Note that the " "list doesn't contain any packages marked <literal>essential</literal> or " "<literal>required</literal> - we expect that you have those installed " "already." msgstr "" "Abans de començar, cal instal·lar els paquets necessaris per a la " "construcció de paquets. A la llista de paquets no estan inclosos paquets " "amb prioritat «essencial» o «requerit» (<literal>essential</literal> i " "<literal>required</literal>) degut a què segurament ja estan instal·lats." #. type: Content of: <book><chapter><section><para> msgid "" "The following packages come with the standard Debian installation, so you " "probably have them already (along with any additional packages they depend " "on). Still, you should check it with <literal>aptitude show " "<replaceable>package</replaceable></literal> or with <literal>dpkg -s " "<replaceable>package</replaceable></literal>." msgstr "" "Els següents paquets estan inclosos en una instal·lació estàndard de Debian: " "probablement ja els tens en el teu sistema (i també els paquets dels quals " "depenen). Tot i així, pots fer la comprovació executant (en el terminal) " "<literal>aptitude show <replaceable>nom_del_paquet</replaceable></literal> o " "amb <literal>dpkg -s <replaceable>nom_del_paquet</replaceable></literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The most important package to install on your development system is the " "<systemitem role=\"package\">build-essential</systemitem> package. Once you " "try to install that, it will <emphasis>pull in</emphasis> other packages " "required to have a basic build environment." msgstr "" "El paquet imprescindible per al desenvolupament és <systemitem role=\"package" "\">build-essential</systemitem>. Quan s'instal·la, <emphasis>també " "s'instal·len</emphasis> altres paquets necessaris, obtenint-se la " "instal·lació bàsica per a la construcció de paquets." #. type: Content of: <book><chapter><section><para> msgid "" "For some types of packages, that is all you will require; however, there is " "another set of packages that while not essential for all package builds are " "useful to have installed or may be required by your package:" msgstr "" "Per a la construcció d'alguns paquets, amb això seria suficient, però n'hi " "ha d'altres que, sense ésser imprescindibles, pot ésser útil instal·lar-los " "o, fins i tot, necessaris:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem>, and <systemitem role=\"package" "\">autotools-dev</systemitem> - many newer programs use configure scripts " "and <filename>Makefile</filename> files preprocessed with the help of " "programs like these (see <literal>info autoconf</literal>, <literal>info " "automake</literal>). <systemitem role=\"package\">autotools-dev</" "systemitem> keeps up-to-date versions of certain auto files and has " "documentation about the best way to use those files." msgstr "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem> i <systemitem role=\"package\">autotools-" "dev</systemitem> - molts programes fan servir fitxers de configuració i " "fitxers <filename>Makefile</filename> que es gestionen amb aquests programes " "(llegeix <literal>info autoconf</literal>, <literal>info automake</" "literal>). El paquet <systemitem role=\"package\">autotools-dev</" "systemitem> permet mantenir versions actualitzades dels fitxers «autoconf» i " "«automake» i conté documentació per aprendre a fer servir amb eficàcia " "aquest tipus de fitxers." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "There are also some more specialized but similar packages such as " "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" "\"package\">dh-make-php</systemitem>, etc." msgstr "" "Hi ha d'altres paquets semblants pel que fa a la seva funcionalitat però més " "específics, com és ara <systemitem role=\"package\">dh-make-perl</" "systemitem>, <systemitem role=\"package\">dh-make-php</systemitem>, etc." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debhelper</systemitem> and <systemitem role=" "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> is necessary to create the skeleton of our example package, and " "it will use some of the <systemitem role=\"package\">debhelper</systemitem> " "tools for creating packages. They are not essential for this purpose, but " "are <emphasis>highly</emphasis> recommended for new maintainers. It makes " "the whole process very much easier to start, and to control afterwards. " "(See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">dh-make</systemitem> i <systemitem role=" "\"package\">debhelper</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> es fa servir en la construcció de l'esquelet dels paquets, i es " "faran servir algunes eines de <systemitem role=\"package\">debhelper</" "systemitem> per construir alguns paquets. Tot i que no són imprescindibles " "per a la construcció de paquets és del <emphasis>tot</emphasis> recomanable " "per als nous desenvolupadors. Faciliten molt el procés de construcció " "inicial així com el manteniment posterior (llegiu <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>debhelper</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, <filename>/usr/share/doc/debhelper/" "README</filename>) <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">devscripts</systemitem> - this package contains " "some useful scripts that can be helpful for maintainers, but they are also " "not necessary for building packages. Packages recommended and suggested by " "this package are worth looking into. (See <filename>&devscripts-readme;</" "filename>.)" msgstr "" "<systemitem role=\"package\">devscripts</systemitem> - aquest paquet conté " "alguns guions útils per als desenvolupadors, però no són necessaris en la " "construcció de paquets. Val la pena mirar els paquets recomanats i " "suggerits per aquest paquet (llegeix <filename>&devscripts-readme;</" "filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you " "emulate being root which is necessary for some parts of the build process. " "(See <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">fakeroot</systemitem> - aquesta utilitat permet " "simular l'usuari administrador (usuari «root»), la qual cosa és necessària " "per a algunes etapes del procés de construcció de paquets (llegeix " "<citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">file</systemitem> - this handy program can " "determine what type a file is. (See <citerefentry> <refentrytitle>file</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">file</systemitem> - aquest programa és molt " "útil per saber de quin tipus és un fitxer determinat (consulta " "<citerefentry> <refentrytitle>file</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " "compiler, necessary if your program is written in Fortran. (See " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gfortran</systemitem> - el compilador GNU per a " "Fortran 95, necessari si el programa està escrit en Fortran (llegeix " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git</systemitem> - this package provides a " "popular version control system designed to handle very large projects with " "speed and efficiency; it is used for many high profile open source projects, " "most notably the Linux kernel. (See <citerefentry> <refentrytitle>git</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, git Manual " "(<filename>&git-doc;</filename>).)" msgstr "" "<systemitem role=\"package\">git</systemitem> - aquest paquet instal·la el " "popular sistema de control de versions, dissenyat per al seguiment de grans " "projectes amb eficàcia i rapidesa; es fa servir amb molts projectes de codi " "lliure importants entre el quals el nucli de Linux (llegeix <citerefentry> " "<refentrytitle>git</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "git Manual (<filename>&git-doc;</filename>))." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to " "digitally <emphasis>sign</emphasis> packages. This is especially important " "if you want to distribute it to other people, and you will certainly be " "doing that when your work gets included in the Debian distribution. (See " "<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">gnupg</systemitem> - eina que es fa servir per " "a la <emphasis>signatura digital</emphasis> dels paquets. Cal signar els " "paquets per tal de distribuir-los i és imprescindible per incloure'ls en el " "repositori Debian (llegeix <citerefentry> <refentrytitle>gpg</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " "necessary if your program is written in Pascal. Worthy of note here is " "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " "Compiler, which is also good at this task. (See <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gpc</systemitem> - el compilador GNU de Pascal, " "necessari si el programa fa servir aquest llenguatge. També hi ha el " "compilador <systemitem role=\"package\">fp-compiler</systemitem>, de codi " "lliure per a Pascal (llegeix <citerefentry> <refentrytitle>gpc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> i <citerefentry> " "<refentrytitle>ppc386</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lintian</systemitem> - this is the Debian " "package checker, which can let you know of any common mistakes after you " "build the package, and explains the errors found. (See <citerefentry> " "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)" msgstr "" "<systemitem role=\"package\">lintian</systemitem> - aquest paquet es fa " "servir per comprovar els paquets Debian: informa dels errors més freqüents " "en la construcció de paquets i explica en què consisteixen (consulta " "<citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's " "Manual</ulink>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patch</systemitem> - this very useful utility " "will take a file containing a difference listing (produced by the " "<command>diff</command> program) and apply it to the original file, " "producing a patched version. (See <citerefentry> <refentrytitle>patch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">patch</systemitem> - és una utilitat molt " "útil. Permet aplicar un arxiu amb una llista de diferències (produït pel " "programa <command>diff</command>) en el fitxer original, i obtenir una " "versió apedaçada del fitxer original (vegeu <citerefentry> " "<refentrytitle>patch</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patchutils</systemitem> - this package contains " "some utilities to work with patches such as the <command>lsdiff</command>, " "<command>interdiff</command> and <command>filterdiff</command> commands." msgstr "" "<systemitem role=\"package\">patchutils</systemitem> - aquest paquet " "proporciona programes per gestionar els pegats, entre d'altres " "<command>lsdiff</command>, <command>interdiff</command> i " "<command>filterdiff</command>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">pbuilder</systemitem> - this package contains " "programs which are used for creating and maintaining <command>chroot</" "command> environment. Building Debian package in this <command>chroot</" "command> environment verifies the proper build dependency and avoid FTBFS " "(Fails To Build From Source) bugs. (see <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" msgstr "" "<systemitem role=\"package\">pbuilder</systemitem> - aquest paquet conté un " "conjunt de programes per construir i mantenir entorns <command>chroot</" "command>. Quan es construeix un paquet Debian en un entorn <command>chroot</" "command> es controla que les dependències són les adequades i s'eviten " "errors de construcció des del codi font (FTBFS, «Fails To Build From " "Source») (llegeix <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry> i <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">perl</systemitem> - Perl is one of the most " "used interpreted scripting languages on today's Unix-like systems, often " "referred to as Unix's Swiss Army Chainsaw. (See <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">perl</systemitem> - Perl és un dels llenguatges " "interpretats usats amb més freqüència per als guions (o «scripts») en els " "sistemes Un*x. Tant és així que es fa servir l'expressió «navalla suïssa " "d'Unix» per fer referència en aquest llenguatge (llegeix <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">python</systemitem> - Python is another of the " "most used interpreted scripting languages on the Debian system, combining " "remarkable power with very clear syntax. (See <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">python</systemitem> - Python és una altre " "llenguatge interpretat per a fer guions a Debian degut a la combinació de " "funcionalitat i clara sintaxi (consulta <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">quilt</systemitem> - this package helps you to " "manage large numbers of patches by keeping track of the changes each patch " "makes. Patches can be applied, un-applied, refreshed, and more. (See " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum></citerefentry>, and <filename>&quilt-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">quilt</systemitem> - aquest paquet permet " "aplicar els pegats i fer el seguiment dels canvis realitzats. Fa les " "modificacions segons l'ordre establert i, amb ell, és possible aplicar " "(«push»), desfer («pop») i actualitzar les modificacions fàcilment (llegeix " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> i <filename>&quilt-pdf;</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " "usually those made for X11, also use these programs to generate " "<filename>Makefile</filename> files from sets of macro functions. (See " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">xutils-dev</systemitem> - alguns programes, si " "més no els escrits per a X11, fan servir aquest paquet per generar fitxers " "<filename>Makefile</filename> executant conjunts de funcions macro (llegeix " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> i <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><para> msgid "" "The short descriptions that are given above only serve to introduce you to " "what each package does. Before continuing please read the documentation of " "each relevant program including ones installed through the package " "dependency such as <command>make</command>, at least, for the standard " "usage. It may seem like heavy going now, but later on you'll be " "<emphasis>very</emphasis> glad you read it. If you have specific questions " "later, I would suggest re-reading the documents mentioned above." msgstr "" "Les descripcions anteriors només són un resum de la funcionalitat de cada " "paquet. Abans de continuar, si us plau, llegeix la documentació de cada " "programa, al menys pel que fa a la seva funcionalitat bàsica. Pot semblar " "una mica pesat, però et farà <emphasis>molt profit</emphasis> aquesta " "lectura." #. type: Content of: <book><chapter><section><title> msgid "Documentation needed for development" msgstr "Documents necessaris per treballar." #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>very important</emphasis> documentation which " "you should read along with this document:" msgstr "" "La documentació llistada a continuació és <emphasis>imprescindible</" "emphasis> llegir-la mentre es llegeix aquest document:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " "the structure and contents of the Debian archive, several OS design issues, " "the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which " "says where each file and directory should be), etc. For you, the most " "important thing is that it describes requirements that each package must " "satisfy to be included in the distribution. (See the local copies of " "<filename>&policy-pdf;</filename> and <filename>&fhs-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">debian-policy</systemitem> - a <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> s'explica l'estructura i " "contingut del repositori, alguns aspectes del disseny del sistema operatiu, " "l'estàndard del sistema de fitxers («Filesystem Hierarchy Standard») i el " "què és més important, descriu els requisits per a què un paquet s'afegeixi a " "la distribució (llegix les còpies locals de <filename>&policy-pdf;</" "filename> i <filename>&fhs-pdf;</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">developers-reference</systemitem> - the <ulink " "url=\"&developers-reference;\">Debian Developer's Reference</ulink> " "describes all matters not specifically about the technical details of " "packaging, like the structure of the archive, how to rename, orphan, or " "adopt packages, how to do NMUs, how to manage bugs, best packaging " "practices, when and where to upload etc. (See the local copy of " "<filename>&developers-refpdf;</filename>.)" msgstr "" "<systemitem role=\"package\">developers-reference</systemitem> - a <ulink " "url=\"&developers-reference;\">Debian Developer's Reference</ulink> " "s'explican altres aspectes tècnics complementaris, com és ara l'estructura " "del repositori, el procediment per canviar el nom, adoptar o desfer-se d'un " "paquet, com fer NMU (paquets del tipus «Non-Maintainer Uploads», o sigui " "paquets mantinguts per una persona que no és el responsable directe), com " "gestionar els errors detectats pels usuaris, les bones pràctiques en la " "construcció de paquets, com i quan enviar els paquets al repositori, etc " "(llegeix la còpia local de <filename>&developers-refpdf;</filename>)." #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>important</emphasis> documentation which you " "should read along with this document:" msgstr "" "La documentació següent és <emphasis>important</emphasis> llegir-la mentre " "es llegeix aquest document:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides a " "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " "System known as the GNU Autotools</ulink> whose most important components " "are Autoconf, Automake, Libtool, and gettext." msgstr "" "<ulink url=\"&autotools-tutorial;\">Tutorial de «Autotools»</ulink> és un " "bon tutorial del <ulink url=\"&gnu-build-system;\">sistema de compilació GNU " "conegut como «GNU Autotools»</ulink> composat per Autoconf, Automake, " "Libtool i gettext." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnu-standards</systemitem> - this package " "contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-" "standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;" "\">Information for Maintainers of GNU Software</ulink>. Although Debian " "does not require these to be followed, these are still helpful as guidelines " "and common sense. (See the local copies of <filename>&gnu-standard-pdf;</" "filename> and <filename>&gnu-maintainer-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">gnu-standards</systemitem> - aquest paquet " "proporciona dos documents del projecte GNU: <ulink url=\"&gnu-standard;" "\">«GNU Coding Standards»</ulink> i <ulink url=\"&gnu-maintainer;" "\">«Information for Maintainers of GNU Software»</ulink>. Encara que no són " "d'aplicació obligada a Debian, són útils com a orientació (llegeix les " "còpies locals de <filename>&gnu-standard-pdf;</filename> i <filename>&gnu-" "maintainer-pdf;</filename>)." #. type: Content of: <book><chapter><section><para> msgid "" "If this document contradicts any of the documents mentioned above, they are " "correct. Please file a bug report on the <systemitem role=\"package\">maint-" "guide</systemitem> package using <command>reportbug</command>." msgstr "" "Si aquest document és contradictori amb algun aspecte amb els documents " "anteriors, serà d'aplicació l'establert per aquest darrers. En aquest cas, " "si us plau comunica l'error del paquet <systemitem role=\"package\">maint-" "guide</systemitem> fent servir <command>reportbug</command>." #. type: Content of: <book><chapter><section><para> msgid "" "The following is an alternative tutorial documentation which you may read " "along with this document:" msgstr "" "El següent tutorial és una alternativa que pots llegir a la vegada que " "aquest document:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" msgstr "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" #. type: Content of: <book><chapter><section><title> msgid "Where to ask for help" msgstr "On demanar ajuda." #. type: Content of: <book><chapter><section><para> msgid "" "Before you decide to ask your question in some public place, please read the " "fine documentation." msgstr "" "Abans de decidir-te a fer alguna pregunta en algun lloc públic, llegeix la " "magnífica documentació." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "files in <filename>/usr/share/doc/<replaceable>package</replaceable></" "filename> for all pertinent packages" msgstr "" "els arxius de <filename>/usr/share/doc/<replaceable>package</replaceable></" "filename> per a cada paquet" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>man</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "el contingut de <literal><command>man</command> <replaceable>command</" "replaceable></literal> per a cada una de les ordres" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>info</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "el contingut de <literal><command>info</command> <replaceable>command</" "replaceable></literal> per a cada una de les ordres" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian." "org mailing list archive</ulink>" msgstr "" "els continguts de <ulink url=\"&debian-mentors-ldo;\">l'arxiu de la llista " "de correu debian-mentors@lists.debian.org</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org " "mailing list archive</ulink>" msgstr "" "el contingut de <ulink url=\"&debian-devel-ldo;\">l'arxiu de la llista de " "correu debian-devel@lists.debian.org</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "You can use web search engines more effectively by including search strings " "such as <literal>site:lists.debian.org</literal> to limit the domain." msgstr "" "Considera fer servir el motor de cerca web mitjançant la inclusió eficaç de " "cadenes de recerca, com ara <literal>site:lists.debian.org</literal> per " "limitar el domini." #. type: Content of: <book><chapter><section><para> msgid "" "Making a small test package is a good way to learn details of packaging. " "Inspecting existing well maintained packages is the best way to learn how " "other people make packages." msgstr "" "Començar a treballar en un paquet petit és una bona opció per aprendre els " "detalls de la creació de paquets. Inspeccionar els paquets mantinguts per " "altres persones és una excel·lent manera d'aprendre." #. type: Content of: <book><chapter><section><para> msgid "" "If you still have questions about packaging that you couldn't find answers " "to in the available documentation and web resources, you can ask them " "interactively." msgstr "" "Si encara tens preguntes sobre la construcció de paquets que no poden trobar " "resposta en la documentació disponible i els recursos web, pots fer " "consultes de forma interactiva." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (This mailing list is for the novice.)" msgstr "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (Aquesta llista de correu és per a principiants.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " "list</ulink>. (This mailing list is for the expert.)" msgstr "" "<ulink url=\"&debian-devel-ldo;\">llista de correu debian-devel@lists.debian." "org</ulink>. (Aquesta llista de correu és per a experts.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</" "literal>." msgstr "" "<ulink url=\"&irc-debian;\">IRC</ulink> con és ara <literal>#debian-mentors</" "literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The more experienced Debian developers will gladly help you, if you ask " "properly after making your required efforts." msgstr "" "Els desenvolupadors de Debian amb més experiència t'ajudaran amb gust, si " "fas les preguntes després de fer el treball necessari." #. type: Content of: <book><chapter><section><para> msgid "" "When you receive a bug report (yes, actual bug reports!), you will know that " "it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking " "System</ulink> and read the documentation there, to be able to deal with the " "reports efficiently. I highly recommend reading the <ulink url=\"&devref-" "bug-handling;\">Debian Developer's Reference, 5.8. \"Handling bugs\"</" "ulink>." msgstr "" "En rebre un avís d'error (sí, un avís d'error de veritat!) serà el moment de " "donar un cop d'ull al <ulink url=\"&bts;\">Sistema de seguiment d'errades de " "Debian</ulink> i llegir la documentació per tal de conèixer el procediment " "adequat. Et recomano la lectura de la <ulink url=\"&devref-bug-handling;" "\">Developer's Reference, 5.8. 'Handling bugs'</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Even if it all worked well, it's time to start praying. Why? Because in " "just a few hours (or days) users from all around the world will start to use " "your package, and if you made some critical error you'll get mailbombed by " "numerous angry Debian users... Just kidding. :-)" msgstr "" "Encara que tot funcioni correctament, cal encomanar-se! Només en unes hores " "(o dies) els usuaris de tot el món faran ús del teu paquet, i si has fet " "alguna errada crítica, centenars d'usuaris furiosos de Debian et " "bombardejaran amb correus...feia broma :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Relax and be ready for bug reports, because there is a lot more work to be " "done before your package will be fully in line with Debian policies and its " "best practice guidelines (once again, read the <emphasis>real documentation</" "emphasis> for details). Good luck!" msgstr "" "Relaxa't i estiguis preparat per rebre informes d'errades, perquè el camí és " "llarg per aconseguir el compliment de las Normes de Debian (una vegada més " "llegeix la <emphasis>documentació real</emphasis> per a més detalls). Bona " "sort!" #. type: Content of: <book><chapter><title> msgid "First steps" msgstr "Primers passos." #. type: Content of: <book><chapter><para> msgid "" "Let's start by creating a package of your own (or, even better, adopting an " "existing one)." msgstr "" "Començarem la construcció del teu paquet (o encara millor, pots adoptar un " "paquet ja existent)." #. type: Content of: <book><chapter><section><title> msgid "Debian package building workflow" msgstr "Pla de treball de la construcció de paquets Debian" #. type: Content of: <book><chapter><section><para> msgid "" "If you are making a Debian package with an upstream program, the typical " "workflow of Debian package building involves generating several specifically " "named files for each step as follows." msgstr "" "Si estàs treballant en la construcció d'un paquet Debian a partir de les " "fonts d'un programa, el pla de treball típic requereix la construcció " "d'arxius amb noms específics a cada una de les etapes de la següent manera." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Get a copy of the upstream software, usually in a compressed tar format." msgstr "" "Obtindre una còpia del codi font del programa, normalment en un arxiu " "comprimit en format «tar»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>nom_del_paquet</replaceable>-<replaceable>versió</replaceable>." "tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add Debian-specific packaging modifications to the upstream program under " "the <filename>debian</filename> directory, and create a non-native source " "package (that is, the set of input files used for Debian package building) " "in <literal>3.0 (quilt)</literal> format." msgstr "" "Afegir les modificacions específiques de la construcció del paquet Debian a " "les fonts del programa en el directori <filename>debian</filename>, i " "generar un paquet font no nadiu (o sigui, el conjunt d'arxius d'entrada que " "es fan servir en la compilació del paquet Debian)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig." "tar.gz" msgstr "" "<replaceable>nom_del_paquet</replaceable>_<replaceable>versió</replaceable>." "orig.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.debian.tar.gz" msgstr "" "<replaceable>nom_del_paquet</replaceable>_<replaceable>versió</replaceable>-" "<replaceable>revisió</replaceable>.debian.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><footnote><para> msgid "" "For the older style of non-native Debian source packages in <literal>1.0</" "literal> format, <literal><replaceable>package</" "replaceable>_<replaceable>version</replaceable>-<replaceable>revision</" "replaceable>.diff.gz</literal> is used instead." msgstr "" "Per a paquets no nadius Debian construïts amb l'antic format <literal>1.0</" "literal>, es fa servir <literal><replaceable>nom_del_paquet</" "replaceable>_<replaceable>versió</replaceable>-<replaceable>revisió</" "replaceable>.diff.gz</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.dsc" msgstr "" "<replaceable>nom_del_paquet</replaceable>_<replaceable>versió</replaceable>-" "<replaceable>revisió</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Build Debian binary packages, which are ordinary installable package files " "in <literal>.deb</literal> format (or <literal>.udeb</literal> format, used " "by the Debian Installer) from the Debian source package." msgstr "" "Construir paquets binaris Debian, habitualment paquets ordinaris per a la " "instal·lació en format <literal>.deb</literal> (o en format <literal>.udeb</" "literal>, fet servir per l'instal·lador de Debian) a partir del paquet font " "Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>nom_del_paquet</replaceable>_<replaceable>versió</replaceable>-" "<replaceable>revisió</replaceable>_<replaceable>arquitectura</replaceable>." "deb" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the character separating <literal><replaceable>package</" "replaceable></literal> and <literal><replaceable>version</replaceable></" "literal> was changed from <literal>-</literal> (hyphen) in the tarball name " "to <literal>_</literal> (underscore) in the Debian package filenames." msgstr "" "Observa que el caràcter que separa <literal><replaceable>nom_del_paquet</" "replaceable></literal> i <literal><replaceable>versió</replaceable></" "literal> s'ha canviat de <literal>-</literal> (guió) a l'arxiu comprimit " "original a <literal>_</literal> (guió baix) en el nom del paquet Debian." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. The <emphasis role=\"strong" "\">package architecture</emphasis> follows the <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> and is " "automatically assigned by the package build process." msgstr "" "Consulta <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, i <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. El codi de l'<emphasis role=\"strong" "\">arquitectura del paquet</emphasis> segueix el <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> i " "s'assigna automàticament en el procés de construcció del paquet." #. type: Content of: <book><chapter><section><para> msgid "" "In the file names above, replace the <literal><replaceable>package</" "replaceable></literal> part with the <emphasis role=\"strong\">package name</" "emphasis>, the <literal><replaceable>version</replaceable></literal> part " "with the <emphasis role=\"strong\">upstream version</emphasis>, the " "<literal><replaceable>revision</replaceable></literal> part with the " "<emphasis role=\"strong\">Debian revision</emphasis>, and the " "<literal><replaceable>arch</replaceable></literal> part with the <emphasis " "role=\"strong\">package architecture</emphasis>, as defined in the Debian " "Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "En els noms del arxius anteriors, cal substituir " "<literal><replaceable>nom_del_paquet</replaceable></literal> pel <emphasis " "role=\"strong\">nom del paquet</emphasis>, <literal><replaceable>versió</" "replaceable></literal> pel codi de <emphasis role=\"strong\">versió del codi " "font</emphasis>, <literal><replaceable>revisió</replaceable></literal> pel " "codi de la <emphasis role=\"strong\">revisió Debian</emphasis> i " "<literal><replaceable>arquitectura</replaceable></literal> per l'<emphasis " "role=\"strong\">arquitectura del paquet</emphasis> com es defineix en el " "Manual de Normes de Debian <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "If instead you are making a Debian-specific package with no upstream, the " "typical workflow of Debian package building is simpler." msgstr "" "Si en canvi, estàs treballant amb un paquet específic de Debian sense autor " "original, el flux de treball típic de la construcció de paquets de Debian és " "més senzill." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a native Debian source package in the <literal>3.0 (native)</literal> " "format using a single compressed tar file in which all files are included." msgstr "" "Genera un paquet nadiu de fonts Debian en el format <literal>3.0 (native)</" "literal> fent servir un únic arxiu comprimit en format «tar» afegint tots " "els arxius. " #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>nom_del_paquet</replaceable>_<replaceable>versió</replaceable>." "tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" msgstr "" "<replaceable>nom_del_paquet</replaceable>_<replaceable>versió</replaceable>." "dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Build Debian binary packages from the native Debian source package." msgstr "" "Construcció de paquets binaris Debian des de paquets de fonts Debian nadius." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>nom_del_paquet</replaceable>_<replaceable>versió</" "replaceable>_<replaceable>arquitectura</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Each step of this outline is explained with detailed examples in later " "sections." msgstr "" "Cada etapa d'aquest esquema s'explica amb detall en seccions posteriors." #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "Seleccionar el programa." #. type: Content of: <book><chapter><section><para> msgid "" "You have probably chosen the package you want to create. The first thing " "you need to do is check if the package is in the distribution archive " "already by using the following." msgstr "" "Probablement ja tens clar quin paquet vols construir. Primer cal que " "comprovis si ja està inclòs en el repositori fent servir:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <command>aptitude</command> command" msgstr "l'ordre <command>aptitude</command>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page" msgstr "la pàgina web <ulink url=\"&packages-do;\">paquets Debian</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> " "web page" msgstr "" "pàgina web <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</" "ulink> (Sistema de seguiment de paquets de Debian)" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. " "\"Adopting a package\"</ulink>." msgstr "" "Consulta <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. " "\"Adopting a package\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If the package already exists, well, install it! :-) If it happens to be " "<emphasis role=\"strong\">orphaned</emphasis> (that is, if its maintainer is " "set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>), you may be able to " "pick it up if it's still available. You may also adopt a package whose " "maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</" "emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si el paquet ja existeix, comença per instal·lar-ho. Si és un paquet " "<emphasis role=\"strong\">orfe</emphasis> (si el responsable actual és el " "<ulink url=\"&qa-do;\">«Debian QA Group»</ulink>, el grup de qualitat de " "Debian), pots adoptar-lo (convertir-te en el responsable del manteniment) si " "està disponible. Cal que ho comprovis a <ulink url=\"&wnpp-bts;\">«Debian " "Bug report logs»: errors en el paquet «wnpp» de la distribució de treball " "(«inestable» o «sid»)</ulink>. També pots adoptar un paquet si hi ha un " "avís de «sol·licitud d'adopció» («Request for Adoption» o <emphasis role=" "\"strong\">RFA</emphasis>) <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "There are several package ownership status resources." msgstr "Hi ha diversos recursos de seguiment dels paquets:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" msgstr "" "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> " "(Paquets en què es treballa i futurs paquets)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" msgstr "" "<ulink url=\"&wnpp-bts;\">Registre Debian d'Informes d'errors: errors en el " "pseudo-paquet <systemitem role=\"package\">wnpp</systemitem> a " "<literal>unstable</literal></ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgstr "<ulink url=\"&wnpp-dn;\">Paquets Debian que necessiten atenció</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" msgstr "" "<ulink url=\"&wnpp-debtags;\">Navegació en els errors del paquet <systemitem " "role=\"package\">wnpp</systemitem> basada en paraules clau</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Having said that, there will of course always be new programs that are worth " "packaging." msgstr "Tot i així, hi ha nous programes que són d'interès per a Debian." #. type: Content of: <book><chapter><section><para> msgid "" "As a side note, it's important to point out that Debian already has packages " "for most kinds of programs, and the number of packages already in the Debian " "archive is much larger than that of contributors with upload rights. Thus, " "contributions to packages already in the archive are far more appreciated " "(and more likely to receive sponsorship) by other developers <placeholder " "type=\"footnote\" id=\"0\"/>. You can contribute in various ways." msgstr "" "Cal tenir present que Debian incorpora paquets d'un gran nombre de programes " "de tot tipus i que la quantitat de paquets disponibles en el repositori de " "Debian és major que el nombre de col·laboradors amb autorització per afegir " "paquets al repositori. En conseqüència, la col·laboració en el manteniment " "de paquets que ja estan en el repositori es valora molt positivament (i és " "més fàcil trobar un patrocinador) per la resta de desenvolupadors " "<placeholder type=\"footnote\" id=\"0\"/>. Per col·laborar en el " "manteniment de paquets ja disponibles en el repositori tens les següents " "opcions:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "Fer-te càrrec de paquets orfes d'ús freqüent" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>" msgstr "unir-te als <ulink url=\"&teams;\">equips de desenvolupadors</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "Selecciona errors dels paquets més populars." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" msgstr "Selecciona <ulink url=\"&devref-nmu;\">paquets QA o NMU</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If you are able to adopt the package, get the sources (with something like " "<literal>apt-get source <replaceable>packagename</replaceable></literal>) " "and examine them. This document unfortunately doesn't include comprehensive " "information about adopting packages. Thankfully you shouldn't have a hard " "time figuring out how the package works since someone has already done the " "initial setup for you. Keep reading, though; a lot of the advice below will " "still be applicable for your case." msgstr "" "Si pots adoptar un paquet, descarrega el codi original (pots fer servir " "<literal>apt-get source <replaceable>nom_del_paquet</replaceable></literal>) " "i examina-les amb atenció. Aquest document no explica amb detall el procés " "d'adopció de paquets. No hauria de ser difícil saber com funciona el paquet: " "el treball inicial de construcció ja està fet. Tot i així, molta de la " "informació d'aquest document et serà d'utilitat." #. type: Content of: <book><chapter><section><para> msgid "" "If the package is new, and you decide you'd like to see it in Debian, " "proceed as follows:" msgstr "" "Si el paquet és nou i decideixes que t'agradaria posar-lo a disposició dels " "usuaris de Debian, has de seguir els passos indicats a continuació:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "First, you must know that the program works, and have tried it for some time " "to confirm its usefulness." msgstr "" "Aprèn el funcionament del programa i fes-ho servir una temporada (per " "comprovar la seva utilitat)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "You must check that no one else is already working on the package on the " "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> " "site. If no one else is working on it, file an ITP (Intent To Package) bug " "report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " "using <command>reportbug</command>. If someone's already on it, contact " "them if you feel you need to. If not - find another interesting program " "that nobody is maintaining." msgstr "" "Comprova que no hi ha cap altra persona treballant en el paquet consultant " "<ulink url=\"&wnpp-do;\">la llista de paquets en els què s'està treballant</" "ulink>. Si ningú hi treballa, envia un informe d'error de tipus " "«ITP» («Intent To Package») al <systemitem role=\"package\">wnpp</" "systemitem> meta-paquet fent servir el programa de comunicació d'errors " "<command>reportbug</command> (accessible en el menú d'eines del sistema). " "En cas contrari, pots contactar amb les persones que hi treballen: és " "possible que puguis col·laborar. També pots intentar trobar un altra " "programa interessant en el qual no hi treballi cap persona." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The software <emphasis role=\"strong\">must have a license</emphasis>." msgstr "" "Cal que el programa <emphasis role=\"strong\">tengui una llicència</" "emphasis>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>main</literal> section, Debian Policy requires it <emphasis " "role=\"strong\">to be fully compliant with the Debian Free Software " "Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis " "role=\"strong\">not to require a package outside of <literal>main</literal></" "emphasis> for compilation or execution. This is the desired case." msgstr "" "Per a paquets de la secció <literal>main</literal> cal que el programa " "<emphasis role=\"strong\">s'ajusti a les Directrius de Debian per al " "programari (DFSG)</emphasis> lliure (consulta <ulink url=\"&dfsg;\">DFSG</" "ulink>) i <emphasis role=\"strong\">no ha de precisar la instal·lació de " "cap altre paquet</emphasis> que no pertanyi a la secció <literal>main</" "literal> en la compilació o execució com requereix la directiva de Debian " "(«Debian Policy»)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>contrib</literal> section, it must comply with the DFSG but " "it may require a package outside of <literal>main</literal> for compilation " "or execution." msgstr "" "Per a paquets de la secció <literal>contrib</literal>, la llicència cal que " "compleixi tots els requisits de la DFSG però pot precisar la instal·lació " "d'altres paquets que no siguin de la secció <literal>main</literal> en la " "compilació o execució." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>non-free</literal> section, it may be non-compliant with " "the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>." msgstr "" "Per a paquets de la secció <literal>non-free</literal>, no és necessari que " "la llicència compleixi tots els requisits de la DFSG però <emphasis role=" "\"strong\">cal que permeti la distribució del programa</emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If you are unsure about where it should go, post the license text on <ulink " "url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for " "advice." msgstr "" "Si tens dubtes a l'hora d'assignar el paquet a una secció, envia un correu " "amb el text de la llicència (en anglès) adreçat a <ulink url=\"&debian-legal-" "ldo;\">debian-legal@lists.debian.org</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The program should <emphasis role=\"strong\">not</emphasis> introduce " "security and maintenance concerns to the Debian system." msgstr "" "El programa <emphasis role=\"strong\">no</emphasis> ha de ocasionar " "problemes de seguretat i/o manteniment en el sistema Debian.." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should be well documented and its code needs to be " "understandable (i.e. not obfuscated)." msgstr "" "Cal que el programa estigui ben documentat, que el codi sigui llegible i " "clar." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "You should contact the program's author(s) to check if they agree with " "packaging it and are amicable to Debian. It is important to be able to " "consult with the author(s) in case of any problems with the program, so " "don't try to package unmaintained software." msgstr "" "Cal que contactis amb l'autor o autors del programa per comprovar que " "accepten la construcció del paquet. És important que els autors continuïn " "amb el manteniment del programa de manera que puguis fer consultes sobre " "problemes específics del programa. No comencis a empaquetar un programa que " "no sigui mantingut pels autors." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program certainly should <emphasis role=\"strong\">not</emphasis> run " "setuid root, or even better, it shouldn't need to be setuid or setgid to " "anything." msgstr "" "El programa <emphasis role=\"strong\">no</emphasis> s'ha d'executar com a " "«setuid root»: cal que no sigui «setuid» ni «setgid»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should not be a daemon, or go in an <filename>*/sbin</filename> " "directory, or open a port as root." msgstr "" "Cal que el programa no sigui un dimoni, o que s'instal·li en els directoris " "<filename>*/sbin</filename> o obrir un port com a usuari administrador." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, the last one is just a safety measures, and intended to save you " "from enraging users if you do something wrong in some setuid daemon... When " "you gain more experience in packaging, you'll be able to package such " "software." msgstr "" "Aquesta llista t'ajudarà a començar amb garanties, i et salvaguardarà " "d'usuaris enfurismats si fas alguna cosa malament amb algun dimoni " "«setuid»...Quan tenguis més experiència en empaquetar, podràs fer aquest " "tipus de paquets." #. type: Content of: <book><chapter><section><para> msgid "" "As a new maintainer, you are encouraged to get some experience in packaging " "with easier packages and discouraged from creating complicated packages." msgstr "" "Com a nou desenvolupador, s'aconsella l'adquisició d'experiència amb la " "construcció de paquets senzills i no s'aconsella la construcció de paquets " "complicats." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Simple packages" msgstr "Paquets simples" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (collection of data such as wallpaper " "graphics)" msgstr "" "un únic paquet binari, arquitectura = totes (col·lecció de dades com per " "exemple gràfics de fons de pantalla)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (executables written in an interpreted " "language such as POSIX shell)" msgstr "" "un únic paquet binari, arquitectura = totes (executables escrits en un " "llenguatge interpretat com per exemple POSIX)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Intermediate complexity packages" msgstr "Paquets de complexitat intermèdia" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = any (ELF binary executables compiled from " "languages such as C and C++)" msgstr "" "un únic paquet binari, arquitectura = totes (executables binaris ELF escrits " "en un llenguatge compilat com és ara C i C++)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "multiple binary packages, arch = any + all (packages for ELF binary " "executables + documentation)" msgstr "" "paquet múltiple binari, arquitectura = qualsevol i totes (paquets amb " "executables binaris ELF i documentació)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "upstream source in a format other than <filename>tar.gz</filename> or " "<filename>tar.bz2</filename>" msgstr "" "el format de l'arxiu font no és ni <filename>tar.gz</filename> ni " "<filename>tar.bz2</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "upstream source containing undistributable contents" msgstr "paquets amb parts de les fonts que no es poden distribuir." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "High complexity packages" msgstr "Paquets molt complexes" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter module package used by other packages" msgstr "paquets amb mòduls d'intèrprets fets servir per altres paquets" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "generic ELF library package used by other packages" msgstr "paquets de biblioteques genèriques ELF que fan servir altres paquets" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "multiple binary packages including an ELF library package" msgstr "paquets amb múltiples binaris incloent paquets de biblioteques ELF" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "source package with multiple upstream sources" msgstr "paquets de fonts amb fonts originals diverses" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel module packages" msgstr "paquets amb mòduls del nucli" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel patch packages" msgstr "paquets amb pegats del nucli." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "any package with non-trivial maintainer scripts" msgstr "qualsevol paquet amb guions del desenvolupador no trivials" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging high complexity packages is not too hard, but it requires a bit " "more knowledge. You should seek specific guidance for every complex feature. " "For example, some languages have their own sub-policy documents:" msgstr "" "Construir paquets molt complexes no és molt difícil, però requereix tenir " "més coneixements. Hauràs de buscar una orientació específica per a cada " "funció complexa. Per exemple, alguns llenguatges tenen els seus propis " "documents de normes:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>" msgstr "<ulink url=\"&policy-perl;\">Perl policy</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-python;\">Python policy</ulink>" msgstr "<ulink url=\"&policy-python;\">Normes per a Python</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-java;\">Java policy</ulink>" msgstr "<ulink url=\"&policy-java;\">Normes per a Java</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Do not worry about the missing <filename>Makefile</filename>. You can " "install the <command>hello</command> command by simply using " "<command>debhelper</command> as in <xref linkend=\"install\"/>, or by " "modifying the upstream source to add a new <filename>Makefile</filename> " "with the <literal>install</literal> target as in <xref linkend=\"modify\"/>." msgstr "" "No et preocupis per l'arxiu <filename>Makefile</filename> perdut. Pots " "instal·lar l'ordre <command>hello</command> fent servir l'ordre " "<command>debhelper</command> com s'ha explicat a <xref linkend=\"install\"/> " "o modificant les fonts originals afegint un nou <filename>Makefile</" "filename> amb l'objectiu <literal>install</literal> com a <xref linkend=" "\"modify\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " "practice and experiment with all the steps of Debian packaging with simple " "packages while reading this tutorial. A trivial upstream tarball " "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a " "good starting point.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Hi ha un altre dit en llatí: <emphasis>fabricando fit faber</emphasis> (la " "pràctica fa la perfecció). És <emphasis>molt</emphasis> recomanable " "practicar i experimentar cada una de les etapes de construcció dels paquets " "Debian amb un paquet simple mentre es llegeix el tutorial. Un paquet " "«tarball» trivial <filename>hello-sh-1.0.tar.gz</filename> generat amb el " "següent exemple és un bon punt de partida <placeholder type=\"footnote\" id=" "\"0\"/>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" msgstr "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "Aconsegueix el programa i prova'l." #. type: Content of: <book><chapter><section><para> msgid "" "So the first thing to do is to find and download the original source code. " "Presumably you already have the source file that you picked up at the " "author's homepage. Sources for free Unix programs usually come in " "<command>tar</command>+<command>gzip</command> format with the extension " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> format with the extension <filename>.tar.bz2</filename>, or " "<command>tar</command>+<command>xz</command> format with the extension " "<filename>.tar.xz</filename>. These usually contain a directory called " "<filename><replaceable>package</replaceable>-<replaceable>version</" "replaceable></filename> with all the sources inside." msgstr "" "La primera passa és trobar i descarregar el codi font original del " "programa. Les fonts dels programes lliures de GNU/Linux és habitual que es " "distribueixin en fitxers amb format <command>tar</command>+<command>gzip</" "command> amb extensió <filename>.tar.gz</filename> o amb format " "<command>tar</command>+<command>bzip2</command> amb extensió <filename>.tar." "bz2</filename>, i generalment tenen un directori amb el nom " "<filename><replaceable>programa</replaceable>-<replaceable>versió</" "replaceable></filename> amb tots els fitxers del codi font." #. type: Content of: <book><chapter><section><para> msgid "" "If the latest version of the source is available through a VCS such as Git, " "Subversion, or CVS, you need to get it with <literal>git clone</literal>, " "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into " "<command>tar</command>+<command>gzip</command> format yourself by using the " "<literal>--exclude-vcs</literal> option." msgstr "" "Si la darrera versió del codi font és a un sistema VCS tipus Git, " "«Subversion» o a un repositori CVS, pots descarregar-ho executant " "<literal>git clone</literal>, <literal>cvs co</literal> o <literal>svn co</" "literal> i, a continuació ho comprimeixes en un arxiu amb format " "<command>tar</command>+<command>gzip</command> executant l'opció <literal>--" "exclude-vcs</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can identify the archive format using the <command>file</command> " "command when the file extension is not enough." msgstr "" "Pots identificar el format de l'arxius fent servir l'ordre <command>file</" "command>." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes as some other sort of archive (for instance, " "the filename ends in <filename>.Z</filename> or <filename>.zip</" "filename><placeholder type=\"footnote\" id=\"0\"/>), you should also unpack " "it with the appropriate tools and repack it." msgstr "" "Si el programa està disponible en una altre format (pot ésser un arxiu " "acabat en <filename>.Z</filename> o <filename>.zip</filename><placeholder " "type=\"footnote\" id=\"0\"/>), ho descomprimeixes amb l'eina adequada i el " "tornes a empaquetar adequadament." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes with some contents which do not comply with " "DFSG, you should also unpack it to remove such contents and repack it with a " "modified upstream version containing <literal>dfsg</literal>." msgstr "" "Si algun dels continguts del codi font del teu programa no compleix les " "directrius DFSG, has de descomprimir-ho per eliminar-los hi tornar a " "comprimir-los afegint <literal>dfsg</literal> a la cadena de la versió del " "codi original." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This program is already packaged. The <ulink url=\"&gentoo-package;" "\">current version</ulink> uses Autotools as its build structure and is " "substantially different from the following examples, which were based on " "version 0.9.12." msgstr "" "Aquest programa ja està empaquetat. La <ulink url=\"&gentoo-package;" "\">versió actual</ulink> fa servir «Autotools» en la seva construcció i ha " "canviat molt respecte a la versió 0.9.12 feta servir en els exemples." #. type: Content of: <book><chapter><section><para> msgid "" "As an example, I'll use a program called <command>gentoo</command>, a GTK+ " "file manager. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Com exemple, faré servir el programa <command>gentoo</command>, un gestor de " "fitxers de X11 fet amb GTK+ <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Create a subdirectory under your home directory named <filename>debian</" "filename> or <filename>deb</filename> or anything you find appropriate (e." "g. just <filename>~/gentoo</filename> would do fine in this case). Place " "the downloaded archive in it, and extract it (with <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " "tools may or may not ignore these anomalies, so they may have problems " "unpacking them. Your shell command line may look something like this:" msgstr "" "Fes un nou directori al teu directori d'usuari amb el nom <filename>debian</" "filename> o <filename>deb</filename> o el que trobis més adequat (p.e. " "<filename>~/gentoo/</filename> és molt adequat). Copia en aquest nou " "directori el fitxer del codi font i extreu el seu contingut executant " "<literal>tar xzf gentoo-0.9.12.tar.gz</literal>. Comprova que no hi ha " "hagut errors, fins i tot els més <emphasis>irrellevants</emphasis>, degut a " "què és possible que hi hagi errors en desempaquetar-ho en sistemes d'altres " "persones que no ignorin aquestes errades. En el terminal hauràs fet el " "següent:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Now you have another subdirectory, called <filename>gentoo-0.9.12</" "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " "read the provided documentation. Usually there are files named " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> or <filename>*.html</filename>. You must find instructions " "on how to compile and install the program (most probably they'll assume you " "want to install to the <filename>/usr/local/bin</filename> directory; you " "won't be doing that, but more on that later in <xref linkend=\"destdir\"/>)." msgstr "" "Ara tens un nou directori amb el nom <filename>gentoo-0.9.12</filename>. " "Accedeix en aquest directori i llegeix <emphasis>atentament</emphasis> la " "documentació del programa, normalment en fitxers amb el nom " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> o <filename>*.html</filename>. Hi haurà instruccions per a " "la compilació i instal·lació del programa (probablement la instal·lació es " "farà a <filename>/usr/local/bin</filename>, però veurem a <xref linkend=" "\"destdir\"/> que no és la destinació correcta)." #. type: Content of: <book><chapter><section><para> msgid "" "You should start packaging with a completely clean (pristine) source " "directory, or simply with freshly unpacked sources." msgstr "" "Per començar la construcció del paquet, cal fer-ho amb el directori del codi " "font «net», o simplement només amb els fitxers de l'arxiu comprimit del codi " "font." #. type: Content of: <book><chapter><section><title> msgid "Simple build systems" msgstr "Sistemes de compilació simples" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Many modern programs come with a script <filename>configure</filename> which " "when executed creates a <filename>Makefile</filename> customized for your " "system." msgstr "" "Molts programes moderns vénen amb un guió <filename>configure</filename> que " "genera l'arxiu <filename>Makefile</filename> personalitzat pel sistema en " "què s'executa." #. type: Content of: <book><chapter><section><para> msgid "" "Simple programs usually come with a <filename>Makefile</filename> and can be " "compiled just by invoking <literal>make</literal>.<placeholder type=" "\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, " "which runs included self-tests. Installation to the destination directories " "is usually done with <literal>make install</literal>." msgstr "" "Alguns programes tenen un arxiu <filename>Makefile</filename> i és possible " "compilar-los simplement executant <literal>make</literal> <placeholder type=" "\"footnote\" id=\"0\"/>. Molts d'ells permeten executar <literal>make check</" "literal>, per fer comprovacions. La instal·lació en el directori de destí es " "fa executant <literal>make install</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Now try to compile and run your program, to make sure it works properly and " "doesn't break something else while it's installing or running." msgstr "" "Una vegada s'ha compilat el programa, prova'l i comprova que tot funciona " "correctament i que no es genera cap errada en el sistema en l'execució i/o " "instal·lació." #. type: Content of: <book><chapter><section><para> msgid "" "Also, you can usually run <literal>make clean</literal> (or better " "<literal>make distclean</literal>) to clean up the build directory. " "Sometimes there's even a <literal>make uninstall</literal> which can be used " "to remove all the installed files." msgstr "" "L'execució de l'ordre <literal>make clean</literal> (o <literal>make " "distclean</literal>) eliminarà del directori els fitxers generats per a la " "compilació i que són innecessaris. Habitualment, serà possible des-" "instal·lar el programa amb l'ordre <literal>make uninstall</literal>." #. type: Content of: <book><chapter><section><title> msgid "Popular portable build systems" msgstr "Sistemes de compilació populars" #. type: Content of: <book><chapter><section><para> msgid "" "A lot of free software programs are written in the <ulink url=\"&c-program;" "\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these " "use Autotools or CMake to make them portable across different platforms. " "These build tools need to be used to generate the <filename>Makefile</" "filename> and other required source files first. Then, such programs are " "built using the usual <literal>make; make install</literal>." msgstr "" "La majoria de programes lliures estan escrits en llenguatge <ulink url=\"&c-" "program;\">C</ulink> i <ulink url=\"&cxx;\">C++</ulink>. Molts fan servir " "les «Autotools» i «CMake» per compilar en diferents arquitectures. Aquestes " "eines generen un arxiu <filename>Makefile</filename> i d'altres fitxers " "necessaris per a la compilació. Així, molts programes es compilen i " "instal·len amb l'execució de <literal>make; make install</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Autotools is too big to deal in this small tutorial. This section is meant " "to provide keywords and references only. Please make sure to read the " "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and the local " "copy of <filename>&autotools-readme;</filename>, if you need to use it." msgstr "" "«Autotools» és extens per explicar-ho en aquest petit tutorial. En aquesta " "secció només s'expliquen aspectes clau i algunes referències. Assegura't que " "llegeixes el <ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> " "i <filename>&autotools-readme;</filename> i si has de fer servir «Autotools»." #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> is the GNU build system " "comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, " "and <ulink url=\"&gettext;\">gettext</ulink>. You can recognize such " "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" "filename>, and <filename>Makefile.in</filename> files. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&gnu-build-system;\">Les Autotools</ulink> són el sistema de " "compilació GNU que comprèn <ulink url=\"&autoconf;\">Autoconf</ulink>, " "<ulink url=\"&automake;\">Automake</ulink> (si l'entrada no existeix a la " "Viquipèdia, s'ha posat l'enllaç a la versió en castellà), <ulink url=" "\"&libtool;\">Libtool</ulink> i <ulink url=\"&gettext;\">gettext</ulink>. " "Confirmaràs que el programa fa servir les «autoools» per la presència dels " "arxius <filename>configure.ac</filename>, <filename>Makefile.am</filename>, " "i <filename>Makefile.in</filename> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "The first step of the Autotools workflow is usually that upstream runs " "<literal>autoreconf -i -f</literal> in the source directory and distributes " "the generated files along with the source." msgstr "" "La primera etapa en l'ús de les «Autotools» és l'execució de l'ordre (per " "l'autor del codi font) <literal>autoreconf -i -f</literal> amb la qual es " "generen, fent servir el fitxers font (a l'esquerra del diagrama) els fitxers " "(a la dreta del diagrama) que després farà servir l'ordre «configure»." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" msgstr "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" #. type: Content of: <book><chapter><section><para> msgid "" "Editing <filename>configure.ac</filename> and <filename>Makefile.am</" "filename> files requires some knowledge of <command>autoconf</command> and " "<command>automake</command>. See <literal>info autoconf</literal> and " "<literal>info automake</literal>." msgstr "" "Per a l'edició dels fitxers <filename>configure.ac</filename> i " "<filename>Makefile.am</filename> cal conèixer el funcionament de " "<command>autoconf</command> i <command>automake</command>. Consulta " "<literal>info autoconf</literal> i <literal>info automake</literal> " "(executant les ordres en el terminal)." #. type: Content of: <book><chapter><section><para> msgid "" "The second step of the Autotools workflow is usually that the user obtains " "this distributed source and runs <literal>./configure && make</" "literal> in the source directory to compile the program into an executable " "command <command><replaceable>binary</replaceable></command>." msgstr "" "La segona etapa del pla de treball amb «Autotools» és l'obtenció de les " "fonts i l'execució de <literal>./configure && make</literal> en el " "directori del codi font per compilar el programa generant el fitxer " "<command><replaceable>binari</replaceable></command>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" msgstr "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can change many things in the <filename>Makefile</filename>; for " "instance you can change the default location for file installation using the " "option <literal>./configure --prefix=/usr</literal>." msgstr "" "Pots fer canvis en el fitxer <filename>Makefile</filename> com és el " "directori d'instal·lació predeterminat fent servir les opcions <command>./" "configure --prefix=/usr</command>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can automate this by using <systemitem role=\"package\">dh-autoreconf</" "systemitem> package. See <xref linkend=\"customrules\"/>." msgstr "" "Pots automatitzar el procés utilitzant <systemitem role=\"package\">dh-" "autoreconf</systemitem>. Consulta <xref linkend=\"customrules\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Although it is not required, updating the <filename>configure</filename> and " "other files with <literal>autoreconf -i -f</literal> may improve the " "compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Tot i què no és necessari, l'actualització del fitxer <filename>configure</" "filename> i dels altres fitxers amb l'ordre <literal>autoreconf -i -f</" "literal> és la forma més adient per comprovar la compatibilitat del codi " "font <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You " "can recognize such sources by the <filename>CMakeLists.txt</filename> file." msgstr "" "<ulink url=\"&cmake;\">CMake</ulink> (en el moment de fer aquesta traducció, " "aquesta entrada no existeix a la Viquipèdia en català) és un sistema de " "compilació alternatiu. Els programes que fan servir aquest sistema de " "compilació tenen un arxiu <filename>CMakeLists.txt</filename> en el codi " "font." #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "Nom del paquet i versió." #. type: Content of: <book><chapter><section><para> msgid "" "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " "you can take <literal>gentoo</literal> as the (source) <emphasis role=" "\"strong\">package name</emphasis> and <literal>0.9.12</literal> as the " "<emphasis role=\"strong\">upstream version</emphasis>. These are used in " "the <filename>debian/changelog</filename> file described later in <xref " "linkend=\"changelog\"/>, too." msgstr "" "Si el codi font te el nom <filename>gentoo-0.9.12.tar.gz</filename>, pots " "fer servir <literal>gentoo</literal> com a <emphasis role=\"strong\">nom del " "paquet</emphasis> (de les fonts) i <literal>0.9.12</literal> com a codi de " "la <emphasis role=\"strong\">versió del codi font</emphasis>. Aquestes " "denominacions es fan servir a l'arxiu <filename>debian/changelog</filename> " "que es descriu més endavant a <xref linkend=\"changelog\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Although this simple approach works most of the times, you may need to " "adjust <emphasis role=\"strong\">package name</emphasis> and <emphasis role=" "\"strong\">upstream version</emphasis> by renaming the upstream source to " "follow Debian Policy and existing convention." msgstr "" "Encara que aquest enfocament simple funciona la majoria de les vegades, pot " "ésser necessari ajustar el <emphasis role=\"strong\">nom del paquet</" "emphasis> i <emphasis role=\"strong\">versió del codi font</emphasis> " "canviant el nom de l'arxiu amb el codi font segons les Normes Debian i les " "convencions vigents." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default package name field length of <command>aptitude</command> is 30. " "For more than 90% of packages, the package name is less than 24 characters." msgstr "" "La longitud predeterminada pel nom del paquet de l'ordre <command>aptitude</" "command> és 30. Per a més del 90% dels paquets, el nom del paquet té menys " "de 24 caràcters." #. type: Content of: <book><chapter><section><para> msgid "" "You must choose the <emphasis role=\"strong\">package name</emphasis> to " "consist only of lower case letters (<literal>a-z</literal>), digits " "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" "literal>) signs, and periods (<literal>.</literal>). It must be at least two " "characters long, must start with an alphanumeric character, and must not be " "the same as existing ones. It is a good idea to keep its length within 30 " "characters. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Cal triar el <emphasis role=\"strong\">nom del paquet</emphasis> de manera " "que tengui només lletres minúscules (<literal>a-z</literal>), dígits " "(<literal>0-9</literal>), els símbols de suma (<literal>+</literal>) i guió " "(<literal>-</literal>) i punts (<literal>.</literal>). Al menys ha de tenir " "2 caràcters de longitud, començar amb un caràcter alfanumèric i no coincidir " "amb algun dels paquets ja existents. És una bona pràctica mantenir la " "longitud del nom per davall dels 30 caràcters <placeholder type=\"footnote\" " "id=\"0\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you follow the <ulink url=\"&devref-newpackage;\">Debian Developer's " "Reference 5.1. \"New packages\"</ulink>, the ITP process will usually catch " "this kind of issues." msgstr "" "Si segueixes les <ulink url=\"&devref-newpackage;\">Debian Developer's " "Reference 5.1. \"New packages\"</ulink>, el procés d'ITP resoldrà aquest " "tipus de qüestions." #. type: Content of: <book><chapter><section><para> msgid "" "If upstream uses some generic term such as <literal>test-suite</literal> for " "its name, it is a good idea to rename it to identify its contents explicitly " "and avoid namespace pollution. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si l'autor original fa servir termes genèrics com <literal>prova</literal> " "de nom, és convenient canviar el nom de forma que identifiqui el seu " "contingut i evitar «embrutar» l'espai de noms <placeholder type=\"footnote\" " "id=\"0\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This stricter rule should help you avoid confusing file names." msgstr "" "Aquesta norma més estricta hauria d'ajudar a evitar noms d'arxius confusos." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default version field length of <command>aptitude</command> is 10. The " "Debian revision with preceding hyphen usually consumes 2. For more than 80% " "of packages, the upstream version is less than 8 characters and the Debian " "revision is less than 2 characters. For more than 90% of packages, the " "upstream version is less than 10 characters and the Debian revision is less " "than 3 characters." msgstr "" "La longitud predeterminada pel codi de versió de l'ordre <command>aptitude</" "command> és 10. El codi de revisió Debian precedit per un guió en consumeix " "2. Per a més del 80% dels paquets, la versió del codi font té una longitud " "inferior a 8 caràcters i el codi de la revisió Debian menys de 2. Per a més " "del 90% dels paquets, la versió del codi font té menys de 10 caràcters i la " "revisió Debian menys de 3." #. type: Content of: <book><chapter><section><para> msgid "" "You should choose the <emphasis role=\"strong\">upstream version</emphasis> " "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>), and periods " "(<literal>.</literal>). It must start with a digit (<literal>0-9</" "literal>). <placeholder type=\"footnote\" id=\"0\"/> It is good idea to " "keep its length within 8 characters if possible. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "Has de triar la <emphasis role=\"strong\">versió del codi font</emphasis> de " "manera que tengui només caràcters alfanumèrics (<literal>0-9 A-Z a-z</" "literal>), el signe més (<literal>+</literal>), titllis (<literal>~</" "literal>) i punts (<literal>.</literal>). Cal que comenci per un dígit " "(<literal>0-9</literal>) <placeholder type=\"footnote\" id=\"0\"/>. És una " "bona pràctica mantenir la seva longitud per davall dels 8 caràcters sempre " "que sigui possible <placeholder type=\"footnote\" id=\"1\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "If upstream does not use a normal versioning scheme such as " "<literal>2.30.32</literal> but uses some kind of date such as " "<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " "part of the version, make sure to remove them from the <emphasis role=" "\"strong\">upstream version</emphasis>. Such information can be recorded in " "the <filename>debian/changelog</filename> file. If you need to invent a " "version string, use the <literal>YYYYMMDD</literal> format such as " "<literal>20110429</literal> as upstream version. This ensures that " "<command>dpkg</command> interprets later versions correctly as upgrades. If " "you need to ensure smooth transition to the normal version scheme such as " "<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format " "such as <literal>0~110429</literal> as upstream version, instead." msgstr "" "Si l'autor original no fa servir el format més habitual per la versió (com " "és ara <literal>2.30.32</literal>) sinó que utilitza algun tipus de data com " "<literal>09Oct23</literal>, una cadena aleatòria o un valor «hash» VCS, " "assegura't que ho elimines de la <emphasis role=\"strong\">versió del codi " "font</emphasis>. Aquesta informació s'ha de registrar a l'arxiu " "<filename>debian/changelog</filename>. Si t'has d'inventar una cadena de " "versió, fes servir el format <literal>AAAAMMDD</literal> com per exemple " "<literal>20110429</literal> per a la versió del codi font. Així es garanteix " "que l'ordre <command>dpkg</command> interpreti correctament les versions " "posteriors com a actualitzacions. Si cal garantir una transició fluida al " "format de la versió més habitual, com <literal>0.1</literal> en el futur, " "fes servir el format <literal>0~AAMMDD</literal> format com " "<literal>0~110429</literal> per a la versió principal." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Version strings may be <emphasis role=\"strong\">upstream version</emphasis> " "(<literal><replaceable>version</replaceable></literal>), <emphasis role=" "\"strong\">Debian revision</emphasis> (<literal><replaceable>revision</" "replaceable></literal>), or <emphasis role=\"strong\">version</emphasis> " "(<literal><replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal>). See <xref linkend=\"newrevision\"/> for how the " "<emphasis role=\"strong\">Debian revision</emphasis> is incremented." msgstr "" "Les cadenes de versió poden ésser <emphasis role=\"strong\">la versió del " "codi font</emphasis> (<literal><replaceable>versió</replaceable></literal>), " "<emphasis role=\"strong\">la revisió Debian</emphasis> " "(<literal><replaceable>revisió</replaceable></literal>), o <emphasis role=" "\"strong\">versió</emphasis> (<literal><replaceable>versió</replaceable>-" "<replaceable>revisió</replaceable></literal>). Consulta <xref linkend=" "\"newrevision\"/> per saber com cal incrementar la <emphasis role=\"strong" "\">revisió Debian</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Version strings <placeholder type=\"footnote\" id=\"0\"/> can be compared " "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> as follows." msgstr "" "El codi de versió <placeholder type=\"footnote\" id=\"0\"/> serà comparat " "per <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> de la següent manera." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" msgstr "$ dpkg --compare-versions <replaceable>versió_1</replaceable> <replaceable>op</replaceable> <replaceable>versió_2</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "The version comparison rule can be summarized as:" msgstr "La norma de comparació de versions es pot resumir com:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Strings are compared from the head to the tail." msgstr "Les cadenes es comparen des del cap fins la cua." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are larger than digits." msgstr "Les lletres són anteriors als dígits." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Numbers are compared as integers." msgstr "Els nombres es comparen com enters." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are compared in ASCII code order." msgstr "Les lletres es comparen per l'ordre del seu codi ASCII." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "There are special rules for period (<literal>.</literal>), plus (<literal>+</" "literal>), and tilde (<literal>~</literal>) characters, as follows." msgstr "" "Hi ha normes especials per al punt (<literal>.</literal>), signe més " "(<literal>+</literal>) i <literal>~</literal> com es mostra a continuació:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" msgstr "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case occurs when upstream releases <filename>gentoo-0.9.12-" "ReleaseCandidate-99.tar.gz</filename> as the pre-release of " "<filename>gentoo-0.9.12.tar.gz</filename>. You need to make sure that the " "upgrade works properly by renaming the upstream source to " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." msgstr "" "Un cas complicat es produeix quan s'allibera una versió del codi font " "<filename>gentoo-0.9.12-ReleaseCandidate-99.tar.gz</filename> com a versió " "prèvia de <filename>gentoo-0.9.12.tar.gz</filename>. Cal assegurar que " "l'actualització funcionarà correctament canviant el nom de codi font per " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>dh_make</command>" msgstr "Configuració de <command>quilt</command>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The following text assumes you are using Bash as your login shell. If you " "use some other login shell such as Z shell, use their corresponding " "configuration files instead of <filename>~/.bashrc</filename>." msgstr "" "El text mostrat a continuació dona per suposat que fas servir «Bash» com a " "intèrpret d'ordres. Si fas sevir altres intèrprets, com és ara «Z shell», " "hauràs de fer servir els seus arxius de configuració en lloc de <filename>~/." "bashrc</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Set up the shell environment variables <literal>$DEBEMAIL</literal> and " "<literal>$DEBFULLNAME</literal> so that various Debian maintenance tools " "recognize your email address and name to use for packages. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Comença per configurar les variables d'entorn del shell Bash <literal>" "$DEBEMAIL</literal> i <literal>$DEBFULLNAME</literal> que faran servir les " "eines de manteniment de Debian per tal d'obtenir el teu nom i adreça " "electrònica com s'indica a continuació<placeholder type=\"footnote\" id=" "\"0\"/>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" msgstr "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" #. type: Content of: <book><chapter><section><title> msgid "Initial non-native Debian package" msgstr "Paquet Debian no nadiu inicial." #. type: Content of: <book><chapter><section><para> msgid "" "Normal Debian packages are non-native Debian packages made from upstream " "programs. If you wish to create a non-native Debian package of an upstream " "source <filename>gentoo-0.9.12.tar.gz</filename>, you can create an initial " "non-native Debian package for it by issuing the <command>dh_make</command> " "command as follows." msgstr "" "Els paquets normals Debian són paquets de Debian no nadius construïts a " "partir dels programes originals. Si vols construir un paquet no nadiu Debian " "del codi font <filename>gentoo-0.9.12.tar.gz</filename>, pots construir el " "paquet no nadiu inicial Debian fent servir l'ordre <command>dh_make</" "command> de la següent manera." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" msgstr "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the upstream source provides the <filename>debian</filename> directory " "and its contents, run the <command>dh_make</command> command with the extra " "option <literal>--addmissing</literal>. The new source <literal>3.0 " "(quilt)</literal> format is robust enough not to break even for these " "packages. You may need to update the contents provided by the upstream for " "your Debian package." msgstr "" "Si el fitxer amb el codi font ja té un directori <filename>debian</filename> " "amb fitxers, executa l'ordre <command>dh_make</command> amb l'opció " "<literal>--addmissing</literal>. El nou format de paquet <literal>3.0 " "(quilt)</literal> és molt robust i treballarà bé amb aquests paquets. Així " "s'actualitzarà el contingut dels fitxers de l'autor original per al teu " "paquet Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of your original source " "archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> for details." msgstr "" "Caldrà canviar el nom del fitxer amb el codi font <placeholder type=" "\"footnote\" id=\"0\"/>. Consulta <citerefentry> <refentrytitle>dh_make</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry> per a una descripció " "més detallada." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are several choices here: <literal>s</literal> for Single binary " "package, <literal>i</literal> for arch-Independent package, <literal>m</" "literal> for Multiple binary packages, <literal>l</literal> for Library " "package, <literal>k</literal> for Kernel module package, <literal>n</" "literal> for kernel patch package, and <literal>b</literal> for <systemitem " "role=\"package\">cdbs</systemitem> package. This document focuses on the " "use of the <command>dh</command> command (from the package <systemitem role=" "\"package\">debhelper</systemitem>) to create a single binary package, but " "also touches on how to use it for arch-independent or multiple binary " "packages. The package <systemitem role=\"package\">cdbs</systemitem> offers " "an alternative packaging script infrastructure to the <command>dh</command> " "command and is outside the scope of this document." msgstr "" "Les opcions sobre el tipus de paquet són les següents: <literal>s</literal> " "per a un binari, <literal>i</literal> per a un paquet independent de " "l'arquitectura (paquet de codi font o de documentació), <literal>m</literal> " "per a paquets amb més d'un arxiu binari, <literal>l</literal> per a " "biblioteques, <literal>k</literal> per a un mòdul del nucli («kernel»), " "<literal>n</literal> per a un pegat del nucli i <literal>b</literal> per a " "paquets <systemitem role=\"package\">cdbs</systemitem>. Aquest document es " "centra amb l'ús del paquet <systemitem role=\"package\">debhelper</" "systemitem> i l'ordre <command>dh</command> per a la construcció de paquets " "amb un binari i tracta només parcialment el seu ús en la construcció de " "paquets independents de l'arquitectura i amb més d'un arxiu binari. El " "paquet <systemitem role=\"package\">cdbs</systemitem> proporciona guions " "alternatius a l'ordre <command>dh</command> i no s'explica en aquest " "document." #. type: Content of: <book><chapter><section><para> msgid "" "You should see some output asking you what sort of package you want to " "create. Gentoo is a single binary package - it creates only one binary " "package, i.e, one <filename>.deb</filename> file - so we will select the " "first option (with the <literal>s</literal> key), check the information on " "the screen, and confirm by pressing <literal><replaceable>ENTER</" "replaceable></literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "En haver executat l'ordre, caldrà respondre a algunes preguntes sobre el " "paquet. «Gentoo» és un paquet binari simple (només crea un arxiu binari) i, " "per tant, només un arxiu <filename>.deb</filename>. Per això, seleccionaràs " "la primera opció amb la tecla <literal>s</literal>. Comprova la informació " "que surt en pantalla i confirma polsant la tecla " "<literal><replaceable>ENTER</replaceable></literal> <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "This execution of <command>dh_make</command> creates a copy of the upstream " "tarball as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent " "directory to accommodate the creation of the non-native Debian source " "package with the name <filename>debian.tar.gz</filename> later." msgstr "" "Desprès d'executar l'ordre <command>dh_make</command>, es fa una còpia del " "fitxer amb el codi original amb el nom <filename>gentoo_0.9.12.orig.tar.gz</" "filename> en el directori arrel per facilitar la construcció del paquet de " "fonts no nadiu de Debian amb el fitxer <filename>debian.tar.gz</filename>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" msgstr "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please note two key features of this filename <filename>gentoo_0.9.12.orig." "tar.gz</filename>:" msgstr "" "Posa atenció en els dos canvis en el nom del fitxer <filename>gentoo_0.9.12." "orig.tar.gz</filename>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Package name and version are separated by the character <literal>_</literal> " "(underscore)." msgstr "" "El nom del paquet i de la versió estan separats per «<literal>_</literal>»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The string <filename>.orig</filename> is inserted before the <filename>.tar." "gz</filename>." msgstr "" "S'ha afegit <filename>.orig</filename> abans de l'extensió <filename>.tar." "gz</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "You should also notice that many template files are created in the source " "under the <filename>debian</filename> directory. These will be explained in " "<xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should also " "understand that packaging cannot be a fully automated process. You will " "need to modify the upstream source for Debian (see <xref linkend=\"modify\"/" ">). After this, you need to use the proper methods for building Debian " "packages (<xref linkend=\"build\"/>), testing them (<xref linkend=\"checkit" "\"/>), and uploading them (<xref linkend=\"upload\"/>). All the steps will " "be explained." msgstr "" "Fitxa't que hi ha nous fitxers (de plantilla) en el directori " "<filename>debian</filename> dels quals es parlarà en <xref linkend=\"dreq\"/" "> i <xref linkend=\"dother\"/>. El procés d'empaquetament no està totalment " "automatitzat. La modificació dels fitxers Debian s'explicarà a <xref " "linkend=\"modify\"/>. A continuació es compilarà el paquet Debian en " "l'apartat <xref linkend=\"build\"/>, la revisió del resultat a l'apartat " "<xref linkend=\"checkit\"/> i la transferència del paquet al repositori a " "<xref linkend=\"upload\"/>. S'explicarà cada etapa a continuació." #. type: Content of: <book><chapter><section><para> msgid "" "If you accidentally erased some template files while working on them, you " "can recover them by running <command>dh_make</command> with the <literal>--" "addmissing</literal> option again in a Debian package source tree." msgstr "" "Si casualment elimines algun dels fitxers de plantilles del directori " "«debian», pots tornar a generar-los executant <command>dh_make</command> amb " "l'opció <literal>--addmissing</literal> des del directori de les fonts." #. type: Content of: <book><chapter><section><para> msgid "" "Updating an existing package may get complicated since it may be using older " "techniques. While learning the basics, please stick to creating a fresh " "package; further explanations are given in <xref linkend=\"update\"/>." msgstr "" "L'actualització d'un paquet ja construït és un procés més complex: es " "probable que s'hagi construït amb procediments distints als que es fan " "servir actualment. Es millor treballar amb paquets actualitzats per " "aprendre els procediments bàsics de la construcció de paquets. Per " "empaquetar una revisió o una nova versió del teu paquet en el futur, faràs " "servir un procediment distint. Tot això s'explicarà a la secció <xref " "linkend=\"update\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the source file does not need to contain any build system " "discussed in <xref linkend=\"simplemake\"/> and <xref linkend=\"portable\"/" ">. It could be just a collection of graphical data etc. Installation of " "files may be carried out using only <systemitem role=\"package\">debhelper</" "systemitem> configuration files such as <filename>debian/install</filename> " "(see <xref linkend=\"install\"/>)." msgstr "" "Observa que l'arxiu font pot ésser que no tengui cap sistema de construcció " "dels discutits a <xref linkend=\"simplemake\"/> i a <xref linkend=\"portable" "\"/>. Podria ser simplement una col·llecció de dades gràfiques. La instal " "lació dels arxius es pot fer utilitzant només els arxius de configuració del " "sistema <systemitem role=\"package\">debhelper</systemitem> com ara " "<filename>debian/install</filename> (consulta <xref linkend=\"install\"/>)." #. type: Content of: <book><chapter><section><title> msgid "Initial native Debian package" msgstr "Paquet nadiu Debian inicial." #. type: Content of: <book><chapter><section><para> msgid "" "If a package contains source files you are only maintaining for Debian, " "possibly only for local use, it may be simpler to create it as a Debian " "native package. If you have source files in <filename>~/mypackage-1.0</" "filename>, you can create an initial native Debian package for it by issuing " "the <command>dh_make</command> command as follows." msgstr "" "Si el paquet conté arxius de fonts que només es distribueixen per a Debian, " "possiblement només per a ús local, és més simple construir un paquet nadiu " "Debian. Si tens els arxius de fonts a <filename>~/el_meu_paquet-1.0</" "filename>, pots generar el paquet nadiu inicial Debian executant l'ordre " "<command>dh_make</command> de la següent manera." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" msgstr "" "$ cd ~/el_meu_paquet-1.0\n" "$ dh_make --native\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then the <filename>debian</filename> directory and its contents are created " "just like <xref linkend=\"non-native-dh-make\"/>. This does not create a " "tarball since this is a native Debian package. But that is the only " "difference. The rest of the packaging activities are practically the same." msgstr "" "Llavors el directori <filename>debian</filename> i el seu contingut es " "genera igual que a <xref linkend=\"non-native-dh-make\"/>. No es genera un " "arxiu «tarball» degut a que es tracta d'un arxiu nadiu Debian. Però aquesta " "és l'única diferència. La resta de les etapes de construcció del paquet són " "pràcticament iguals." #. type: Content of: <book><chapter><title> msgid "Modifying the source" msgstr "Modificar les fonts originals." #. type: Content of: <book><chapter><para> msgid "" "Please note that there isn't space here to go into <emphasis>all</emphasis> " "the details of fixing upstream sources, but here are some basic steps and " "problems people often run across." msgstr "" "No hi ha espai en aquest document per explicar <emphasis>tots</emphasis> els " "detalls de les modificacions que poden haver de fer-se a les fonts " "originals. Tot i així, a continuació s'expliquen els problemes més " "freqüents." #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>quilt</command>" msgstr "Configuració de <command>quilt</command>." #. type: Content of: <book><chapter><section><para> msgid "" "The program <command>quilt</command> offers a basic method for recording " "modifications to the upstream source for Debian packaging. It's useful to " "have a slightly customized default, so let's create an alias " "<command>dquilt</command> for Debian packaging by adding the following lines " "to <filename>~/.bashrc</filename>. The second line provides the same shell " "completion feature of the <command>quilt</command> command to the " "<command>dquilt</command> command." msgstr "" "El programa <command>quilt</command> proporciona un mètode bàsic per aplicar " "i conservar les modificacions del codi font en la construcció de paquets " "Debian. Atès que és desitjable fer alguna modificació a la configuració " "predeterminada, anem a crear un àlies <command>dquilt</command> per a la " "construcció de paquets Debian afegint la següent línia a l'arxiu " "<filename>~/.bashrc</filename>. La segona línia garanteix que l'àlies tendrà " "la mateixa funció d'auto-completar del intèrpret d'ordres per l'ordre " "<command>dquilt</command> que l'ordre <command>quilt</command>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" msgstr "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" #. type: Content of: <book><chapter><section><para> msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows." msgstr "" "Ara genera l'arxiu <filename>~/.quiltrc-dpkg</filename> de la següent manera:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" msgstr "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" #. type: Content of: <book><chapter><section><para> msgid "" "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <filename>&quilt-pdf;</filename> on how to " "use <command>quilt</command>." msgstr "" "Consulta <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> i <filename>&quilt-pdf;</filename> per fer servir " "<command>quilt</command>." #. type: Content of: <book><chapter><section><title> msgid "Fixing upstream bugs" msgstr "Apedaçant el codi font." #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume you find an error in the upstream <filename>Makefile</filename> " "as follows where <literal>install: gentoo</literal> should have been " "<literal>install: gentoo-target</literal>." msgstr "" "Suposem que has detectant la següent errada en el fitxer <filename>Makefile</" "filename> original: on posa «<literal>install: gentoo</literal>» hauria de " "posar «<literal>install: gentoo-target</literal>»." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <filename>debian/patches</filename> directory should exist now if you " "ran <command>dh_make</command> as described before. This example operation " "creates it just in case you are updating an existing package." msgstr "" "L'anterior execució de <command>dh_make</command> hauria d'haver generat el " "directori <filename>debian/patches</filename>. En cas contrari o bé si " "estàs treballant en l'actualització d'un paquet, caldrà executar la primera " "ordre «mkdir debian/patches»." #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this and record it with the <command>dquilt</command> command as " "<filename>fix-gentoo-target.patch</filename>. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Anem a adobar l'errada amb l'ordre <command>dquilt</command> desant les " "modificacions a realitzar en el fitxer <filename>fix-gentoo-target.patch</" "filename> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "You change the <filename>Makefile</filename> file as follows." msgstr "" "Ara fes els canvis necessaris en el fitxer <filename>Makefile</filename> " "(amb un editor) original i deixa'l així:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "Ask <command>dquilt</command> to generate the patch to create " "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " "description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</" "ulink>." msgstr "" "A continuació executa <command>dquilt</command> (com s'indica a l'exemple " "següent) per actualitzar el pedaç generant el fitxer <filename>debian/" "patches/fix-gentoo-target.patch</filename> i afegeix la descripció de la " "modificació realitzada com es descriu a <ulink url=\"&dep3;\">DEP-3: Patch " "Tagging Guidelines</ulink>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... descriu la modificació\n" #. type: Content of: <book><chapter><section><title> msgid "Installation of files to their destination" msgstr "La instal lació dels arxius al seu destí" #. type: Content of: <book><chapter><section><para> msgid "" "Most third-party software installs itself in the <filename>/usr/local</" "filename> directory hierarchy. On Debian this is reserved for private use " "by the system administrator, so packages must not use directories such as " "<filename>/usr/local/bin</filename> but should instead use system " "directories such as <filename>/usr/bin</filename>, obeying the <ulink url=" "\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)." msgstr "" "En general, els programes s'instal·len en el directori <filename>/usr/local</" "filename>. Però els paquets Debian no poden fer servir aquest directori " "d'ús privat de l'usuari administrador: les instal·lacions es fan en els " "directoris del sistema com és ara <filename>/usr/bin</filename> com " "estableix la normativa de jerarquia del sistema de fitxers («Filesystem " "Hierarchy Standard» <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</" "ulink> (FHS).)." #. type: Content of: <book><chapter><section><para> msgid "" "Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> is used to automate building the program, and " "executing <literal>make install</literal> installs programs directly to the " "desired destination (following the <literal>install</literal> target in the " "<filename>Makefile</filename>). In order for Debian to provide pre-built " "installable packages, it modifies the build system to install programs into " "a file tree image created under a temporary directory instead of the actual " "destination." msgstr "" "És freqüent fer servir l'ordre <citerefentry> <refentrytitle>make</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> per a la construcció " "(compilació) automatitzada del programa i l'execució de l'ordre " "<literal>make install</literal> instal·la directament el programa en el " "directori desitjat executant la secció <literal>install</literal> del fitxer " "<filename>Makefile</filename>. En la construcció dels paquets binaris de " "Debian, el sistema de construcció simula la instal·lació del programa en una " "reconstrucció de l'estructura de directoris del programa en un directori " "temporal en lloc de fer-ho en la destinació real." #. type: Content of: <book><chapter><section><para> msgid "" "These two differences between normal program installation on one hand and " "the Debian packaging system on the other can be transparently addressed by " "the <systemitem role=\"package\">debhelper</systemitem> package through the " "<command>dh_auto_configure</command> and <command>dh_auto_install</command> " "commands if the following conditions are met." msgstr "" "Aquestes diferències entre la instal·lació del programa i la «simulació» " "d'instal·lació en el procés d'empaquetament Debian, és gestionada de manera " "transparent pel paquet <systemitem role=\"package\">debhelper</systemitem> " "amb les ordres <command>dh_auto_configure</command> i " "<command>dh_auto_install</command> si es compleixen els següents requisits:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." msgstr "" "Consulta <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <filename>Makefile</filename> must follow GNU conventions and support " "the <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" " "id=\"0\"/>" msgstr "" "Cal que el fitxer <filename>Makefile</filename> segueixi les convencions GNU " "i accepti la variable <literal>$(DESTDIR)</literal> <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The source must follow the Filesystem Hierarchy Standard (FHS)." msgstr "" "Cal que el codi font segueixi l'estàndard de la jerarquia del sistema de " "fitxers («Filesystem Hierarchy Standard» o FHS)." #. type: Content of: <book><chapter><section><para> msgid "" "Programs that use GNU <command>autoconf</command> follow the GNU conventions " "automatically, so they can be trivial to package. On the basis of this and " "other heuristics, it is estimated that the <systemitem role=\"package" "\">debhelper</systemitem> package will work for about 90% of packages " "without making any intrusive changes to their build system. So packaging is " "not as complicated as it may seem." msgstr "" "Els programes que fan servir <command>autoconf</command> de GNU compleixen " "<emphasis>automàticamente</emphasis> amb les convencions GNU i el seu " "empaquetament es quasi <emphasis>automàtic</emphasis>. Amb aquests " "requisits i l'heurística emprada pel paquet <systemitem role=\"package" "\">debhelper</systemitem>, és possible empaquetar sense fer canvis en el " "sistema de compilació. L'empaquetament no es tan complicat com pot semblar." #. type: Content of: <book><chapter><section><para> msgid "" "If you need to make changes in the <filename>Makefile</filename>, you should " "be careful to support the <literal>$(DESTDIR)</literal> variable. Although " "it is unset by default, the <literal>$(DESTDIR)</literal> variable is " "prepended to each file path used for the program installation. The " "packaging script will set <literal>$(DESTDIR)</literal> to the temporary " "directory." msgstr "" "Per fer canvis en el fitxer <filename>Makefile</filename>, assegura't que " "permet fer servir la variable <literal>$(DESTDIR)</literal>. La variable " "<literal>$(DESTDIR)</literal> no es defineix a l'arxiu i s'afegirà a totes " "les adreces de directoris que es facin servir en la instal·lació del " "programa. El guió d'empaquetament estableix el valor de la variable " "<literal>$(DESTDIR)</literal> al valor del directori temporal d'instal·lació " "del programa en el procés de construcció del paquet." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "For a source package generating multiple binary packages, the " "<command>dh_auto_install</command> command uses <filename>debian/tmp</" "filename> as the temporary directory while the <command>dh_install</command> " "command with the help of <filename>debian/<replaceable>package-1</" "replaceable>.install</filename> and <filename>debian/<replaceable>package-2</" "replaceable>.install</filename> files will split the contents of " "<filename>debian/tmp</filename> into <filename>debian/" "<replaceable>package-1</replaceable></filename> and <filename>debian/" "<replaceable>package-2</replaceable></filename> temporary directories, to " "create <filename><replaceable>package-1</replaceable>_*.deb</filename> and " "<filename><replaceable>package-2</replaceable>_*.deb</filename> binary " "packages." msgstr "" "Per a un paquet de fonts que generi més d'un paquet binari, l'ordre " "<command>dh_auto_install</command> fa servir el directori temporal " "<filename>debian/tmp</filename> i l'ordre <command>dh_install</command> amb " "l'ajuda dels fitxers <filename>debian/<replaceable>paquet-1</replaceable>." "install</filename> i <filename>debian/<replaceable>paquet-2</replaceable>." "install</filename> distribuirà el contingut del directori <filename>debian/" "tmp</filename> en els directoris temporals <filename>debian/" "<replaceable>paquet-1</replaceable></filename> i <filename>debian/" "<replaceable>paquet-2</replaceable></filename> per tal de construir els " "paquets binaris <filename><replaceable>package-1</replaceable>_*.deb</" "filename> i <filename><replaceable>package-2</replaceable>_*.deb</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "For a source package generating a single binary package, the temporary " "directory used by the <command>dh_auto_install</command> command will be set " "to <filename>debian/<replaceable>package</replaceable></filename>. " "<placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in " "the temporary directory will be installed on users' systems when they " "install your package; the only difference is that <command>dpkg</command> " "will be installing the files to paths relative to the root directory rather " "than your working directory." msgstr "" "Per a un paquet de fonts que generi només un paquet binari, el directori " "temporal fet servir per l'ordre <command>dh_auto_install</command> és " "<filename>debian/<replaceable>nom_del_paquet</replaceable></filename> per a " "paquets amb un arxiu binari <placeholder type=\"footnote\" id=\"0\"/>. El " "contingut complet del directori temporal s'instal·larà en el sistema de " "l'usuari quan aquest instal·li el paquet, amb la diferència que amb " "<command>dpkg</command> la instal·lació es fa des del directori arrel del " "sistema (en lloc del directori «debian/» o «debian/tmp» fet servir en la " "construcció del paquet)." #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that even though your program installs in <filename>debian/" "<replaceable>package</replaceable></filename>, it still needs to behave " "correctly when installed from the <filename>.deb</filename> package under " "the root directory. So you must not allow the build system to hardcode " "strings like <literal>/home/me/deb/<replaceable>package</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>package</" "replaceable></literal> into files in the package." msgstr "" "Tots els fitxers i directoris que s'instal·len en el directori " "<filename>debian/<replaceable>nom_del_paquet</replaceable></filename> en la " "construcció del paquet, hauran de poder instal·lar-se correctament des del " "directori arrel quan s'instal·lin fent servir el fitxer <filename>.deb</" "filename>. No s'ha de fer servir cadenes del tipus <literal>/home/el_meu/" "deb/<replaceable>nom_del_paquet</replaceable>-<replaceable>versió</" "replaceable>/usr/share/<replaceable>nom_del_paquet</replaceable></literal> " "en la construcció del paquet." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This is just an example to show what a <filename>Makefile</filename> should " "look like. If the <filename>Makefile</filename> is created by the " "<command>./configure</command> command, the correct way to fix this kind of " "<filename>Makefile</filename> is to execute <command>./configure</command> " "from the <command>dh_auto_configure</command> command with default options " "including <literal>--prefix=/usr</literal>." msgstr "" "Només és un exemple del contingut de l'arxiu <filename>Makefile</filename>. " "Si el fitxer <filename>Makefile</filename> es construeix amb l'ordre " "<command>./configure</command>, el procediment correcte per solucionar això " "en l'arxiu <filename>Makefile</filename> és executar l'ordre <command>./" "configure</command> des de l'ordre <command>dh_auto_configure</command> amb " "les opcions predeterminades afegint l'opció <literal>--prefix=/usr</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Here's the relevant part of <systemitem role=\"package\">gentoo</" "systemitem>'s <filename>Makefile</filename><placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "Aquest és la part important del fitxer <filename>Makefile</filename> del " "paquet <systemitem role=\"package\">gentoo</systemitem> <placeholder type=" "\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" msgstr "" "# On s'instal·laran els executables amb 'make install'?\n" "BIN = /usr/local/bin\n" "# On s'instal·laran els icones amb 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "We see that the files are set to install under <filename>/usr/local</" "filename>. As explained above, that directory hierarchy is reserved for " "local use on Debian, so change those paths to:" msgstr "" "A l'exemple, els fitxers s'instal·laran en el directori <filename>/usr/" "local</filename>. Con s'ha explicat abans, aquesta branca de directoris és " "d'ús privat a Debian. Cal canviar l'ubicació a:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgstr "" "# On s'instal·laran els executables amb 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# On s'instal·laran els icones amb 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The exact locations that should be used for binaries, icons, documentation, " "etc. are specified in the Filesystem Hierarchy Standard (FHS). You should " "browse through it and read the sections relevant to your package." msgstr "" "El destí correcte dels fitxers binaris, icones, documentació, etc, s'explica " "en el document «Estàndard de la jerarquia del sistema de fitxers». Cal que " "llegeixis les seccions que poden ésser d'aplicació al teu paquet." #. type: Content of: <book><chapter><section><para> msgid "" "So, we should install executable commands in <filename>/usr/bin</filename> " "instead of <filename>/usr/local/bin</filename>, the manual page in " "<filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/" "man1</filename>, and so on. Notice how there's no manual page mentioned in " "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" "filename>, but since Debian Policy requires that every program has one, " "we'll make one later and install it in <filename>/usr/share/man/man1</" "filename>." msgstr "" "Així doncs, hauríem d'instal·lar els arxius executables en el directori " "<filename>/usr/bin</filename> en lloc de <filename>/usr/local/bin</filename> " "i la pàgina de manual a <filename>/usr/share/man/man1</filename> en lloc de " "<filename>/usr/local/man/man1</filename>. No hi ha cap referència a la " "pàgina de manual en el fitxer <filename>Makefile</filename> de <systemitem " "role=\"package\">gentoo</systemitem>, però a Debian cal que cada programa " "tengui la seva pàgina de manual, així que més endavant en farem una i la " "instal·larem a <filename>/usr/share/man/man1</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Some programs don't use <filename>Makefile</filename> variables to define " "paths such as these. This means you might have to edit some real C sources " "in order to fix them to use the right locations. But where to search, and " "exactly what for? You can find this out by issuing:" msgstr "" "Alguns programes no fan servir variables en el fitxer <filename>makefile</" "filename> per definir les ubicacions dels fitxers. Això significa que " "hauràs d'editar alguns dels fitxers de codi C per solucionar això per tal de " "que es facin servir els directoris correctes. Però, on cal buscar?, i " "exactament, què? Prova d'executar el següent:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" msgstr "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>grep</command> will run recursively through the source tree and " "tell you the filename and the line number for all matches." msgstr "" "<command>grep</command> buscarà recursivament en l'estructura de directoris " "i indicarà el nom del fitxer i la línia on hi hagi alguna concordança." #. type: Content of: <book><chapter><section><para> msgid "" "Edit those files and in those lines replace <literal>usr/local/lib</literal> " "with <literal>usr/lib</literal>. This can be done automatically as follows:" msgstr "" "Ara edita els fitxers i canvia la cadena <literal>usr/local/lib</literal> " "per <literal>usr/lib</literal>. La següent ordre hauria de fer-ho " "automàticament:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you want to confirm each substitution instead, this can be done " "interactively as follows:" msgstr "" "Si voleu confirmar cada una de les substitucions en el seu lloc, això es pot " "fer de forma interactiva de la següent manera:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "Next you should find the <literal>install</literal> target (searching for " "the line that starts with <literal>install:</literal> will usually work) and " "rename all references to directories other than ones defined at the top of " "the <filename>Makefile</filename>." msgstr "" "Fet això hauries de trobar (en el fitxer <filename>Makefile</filename>) " "l'objectiu <literal>install:</literal> (busca una línia que comenci per " "«install:») i canviar el nom de totes les referències a directoris distints " "dels definits a l'inici de l'arxiu <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Originally, <systemitem role=\"package\">gentoo</systemitem>'s " "<literal>install</literal> target said:" msgstr "" "A l'original, l'objectiu «install» de <systemitem role=\"package\">gentoo</" "systemitem> posava:" #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this upstream bug and record it with the <command>dquilt</command> " "command as <filename>debian/patches/install.patch</filename>." msgstr "" "Corregirem el problema i conservarem les modificacions en el fitxer " "<filename>debian/patches/install.patch</filename> amb l'ordre " "<command>dquilt</command>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "In your editor, change this for the Debian package as follows:" msgstr "Anem a canviar això per al paquet Debian amb l'editor:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" msgstr "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You'll have noticed that there's now an <literal>install -d</literal> " "command before the other commands in the rule. The original " "<filename>Makefile</filename> didn't have it because usually <literal>/usr/" "local/bin</literal> and other directories already exist on the system where " "you are running <literal>make install</literal>. However, since we will be " "installing into a newly created private directory tree, we will have to " "create each and every one of those directories." msgstr "" "Fixa't que hi ha la primera línia que és nova (<literal>install -d</" "literal>) abans de les altres. El fitxer <filename>Makefile</filename> " "original no estava aquesta ordre degut a què els directoris <literal>/usr/" "local/bin</literal> ja existeixen en el sistema quan s'executa <literal>make " "install</literal>. Per això, com farem la instal·lació en un directori buit " "(o inexistent), caldrà assegurar-se que els directoris necessaris ja " "existeixen." #. type: Content of: <book><chapter><section><para> msgid "" "We can also add in other things at the end of the rule, like the " "installation of additional documentation that the upstream authors sometimes " "omit:" msgstr "" "També podem afegir altres coses al final de la regla, com la instal·lació de " "la documentació addicional que de vegades els autors originals poden haver " "descuidat:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" msgstr "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" #. type: Content of: <book><chapter><section><para> msgid "" "Check carefully, and if everything is okay, ask <command>dquilt</command> to " "generate the patch to create <filename>debian/patches/install.patch</" "filename> and add its description." msgstr "" "Després de comprovar que tot sigui correcte, fes que <command>dquilt</" "command> actualitzi la modificació en el fitxer <filename>debian/patches/" "install.patch</filename> i afegeix la descripció en la capçalera del fitxer:" #. type: Content of: <book><chapter><section><para> msgid "Now you have a series of patches." msgstr "Ja tens un parell de pegats del paquet:" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>" msgstr "" "Correcció d'un error en el codi font: <filename>debian/patches/fix-gentoo-" "target.patch</filename>" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Debian specific packaging modification: <filename>debian/patches/install." "patch</filename>" msgstr "" "Una modificació específica de l'empaquetat Debian: <filename>debian/patches/" "install.patch</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Whenever you make changes that are not specific to the Debian package such " "as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to " "send them to the upstream maintainer so they can be included in the next " "version of the program and be useful to everyone else. Also remember to " "avoid making your fixes specific to Debian or Linux - or even Unix! Make " "them portable. This will make your fixes much easier to apply." msgstr "" "Sempre que facis canvis que no estiguin específicament relacionats amb el " "paquet Debian, tals com <filename>debian/patches/fix-gentoo-target.patch</" "filename>, envia'ls a l'autor del codi original per tal que aquest ho pugui " "incorporar en la pròxima revisió del programa i així li puguin ésser útils. " "A més, procura que els canvis realitzats no siguin exclusius per a Debian o " "GNU/Linux (ni tan sols per a Unix!) abans d'enviar-los: fes canvis que " "siguin portables. Això farà que els teus pedaços siguin fàcils d'aplicar." #. type: Content of: <book><chapter><section><para> msgid "" "Note that you don't have to send the <filename>debian/*</filename> files " "upstream." msgstr "" "No cal enviar cap dels fitxers del directori <filename>debian/*</filename> a " "l'autor original." #. type: Content of: <book><chapter><section><title> msgid "Differing libraries" msgstr "Diferències a les biblioteques." #. type: Content of: <book><chapter><section><para> msgid "" "There is one other common problem: libraries are often different from " "platform to platform. For example, a <filename>Makefile</filename> can " "contain a reference to a library which doesn't exist on the Debian system. " "In that case, we need to change it to a library which does exist in Debian, " "and serves the same purpose." msgstr "" "Hi ha un problema que és bastant freqüent: les biblioteques són generalment " "diferents entre plataformes. Per exemple, un arxiu <filename>Makefile</" "filename> pot fer referència a una biblioteca que no existeixi a Debian o " "fins i tot a GNU/Linux. En aquest cas, cal canviar-la a una biblioteca " "equivalent a Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume a line in your program's <filename>Makefile</filename> (or " "<filename>Makefile.in</filename>) as the following." msgstr "" "Anem a suposar que a l'arxiu <filename>Makefile</filename> (o " "<filename>Makefile.in</filename>) del teu programa hi ha una línia que posa " "alguna cosa com el següent." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "LIBS = -lfoo -lbar\n" msgstr "LIBS = -lfoo -lbar\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If there are API changes from the <literal>foo</literal> library to the " "<literal>foo2</literal> library, required changes to the source code need to " "be made to match the new API." msgstr "" "Si hi ha canvis a l'API de la biblioteca <literal>foo</literal> a la " "biblioteca <literal>foo2</literal>, els canvis en el codi font s'hauran de " "fer de manera que siguin compatibles amb la nova API." #. type: Content of: <book><chapter><section><para> msgid "" "If your program doesn't compile since the <literal>foo</literal> library " "doesn't exist and its equivalent is provided by the <literal>foo2</literal> " "library on the Debian system, you can fix this build problem as " "<filename>debian/patches/foo2.patch</filename> by changing <literal>foo</" "literal> into <literal>foo2</literal>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Si el teu programa no es compila degut a que la biblioteca <literal>foo</" "literal> no està present i el seu equivalent és proporcionat per la " "biblioteca <literal>foo2</literal> en els sistemes Debian, pots corregir " "aquest problema de compilació canviant <literal>foo</literal> per " "<literal>foo2</literal> a l'arxiu <filename>debian/patches/foo2.patch</" "filename> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" ".. descriu el canvi\n" #. type: Content of: <book><chapter><title> msgid "Required files under the <filename>debian</filename> directory" msgstr "Fitxers necessaris en el directori <filename>debian</filename>." #. type: Content of: <book><chapter><para><footnote><para> msgid "" "In this chapter, files in the <filename>debian</filename> directory are " "referred to without the leading <filename>debian/</filename> for simplicity " "whenever the meaning is obvious." msgstr "" "En aquest capítol, es farà referència als arxius ubicats en el directori " "<filename>debian</filename> sense afegir el prefix <filename>debian/</" "filename> per a simplificar el text i sempre que no hi hagi possibilitat de " "confusió." #. type: Content of: <book><chapter><para> msgid "" "There is a new subdirectory under the program's source directory, called " "<filename>debian</filename>. There are a number of files in this directory " "that we should edit in order to customize the behavior of the package. The " "most important of them are <filename>control</filename>, " "<filename>changelog</filename>, <filename>copyright</filename>, and " "<filename>rules</filename>, which are required for all packages. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Ara tens un nou directori en el directori principal del programa " "(«gentoo-0.9.12»), amb el nom <filename>debian</filename>. Hi ha alguns " "fitxers en aquest directori que caldrà editar per adaptar-los. Els fitxers " "més importants són <filename>control</filename>, <filename>changelog</" "filename>, <filename>copyright</filename> i <filename>rules</filename>, tots " "ells s'han d'incloure a tots els paquets <placeholder type=\"footnote\" id=" "\"0\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>control</filename>" msgstr "El fitxer <filename>control</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "This file contains various values which <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command>, and other package management tools " "will use to manage the package. It is defined by the <ulink url=\"&policy-" "control;\">Debian Policy Manual, 5 \"Control files and their fields\"</" "ulink>." msgstr "" "La informació d'aquest fitxer es fa servir per <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command> i altres eines de gestió de paquets. " "El seu contingut està explicat a <ulink url=\"&policy-control;\">«Debian " "Policy Manual, 5 'Control files and their fields'»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Here is the <filename>control</filename> file <command>dh_make</command> " "created for us:" msgstr "" "Aquest és el contingut del fitxer <filename>control</filename> generat per " "<command>dh_make</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <aquí l'URL de l'autor original >\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <descripció de fins a 60 caràcters>\n" "13 <descripció llarga, cada línia amb un espai inicial.>\n" #. type: Content of: <book><chapter><section><para> msgid "(I've added the line numbers.)" msgstr "(S'han afegit els números de les línies)." #. type: Content of: <book><chapter><section><para> msgid "" "Lines 1-7 are the control information for the source package. Lines 9-13 " "are the control information for the binary package." msgstr "" "Les línies 1 a 7 tenen la informació de control per al paquet font. Les " "línies 9 a 13 tenen informació de control del paquet binari." #. type: Content of: <book><chapter><section><para> msgid "Line 1 is the name of the source package." msgstr "La línia 1 és el nom del paquet font." #. type: Content of: <book><chapter><section><para> msgid "Line 2 is the section of the distribution the source package goes into." msgstr "" "La línia 2 és la secció de la distribució a la qual s'assignarà el paquet." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections" "\"</ulink> and <ulink url=\"§ions-unstable;\">List of sections in " "<literal>sid</literal></ulink>." msgstr "" "Consulta <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 " "'Sections'</ulink> and <ulink url=\"§ions-unstable;\">Llistat de " "seccions a <literal>sid</literal></ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "As you may have noticed, the Debian archive is divided into multiple areas: " "<literal>main</literal> (the free software), <literal>non-free</literal> " "(the not really free software) and <literal>contrib</literal> (free software " "that depends on non-free software). Each of these is divided into sections " "that classify packages into rough categories. So we have <literal>admin</" "literal> for administrator-only programs, <literal>devel</literal> for " "programmer tools, <literal>doc</literal> for documentation, <literal>libs</" "literal> for libraries, <literal>mail</literal> for email readers and " "daemons, <literal>net</literal> for network apps and daemons, <literal>x11</" "literal> for X11 programs that don't fit anywhere else, and many more. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Debian està dividit en seccions: <literal>main</literal> (principal, per als " "programes de codi lliure), <literal>non-free</literal> (propietaris, per als " "programes propietaris) i <literal>contrib</literal> (per als programes que " "depenen de programari propietari). A cada secció hi ha subdivisions segons " "el tipus de programari. Tenim <literal>admin</literal> per a programes que " "es fan servir per l'administració del sistema (habitualment només per " "l'usuari «root»), <literal>base</literal> per a les eines bàsiques del " "sistema, <literal>devel</literal> per al programari de desenvolupament, " "<literal>doc</literal> per a la documentació, <literal>libs</literal> per a " "les biblioteques, <literal>mail</literal> per a lectors de correu i dimonis " "de correu electrònic, <literal>net</literal> per a programes i dimonis de " "xarxa, <literal>x11</literal> per a programes específics de X11 i molts " "d'altres <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Let's change it then to x11. (A <literal>main/</literal> prefix is implied " "so we can omit it.)" msgstr "" "Anem a canviar-ho per x11 (el prefix <literal>main/</literal> és implícit, " "pel que podem ometre'l)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities" "\"</ulink>." msgstr "" "Consulta <ulink url=\"&policy-priorities;\">Manual de normes de Debian, 2.5 " "'Prioritat'</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 3 describes how important it is that the user installs this package. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La línia 3 descriu la importància que pot tenir per a l'usuari (o el " "sistema) la instal·lació del paquet <placeholder type=\"footnote\" id=\"0\"/" ">." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>optional</literal> priority will usually work for new packages " "that do not conflict with others claiming <literal>required</literal>, " "<literal>important</literal>, or <literal>standard</literal> priority." msgstr "" "La prioritat <literal>optional</literal> es fa servir per a paquets nous que " "no tenen conflictes amb altres paquets amb prioritat <literal>required</" "literal>, <literal>important</literal> o <literal>standard</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>extra</literal> priority will usually work for new packages " "that conflict with others with non-<literal>extra</literal> priorities." msgstr "" "La prioritat <literal>extra</literal> es fa servir per als nous paquets que " "tenen conflictes amb altres paquets que no tenguin la prioritat " "<literal>extra</literal>" #. type: Content of: <book><chapter><section><para> msgid "" "Section and priority are used by front-ends like <command>aptitude</command> " "when they sort packages and select defaults. Once you upload the package to " "Debian, the value of these two fields can be overridden by the archive " "maintainers, in which case you will be notified by email." msgstr "" "«Section» i «Priority» es fan servir per les interfícies com " "<command>aptitude</command> quan ordenen els paquets i seleccionen els " "predeterminats. Una vegada el teu paquet s'afegeixi a Debian, el contingut " "d'aquests camps pot ésser canviat per les persones responsables del " "repositori, que t'informaran per correu electrònic." #. type: Content of: <book><chapter><section><para> msgid "" "As this is a normal priority package and doesn't conflict with anything " "else, we will change the priority to <literal>optional</literal>." msgstr "" "Com és un paquet de prioritat normal i no té conflictes amb cap altre " "paquet, deixarem la prioritat a <literal>optional</literal> (opcional)." #. type: Content of: <book><chapter><section><para> msgid "" "Line 4 is the name and email address of the maintainer. Make sure that this " "field includes a valid <literal>To</literal> header for email, because after " "you upload it, the bug tracking system will use it to deliver bug emails to " "you. Avoid using commas, ampersands, or parentheses." msgstr "" "A la línia 4 hi ha el nom i l'adreça electrònica del desenvolupador. " "Assegura't que l'adreça electrònica és vàlida per al camp <literal>A</" "literal> : el sistema de seguiment d'errades («Bug Tracking System») la farà " "servir per enviar-te els missatges de les errades del paquet. No facis " "servir «», el signe «&» i parèntesi." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 \"Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</" "ulink>." msgstr "" "Consulta <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian " "Policy Manual, 7.7 'Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep'</" "ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 5 includes the list of packages required to build your package as the " "<literal>Build-Depends</literal> field. You can also have the " "<literal>Build-Depends-Indep</literal> field as an additional line, here. " "<placeholder type=\"footnote\" id=\"0\"/> Some packages like <systemitem " "role=\"package\">gcc</systemitem> and <systemitem role=\"package\">make</" "systemitem> which are required by the <systemitem role=\"package\">build-" "essential</systemitem> package are implied. If you need to have other tools " "to build your package, you should add them to these fields. Multiple " "entries are separated with commas; read on for the explanation of binary " "package dependencies to find out more about the syntax of these lines." msgstr "" "A la línia 5 hi ha els paquets necessaris per a la construcció del teu " "paquet (en el camp <literal>Build-Depends</literal>). Hi pot haver una " "línia addicional amb el camp <literal>Build-Depends-Indep</" "literal><placeholder type=\"footnote\" id=\"0\"/>. Alguns paquets com a " "<systemitem role=\"package\">gcc</systemitem> i <systemitem role=\"package" "\">make</systemitem> que són necessaris per a <systemitem role=\"package" "\">build-essential</systemitem> no és necessari posar-los (es consideren " "implícitament). Si el teu programa fa servir algun compilador que no sigui " "habitual o alguna altra eina per a la construcció del paquet, hauries " "d'afegir la línia «Build-Depends». Els noms dels paquets se separen amb " "comes: consulta l'explicació de les dependències binaries per saber més " "sobre la sintaxi d'aquest camp." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For all packages packaged with the <command>dh</command> command in the " "<filename>debian/rules</filename> file, you must have <literal>debhelper " "(>=9)</literal> in the <literal>Build-Depends</literal> field to satisfy " "the Debian Policy requirement for the <literal>clean</literal> target." msgstr "" "A tots els paquets construïts amb l'ordre <command>dh</command> en el fitxer " "<filename>debian/rules</filename>, caldrà posar <literal>debhelper (>=9)</" "literal> en el camp <literal>Build-Depends</literal> per seguir les normes " "Debian respecte a l'objectiu <literal>clean</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Source packages which have binary packages with <literal>Architecture: any</" "literal> are rebuilt by the autobuilder. Since this autobuilder procedure " "installs only the packages listed in the <literal>Build-Depends</literal> " "field before running <literal>debian/rules build</literal> (see <xref " "linkend=\"autobuilder\"/>), the <literal>Build-Depends</literal> field needs " "to list practically all the required packages and <literal>Build-Depends-" "Indep</literal> is rarely used." msgstr "" "Els paquets de fonts que tenen paquets binaris amb el camp " "<literal>Architecture: any</literal> fan servir «autobuilder». El " "procediment «autobuilder» s'encarrega d'instal·lar els paquets llistats en " "el camp <literal>Build-Depends</literal> abans d'executar <literal>debian/" "rules build</literal> (consulta <xref linkend=\"autobuilder\"/>), el camp " "<literal>Build-Depends</literal> normalment llista tots els paquets " "necessaris i per això, el camp <literal>Build-Depends-indep</literal> es fa " "servir poc." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For source packages with binary packages all of which are " "<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" "literal> field may list all the required packages unless they are already " "listed in the <literal>Build-Depends</literal> field to satisfy the Debian " "Policy requirement for the <literal>clean</literal> target." msgstr "" "Els paquets de fonts amb binaris del tipus <literal>Architecture: all</" "literal>, el camp <literal>Build-Depends-Indep</literal> inclourà tots els " "paquets necessaris amb excepció dels llistats en el camp <literal>Build-" "Depends</literal> per tal de seguir els requeriments de les normes Debian " "respecte a l'objectiu <literal>clean</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This somewhat strange situation is a feature well documented in the <ulink " "url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 55</" "ulink>. This is not due to the use of the <command>dh</command> command in " "the <filename>debian/rules</filename> file but due to how the <command>dpkg-" "buildpackage</command> works. The same situation applies to the <ulink url=" "\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build " "system for Ubuntu</ulink>." msgstr "" "Aquesta situació una mica estranya és una característica ben documentada a " "la <ulink url=\"&policy-build-depends-indep;\">«Debian Policy Manual, " "Footnotes 55»</ulink>. En tot cas, això és degut al funcionament de " "<command>dpkg-buildpackage</command>, no pel fet de fer servir l'ordre " "<command>dh</command> en el fitxer <filename>debian/rules</filename>. Tot " "això també s'explica a <ulink url=\"https://bugs.launchpad.net/launchpad-" "buildd/+bug/238141\">«auto build system for Ubuntu»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If you are not sure which one should be used, use the <literal>Build-" "Depends</literal> field to be on the safe side. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Si tens dubtes, fes servir el camp <literal>Build-Depends</literal> " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "To find out what packages your package needs to be built run the command:" msgstr "" "Si vols saber quins paquets són necessaris per compilar el teu programa, " "executa l'ordre (si el programa fa servir «configure» per compilar-se):" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-depcheck -d ./configure\n" msgstr "$ dpkg-depcheck -d ./configure\n" #. type: Content of: <book><chapter><section><para> msgid "" "To manually find exact build dependencies for <command><replaceable>/usr/bin/" "foo</replaceable></command>, execute" msgstr "" "Si vols saber les dependències de compilació d'un paquet " "<command><replaceable>/usr/bin/nom_del_paquet</replaceable></command>, " "executa:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" msgstr "$ objdump -p <replaceable>/usr/bin/nom_del_paquet</replaceable> | grep NEEDED\n" #. type: Content of: <book><chapter><section><para> msgid "" "and for each library listed, e.g., <command>libfoo.so.6</command>, execute" msgstr "" "i per a cada una de les biblioteques llistades per l'ordre anterior (a " "l'exemple es fa amb <command>libfoo.so.6</command>) executa:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg -S libfoo.so.6\n" msgstr "$ dpkg -S libfoo.so.6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then just take the <literal>-dev</literal> version of every package as a " "<literal>Build-Depends</literal> entry. If you use <command>ldd</command> " "for this purpose, it will report indirect lib dependencies as well, " "resulting in the problem of excessive build dependencies." msgstr "" "Cal fer servir la versió <literal>-dev</literal> de cada un dels paquets " "llistats en el camp <literal>Build-Depends</literal>. Si fas servir el " "programa <command>ldd</command> per saber les dependències, també " "t'informarà de les dependències de les biblioteques indirectes, la qual cosa " "pot fer que la llista sigui massa llarga." #. type: Content of: <book><chapter><section><para> msgid "" "<systemitem role=\"package\">gentoo</systemitem> also happens to require " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> and <systemitem role=\"package" "\">libglib1.2-dev</systemitem> to build, so we'll add them here next to " "<systemitem role=\"package\">debhelper</systemitem>." msgstr "" "<systemitem role=\"package\">gentoo</systemitem> fa servir <systemitem role=" "\"package\">xlibs-dev</systemitem>, <systemitem role=\"package\">libgtk1.2-" "dev</systemitem> i <systemitem role=\"package\">libglib1.2-dev</systemitem> " "en la compilació, així que caldrà afegir-ho tot a continuació de <systemitem " "role=\"package\">debhelper</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 6 is the version of the <ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink> standards this package follows, the one you read while making " "your package." msgstr "" "La línia 6 és la versió dels estàndards definits en les normes Debian i que " "s'han seguit en la construcció del paquet, és a dir, la versió del manual de " "normes que has seguit per empaquetar (consulta <ulink url=\"&debian-policy;" "\">«Debian Policy Manual»</ulink>)." #. type: Content of: <book><chapter><section><para> msgid "On line 7 you can put the URL of the software's upstream homepage." msgstr "A la línia 7 està l'adreça URL del programa." #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the name of the binary package. This is usually the same as the " "name of the source package, but it doesn't necessarily have to be that way." msgstr "" "La línia 9 és el nom del paquet binari. Normalment és el mateix que el " "paquet del codi original, tot i què no és imprescindible que sigui així." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " "\"Architecture\"</ulink> for exact details." msgstr "" "Consulta <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " "\"Architecture\"</ulink> per a més detalls." #. type: Content of: <book><chapter><section><para> msgid "" "Line 10 describes the architectures the binary package can be compiled for. " "This value is usually one of the following depending on the type of the " "binary package. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "A la línia 10 es descriu les arquitectures en les quals pot ésser compilat " "el paquet. Aquest valor és un dels següents depenent del tipus de paquet " "binari <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: any</literal>" msgstr "<literal>Architecture: any</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture dependent one usually in a " "compiled language." msgstr "" "El paquet binari generat és depenent de l'arquitectura, generalment quan es " "tracta d'un programa escrit en un llenguatge compilat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: all</literal>" msgstr "<literal>Architecture: all</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture independent one usually " "consisting of text, images, or scripts in an interpreted language." msgstr "" "El paquet binari generat és independent de l'arquitectura, generalment quan " "es tracta d'arxius de text, imatges o guions escrits en un llenguatge " "interpretat." #. type: Content of: <book><chapter><section><para> msgid "" "We leave line 10 as is since this is written in C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> will fill in the appropriate architecture value " "for any machine this source package gets compiled on." msgstr "" "Eliminarem la línia 10 degut a que el programa està escrit en C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> omplirà el valor apropiat d'arquitectura per a " "cada màquina en què és possible compilar el paquet de fonts." #. type: Content of: <book><chapter><section><para> msgid "" "If your package is architecture independent (for example, a shell or Perl " "script, or a document), change this to <literal>all</literal>, and read " "later in <xref linkend=\"rules\"/> about using the <literal>binary-indep</" "literal> rule instead of <literal>binary-arch</literal> for building the " "package." msgstr "" "Si el teu paquet és independent de l'arquitectura (serà el cas d'un document " "o d'un guió escrit en Perl), canvia el valor a <literal>all</literal> i " "consulta més endavant <xref linkend=\"rules\"/> per saber com fer servir la " "regla <literal>binary-indep</literal> en lloc de <literal>binary-arch</" "literal> per a la construcció del paquet." #. type: Content of: <book><chapter><section><para> msgid "" "Line 11 shows one of the most powerful features of the Debian packaging " "system. Packages can relate to each other in various ways. Apart from " "<literal>Depends</literal>, other relationship fields are " "<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" "Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " "<literal>Provides</literal>, and <literal>Replaces</literal>." msgstr "" "La línia 11 mostra una de les més poderoses possibilitats del sistema de " "paquets de Debian. És possible relacionar els paquets entre ells. A més de " "<literal>Depends</literal> (depèn de) altres camps de relació són " "<literal>Recommends</literal> (recomana), <literal>Suggests</literal> " "(suggereix), <literal>Pre-Depends</literal> (pre-depèn de), <literal>Breaks</" "literal> (trenca a), <literal>Conflicts</literal> (entre en conflicte amb), " "<literal>Provides</literal> (proveeix), <literal>Replaces</literal> " "(reemplaça a)." #. type: Content of: <book><chapter><section><para> msgid "" "The package management tools usually behave the same way when dealing with " "these relations; if not, it will be explained. (See <citerefentry> " "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, etc.)" msgstr "" "Les eines de gestió de paquets tracten de la mateixa manera les relacions " "entre els paquets; els casos en què no és així s'explicaran en el seu moment " "(consulta <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>dselect</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>apt</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>aptitude</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>, etc.)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " "\"Declaring relationships between packages\"</ulink>." msgstr "" "Consulta <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " "\"Declaring relationships between packages\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Here is a simplified description of package relationships. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Heus aquí una descripció simplificada de les relacions entre paquets " "<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Depends</literal>" msgstr "<literal>Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed unless the packages it depends on are " "installed. Use this if your program absolutely will not run (or will cause " "severe breakage) unless a particular package is present." msgstr "" "El programa no s'instal·larà fins què s'instal·lin els paquets dels quals " "depèn. Fes servir aquesta opció si el teu programa no funciona (o es trenca " "fàcilment) sense un paquet determinat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Recommends</literal>" msgstr "<literal>Recommends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages that are not strictly necessary but are typically used " "with your program. When a user installs your program, all front-ends will " "probably prompt them to install the recommended packages. " "<command>aptitude</command> and <command>apt-get</command> install " "recommended packages along with your package by default (but the user can " "disable this behavior). <command>dpkg</command> will ignore this field." msgstr "" "Aquesta opció és per a paquets que no són imprescindibles per al " "funcionament del programa però que es fan servir juntament amb ell. Quan " "els usuaris instal·lin el teu paquet, totes les interfícies d'instal·lació " "aconsellaran la instal·lació dels paquets recomanats. <command>aptitude</" "command> i <command>apt-get</command> instal·len els paquets recomanats " "(però l'usuari pot decidir no fer-ho). <command>dpkg</command> ignora el " "contingut d'aquest camp." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Suggests</literal>" msgstr "<literal>Suggests</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages which will work nicely with your program but are not " "at all necessary. When a user installs your program, they will probably not " "be prompted to install suggested packages. <command>aptitude</command> can " "be configured to install suggested packages along with your package but this " "is not its default. <command>dpkg</command> and <command>apt-get</command> " "will ignore this field." msgstr "" "Fes servir aquesta opció per a paquets que funcionaran bé amb el teu " "programa però que no són en absolut necessaris.. Quan l'usuari instal·li el " "teu programa, probablement no se li demanarà que s'instal·lin els paquets " "suggerits. És possible configurar <command>aptitude</command> per a què " "instal·li els paquets suggerits (no és l'opció per defecte). <command>dpkg</" "command> i <command>apt-get</command> ignoren aquestes dependències. Fes " "servir aquesta opció per a paquets que funcionaran bé amb el teu programa " "però que no són en absolut necessaris." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Pre-Depends</literal>" msgstr "<literal>Pre-Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is stronger than <literal>Depends</literal>. The package will not be " "installed unless the packages it pre-depends on are installed and " "<emphasis>correctly configured</emphasis>. Use this <emphasis>very</" "emphasis> sparingly and only after discussing it on the <ulink url=\"&debian-" "devel-ldo;\">debian-devel@lists.debian.org</ulink> mailing list. Read: " "don't use it at all. :-)" msgstr "" "Aquesta opció és més radical que <literal>Depends</literal>. El paquet no " "s'instal·larà fins que els paquets dels quals pre-depèn estiguin instal·lats " "i <emphasis>correctament configurats</emphasis>. Fes servir aquesta opció " "<emphasis>poques vegades</emphasis> i només després d'haver-ho discutit a la " "llista de distribució <ulink url=\"&debian-devel-ldo;\">debian-devel@lists." "debian.org</ulink>. Més clarament: no facis servir aquesta opció :-)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Conflicts</literal>" msgstr "<literal>Conflicts</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed until all the packages it conflicts with " "have been removed. Use this if your program absolutely will not run or will " "cause severe problems if a particular package is present." msgstr "" "El paquet no s'instal·larà fins què tots el paquets amb els quals entre en " "conflicte siguin eliminats. Fes servir aquesta opció si el teu programa no " "funcionarà amb absolut (o fallarà fàcilment) si un paquet en concret no està " "instal·lat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Breaks</literal>" msgstr "<literal>Breaks</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "When installed the package will break all the listed packages. Normally a " "<literal>Breaks</literal> entry specifies that it applies to versions " "earlier than a certain value. The resolution is generally to use higher-" "level package management tools to upgrade the listed packages." msgstr "" "Si el paquet s'instal·la, tots els paquets de la llista es trencaran. " "Normalment, els paquets inclosos en la llista <literal>Breaks</literal> " "tenen una clàusula de versió anterior. La solució és fe servir eines de " "gestió de paquets més sofisticades per actualitzar els paquets de la llista." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Provides</literal>" msgstr "<literal>Provides</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For some types of packages where there are multiple alternatives virtual " "names have been defined. You can get the full list in the <ulink url=" "\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> file. Use " "this if your program provides a function of an existing virtual package." msgstr "" "Hi ha definits noms virtuals per a alguns tipus determinats de paquets que " "ofereixen múltiples alternatives per a la mateixa funció. Pots obtenir una " "llista completa a <ulink url=\"&virtual-package;\">virtual-package-names-" "list.txt.gz</ulink>. Fes servir aquesta opció si el teu programa ofereix les " "funcions d'un paquet virtual que ja existeixi." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Replaces</literal>" msgstr "<literal>Replaces</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this when your program replaces files from another package, or " "completely replaces another package (used in conjunction with " "<literal>Conflicts</literal>). Files from the named packages will be " "overwritten with the files from your package." msgstr "" "Fes servir aquesta opció només si el teu programa substitueix fitxers d'un " "altra paquet o el paquet complet (generalment es fa servir aquesta opció " "conjuntament amb <literal>Conflicts</literal>). S'eliminaran els fitxers " "dels paquets indicats abans d'instal·lar el teu." #. type: Content of: <book><chapter><section><para> msgid "" "All these fields have uniform syntax. They are a list of package names " "separated by commas. These package names may also be lists of alternative " "package names, separated by vertical bar symbols <literal>|</literal> (pipe " "symbols)." msgstr "" "Tots aquests camps tenen una sintaxi uniforme: es tracta d'una llista de " "noms de paquets separats per comes. Aquests noms de paquets també poden " "ésser llistes de paquets alternatius, separats amb una barra vertical " "«<literal>|</literal>» (símbol de tub)." #. type: Content of: <book><chapter><section><para> msgid "" "The fields may restrict their applicability to particular versions of each " "named package. The restriction of each individual package is listed in " "parentheses after its name, and should contain a relation from the list " "below followed by a version number value. The relations allowed are: " "<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " "<literal>>=</literal>, and <literal>>></literal> for strictly " "lower, lower or equal, exactly equal, greater or equal, and strictly " "greater, respectively. For example," msgstr "" "Els camps poden restringir la seva aplicació a versions determinades del " "paquet llistat. Aquestes versions s'enumeren entre parèntesi després de " "cada nom de paquet individual, i ha de contenir una relació de la següent " "llista seguit pel nombre de versió. Les relacions possibles són: " "<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " "<literal>>=</literal> i <literal>>></literal> per a estrictament " "anterior, anterior o igual, exactament igual, posterior o igual i " "estrictament posterior, respectivament. Per exemple:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" msgstr "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" #. type: Content of: <book><chapter><section><para> msgid "" "The last feature you need to know about is <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." msgstr "" "L'última funcionalitat que necessites conèixer és <literal>${shlibs:Depends}" "</literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates shared library dependencies for binary " "packages. It generates a list of <ulink url=\"&elf;\">ELF</ulink> " "executables and shared libraries it has found for each binary package. This " "list is used for substituting <literal>${shlibs:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> determina les dependències de biblioteques " "compartides pels paquets binaris. Genera una llista d'executables <ulink url=" "\"&elf;\">ELF</ulink> i biblioteques compartides per a cada paquet binari. " "Aquesta llista es farà sevir per substituir <literal>${shlibs:Depends}</" "literal>." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates Perl dependencies. It generates a " "list of a dependencies on <literal>perl</literal> or <literal>perlapi</" "literal> for each binary package. This list is used for substituting " "<literal>${perl:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> comprova les dependències Perl. Genera una llista " "de dependències de <literal>perl</literal> o <literal>perlapi</literal> per " "a cada paquet binari. Aquesta llista es fa servir per reemplaçar <literal>" "${perl:Depends}</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Some <systemitem role=\"package\">debhelper</systemitem> commands may cause " "the generated package to depend on some additional packages. All such " "commands generate a list of required packages for each binary package. This " "list is used for substituting <literal>${misc:Depends}</literal>." msgstr "" "Algunes ordres de <systemitem role=\"package\">debhelper</systemitem> " "determinen les dependències dels paquets llistats anteriorment. Les ordres " "generen una llista dels paquets necessaris per a cada un dels paquets " "binaris. La llista d'aquests paquets reemplaçaran a <literal>${misc:Depends}" "</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> generates <filename>DEBIAN/control</filename> for " "each binary package while substituting <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." msgstr "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> genera l'arxiu <filename>DEBIAN/control</" "filename> per a cada paquet binari substituint <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." #. type: Content of: <book><chapter><section><para> msgid "" "Having said all that, we can leave the <literal>Depends</literal> field " "exactly as it is now, and insert another line after it saying " "<literal>Suggests: file</literal>, because <systemitem role=\"package" "\">gentoo</systemitem> can use some features provided by the <systemitem " "role=\"package\">file</systemitem> package." msgstr "" "La línia <literal>Depends</literal> pot quedar així com està però afegirem " "una línia <literal>Suggests: file</literal>, degut a què el paquet " "<systemitem role=\"package\">gentoo</systemitem> fa servir algunes funcions " "del paquet <systemitem role=\"package\">file</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the Homepage URL. Let's assume this to be at <ulink url=\"&gentoo;" "\"/>." msgstr "" "La línia 9 conté la URL del programa. S'assumeix que és <ulink url=\"&gentoo;" "\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 12 is the short description. Terminals are conventionally 80 columns " "wide so this shouldn't be longer than about 60 characters. I'll change it " "to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgstr "" "La línia 12 és una descripció curta del programa. La major part dels " "monitors dels usuaris són de 80 columnes d'amplada (els terminals, és " "clar!) per la qual cosa la descripció no hauria de tenir més de 60 " "caràcters. Canviaré la descripció per a <literal>fully GUI-configurable, " "two-pane X file manager</literal>. («Interfície gràfica d'usuari GTK+ de " "gestió de fitxers completament configurable»)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "These descriptions are in English. Translations of these descriptions are " "provided by <ulink url=\"&ddtp;\">The Debian Description Translation Project " "- DDTP</ulink>." msgstr "" "Aquestes descripcions s'han d'escriure en anglès. De la traducció " "s'encarrega el <ulink url=\"&ddtp;\">The Debian Description Translation " "Project - DDTP</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 13 is where the long description goes. This should be a paragraph " "which gives more details about the package. Column 1 of each line should be " "empty. There must be no blank lines, but you can put a single <literal>.</" "literal> (dot) in a column to simulate that. Also, there must be no more " "than one blank line after the long description. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "La línia 13 és per fer una descripció més llarga del paquet. Cal que sigui " "almenys d'un paràgraf amb detalls sobre el paquet. Cada línia començarà amb " "un espai buit. No hi pot haver línies en blanc, però es pot simular amb un " "<literal>.</literal> (punt) a la segona columna. Tampoc hi pot haver més " "d'una línia en blanc al final de la descripció completa <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-bpp-vcs;\">Debian Developer's Reference, 6.2.5. " "\"Version Control System location\"</ulink>." msgstr "" "Consulta <ulink url=\"&devref-bpp-vcs;\">Developer's Reference, 6.2.5. " "\"Version Control System location\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "We can insert <literal>Vcs-*</literal> fields to document the Version " "Control System (VCS) location between lines 6 and 7. <placeholder type=" "\"footnote\" id=\"0\"/> Let's assume that the <systemitem role=\"package" "\">gentoo</systemitem> package has its VCS located in the Debian Alioth Git " "Service at <literal>git://git.debian.org/git/collab-maint/gentoo.git</" "literal>." msgstr "" "Afegirem els camps <literal>Vcs-*</literal> per a documentar la localització " "del sistema de control de versions (VCS) entre les línies 6 i 7 <placeholder " "type=\"footnote\" id=\"0\"/>. Se suposa que el paquet <systemitem role=" "\"package\">gentoo</systemitem> està allotjat en el servei «Alioth Git» de " "Debian a <literal>git://git.debian.org/git/collab-maint/gentoo.git</literal>." #. type: Content of: <book><chapter><section><para> msgid "Finally, here is the updated <filename>control</filename> file:" msgstr "" "Finalment, el fitxer <filename>control</filename> actualitzat quedarà així:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>copyright</filename>" msgstr "El fitxer <filename>copyright</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "This file contains information about the copyright and license of the " "upstream sources. <ulink url=\"&policy-copyright;\">Debian Policy Manual, " "12.5 \"Copyright information\"</ulink> dictates its content and <ulink url=" "\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</filename></" "ulink> provides guidelines for its format." msgstr "" "Aquest arxiu conté la informació de la llicència i drets d'autor de les " "fonts originals del paquet. <ulink url=\"&policy-copyright;\">Debian Policy " "Manual, 12.5 \"Copyright information\"</ulink> concreta el seu contingut i " "<ulink url=\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</" "filename></ulink> proporciona directrius per al seu format." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> can give you a template <filename>copyright</" "filename> file. Let's use the <literal>--copyright gpl2</literal> option " "here to get a template file for the <systemitem role=\"package\">gentoo</" "systemitem> package released under GPL-2." msgstr "" "<command>dh_make</command> proporciona una plantilla per a l'arxiu " "<filename>copyright</filename>. Amb l'opció <literal>--copyright gpl2</" "literal> s'aconsegueix la plantilla per al paquet <systemitem role=\"package" "\">gentoo</systemitem> amb la llicència GPL-2." #. type: Content of: <book><chapter><section><para> msgid "" "You must fill in missing information to complete this file, such as the " "place you got the package from, the actual copyright notice, and the " "license. For certain common free software licenses (GNU GPL-1, GNU GPL-2, " "GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0, " "or the Artistic license), you can just refer to the appropriate file in the " "<filename>/usr/share/common-licenses/</filename> directory that exists on " "every Debian system. Otherwise, you must include the complete license." msgstr "" "Has de completar la informació sobre el lloc on es pot obtenir el codi font, " "les condicions dels drets d'autor i la llicència. Les llicències de codi " "lliure més comuns són GNU GPL-1, GNU GPL-2, GNU GPL-3, LGPL-2, LGPL-2.1, " "LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0 o la «Artistic license» i fer " "referència al fitxer corresponent disponible a <filename>/usr/share/common-" "licenses/</filename> en els sistemes Debian. En cas contrari, cal incloure " "el text complet de la llicència en el fitxer." #. type: Content of: <book><chapter><section><para> msgid "" "In short, here's what <systemitem role=\"package\">gentoo</systemitem>'s " "<filename>copyright</filename> file should look like:" msgstr "" "Resumint, el fitxer <filename>copyright</filename> del paquet <systemitem " "role=\"package\">gentoo</systemitem> hauria de ser més o menys com el " "següent exemple:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" msgstr "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please follow the HOWTO provided by the ftpmasters and sent to debian-devel-" "announce: <ulink url=\"&howto-copyright;\"/>." msgstr "" "Consulta el text «COM» redactat pel «ftpmasters» i enviat a «debian-devel-" "announce»: <ulink url=\"&howto-copyright;\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>changelog</filename>" msgstr "El fitxer <filename>changelog</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "This is a required file, which has a special format described in <ulink url=" "\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</" "ulink>. This format is used by <command>dpkg</command> and other programs " "to obtain the version number, revision, distribution, and urgency of your " "package." msgstr "" "Aquest és un arxiu imprescindible amb un format especial descrit a les " "normes Debian, <ulink url=\"&policy-dpkgchangelog;\">Debian Policy Manual, " "4.4 \"debian/changelog\"</ulink>. El seu especial format és degut a què " "<command>dpkg</command> i d'altres programes el fan servir per obtenir " "informació de la versió, revisió, distribució i urgència del paquet." #. type: Content of: <book><chapter><section><para> msgid "" "For you, it is also important, since it is good to have documented all " "changes you have done. It will help people downloading your package to see " "whether there are issues with the package that they should know about. It " "will be saved as <filename>/usr/share/doc/gentoo/changelog.Debian.gz</" "filename> in the binary package." msgstr "" "També és important aquest arxiu: facilita la documentació dels canvis fets " "en la construcció del paquet. El fitxer informarà als usuaris que " "descarreguin el paquet sobre els problemes que pugui tenir el paquet i que " "ells hagin de saber. El fitxer es conserva com <filename>/usr/share/doc/" "gentoo/changelog.Debian.gz</filename> en el paquet." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one, and this is what it looks " "like:" msgstr "" "<command>dh_make</command> construeix un arxiu predeterminat amb el següent " "text:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Line 1 is the package name, version, distribution, and urgency. The name " "must match the source package name; distribution should be " "<literal>unstable</literal>, and urgency shouldn't be changed to anything " "higher than <literal>low</literal>. :-)" msgstr "" "A la línia 1 hi ha el nom del paquet, versió, distribució i urgència. El " "nom serà el del paquet amb les fonts, la distribució hauria de ser, per ara, " "<literal>unstable</literal>, i la urgència no hauria de ser major a " "<literal>low</literal>. :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 3-5 are a log entry, where you document changes made in this package " "revision (not the upstream changes - there is a special file for that " "purpose, created by the upstream authors, which you will later install as " "<filename>/usr/share/doc/gentoo/changelog.gz</filename>). Let's assume your " "ITP (Intent To Package) bug report number was <literal>12345</literal>. New " "lines must be inserted just below the uppermost line that begins with " "<literal>*</literal> (asterisk). You can do it with <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "or manually with a text editor." msgstr "" "Les línies 3-5 són entrades de registre, on es documenta els canvis fets en " "la versió/revisió actual del paquet (no els canvis fets en les fonts " "originals: per això els autors de les fonts fan servir un altre arxiu que " "s'instal·larà com <filename>/usr/share/doc/gentoo/changelog.gz</filename>). " "A l'exemple se suposa que el codi de l'informe d'error ITP («Intent To " "Package», intent d'empaquetament) és <literal>12345</literal>. Les noves " "línies s'afegiran a continuació de la primera començant sempre amb un " "<literal>*</literal> (asterisc). Pots fer servir <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "per afegir nova informació o un editor de text." #. type: Content of: <book><chapter><section><para> msgid "" "In order to prevent a package being accidentally uploaded before completing " "the package, it is good idea to change the distribution value to an invalid " "distribution value <literal>UNRELEASED</literal>." msgstr "" "Per evitar que el paquet sigui accidentalment pujat al repositori abans " "d'estar finalitzat, és una bona idea canviar el nom de la distribució a un " "nom incorrecte com <literal>UNRELEASED</literal>." #. type: Content of: <book><chapter><section><para> msgid "You will end up with something like this:" msgstr "Aquest serà el contingut del fitxer:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" msgstr "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "If you use the <literal>dch -r</literal> command to make this last change, " "please make sure to save the <filename>changelog</filename> file explicitly " "by the editor." msgstr "" "Si fas servir l'ordre <literal>dch -r</literal> per fer efectiu aquest " "darrer canvi, assegura't que deses el fitxer <filename>changelog</filename> " "des del editor." #. type: Content of: <book><chapter><section><para> msgid "" "Once you are satisfied with all the changes and documented them in " "<filename>changelog</filename>, you should change the distribution value " "from <literal>UNRELEASED</literal> to the target distribution value " "<literal>unstable</literal> (or even <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Quan estiguis satisfet dels canvis i els hagis documentat en el fitxer " "<filename>changelog</filename>, ja pots canviar el valor de la distribució " "de <literal>UNRELEASED</literal> pel nom de la distribució de destinació " "<literal>unstable</literal> (o bé per <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can read more about updating the <filename>changelog</filename> file " "later in <xref linkend=\"update\"/>." msgstr "" "A la secció <xref linkend=\"update\"/> s'explicaran alguns aspectes més de " "l'actualització del fitxer <filename>changelog</filename>." #. type: Content of: <book><chapter><section><title> msgid "<filename>rules</filename>" msgstr "El fitxer <filename>rules</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Now we need to take a look at the exact rules which <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> will use to actually create the package. This file is in fact " "another <filename>Makefile</filename>, but different from the one(s) in the " "upstream source. Unlike other files in <filename>debian</filename>, this " "one is marked as executable." msgstr "" "Ara mirarem quines són les regles que farà servir <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> per a la construcció del paquet. Aquest arxiu és un tipus de " "<filename>Makefile</filename>, però diferent dels que hi ha al codi font. " "En contra dels altres arxius del directori <filename>debian</filename> és un " "guió executable i cal que tengui aquesta propietat." #. type: Content of: <book><chapter><section><section><title> msgid "Targets of the <filename>rules</filename> file" msgstr "Objectius del fitxer <filename>rules</filename>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can start learning how to write <filename>Makefile</filename> from " "<ulink url=\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. The " "full documentation is available as <ulink url=\"&gnu-make;\"></ulink> or as " "the <systemitem role=\"package\">make-doc</systemitem> package in the " "<literal>non-free</literal> archive area." msgstr "" "Pots començar a aprendre a escriure arxius <filename>Makefile</filename> amb " "<ulink url=\"&debref-make;\">Debian Reference, 12.2 \"Make\"</ulink>. La " "documentació completa està disponible a <ulink url=\"&gnu-make;\"></ulink> o " "en el paquet <systemitem role=\"package\">make-doc</systemitem> de la " "secció no lliure («non-free») de l'arxiu Debian." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> explains the details." msgstr "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> explica els detalls." #. type: Content of: <book><chapter><section><section><para> msgid "" "Every <filename>rules</filename> file, like any other <filename>Makefile</" "filename>, consists of several rules, each of which defines a target and how " "it is carried out. <placeholder type=\"footnote\" id=\"0\"/> A new rule " "begins with its target declaration in the first column. The following lines " "beginning with the TAB code (ASCII 9) specify the recipe for carrying out " "that target. Empty lines and lines beginning with <literal>#</literal> " "(hash) are treated as comments and ignored. <placeholder type=\"footnote\" " "id=\"1\"/>" msgstr "" "Cada arxiu <filename>rules</filename>, igual que els arxius " "<filename>Makefile</filename>, consta de diversos objectius i les seves " "regles <placeholder type=\"footnote\" id=\"0\"/>. Cada regla comença amb la " "declaració dels objectius a la primera columna. Les següents línies comencen " "amb una tabulació (codi ASCII 9) i les seves regles. Les línies buides i les " "començades amb <literal>#</literal> es tracten com a comentaris i s'ignoren " "<placeholder type=\"footnote\" id=\"1\"/>." #. type: Content of: <book><chapter><section><section><para> msgid "" "A rule that you want to execute is invoked by its target name as a command " "line argument. For example, <literal>debian/rules <replaceable>build</" "replaceable></literal> and <literal>fakeroot make -f debian/rules " "<replaceable>binary</replaceable></literal> execute rules for " "<literal><replaceable>build</replaceable></literal> and " "<literal><replaceable>binary</replaceable></literal> targets respectively." msgstr "" "Una regla que voleu executar s'invoca pel seu nom d'objectiu com un " "argument de línia d'ordres. Per exemple, <literal>debian/rules " "<replaceable>build</replaceable></literal> i <literal>fakeroot make -f " "debian/rules <replaceable>binary</replaceable></literal> executa les regles " "per als objectius <literal><replaceable>build</replaceable></literal> i " "<literal><replaceable>binary</replaceable></literal> respectivament." #. type: Content of: <book><chapter><section><section><para> msgid "Here is a simplified explanation of the targets:" msgstr "A continuació tens una explicació simplificada dels objectius:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>clean</literal> target: to clean all compiled, generated, and " "useless files in the build-tree. (Required)" msgstr "" "<literal>clean</literal> (obligatori): elimina tots els fitxers generats, " "compilats o innecessaris de l'estructura de directoris de les fonts." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build</literal> target: to build the source into compiled programs " "and formatted documents in the build-tree. (Required)" msgstr "" "<literal>build</literal> (obligatori): construeix els fitxers executables o " "els documents amb format a partir dels fitxers de les fonts." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-arch</literal> target: to build the source into arch-" "dependent compiled programs in the build-tree. (Required)" msgstr "" "objectiu <literal>build-arch</literal> (obligatori): per compilar les fonts " "en programes compilats dependents de l'arquitectura en l'arbre de directoris " "de compilació." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-indep</literal> target: to build the source into arch-" "independent formatted documents in the build-tree. (Required)" msgstr "" "objectiu <literal>build-indep</literal> (obligatori) : per compilar les " "fonts en documents amb format independents de l'arquitectura en l'arbre de " "directoris de compilació." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>install</literal> target: to install files into a file tree for " "each binary package under the <filename>debian</filename> directory. If " "defined, <literal>binary*</literal> targets effectively depend on this " "target. (Optional)" msgstr "" "<literal>install</literal> (opcional): fa la instal·lació en l'estructura de " "directoris temporal en el directori <filename>debian</filename> dels fitxers " "que constitueixen els paquets binaris. Si hi ha un objectiu " "<literal>binary*</literal>, dependrà d'aquest." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage</literal> as in <xref " "linkend=\"completebuild\"/>." msgstr "" "Aquest objectiu és utilitzat per <literal>dpkg-buildpackage</literal> com en " "<xref linkend=\"completebuild\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary</literal> target: to create all binary packages (effectively " "a combination of <literal>binary-arch</literal> and <literal>binary-indep</" "literal> targets). (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary</literal> (obligatori): per a la construcció de cada un dels " "paquets binaris (combinat amb els objectius <literal>binary-arch</literal> i " "<literal>binary-indep</literal>) <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage -B</literal> as in <xref " "linkend=\"autobuilder\"/>." msgstr "" "Aquest objectiu és utilitzat per <literal>dpkg-buildpackage -B</literal> com " "en <xref linkend=\"autobuilder\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-arch</literal> target: to create arch-dependent " "(<literal>Architecture: any</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-arch</literal> (obligatori): per a la construcció de paquets " "dependents de l'arquitectura (els que tenen el camp <literal>Architecture: " "any</literal> en el fitxer «control») <placeholder type=\"footnote\" id=" "\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage -A</literal>." msgstr "" "Aquest objectiu és utilitzat per <literal>dpkg-buildpackage -A</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-indep</literal> target: to create arch-independent " "(<literal>Architecture: all</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-indep</literal> (obligatori): per a la construcció de " "paquets independents de l'arquitectura (<literal>Architecture: all</literal> " "en el fitxer «control») <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>get-orig-source</literal> target: to obtain the most recent version " "of the original source package from an upstream archive. (Optional)" msgstr "" "<literal>get-orig-source</literal> (opcional): per determinar la versió més " "recent de les fonts originals des del magatzem de l'autor." #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably overwhelmed by now, but things are much simpler upon " "examination of the <filename>rules</filename> file that <command>dh_make</" "command> gives us as a default." msgstr "" "Probablement l'exposició no és gens clara, però tot quedarà més clar després " "de veure el fitxer <filename>rules</filename> que <command>dh_make</command> " "construeix com a plantilla." #. type: Content of: <book><chapter><section><section><title> msgid "Default <filename>rules</filename> file" msgstr "Fitxer <filename>rules</filename> predeterminat." #. type: Content of: <book><chapter><section><section><para> msgid "" "Newer <command>dh_make</command> generates a very simple but powerful " "default <filename>rules</filename> file using the <command>dh</command> " "command:" msgstr "" "La nova versió de <command>dh_make</command> genera un arxiu " "<filename>rules</filename> molt simple però poderós que fa servir l'ordre " "<command>dh</command>:" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" msgstr "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "(I've added the line numbers. In the actual <filename>rules</filename> " "file, the leading spaces are a TAB code.)" msgstr "" "(S'han afegit els números de les línies. En el fitxer <filename>debian/" "rules</filename> els espais inicials de les línies són tabulacions)." #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably familiar with lines like line 1 from shell and Perl " "scripts. It tells the operating system that this file is to be processed " "with <filename>/usr/bin/make</filename>." msgstr "" "Probablement estàs familiaritzat amb línies com la primera per a guions " "escrits en shell o Perl. Aquesta línia indica que el fitxer s'executa amb " "<filename>/usr/bin/make</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Line 10 can be uncommented to set the <literal>DH_VERBOSE</literal> variable " "to 1, so that the <command>dh</command> command outputs which <command>dh_*</" "command> commands it is executing. You can also add a line <literal>export " "DH_OPTIONS=-v</literal> here, so that each <command>dh_*</command> command " "outputs which commands it is executing. This helps you to understand " "exactly what is going on behind this simple <filename>rules</filename> file " "and to debug its problems. This new <command>dh</command> is designed to " "form a core part of the <systemitem role=\"package\">debhelper</systemitem> " "tools, and not to hide anything from you." msgstr "" "Cal eliminar la marca de comentari a la línia 10 per assignar el valor 1 a " "la variable <literal>DH_VERBOSE</literal>. En aquest cas, l'ordre " "<command>dh</command> escriurà les ordres <command>dh_*</command> en el " "terminal així com siguin executades per <command>dh</command>. Pots afegir " "la línia <literal>export DH_OPTIONS=-v</literal> aquí. Aixó farà que cada " "ordre <command>dh_*</command> escrigui la sortida d'allò que fa. Això " "t'ajudarà a entendre com funciona el fitxer <filename>rules</filename> i a " "solucionar errades. La nova ordre <command>dh</command> és part fonamental " "de les eines <systemitem role=\"package\">debhelper</systemitem> i no " "t'amaguen res." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "This uses the new <systemitem role=\"package\">debhelper</systemitem> v7+ " "features. Its design concepts are explained in <ulink url=\"&debhelper-" "slides;\">Not Your Grandpa's Debhelper</ulink> presented at DebConf9 by the " "<systemitem role=\"package\">debhelper</systemitem> upstream. Under " "<literal>lenny</literal>, <command>dh_make</command> created a much more " "complicated <filename>rules</filename> file with explicit rules and many " "<command>dh_*</command> scripts listed for each one, most of which are now " "unnecessary (and show the package's age). The new <command>dh</command> " "command is simpler and frees us from doing the routine work \"manually\". " "You still have full power to customize the process with " "<literal>override_dh_*</literal> targets. See <xref linkend=\"customrules\"/" ">. It is based only on the <systemitem role=\"package\">debhelper</" "systemitem> package and does not obfuscate the package building process as " "the <systemitem role=\"package\">cdbs</systemitem> package tends to." msgstr "" "Aquí es fan servir les noves funcions de la versió 7+ de <systemitem role=" "\"package\">debhelper</systemitem> que s'explique a <ulink url=\"&debhelper-" "slides;\">«Not Your Grandpa's Debhelper»</ulink> presentades a la DebConf9 " "per l'autor de <systemitem role=\"package\">debhelper</systemitem>. En " "<literal>lenny</literal>, <command>dh_make</command> construïa un arxiu " "<filename>rules</filename> més complex amb el llistat de cada ordre " "<command>dh_*</command> necessària per a cada objectiu, la majoria dels " "quals ja no són necessàries (i mostren l'edat del paquet). La nova ordre " "<command>dh</command> és més simple i ens allibera del treball «manua». Tot " "i així, és possible personalitzar el fitxer amb objectius " "<literal>override_dh_*</literal>. Consulta <xref linkend=\"customrules\"/" ">. Es basa únicament en el paquet <systemitem role=\"package\">debhelper</" "systemitem> i cal no confondre's amb la construcció de paquets feta amb " "<systemitem role=\"package\">cdbs</systemitem>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can verify the actual sequences of <command>dh_*</command> programs " "invoked for a given <literal><replaceable>target</replaceable></literal> " "without really running them by invoking <literal>dh --no-act " "<replaceable>target</replaceable></literal> or <literal>debian/rules -- '--" "no-act <replaceable>target</replaceable>'</literal>." msgstr "" "Per saber les seqüències d'ordres <command>dh_*</command> executades per a " "cada <literal><replaceable>objectiu</replaceable></literal> executa " "<literal>dh --no-act <replaceable>objectiu</replaceable></literal> o bé " "<literal>debian/rules -- '--no-act <replaceable>objectiu</replaceable>'</" "literal> sense que s'executin realment." #. type: Content of: <book><chapter><section><section><para> msgid "" "Lines 12 and 13 are where all the work is done with an implicit rule using " "the pattern rule. The percent sign means \"any targets\", which then call a " "single program, <command>dh</command>, with the target name. <placeholder " "type=\"footnote\" id=\"0\"/> The <command>dh</command> command is a wrapper " "script which runs appropriate sequences of <command>dh_*</command> programs " "depending on its argument. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "Tota la feina del fitxer la fan les línies 12 i 13 executant una regla " "implícita fent servir la regla patró. El símbol de percentatge substitueix " "«qualsevol objectiu» per a continuació executar únicament <command>dh</" "command> amb el nom de l'objectiu (com a opció) <placeholder type=\"footnote" "\" id=\"0\"/>. L'ordre <command>dh</command> és un guió que executa les " "seqüències necessàries d'ordres <command>dh_*</command> segons els seus " "paràmetres com es descriu a continuació <placeholder type=\"footnote\" id=" "\"1\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>, " "which in turn runs the following:" msgstr "" "<literal>debian/rules clean</literal> executa <literal>dh clean</literal>, " "que al seu torn executa el següent:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" msgstr "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules build</literal> runs <literal>dh build</literal>; " "which in turn runs the following:" msgstr "" "<literal>debian/rules build</literal> executa <literal>dh build</literal>, " "que al seu torn executa el següent:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" msgstr "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "The following example assumes your <filename>debian/compat</filename> has a " "value equal or more than 9 to avoid invoking any python support commands " "automatically." msgstr "" "El següent exemple assumeix que el teu fitxer <filename>debian/compat</" "filename> té un valor igual o major a 9 per tal d'evitar invocar qualsevol " "ordre «python» de suport automàticament." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " "binary</literal>; which in turn runs the following<placeholder type=" "\"footnote\" id=\"0\"/>:" msgstr "" "<literal>fakeroot debian/rules binary</literal> executa <literal>fakeroot dh " "binary</literal>, que al seu torn executa el següent <placeholder type=" "\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" msgstr "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-arch</literal> runs <literal>fakeroot " "dh binary-arch</literal>; which in turn runs the same sequence as " "<literal>fakeroot dh binary</literal> but with the <literal>-a</literal> " "option appended for each command." msgstr "" "<literal>fakeroot debian/rules binary-arch</literal> executa " "<literal>fakeroot dh binary-arch</literal>; que al seu torn executa la " "mateixa seqüència que <literal>fakeroot dh binary</literal> però amb l'opció " "<literal>-a</literal> per a cada ordre." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-indep</literal> runs <literal>fakeroot " "dh binary-indep</literal>; which in turn runs almost the same sequence as " "<literal>fakeroot dh binary</literal> but excluding <command>dh_strip</" "command>, <command>dh_makeshlibs</command>, and <command>dh_shlibdeps</" "command> with the <literal>-i</literal> option appended for each remaining " "command." msgstr "" "<literal>fakeroot debian/rules binary-indep</literal> executa " "<literal>fakeroot dh binary-indep</literal>, que al seu torn executa la " "mateixa seqüència que <literal>fakeroot dh binary</literal> excloent " "l'execució de <command>dh_strip</command>, <command>dh_makeshlibs</command> " "i <command>dh_shlibdeps</command> a la vegada que executa les demés ordres " "amb l'opció <literal>-i</literal>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "For complete information on what all these <command>dh_*</command> scripts " "do exactly, and what their other options are, please read their respective " "manual pages and the <systemitem role=\"package\">debhelper</systemitem> " "documentation." msgstr "" "Per a una descripció més completa de la funció de cada guió <command>dh_*</" "command> i les seves opcions, consulta els manuals respectius així com la " "documentació de <systemitem role=\"package\">debhelper</systemitem>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "These commands support other build environments such as <filename>setup.py</" "filename> which can be listed by executing <literal>dh_auto_build --list</" "literal> in a package source directory." msgstr "" "L'ordre també funciona amb altres sistemes de compilació com <filename>setup." "py</filename>. L'execució de <literal>dh_auto_build --list</literal> en el " "directori de les fonts fa un llistat de les possibilitats admeses." #. type: Content of: <book><chapter><section><section><para> msgid "" "The functions of <command>dh_*</command> commands are largely self-evident " "from their names. <placeholder type=\"footnote\" id=\"0\"/> There are a few " "notable ones that are worth giving (over)simplified explanations here " "assuming a typical build environment based on a <filename>Makefile</" "filename>. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "La funció de les ordres <command>dh_*</command> pot deduir-se del seu nom " "<placeholder type=\"footnote\" id=\"0\"/>. A continuació es resumeix la " "funció de les ordres més importants per al cas de compilació basada en un " "arxiu <filename>Makefile</filename> <placeholder type=\"footnote\" id=\"1\"/" ">." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>distclean</literal>, <literal>realclean</literal>, " "or <literal>clean</literal>, and executes that." msgstr "" "Mira el primer objectiu disponible a l'arxiu <filename>Makefile</filename> " "com <literal>distclean</literal>, <literal>realclean</literal> o " "<literal>clean</literal> a l'arxiu <filename>Makefile</filename> i l'executa." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_clean</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>distclean</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_clean</command> executa el següent si hi ha un arxiu " "<filename>Makefile</filename> amb l'objectiu <literal>distclean</literal> " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make distclean\n" msgstr "make distclean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_configure</command> usually executes the following if " "<filename>./configure</filename> exists (arguments abbreviated for " "readability)." msgstr "" "<command>dh_auto_configure</command> executa el següent si es fa servir el " "fitxer <filename>./configure</filename> (els arguments s'ha abreviat per " "facilitar la lectura):" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" msgstr "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_build</command> usually executes the following to execute " "the first target of <filename>Makefile</filename> if it exists." msgstr "" "<command>dh_auto_build</command> executa el següent per executar el primer " "objectiu del fitxer <filename>Makefile</filename> (si es fa servir aquest " "arxiu)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make\n" msgstr "make\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>test</literal> or <literal>check</literal>, and " "executes that." msgstr "" "En realitat executa el primer dels objectius <literal>test</literal> o " "<literal>check</literal> del fitxer <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_test</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>test</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_test</command> executa el següent si existeix l'objectiu " "<literal>test</literal> en el fitxer <filename>Makefile</filename> " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make test\n" msgstr "make test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_install</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>install</literal> " "target (line folded for readability)." msgstr "" "<command>dh_auto_install</command> executa el següent si existeix l'objectiu " "<literal>install</literal> en el fitxer <filename>Makefile</filename> (s'ha " "truncat la línia per facilitar la lectura):" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" msgstr "" "make install \\\n" " DESTDIR=<replaceable>/directori/del</replaceable>/<replaceable>paquet</replaceable>_<replaceable>versió</replaceable>-<replaceable>revisió</replaceable>/debian/<replaceable>nom_del_paquet</replaceable>\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "All targets which require the <command>fakeroot</command> command will " "contain <command>dh_testroot</command>, which exits with an error if you are " "not using this command to pretend to be root." msgstr "" "Els objectius que cal executar amb l'ordre <command>fakeroot</command> " "contenen <command>dh_testroot</command>. Si no fas servir l'ordre " "«fakeroot» per simular l'execució per l'usuari «root», es produirà una " "errada que aturarà l'execució." #. type: Content of: <book><chapter><section><section><para> msgid "" "The important part to know about the <filename>rules</filename> file created " "by <command>dh_make</command> is that it is just a suggestion. It will work " "for most packages but for more complicated ones, don't be afraid to " "customize it to fit your needs." msgstr "" "És important tenir present que el fitxer <filename>rules</filename> " "construït per <command>dh_make</command> només és un exemple. Serà útil per " "a la majoria dels paquets simples, però no deixis de fer les adaptacions " "necessàries." #. type: Content of: <book><chapter><section><section><para> msgid "" "Although <literal>install</literal> is not a required target, it is " "supported. <literal>fakeroot dh install</literal> behaves like " "<literal>fakeroot dh binary</literal> but stops after <command>dh_fixperms</" "command>." msgstr "" "Malgrat que <literal>install</literal> no és un objectiu obligatori, està " "acceptat. <literal>fakeroot dh install</literal> es comporta com " "<literal>fakeroot dh binary</literal> però s'atura després de " "<command>dh_fixperms</command>." #. type: Content of: <book><chapter><section><section><title> msgid "Customization of <filename>rules</filename> file" msgstr "Personalització del fitxer <filename>rules</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "There are many ways to customize the <filename>rules</filename> file created " "with the new <command>dh</command> command." msgstr "" "Pots fer molts canvis per adaptar el fitxer <filename>rules</filename> " "construït per l'ordre <command>dh</command>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " "should activate its customization function by <literal>dh $@ --with " "<replaceable>custom-name</replaceable></literal>." msgstr "" "Si un paquet instal·la el fitxer <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>nom_arxiu</replaceable>.pm</filename> pots activar la " "funció adaptada amb <literal>dh $@ --with <replaceable>nom_arxiu</" "replaceable></literal>." #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>dh $@</literal> command can be customized as follows. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "L'ordre <literal>dh $@</literal> permet les següents adaptacions " "<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "Use of the <command>dh_python2</command> command is preferred over use of " "<command>dh_pysupport</command> or <command>dh_pycentral</command> " "commands. Do not use the <command>dh_python</command> command." msgstr "" "És preferible fer servir l'ordre <command>dh_python2</command> abans que " "l'ordre <command>dh_pysupport</command> o <command>dh_pycentral</command>. " "No facis servir l'ordre <command>dh_python</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_python2</command> command. (The best choice " "for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Afegir funcionalitat per a l'ordre <command>dh_python2</command> (la millor " "opció per a Python) <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Afegeix el paquet <systemitem role=\"package\">python</systemitem> en el " "camp <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python2</literal>." msgstr "Fes servir <literal>dh $@ --with python2</literal> en el seu lloc." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python</" "systemitem> framework." msgstr "" "Així es gestiona el mòdul Python fent servir el entorn («framework») de " "<systemitem role=\"package\">python</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pysupport</command> command. (deprecated)" msgstr "" "Afegir funcionalitat per a l'ordre <command>dh_pysupport</command> (obsolet)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-support</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Afegeix el paquet <systemitem role=\"package\">python-support</systemitem> " "en el camp <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with pysupport</literal>." msgstr "Fes servir <literal>dh $@ --with pysupport</literal> en el seu lloc." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "support</systemitem> framework." msgstr "" "Així es gestiona el mòdul Python fent servir el entorn («framework») de " "<systemitem role=\"package\">python-support</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pycentral</command> command. (deprecated)" msgstr "" "Afegir funcionalitat per a l'ordre <command>dh_pycentral</command> (obsolet)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-central</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Afegeix el paquet <systemitem role=\"package\">python-central</systemitem> " "en el camp <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python-central</literal> instead." msgstr "" "Fes servir <literal>dh $@ --with python-central</literal> en el seu lloc." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This also deactivates the <command>dh_pysupport</command> command." msgstr "També es desactiva l'ordre <command>dh_pysupport</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "central</systemitem> framework." msgstr "" "I es gestiona el mòdul Python fent servir l'entorn («framework») de " "<systemitem role=\"package\">python-central</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_installtex</command> command." msgstr "Afegir funcionalitat per a l'ordre <command>dh_installtex</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">tex-common</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Afegeix el paquet <systemitem role=\"package\">tex-common</systemitem> en el " "camp <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with tex</literal> instead." msgstr "Fes servir <literal>dh $@ --with tex</literal> en el seu lloc." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This registers Type 1 fonts, hyphenation patterns, and formats with TeX." msgstr "" "Així es registren els tipus de lletra «Type 1», els patrons per a la " "separació de paraules («hyphenation patterns») o els formats TeX." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_quilt_patch</command> and " "<command>dh_quilt_unpatch</command> commands." msgstr "" "Afegir funcionalitat per a les ordres <command>dh_quilt_patch</command> i " "<command>dh_quilt_unpatch</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">quilt</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Afegeix el paquet <systemitem role=\"package\">quilt</systemitem> en el camp " "<literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with quilt</literal> instead." msgstr "Fes servir <literal>dh $@ --with quilt</literal> en el seu lloc." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This applies and un-applies patches to the upstream source from files in the " "<filename>debian/patches</filename> directory for a source package in the " "<literal>1.0</literal> format." msgstr "" "Així s'apliquen o es desfan, en els fitxers de les fonts originals, les " "modificacions dels fitxers del directori <filename>debian/patches</filename> " "en els paquets construïts amb el format <literal>1.0</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This is not needed if you use the new <literal>3.0 (quilt)</literal> source " "package format." msgstr "" "Aquesta adaptació no és necessària per als paquets construïts amb el format " "<literal>3.0 (quilt)</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_dkms</command> command." msgstr "Afegir funcionalitat per a l'ordre <command>dh_dkms</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dkms</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Afegeix el paquet <systemitem role=\"package\">dkms</systemitem> en el camp " "<literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with dkms</literal> instead." msgstr "Fes servir <literal>dh $@ --with dkms</literal> en el seu lloc." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This correctly handles DKMS usage by kernel module packages." msgstr "" "Així es controla correctament l'ús de DKMS en la construcció de paquets del " "nucli." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autotools-dev_updateconfig</command> and " "<command>dh_autotools-dev_restoreconfig</command> commands." msgstr "" "Afegir funcionalitat per a les ordres <command>dh_autotools-" "dev_updateconfig</command> i <command>dh_autotools-dev_restoreconfig</" "command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">autotools-dev</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Afegeix el paquet <systemitem role=\"package\">autotools-dev</systemitem> en " "el camp <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autotools-dev</literal> instead." msgstr "" "Fes servir <literal>dh $@ --with autotools-dev</literal> en el seu lloc." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates and restores <filename>config.sub</filename> and " "<filename>config.guess</filename>." msgstr "" "Així s'actualitza i restaura <filename>config.sub</filename> i " "<filename>config.guess</filename>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autoreconf</command> and " "<command>dh_autoreconf_clean</command> commands." msgstr "" "Afegir funcionalitat per a les ordres <command>dh_autoreconf</command> i " "<command>dh_autoreconf_clean</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dh-autoreconf</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Afegeix el paquet <systemitem role=\"package\">dh-autoreconf</systemitem> en " "el camp <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autoreconf</literal> instead." msgstr "Fes servir <literal>h $@ --with autoreconf</literal> en el seu lloc." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates the GNU Build System files and restores them after the build." msgstr "" "Així s'actualitzen els fitxers del sistema de compilació GNU i els restaura " "després de la compilació." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_girepository</command> command." msgstr "Afegir funcionalitat per a l'ordre <command>dh_girepository</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">gobject-introspection</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "Afegeix el paquet <systemitem role=\"package\">gobject-introspection</" "systemitem> en el camp <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with gir</literal> instead." msgstr "Fes servir <literal>dh $@ --with gir</literal> en el seu lloc." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This computes dependencies for packages shipping GObject introspection data " "and generates the <literal>${gir:Depends}</literal> substitution variable " "for the package dependency." msgstr "" "Això computa les dependències dels paquets d'enviament de dades " "d'introspecció de «GObject» i genera la substitució de la variable <literal>" "${gir:Depends}</literal> per les dependències del paquet." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>bash</command> completion feature." msgstr "Afegir funcionalitat d'autocompletar a <command>bash</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">bash-completion</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "Afegeix el paquet <systemitem role=\"package\">bash-completion</systemitem> " "en el camp <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with bash-completion</literal> instead." msgstr "" "Fes servir <literal>dh $@ --with bash-completion</literal> en el seu lloc." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This installs <command>bash</command> completions using a configuration file " "at <filename>debian/<replaceable>package</replaceable>.bash-completion</" "filename>." msgstr "" "Així s'instal·la la funció d'autocompletar de <command>bash</command> fent " "servir l'arxiu de configuració de <filename>debian/" "<replaceable>nom_del_paquet</replaceable>.bash-completion</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Many <command>dh_*</command> commands invoked by the new <command>dh</" "command> command can be customized by the corresponding configuration files " "in the <filename>debian</filename> directory. See <xref linkend=\"dother\"/" "> and the manpage of each command for the customization of such features." msgstr "" "Moltes de les ordres <command>dh_*</command> executades per la nova ordre " "<command>dh</command> es poden personalitzar amb fitxers de configuració " "ubicats en el directori <filename>debian</filename>. Consulta <xref linkend=" "\"dother\"/> i els manuals (les «manpage») de cada ordre." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Under <literal>lenny</literal>, if you wanted to change the behavior of a " "<command>dh_*</command> script you found the relevant line in the " "<filename>rules</filename> file and adjusted it." msgstr "" "En <literal>lenny</literal>, quan calia canviar un guió <command>dh_*</" "command> calia trobar la línia adequada en el fitxer <filename>rules</" "filename> i canviar-la. Ara és suficient afegir un objectiu." #. type: Content of: <book><chapter><section><section><para> msgid "" "You may need to run <command>dh_*</command> commands invoked via the new " "<command>dh</command> with added arguments, or to run additional commands " "with them, or to skip them. For such cases, you create an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target with " "its rule in the <filename>rules</filename> file defining an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target for the " "<command>dh_<replaceable>foo</replaceable></command> command you want to " "change. It basically says <emphasis>run me instead</emphasis>. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Algunes ordres <command>dh_*</command> invocades per la nova ordre " "<command>dh</command> poden necessitar l'addició d'arguments o l'execució " "d'ordres addicionals. Per a aquests casos, hauràs d'afegir l'objectiu " "<literal>override_dh_<replaceable>nom_ordre</replaceable></literal> en el " "fitxer <filename>rules</filename> per a l'ordre " "<command>dh_<replaceable>nom_ordre</replaceable></command> que cal canviar. " "Es tracta de <emphasis>execute'm a mi en el seu lloc</emphasis> <placeholder " "type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note that the <command>dh_auto_*</command> commands tend to do more " "than what has been discussed in this (over)simplified explanation to take " "care of all the corner cases. It is a bad idea to use " "<literal>override_dh_*</literal> targets to substitute simplified equivalent " "commands (except for the <literal>override_dh_auto_clean</literal> target) " "since it may bypass such smart <systemitem role=\"package\">debhelper</" "systemitem> features." msgstr "" "Les ordres <command>dh_auto_*</command> fan més coses que les explicades en " "aquesta explicació simplificada. L'ús d'ordres equivalents més senzilles en " "el lloc d'aquestes en els objectius <literal>override_dh_*</literal> (amb " "l'excepció de l'objectiu <literal>override_dh_auto_clean</literal>) no és " "una bona idea ja que pot eliminar funcions intel·ligents de <systemitem role=" "\"package\">debhelper</systemitem>." #. type: Content of: <book><chapter><section><section><para> msgid "" "So, for instance, if you want to store system configuration data in the " "<filename>/etc/gentoo</filename> directory instead of the usual <filename>/" "etc</filename> directory for the recent <systemitem role=\"package\">gentoo</" "systemitem> package using Autotools, you can override the default <literal>--" "sysconfig=/etc</literal> argument given by the <command>dh_auto_configure</" "command> command to the <command>./configure</command> command by the " "following." msgstr "" "Si les dades de configuració del paquet <systemitem role=\"package\">gentoo</" "systemitem> es desen en el directori <filename>/etc/gentoo</filename> en " "lloc del directori habitual <filename>/etc</filename>, cal anular l'execució " "de l'argument predeterminat <literal>--sysconfig=/etc</literal> de l'ordre " "<command>dh_auto_configure</command> per <command>./configure</command> amb:" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "The arguments given after <literal>--</literal> are appended to the default " "arguments of the auto-executed program to override them. Using the " "<command>dh_auto_configure</command> command is better than directly " "invoking the <command>./configure</command> command here since it will only " "override the <literal>--sysconfig</literal> argument and retains any other, " "benign arguments to the <command>./configure</command> command." msgstr "" "Els arguments a continuació de <literal>dh_auto_configure --</literal> " "s'afegeixen als predeterminants, anul·lant-los, en l'execució automàtica del " "programa. És millor fer servir l'ordre <command>dh_auto_configure</command> " "que el <command>./configure</command>: d'aquesta manera només s'anul·larà " "l'argument <literal>--sysconfig</literal> mantenint els altres arguments de " "<command>./configure</command>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<command>dh_auto_build</command> without any arguments will execute the " "first target in the <filename>Makefile</filename>." msgstr "" "<command>dh_auto_build</command> sense arguments executarà el primer " "objectiu del fitxer <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify <literal>build</" "literal> as its target to build it <placeholder type=\"footnote\" id=\"0\"/" ">, you create an <literal>override_dh_auto_build</literal> target to enable " "this." msgstr "" "Si el <filename>Makefile</filename> de les fonts de <systemitem role=" "\"package\">gentoo</systemitem> requereix l'especificació de l'objectiu " "<literal>build</literal> per a la compilació <placeholder type=\"footnote\" " "id=\"0\"/>, pots afegir un objectiu <literal>override_dh_auto_build</" "literal> per tal d'anul·lar-lo." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" msgstr "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "This ensures <literal>$(MAKE)</literal> is run with all the default " "arguments given by the <command>dh_auto_build</command> command plus the " "<literal>build</literal> argument." msgstr "" "D'aquesta forma es garanteix l'execució de <literal>$(MAKE)</literal> amb " "tots els arguments predeterminats per l'ordre <command>dh_auto_build</" "command> i de l'argument <literal>build</literal>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify the " "<literal>packageclean</literal> target to clean it for the Debian package " "instead of using <literal>distclean</literal> or <literal>clean</literal> " "targets, you can create an <literal>override_dh_auto_clean</literal> target " "to enable thit." msgstr "" "Si el fitxer <filename>Makefile</filename> de les fonts de <systemitem role=" "\"package\">gentoo</systemitem> requereix l'especificació de l'objectiu " "<literal>packageclean</literal> (per fer neteja després de la compilació), " "en lloc dels objectius <literal>distclean</literal> o <literal>clean</" "literal> a l'arxiu <filename>Makefile</filename> pots afegir un objectiu " "<literal>override_dh_auto_clean</literal> per habilitar l'ordre." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" msgstr "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> contains a <literal>test</literal> target " "which you do not want to run for the Debian package building process, you " "can use an empty <literal>override_dh_auto_test</literal> target to skip it." msgstr "" "Si el fitxer <filename>Makefile</filename> de les fonts de <systemitem role=" "\"package\">gentoo</systemitem> té un objectiu <literal>test</literal> i " "desitges que no s'executi en la construcció del paquet, pots fer servir " "l'objectiu <literal>override_dh_auto_test</literal> sense ordres per tal de " "que no es faci res." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "override_dh_auto_test:\n" msgstr "override_dh_auto_test:\n" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "The <filename>debian/changelog</filename> and <filename>debian/NEWS</" "filename> files are always automatically installed. The upstream changelog " "is found by converting filenames to lower case and matching them against " "<filename>changelog</filename>, <filename>changes</filename>, " "<filename>changelog.txt</filename>, and <filename>changes.txt</filename>." msgstr "" "Els fitxers <filename>debian/changelog</filename> i <filename>debian/NEWS</" "filename> sempre s'instal·len automàticament. També es busca el fitxer de " "canvis de l'autor canviant el nom a minúscules i per la seva coincidència " "amb <filename>changelog</filename>, <filename>changes</filename>, " "<filename>changelog.txt</filename>, i <filename>changes.txt</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If <systemitem role=\"package\">gentoo</systemitem> has an unusual upstream " "changelog file called <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> will not install that file by " "default. The <command>dh_installchangelogs</command> command requires " "<filename>FIXES</filename> as its argument to install it. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Si el paquet <systemitem role=\"package\">gentoo</systemitem> inclou el poc " "freqüent arxiu de canvis de l'autor amb el nom <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> no en farà la instal·lació (és " "l'opció predeterminada). L'ordre <command>dh_installchangelogs</command> " "requereix l'argument <filename>FIXES</filename> per tal d'instal·lar-lo " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" msgstr "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you use the new <command>dh</command> command, use of explicit targets " "such as the ones listed in <xref linkend=\"targets\"/>, other than the " "<literal>get-orig-source</literal> target, may make it difficult to " "understand their exact effects. Please limit explicit targets to " "<literal>override_dh_*</literal> targets and completely independent ones, if " "possible." msgstr "" "Si fas sevir el nou <command>dh</command>, la utilització explícita " "d'objectius com els llistats a <xref linkend=\"targets\"/> (excepte " "<literal>get-orig-source</literal>) pot dificultar la correcta comprensió " "dels seus efectes. Si us plau, limita l'ús d'objectius explícits a " "objectius del tipus <literal>override_dh_*</literal> i de manera que siguin " "completament independents entre ells (sempre que sigui possible)." #. type: Content of: <book><chapter><title> msgid "Other files under the <filename>debian</filename> directory" msgstr "Altres fitxers del directori <filename>debian</filename>." #. type: Content of: <book><chapter><para> msgid "" "To control most of what <systemitem role=\"package\">debhelper</systemitem> " "does while building the package, you put optional configuration files under " "the <filename>debian</filename> directory. This chapter will provide an " "overview of what each of these does and its format. Please read the <ulink " "url=\"&debian-policy;\">Debian Policy Manual</ulink> and <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> for " "guidelines for packaging." msgstr "" "Per tal de controlar el treball de <systemitem role=\"package\">debhelper</" "systemitem> en la compilació del paquet, pots afegir fitxers de configuració " "en el directori <filename>debian</filename>. En aquest capítol es resumeix " "el que pots fer amb cada un d'ells i el seu format. Consulta <ulink url=" "\"&debian-policy;\">«Debian Policy Manual»</ulink> i <ulink url=" "\"&developers-reference;\">«Debian Developer's Reference»</ulink> per a les " "directrius de construcció de paquets." #. type: Content of: <book><chapter><para> msgid "" "The <command>dh_make</command> command will create some template " "configuration files under the <filename>debian</filename> directory. Most " "of them come with filenames suffixed by <literal>.ex</literal>. Some of " "them come with filenames prefixed by the binary package name such as " "<literal><replaceable>package</replaceable></literal>. Take a look at all " "of them. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "L'ordre <command>dh_make</command> construeix alguns fitxers de configuració " "com a plantilles i els col·loca en el directori <filename>debian</" "filename>. Alguns d'ells tenen el sufix <literal>.ex</literal> (de " "«example») en el nom. Altres tenen com a prefix (del nom) " "<literal><replaceable>nom_del_paquet</replaceable></literal> que estàs " "construint. Mira el contingut de tots ells <placeholder type=\"footnote\" " "id=\"0\"/>." #. type: Content of: <book><chapter><para> msgid "" "Some template configuration files for <systemitem role=\"package" "\">debhelper</systemitem> may not be created by the <command>dh_make</" "command> command. In such cases, you need to create them with an editor." msgstr "" "En altres casos, <command>dh_make</command> no pot construir plantilles de " "configuració per a <systemitem role=\"package\">debhelper</systemitem>. En " "aquests casos tu mateix escriuràs els fitxers amb un editor." #. type: Content of: <book><chapter><para> msgid "If you wish or need to activate any of these, please do the following:" msgstr "" "Si vols fer servir els fitxers generats en la construcció del paquet, fes el " "següent:" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename template files by removing the <literal>.ex</literal> or <literal>." "EX</literal> suffix if they have one;" msgstr "" "elimina els sufix <literal>.ex</literal> o <literal>.EX</literal> de tots " "els fitxers de plantilla." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename the configuration files to use the actual binary package name in " "place of <literal><replaceable>package</replaceable></literal>;" msgstr "" "reanomena els fitxers de configuració fent servir el nom del fitxer del " "paquet binari en lloc de <literal><replaceable>nom_del_paquet</replaceable></" "literal>." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "modify template file contents to suit your needs;" msgstr "" "modifica el contingut dels fitxers de plantilla per adaptar-los a les teves " "necessitats." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "remove template files which you do not need;" msgstr "elimina els fitxers que no necessitis." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>control</filename> file (see <xref linkend=\"control\"/" ">), if necessary;" msgstr "" "fes les modificacions necessàries en el fitxer <filename>control</filename> " "(consulta <xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/>), " "if necessary." msgstr "" "modifica el fitxer <filename>rules</filename> (consulta <xref linkend=\"rules" "\"/>) si és necessari." #. type: Content of: <book><chapter><para> msgid "" "Any <systemitem role=\"package\">debhelper</systemitem> configuration files " "without a <filename><replaceable>package</replaceable></filename> prefix, " "such as <filename>install</filename>, apply to the first binary package. " "When there are many binary packages, their configurations can be specified " "by prefixing their name to their configuration filenames such as " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "Els fitxers de configuració construïts per <systemitem role=\"package" "\">debhelper</systemitem> que no tenen el prefix " "<filename><replaceable>nnom_del_paquet</replaceable></filename> com és ara " "<filename>install</filename> s'aplicaran al primer paquet binari. Si hi ha " "més d'una paquet binari, les seves configuracions s'especificaran amb el " "prefix del paquet binari corresponent al seu nom: " "<filename><replaceable>paquet-1</replaceable>.install</filename>, " "<filename><replaceable>paquet-2</replaceable>.install</filename>, etc." #. type: Content of: <book><chapter><section><title> msgid "<filename>README.Debian</filename>" msgstr "<filename>README.Debian</filename> (LLEGEIX-ME.debian)" #. type: Content of: <book><chapter><section><para> msgid "" "Any extra details or discrepancies between the original package and your " "Debian version should be documented here." msgstr "" "Qualsevol detall extra o discrepància entre el programa original i la seva " "versió Debian cal documentar-la en aquest arxiu." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one; this is what it looks like:" msgstr "" "<command>dh_make</command> en genera un predeterminat, que és el següent:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" msgstr "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have nothing to be documented, remove this file. See <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Atès que no tenim res per explicar, eliminarem el fitxer. Consulta " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<filename>compat</filename>" msgstr "Fitxer <filename>compat</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>compat</filename> file defines the <systemitem role=\"package" "\">debhelper</systemitem> compatibility level. Currently, you should set it " "to the <systemitem role=\"package\">debhelper</systemitem> v9 as follows:" msgstr "" "El fitxer <filename>compat</filename> defineix el nivell de compatibilitat " "de <systemitem role=\"package\">debhelper</systemitem>. Actualment, " "establiràs la compatibilitat a la versió 9 de <systemitem role=\"package" "\">debhelper</systemitem> de la següent manera:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ echo 9 > debian/compat\n" msgstr "$ echo 9 > debian/compat\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>conffiles</filename>" msgstr "Fitxer <filename>conffiles</filename>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian " "Policy Manual, \"D.2.5 Conffiles\"</ulink>." msgstr "" "Consulta <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> i <ulink url=\"&policy-conffiles;\">Debian Policy " "Manual, \"D.2.5 Conffiles\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "One of the most annoying things about software is when you spend a great " "deal of time and effort customizing a program, only to have an upgrade stomp " "all over your changes. Debian solves this problem by marking such " "configuration files as conffiles. <placeholder type=\"footnote\" id=\"0\"/> " "When you upgrade a package, you'll be asked whether you want to keep your " "old configuration files or not." msgstr "" "Una de les coses més molestes dels programes és quan després de dedicar molt " "de temps i esforç a configurar un programa (com a usuari), una actualització " "del programa fa inútils els canvis. Debian resol aquesta situació marcant " "els fitxers de configuració<placeholder type=\"footnote\" id=\"0\"/> de " "manera que quan actualitzes un paquet, tens l'opció de mantenir la teva " "configuració." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry><refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> <emphasis>automatically</emphasis> flags any " "files under the <filename>/etc</filename> directory as conffiles, so if your " "program only has conffiles there you do not need to specify them in this " "file. For most package types, the only place conffiles should ever be is " "under <filename>/etc</filename>, and so this file doesn't need to exist." msgstr "" "Des de la versió 3 de <systemitem role=\"package\">debhelper</systemitem>, " "<citerefentry> <refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> considera <emphasis>automàticament</emphasis> a " "tots els fitxers ubicats en el directori <filename>/etc</filename> com " "fitxers de configuració, de manera que si tots els fitxers de configuració " "del programa són en aquest directori, no es necessari que els incloguis en " "el fitxer «conffiles» (abreviatura d'arxiu de configuració). Per a la " "majoria de paquets, l'única ubicació dels arxius de configuració és " "<filename>/etc</filename> i en aquest cas pots eliminar aquest arxiu." #. type: Content of: <book><chapter><section><para> msgid "" "If your program uses configuration files but also rewrites them on its own, " "it's best not to make them conffiles because <command>dpkg</command> will " "then prompt users to verify the changes all the time." msgstr "" "Si el teu programa fa servir fitxers de configuració però també els " "sobreescriu ell mateix (directament des del codi font) es millor no marcar-" "los com «conffiles». Si ho fas, <command>dpkg</command> informarà als " "usuaris que revisin els canvis realitzats en aquests fitxers en cada " "actualització." #. type: Content of: <book><chapter><section><para> msgid "" "If the program you're packaging requires every user to modify the " "configuration files in the <filename>/etc</filename> directory, there are " "two popular ways to arrange for them to not be conffiles, keeping " "<command>dpkg</command> quiet." msgstr "" "Si el programa que empaquetes requereix que cada usuari modifiqui els " "fitxers de configuració del directori <filename>/etc</filename>, hi ha dues " "formes per a no marcar-los com fitxers «conffiles» i que no siguin " "manipulats per <command>dpkg</command>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a symlink under the <filename>/etc</filename> directory pointing to a " "file under the <filename>/var</filename> directory generated by the " "maintainer scripts." msgstr "" "Construir un enllaç simbòlic dels fitxers ubicats en <filename>/etc</" "filename> que apunti als fitxers ubicats en el directori <filename>/var</" "filename> generats per <emphasis>guions del desenvolupador</emphasis> " "(«maintainer scripts»)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a file generated by the maintainer scripts under the <filename>/etc</" "filename> directory." msgstr "" "Posar els fitxers generats pels <emphasis>guions del desenvolupador</" "emphasis> en el directori <filename>/etc</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "For information on maintainer scripts, see <xref linkend=\"maintscripts\"/>." msgstr "" "Si vols més informació sobre els <emphasis>guions del desenvolupador</" "emphasis> consulta <xref linkend=\"maintscripts\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.cron.*</filename>" msgstr "" "Fitxers <filename><replaceable>nom_del_paquet</replaceable>.cron.*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package requires regularly scheduled tasks to operate properly, you " "can use these files to set that up. You can set up regular tasks that " "either happen hourly, daily, weekly, or monthly, or alternatively happen at " "any other time that you wish. The filenames are:" msgstr "" "Si el teu paquet requereix la realització de tasques periòdiques per " "funcionar correctament, pots fer servir aquest arxiu. Pots establir la " "realització de tasques cada hora, dia, setmana o mes o qualsevol altre " "període de temps. Els noms dels fitxers són:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.hourly</filename> - " "Installed as <filename>/etc/cron.hourly/<replaceable>package</replaceable></" "filename>; run once an hour." msgstr "" "<filename><replaceable>nom_del_paquet</replaceable>.cron.hourly</filename> - " "instal·lats com <filename>/etc/cron.hourly/<replaceable>nom_del_paquet</" "replaceable></filename>: s'executen cada hora." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.daily</filename> - " "Installed as <filename>/etc/cron.daily/<replaceable>package</replaceable></" "filename>; run once a day." msgstr "" "<filename><replaceable>nom_del_paquet</replaceable>.cron.daily</filename> - " "instal·lats com <filename>/etc/cron.daily/<replaceable>nom_del_paquet</" "replaceable></filename>: s'executen cada dia, habitualment a primera hora " "del matí." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.weekly</filename> - " "Installed as <filename>/etc/cron.weekly/<replaceable>package</replaceable></" "filename>; run once a week." msgstr "" "<filename><replaceable>nom_del_paquet</replaceable>.cron.weekly</filename> - " "instal·lats com <filename>/etc/cron.weekly/<replaceable>nom_del_paquet</" "replaceable></filename>: s'executen cada setmana, habitualment en el matí " "del diumenge." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.monthly</filename> - " "Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></" "filename>: run once a month." msgstr "" "<filename><replaceable>nom_del_paquet</replaceable>.cron.hourly</filename> - " "instal·lats com <filename>/etc/cron.hourly/<replaceable>nom_del_paquet</" "replaceable></filename>: s'executen cada hora." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.d</filename> - Installed " "as <filename>/etc/cron.d/<replaceable>package</replaceable></filename>: for " "any other time." msgstr "" "<filename><replaceable>nom_del_paquet</replaceable>.cron.d</filename> - " "instal·lats com <filename>/etc/cron.d/<replaceable>nom_del_paquet</" "replaceable></filename>: per a qualsevol altre període de temps." #. type: Content of: <book><chapter><section><para> msgid "" "Most of these files are shell scripts, with the exception of " "<filename><replaceable>package</replaceable>.cron.d</filename> which follows " "the format of <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." msgstr "" "Els fitxers tenen el format de guions shell. Amb l'excepció dels fitxers " "<filename><replaceable>nom_del_paquet</replaceable>.cron.d</filename> que " "s'ajustaran al format descrit a <citerefentry> <refentrytitle>crontab</" "refentrytitle> <manvolnum>5</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "No explicit <filename>cron.*</filename> file is needed to set up log " "rotation; for that, see <citerefentry><refentrytitle>dh_installlogrotate</" "refentrytitle> <manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>logrotate</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" "No és necessari explicitar un arxiu <filename>cron.*</filename> per a " "configurar la rotació de registres, per aquest cas consulta <citerefentry> " "<refentrytitle>dh_installlogrotate</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> i <citerefentry> <refentrytitle>logrotate</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>. Elimina aquest arxiu si no s'ha " "de fer servir amb el teu paquet." #. type: Content of: <book><chapter><section><title> msgid "<filename>dirs</filename>" msgstr "Fitxer <filename>dirs</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies any directories which we need but which are not created " "by the normal installation procedure (<literal>make install DESTDIR=...</" "literal> invoked by <literal>dh_auto_install</literal>). This generally " "means there is a problem with the <filename>Makefile</filename>." msgstr "" "Aquest arxiu especifica els directoris necessaris però que per alguna raó no " "s'han creat en el procés d'instal·lació normal (<literal>make install " "DESTDIR=...</literal> executat per <literal>dh_auto_install</literal>). " "Generalment això és degut a un problema en el fitxer <filename>Makefile</" "filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Files listed in an <filename>install</filename> file don't need their " "directories created first. See <xref linkend=\"install\"/>." msgstr "" "Els fitxers llistats en el fitxer <filename>install</filename> no " "requereixen la creació prèvia dels directoris. Consulta <xref linkend=" "\"install\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "It is best to try to run the installation first and only use this if you run " "into trouble. There is no preceding slash on the directory names listed in " "the <filename>dirs</filename> file." msgstr "" "És recomanable executar en primer lloc la instal·lació i només fer ús " "d'aquest arxiu si es produeix algú problema. No s'ha de posar la barra " "inicial en els noms dels directoris llistats a l'arxiu <filename>dirs</" "filename>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.doc-base</filename>" msgstr "" "Fitxer <filename><replaceable>nom_del_paquet</replaceable>.doc-base</" "filename>." #. type: Content of: <book><chapter><section><para> msgid "" "If your package has documentation other than manual and info pages, you " "should use the <systemitem role=\"package\">doc-base</systemitem> file to " "register it, so the user can find it with e.g. <citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, or <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Si el teu paquet té documentació a més de les pàgines de manual i " "d'informació, pots fer servir el fitxer <systemitem role=\"package\">doc-" "base</systemitem> per a registrar-la i així l'usuari la trobarà més " "fàcilment amb <citerefentry> <refentrytitle>dhelp</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>dwww</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "o <citerefentry> <refentrytitle>doccentral</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "This usually includes HTML, PS and PDF files, shipped in <filename>/usr/" "share/doc/<replaceable>packagename</replaceable>/</filename>." msgstr "" "La documentació inclourà fitxers HTML, PS i PDF ubicats en <filename>/usr/" "share/doc/<replaceable>nom_del_paquet</replaceable>/</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "This is what <systemitem role=\"package\">gentoo</systemitem>'s doc-base " "file <filename>gentoo.doc-base</filename> looks like:" msgstr "" "Aquest és el contingut del fitxer <filename>gentoo.doc-base</filename> de " "<systemitem role=\"package\">gentoo</systemitem>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" msgstr "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" #. type: Content of: <book><chapter><section><para> msgid "" "For information on the file format, see <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and the Debian <systemitem role=\"package\">doc-base</" "systemitem> Manual at the local copy <filename>&doc-base;</filename> " "provided by the <systemitem role=\"package\">doc-base</systemitem> package." msgstr "" "Per obtenir informació sobre el format del fitxer, consulta <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> i en el manual Debian <systemitem role=\"package\">doc-base</" "systemitem> en la còpia local <filename>&doc-base;</filename> proporcionat " "pel paquet <systemitem role=\"package\">doc-base</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "For more details on installing additional documentation, look in <xref " "linkend=\"destdir\"/>." msgstr "" "Per a més detalls sobre la instal·lació de documentació addicional, consulta " "<xref linkend=\"destdir\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>docs</filename>" msgstr "Fitxer <filename>docs</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies the file names of documentation files we can have " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> install into the temporary directory for us." msgstr "" "Aquest arxiu especifica els noms dels fitxers de documentació que " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> instal·larà en el directori temporal." #. type: Content of: <book><chapter><section><para> msgid "" "By default, it will include all existing files in the top-level source " "directory that are called <filename>BUGS</filename>, <filename>README*</" "filename>, <filename>TODO</filename> etc." msgstr "" "L'opció predeterminada inclourà tots els fitxers existents en els directoris " "del nivell més alt del codi amb els noms <filename>BUGS</filename>, " "<filename>README*</filename>, <filename>TODO</filename> etc." #. type: Content of: <book><chapter><section><para> msgid "" "For <systemitem role=\"package\">gentoo</systemitem>, some other files are " "also included:" msgstr "" "També n'inclouré alguns d'altres per a <systemitem role=\"package\">gentoo</" "systemitem>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" msgstr "" " BUGS\n" " CONFIG-CHANGES\n" " CREDITS\n" " ONEWS\n" " README\n" " README.gtkrc\n" " TODO\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>emacsen-*</filename>" msgstr "Fitxer <filename>emacsen-*</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "If your package supplies Emacs files that can be bytecompiled at package " "installation time, you can use these files to set it up." msgstr "" "Si el teu paquet proporciona fitxers Emacs que es poden compilar a bytes en " "el moment de la instal·lació, pots fer servir aquests fitxers." #. type: Content of: <book><chapter><section><para> msgid "" "They are installed into the temporary directory by <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Aquests fitxers seran instal·lats en el directori temporal per " "<citerefentry> <refentrytitle>dh_installemacsen</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "If you don't need these, remove them." msgstr "Elimina'ls si no els necessites." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.examples</filename>" msgstr "" "Fitxer <filename><replaceable>nom_del_paquet</replaceable>.examples</" "filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs files and " "directories listed in this file as example files." msgstr "" "L'ordre <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> instal·la els fitxers i directoris " "llistats en aquest arxiu com a fitxers d'exemple." #. type: Content of: <book><chapter><section><title> msgid "" "<filename><replaceable>package</replaceable>.init</filename> and " "<filename><replaceable>package</replaceable>.default</filename>" msgstr "" "Fitxers <filename><replaceable>nom_del_paquet</replaceable>.init</filename> " "<filename><replaceable>nom_del_paquet</replaceable>.default</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package is a daemon that needs to be run at system start-up, you've " "obviously disregarded my initial recommendation, haven't you? :-)" msgstr "" "Si el teu paquet és un dimoni que s'executa en iniciar-se el sistema, és que " "no has fet cas a la meva recomanació inicial, o no? :-)" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.init</filename> file is " "installed as the <filename>/etc/init.d/<replaceable>package</replaceable></" "filename> script which starts and stops the daemon. Its fairly generic " "skeleton template is provided by the <command>dh_make</command> command as " "<filename>init.d.ex</filename>. You'll likely have to rename and edit it, a " "lot, while making sure to provide <ulink url=\"&lsb;\">Linux Standard Base</" "ulink> (LSB) compliant headers. It gets installed into the temporary " "directory by <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." msgstr "" "El fitxer <filename><replaceable>nom_del_paquet</replaceable>.init</" "filename> s'instal·la com un guió en <filename>/etc/init.d/" "<replaceable>nom_del_paquet</replaceable></filename> pel <emphasis>guió " "«init»</emphasis> que engega i atura un dimoni. Es tracta d'una plantilla " "genèrica construïda per l'ordre <command>dh_make</command> amb el nom " "<filename>init.d.ex</filename>. Caldrà canviar-li el nom i fer molts canvis " "per assegurar-te que compleix amb les capçaleres de l'estàndard base de " "Linux (LSB, consulta <ulink url=\"&lsb;\">Linux Standard Base</ulink>). " "<citerefentry> <refentrytitle>dh_installinit</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> ho instal·la en el directori temporal." #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.default</filename> file " "will be installed as <filename>/etc/default/<replaceable>package</" "replaceable></filename>. This file sets defaults that are sourced by the " "init script. This <filename><replaceable>package</replaceable>.default</" "filename> file is most often used to disable running a daemon, or to set " "some default flags or timeouts. If your init script has certain " "configurable features, you can set them in the " "<filename><replaceable>package</replaceable>.default</filename> file, " "instead of in the init script itself." msgstr "" "L'arxiu <filename><replaceable>nom_del_paquet</replaceable>.default</" "filename> s'instal·la a <filename>/etc/default/<replaceable>nom_del_paquet</" "replaceable></filename>. Aquest arxiu estableix els valors predeterminats " "obtinguts a partir del guió «init». Sovint l'arxiu " "<filename><replaceable>nom_del_paquet</replaceable>.default</filename> es fa " "servir per desactivar un dimoni, establint uns valors predeterminats o temps " "d'espera. Si el teu guió «init» conté algunes propietats " "<emphasis>configurables</emphasis>, cal posar-les a l'arxiu " "<filename><replaceable>nom_del_paquet</replaceable>.default</filename>, " "enlloc de en el <emphasis>guió «init»</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream program provides a file for the init script, you can either " "use it or not. If you don't use their init script then create a new one in " "<filename><replaceable>package</replaceable>.init</filename>. However if " "the upstream init script looks fine and installs in the right place you " "still need to set up the <filename>rc*</filename> symlinks. To do this you " "will need to override <command>dh_installinit</command> in the " "<filename>rules</filename> file with the following lines:" msgstr "" "Si el programa original inclou un arxiu pel <emphasis>guió «init»</" "emphasis>, tu pots fer-ne ús o bé descartar-ho. Si decideixes no fer servir " "el guió <emphasis>«init»</emphasis> original, caldrà que en facis un de nou " "a <filename>debian/<replaceable>nom_del_paquet</replaceable>.init</" "filename>. Tot i així, si el <emphasis>guió «init»</emphasis> original té " "bona pinta i s'instal·la en la ubicació correcta, encara caldrà configurar " "el fitxer <filename>rc*</filename> d'enllaços simbòlics. Caldrà reescriure " "l'objectiu <command>dh_installinit</command> de l'arxiu <filename>rules</" "filename> com segueix:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" msgstr "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" #. type: Content of: <book><chapter><section><para> msgid "If you don't need this, remove the files." msgstr "Elimina el fitxer si no el fas servir." #. type: Content of: <book><chapter><section><title> msgid "<filename>install</filename>" msgstr "Fitxer <filename>install</filename>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This replaces the deprecated <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command which is " "configured by the <filename>files</filename> file." msgstr "" "Aquesta ordre reemplaça l'ordre obsoleta <citerefentry> " "<refentrytitle>dh_movefiles</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> que feia servir el fitxer <filename>files</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "If there are files that need to be installed into your package but your " "standard <literal>make install</literal> won't do it, put the filenames and " "destinations into this <filename>install</filename> file. They are " "installed by <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=" "\"0\"/> You should first check there is not a more specific tool to use. " "For example, documents should be in the <filename>docs</filename> file and " "not in this one." msgstr "" "Si hi ha fitxers que han d'ésser instal·lats pel paquet però <literal>make " "install</literal> no ho fa, pots llistar els fitxers i les seves " "destinacions a l'arxiu <filename>install</filename>. S'encarregarà de la " "instal·lació l'ordre <citerefentry> <refentrytitle>dh_install</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> <placeholder type=" "\"footnote\" id=\"0\"/>. Comprova que no hi ha un mètode més específic per " "fer aquesta instal·lació. Per exemple, en el cas de la documentació, cal " "fer servir el fitxer <filename>docs</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "This <filename>install</filename> file has one line per file installed, with " "the name of the file (relative to the top build directory) then a space then " "the installation directory (relative to the install directory). One example " "of where this is used is if a binary <filename>src/<replaceable>bar</" "replaceable></filename> is left uninstalled; the <filename>install</" "filename> file might look like:" msgstr "" "En el fitxer <filename>install</filename> hi haurà una línia per a cada un " "dels fitxers a instal·lar, amb el seu nom (sempre relatiu al directori " "superior de la compilació) i després d'un espai, el directori d'instal·lació " "(relatiu al directori d'instal·lació). En el cas que no s'instal·li el " "fitxer binari <filename>src/<replaceable>arxiu_binari</replaceable></" "filename> del <filename>gentoo</filename>, hauries d'escriure el següent:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "src/<replaceable>bar</replaceable> usr/bin\n" msgstr "src/<replaceable>arxiu_binari</replaceable> usr/bin\n" #. type: Content of: <book><chapter><section><para> msgid "" "This means when this package is installed, there will be an executable " "command <filename>/usr/bin/<replaceable>bar</replaceable></filename>." msgstr "" "Quan s'instal·li el paquet, hi haurà una ordre executable <filename>/usr/bin/" "<replaceable>arxiu_binari</replaceable></filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Alternatively, this <filename>install</filename> can have the name of the " "file only without the installation directory when the relative directory " "path does not change. This format is usually used for a large package that " "splits the output of its build into multiple binary packages using " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "En el fitxer <filename>install</filename> pots escriure el nom del fitxer " "sense el directori d'instal·lació sempre que la ruta relativa de directori " "no canvii. Aquest format es fa servir amb paquets grans que separen el " "resultat de la compilació en més d'un paquet binari fent servir el conjunt " "de fitxers <filename><replaceable>nom_del_paquet-1</replaceable>.install</" "filename>, <filename><replaceable>nom_del_paquet-2</replaceable>.install</" "filename>, etc." #. type: Content of: <book><chapter><section><para> msgid "" "The <command>dh_install</command> command will fall back to looking in " "<filename>debian/tmp</filename> for files, if it doesn't find them in the " "current directory (or wherever you've told it to look using <literal>--" "sourcedir</literal>)." msgstr "" "L'ordre <command>dh_install</command> revisarà el directori <filename>debian/" "tmp</filename> per cercar els fitxers si no els troba en el directori actual " "(o en la ubicació establerta per a la recerca amb l'opció <literal>--" "sourcedir</literal>)." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.info</filename>" msgstr "" "Fitxer <filename><replaceable>nom_del_paquet</replaceable>.info</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "If your package has info pages, you should install them using <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing them in a <filename><replaceable>package</" "replaceable>.info</filename> file." msgstr "" "Si el teu paquet fa servir fitxers «info» (sistema d'ajuda), pots instal·lar-" "los fent servir <citerefentry> <refentrytitle>dh_installinfo</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> que utilitzarà el llistat del " "fitxer <filename><replaceable>package</replaceable>.info</filename>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.links</filename>" msgstr "" "Fitxer <filename><replaceable>nom_del_paquet</replaceable>.links</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "If you need to create additional symlinks in package build directories as " "package maintainer, you should install them using <citerefentry> " "<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing their full paths of source and destination files in " "a <filename><replaceable>package</replaceable>.links</filename> file." msgstr "" "Si has de generar enllaços simbòlics addicionals en el directori de " "compilació del paquet com a responsable del paquet, pots fer-ho fent servir " "<citerefentry> <refentrytitle>dh_link</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> fent un llistat dels directoris complets de " "l'origen i destí dels fitxers a un fitxer " "<filename><replaceable>nom_del_paquet</replaceable>.links</filename>" #. type: Content of: <book><chapter><section><title> msgid "" "<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</" "filename>" msgstr "" "Fitxers <filename>{<replaceable>nom_arxiu</replaceable>.source/}lintian-" "overrides</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " "diagnostic for a case where Debian policy allows exceptions to some rule, " "you can use <filename><replaceable>package</replaceable>.lintian-overrides</" "filename> or <filename>source/lintian-overrides</filename> to quieten it. " "Please read Lintian User's Manual (<filename>&lintian-doc;</filename>) and " "refrain from abusing this." msgstr "" "Si el programa <systemitem role=\"package\">lintian</systemitem> fa una " "diagnosi equivocada en algun dels casos que les normes de Debian permeten " "excepcions, fes servir els fitxers <filename><replaceable>nom_del_paquet</" "replaceable>.lintian-overrides</filename> o <filename>source/lintian-" "overrides</filename> i així no avisarà de l'error. Consulta Lintian User's " "Manual (<filename>&lintian-doc;</filename>) i procura no abusar d'aquesta " "opció per ocultar errors autèntics." #. type: Content of: <book><chapter><section><para> msgid "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> is " "for the binary package named <systemitem role=\"package" "\"><replaceable>package</replaceable></systemitem> and is installed into " "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" "filename> by the <command>dh_lintian</command> command." msgstr "" "El fitxer <filename><replaceable>nom_del_paquet</replaceable>.lintian-" "overrides</filename> és per a un paquet binari amb el nom <systemitem role=" "\"package\"><replaceable>nom_del_paquet</replaceable></systemitem> i " "s'instal·la a <filename>usr/share/lintian/overrides/" "<replaceable>nom_del_paquet</replaceable></filename> per l'ordre " "<command>dh_lintian</command>." #. type: Content of: <book><chapter><section><para> msgid "" "<filename>source/lintian-overrides</filename> is for the source package. " "This is not installed." msgstr "" "El fitxer <filename>source/lintian-overrides</filename> és per als paquets " "de codi original i no s'instal·la." #. type: Content of: <book><chapter><section><title> msgid "<filename>manpage.*</filename>" msgstr "Fitxers <filename>manpage.*</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Your program(s) should have a manual page. If they don't, you should create " "them. The <command>dh_make</command> command creates some template files " "for manual pages. These need to be copied and edited for each command " "missing its manual page. Please make sure to remove unused templates." msgstr "" "Cal que el programa tengui una pàgina de manual. Si l'autor original no " "l'ha fet, l'hauràs de fer tu. L'ordre <command>dh_make</command> construeix " "alguns fitxers de plantilla per a les pàgines de manual. Caldrà editar-los " "i emplenar-los. Comprova que elimines els fitxers que no fas servir." #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.1.ex</filename>" msgstr "Fitxers <filename>manpage.1.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Manual pages are normally written in <citerefentry> <refentrytitle>nroff</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. The " "<filename>manpage.1.ex</filename> template is written in <command>nroff</" "command>, too. See the <citerefentry> <refentrytitle>man</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> manual page for a brief description " "of how to edit such a file." msgstr "" "Las pàgines de manual s'escriuen normalment amb <citerefentry> " "<refentrytitle>nroff</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. L'exemple <filename>manpage.1.ex</filename> està escrit amb " "<command>nroff</command>. Consulta la pàgina de manual <citerefentry> " "<refentrytitle>man</refentrytitle> <manvolnum>7</manvolnum> </citerefentry> " "on s'explica com editar el fitxer." #. type: Content of: <book><chapter><section><section><para> msgid "" "The final manual page file name should give the name of the program it is " "documenting, so we will rename it from <literal>manpage</literal> to " "<literal>gentoo</literal>. The file name also includes <literal>.1</" "literal> as the first suffix, which means it's a manual page for a user " "command. Be sure to verify that this section is indeed the correct one. " "Here's a short list of manual page sections:" msgstr "" "El nom del fitxer de manual ha d'incloure el nom del programa corresponent: " "així canviaràs el nom de <literal>manpage</literal> a <literal>gentoo</" "literal>. El nom del fitxer inclou <literal>.1</literal> com a sufixe: " "aquest és el codi que indica que la pàgina de manual correspon a un programa " "d'usuari. Comprova que és la secció correcta. Aquí tens una petita llista " "de les seccions de les pàgines de manual." #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Section" msgstr "Secció" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Description" msgstr "Descripció" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Notes" msgstr "Notes" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "1" msgstr "1" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "User command" msgstr "Ordre d'usuari" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Executable commands or scripts" msgstr "Ordres o guions executables" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "2" msgstr "2" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System calls" msgstr "Crides del sistema" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions provided by the kernel" msgstr "Funcions proporcionades pel nucli" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "3" msgstr "3" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Library calls" msgstr "Crides a biblioteques" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions within system libraries" msgstr "Funcions de les biblioteques del sistema" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "4" msgstr "4" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Special files" msgstr "Arxiu especials" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Usually found in <filename>/dev</filename>" msgstr "En general es troben a <filename>/dev</filename>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "5" msgstr "5" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "File formats" msgstr "Formats d'arxiu" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "E.g. <filename>/etc/passwd</filename>'s format" msgstr "p.ex. format de <filename>/etc/passwd</filename>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "6" msgstr "6" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games" msgstr "Jocs" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games or other frivolous programs" msgstr "Jocs o altres programes d'entreteniment" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "7" msgstr "7" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Macro packages" msgstr "Paquets de macros" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Such as <command>man</command> macros" msgstr "Com ara les macros <command>mc</command>." #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "8" msgstr "8" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System administration" msgstr "Administració del sistema" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Programs typically only run by root" msgstr "Programes que només sol executar el superusuari" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "9" msgstr "9" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Kernel routines" msgstr "Rutines del nucli" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Non-standard calls and internals" msgstr "Crides al sistema no estàndard i internes" #. type: Content of: <book><chapter><section><section><para> msgid "" "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " "called <filename>gentoo.1</filename>. If there was no <filename>gentoo.1</" "filename> man page in the original source, you should create it by renaming " "the <filename>manpage.1.ex</filename> template to <filename>gentoo.1</" "filename> and editing it using information from the example and from the " "upstream docs." msgstr "" "En el cas del <systemitem role=\"package\">gentoo</systemitem>, el nom del " "fitxer serà <filename>gentoo.1</filename>. Com què no hi havia una pàgina " "de manual en els fitxers de fonts de <filename>gentoo.1</filename>, en vaig " "escriure una canviant el nom de la plantilla <filename>manpage.1.ex</" "filename> per <filename>gentoo.1</filename> i editant-la fent servir la " "informació de l'exemple i la documentació del programador original." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Note that <command>help2man</command>'s placeholder man page will claim that " "more detailed documentation is available in the info system. If the command " "is missing an <command>info</command> page, you should manually edit the man " "page created by the <command>help2man</command> command." msgstr "" "Cal tenir present que el marcador de posició de pàgines de manual " "<command>help2man</command> reclamarà que la informació més detallada " "estigui disponible en el sistema d'informació. Si l'ordre no troba una " "pàgina <command>info</command>, caldrà que editis manualment la pàgina de " "manual construïda per <command>help2man</command>." #. type: Content of: <book><chapter><section><section><para> msgid "" "You can use the <command>help2man</command> command to generate a man page " "out of the <literal>--help</literal> and <literal>--version</literal> output " "of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Fes servir l'ordre <command>help2man</command> per generar la pàgina de " "manual fent servir la informació aportada per les opcions «<literal>--help</" "literal>» i «<literal>--version</literal>» de cada programa <placeholder " "type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.sgml.ex</filename>" msgstr "Fitxer <filename>manpage.sgml.ex</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If on the other hand you prefer writing SGML instead of <command>nroff</" "command>, you can use the <filename>manpage.sgml.ex</filename> template. If " "you do this, you have to:" msgstr "" "Si prefereixes fer servir el format SGML en lloc de <command>nroff</command> " "pots fer servir la plantilla <filename>manpage.sgml.ex</filename>. En " "aquest cas hauràs de fer el següent:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "rename the file to something like <filename>gentoo.sgml</filename>." msgstr "reanomenar el fitxer com <filename>gentoo.sgml</filename>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-to-man</systemitem> package" msgstr "" "instal·lar el paquet <systemitem role=\"package\">docbook-to-man</systemitem>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add <literal>docbook-to-man</literal> to the <literal>Build-Depends</" "literal> line in the <filename>control</filename> file" msgstr "" "afegeix <literal>docbook-to-man</literal> en el camp <literal>Build-Depends</" "literal> de l'arxiu <filename>control</filename>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add an <literal>override_dh_auto_build</literal> target to your " "<filename>rules</filename> file:" msgstr "" "afegir l'objectiu <literal>override_dh_auto_build</literal> en el fitxer " "<filename>rules</filename>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.xml.ex</filename>" msgstr "Fitxer <filename>manpage.xml.ex</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If you prefer XML over SGML, you can use the <literal>manpage.xml.ex</" "literal> template. If you do this, you have to:" msgstr "" "I si prefereixes treballar en format XML en lloc de SGML, pots fer servir la " "plantilla <literal>manpage.xml.ex</literal>. En aquest cas hauràs de fer el " "següent:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "rename the source file to something like <literal>gentoo.1.xml</literal>" msgstr "reanomenar el fitxer a <literal>gentoo.1.xml</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-xsl</systemitem> package " "and an XSLT processor like <systemitem role=\"package\">xsltproc</" "systemitem> (recommended)" msgstr "" "instal·lar el paquet <systemitem role=\"package\">docbook-xsl</systemitem> i " "un processador XSLT com <systemitem role=\"package\">xsltproc</systemitem> " "(recomanat)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add the <literal>docbook-xsl</literal>, <literal>docbook-xml</literal>, and " "<literal>xsltproc</literal> packages to the <literal>Build-Depends</literal> " "line in the <literal>control</literal> file" msgstr "" "afegir els paquets <literal>docbook-xsl</literal>, <literal>docbook-xml</" "literal> i <literal>xsltproc</literal> a la línia de <literal>Build-Depends</" "literal> en el fitxer <literal>control</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.manpages</filename>" msgstr "" "Fitxer <filename><replaceable>nom_del_paquet</replaceable>.manpages</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has manual pages, you should install them using " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> by listing them in a " "<filename><replaceable>package</replaceable>.manpages</filename> file." msgstr "" "Si el teu paquet té pàgines de manual, les instal·laràs amb <citerefentry> " "<refentrytitle>dh_installman</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> llistant els fitxers corresponents en el fitxer " "<filename><replaceable>nom_del_paquet</replaceable>.manpages</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "To install <filename>docs/gentoo.1</filename> as a manpage for the " "<systemitem role=\"package\">gentoo</systemitem> package, create a " "<filename>gentoo.manpages</filename> file as follows." msgstr "" "Per instal·lar el fitxer <filename>docs/gentoo.1</filename> del paquet " "<systemitem role=\"package\">gentoo</systemitem> com el seu manual, escriu " "en el fitxer <filename>gentoo.manpages</filename> el següent:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "docs/gentoo.1\n" msgstr "docs/gentoo.1\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>menu</filename>" msgstr "Fitxer <filename>menu</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "X Window System users usually have a window manager with a menu that can be " "customized to launch programs. If they have installed the Debian " "<systemitem role=\"package\">menu</systemitem> package, a set of menus for " "every program on the system will be created for them." msgstr "" "Els usuaris de X Windows fan servir un gestor de finestres amb menús que " "poden adaptar-se per llançar programes. Si tenen instal·lat el paquet " "<systemitem role=\"package\">menu</systemitem> de Debian, es construirà un " "conjunt de menús per a cada programa del sistema." #. type: Content of: <book><chapter><section><para> msgid "" "Here's the default <filename>menu.ex</filename> file that <command>dh_make</" "command> created." msgstr "" "Aquest és el contingut del fitxer <filename>menu.ex</filename> que " "<command>dh_make</command> construeix com a exemple:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" msgstr "" " ?package(gentoo):needs=X11|text|vc|wm \n" " section=Apps/llegeix-manual-menu\\\n" " title=gentoo command=/usr/bin/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The first field after the colon character is <literal>needs</literal>, and " "it specifies what kind of interface the program needs. Change this to one " "of the listed alternatives, e.g. <literal>text</literal> or <literal>X11</" "literal>." msgstr "" "El primer camp després de la coma (<literal>needs</literal>) són els " "requisits del programa i especifica el tipus d'interfície gràfica feta " "servir pel programa. Canvia a una de les alternatives llistades, p.ex. " "<literal>text</literal> o <literal>X11</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The current list of sections is in <ulink url=\"&menu-structure;\">The " "Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>. There was " "a major reorganization of menu structure for <literal>squeeze</literal>." msgstr "" "Pots consultar la llista actual de seccions a <ulink url=\"&menu-structure;" "\">The Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>. Hi " "ha hagut una important reorganització de l'estructura del menú a " "<literal>squeeze</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The next is the <literal>section</literal> that the menu and submenu entry " "should appear in. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "El següent és <literal>section</literal> és la secció (menú i sub-menú) on " "hauria d'aparèixer l'entrada de menú del programa <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>title</literal> field is the name of the program. You can " "start this one in uppercase if you like. Just keep it short." msgstr "" "El camp <literal>title</literal> és el nom del programa (o millor el text " "que apareixerà en el menú). Pots començar el nom en majúscules si vols, " "però és convenient fer-ho curt." #. type: Content of: <book><chapter><section><para> msgid "" "Finally, the <literal>command</literal> field is the command that runs the " "program." msgstr "El camp <literal>command</literal> és l'ordre que executa el programa." #. type: Content of: <book><chapter><section><para> msgid "" "Let's change the file name to <filename>menu</filename> and change the menu " "entry to this:" msgstr "" "Anem a canviar el nom de l'arxiu a <filename>menu</filename> i l'entrada del " "menú a la següent:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" msgstr "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also add other fields like <literal>longtitle</literal>, " "<literal>icon</literal>, <literal>hints</literal> etc. See <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, and <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> for more information." msgstr "" "També pots afegir altres camps com <literal>longtitle</literal> (títol " "llarg), <literal>icon</literal> (icona), <literal>hints</literal> (pistes), " "etc. Consulta <citerefentry> <refentrytitle>dh_installmenu</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>menufile</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>update-menus</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> i <ulink url=\"&policy-menu;\">The " "Debian Menu sub-policy</ulink>" #. type: Content of: <book><chapter><section><title> msgid "<filename>NEWS</filename>" msgstr "Fitxer <filename>NEWS</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "L'ordre <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> instal·la aquest arxiu." #. type: Content of: <book><chapter><section><title> msgid "<filename>{pre,post}{inst,rm}</filename>" msgstr "Fitxers <filename>{pre,post}{inst,rm}</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Despite this use of the <command>bash</command> shorthand expression " "<filename>{pre,post}{inst,rm}</filename> to indicate these filenames, you " "should use pure POSIX syntax for these maintainer scripts for compatibility " "with <command>dash</command> as the system shell." msgstr "" "Encara que faig servir les expressions <command>bash</command> abreujades " "<filename>{pre,post}{inst,rm}</filename> pels noms d'aquests arxius, has de " "fer servir la sintaxi pura POSIX per a aquests guions del desenvolupador per " "mantenir la compatibilitat el sistema «shell» <command>dash</command>." #. type: Content of: <book><chapter><section><para> msgid "" "These <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename>, and <filename>prerm</filename> files " "<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " "scripts</emphasis>. They are scripts which are put in the control area of " "the package and run by <command>dpkg</command> when your package is " "installed, upgraded, or removed." msgstr "" "Els arxius <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename>, i <filename>prerm</filename><placeholder type=" "\"footnote\" id=\"0\"/> s'anomenen <emphasis>guions del desenvolupador</" "emphasis> («maintainer scripts»), i són guions que es col·loquen en l'àrea " "de control del paquet i són executats pel paquet <command>dpkg</command> " "quan el teu paquet s'instal·la, s'actualitza o és eliminat." #. type: Content of: <book><chapter><section><para> msgid "" "As a novice maintainer, you should avoid any manual editing of maintainer " "scripts because they are problematic. For more information refer to the " "<ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 \"Package " "maintainer scripts and installation procedure\"</ulink>, and take a look at " "the example files provided by <command>dh_make</command>." msgstr "" "Hauries d'evitar editar manualment els <emphasis>guions del desenvolupador</" "emphasis> degut a la seva complexitat. Consulta <ulink url=\"&policy-" "mantainerscripts;\">«Debian Policy Manual, 6 \"Package maintainer scripts " "and installation procedure\"»</ulink> i examina els exemples contruïts per " "<command>dh_make</command>." #. type: Content of: <book><chapter><section><para> msgid "" "If you did not listen to me and have created custom maintainer scripts for a " "package, you should make sure to test them not only for <emphasis role=" "\"strong\">install</emphasis> and <emphasis role=\"strong\">upgrade</" "emphasis> but also for <emphasis role=\"strong\">remove</emphasis> and " "<emphasis role=\"strong\">purge</emphasis>." msgstr "" "Si malgrat les meves advertències, adaptes els <emphasis>guions del " "desenvolupador</emphasis> per al teu paquet, comprova el seu funcionament en " "la <emphasis role=\"strong\">instal·lació</emphasis>, <emphasis role=\"strong" "\">actualització</emphasis>, <emphasis role=\"strong\">desinstal·lació</" "emphasis> i <emphasis role=\"strong\">eliminació completa</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Upgrades to the new version should be silent and non-intrusive (existing " "users should not notice the upgrade except by discovering that old bugs have " "been fixed and perhaps that there are new features)." msgstr "" "Les actualitzacions a una nova versió cal que siguin «silencioses» i no " "intrusives (els usuaris només haurien de veure que s'han arreglat els errors " "i afegit noves funcions)." #. type: Content of: <book><chapter><section><para> msgid "" "When the upgrade is necessarily intrusive (eg., config files scattered " "through various home directories with totally different structure), you may " "consider as the last resort switching the package to a safe fallback state " "(e.g., disabling a service) and providing the proper documentation required " "by policy (<filename>README.Debian</filename> and <filename>NEWS.Debian</" "filename>). Don't bother the user with <command>debconf</command> notes " "invoked from these maintainer scripts for upgrades." msgstr "" "Quan l'actualització és necessàriament intrusiva (p. ex. fitxers de " "configuració dispersos en diversos directoris amb una estructura totalment " "modificada), s'haurien d'establir els valors predeterminats segurs (p. ex. " "desactivar els serveis) i facilitar la documentació apropiada establerta en " "les normes (fitxers <filename>README.Debian</filename> i <filename>NEWS." "Debian</filename>) com a darrer recurs. Cal evitar molestar a l'usuari amb " "notes <command>debconf</command> invocades pels <emphasis>guions del " "desenvolupador</emphasis> en les actualitzacions." #. type: Content of: <book><chapter><section><para> msgid "" "The <systemitem role=\"package\">ucf</systemitem> package provides a " "<emphasis>conffile-like</emphasis> handling infrastructure to preserve user " "changes for files that may not be labeled as <emphasis>conffiles</emphasis> " "such as those managed by the maintainer scripts. This should minimize " "issues associated with them." msgstr "" "El paquet <systemitem role=\"package\">ucf</systemitem> facilita el sistema " "<emphasis>conffile-like</emphasis> per preservar els canvis de configuració " "realitzats per l'usuari i per això no han de anomenar-se com " "<emphasis>conffiles</emphasis> els fitxers gestionats pels <emphasis>guions " "del desenvolupador</emphasis>. Així es minimitzen les incidències " "associades amb ells." #. type: Content of: <book><chapter><section><para> msgid "" "These maintainer scripts are among the Debian enhancements that explain " "<emphasis role=\"strong\">why people choose Debian</emphasis>. You must be " "very careful not to turn them into a source of annoyance." msgstr "" "Aquests <emphasis>guions del desenvolupador</emphasis> són un exemple de les " "característiques de Debian que expliquen <emphasis role=\"strong\">perquè la " "gent elegeix Debian</emphasis>. Has de ser acurat amb no molestar amb ells." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.symbols</filename>" msgstr "" "Fitxer <filename><replaceable>nom_del_paquet</replaceable>.symbols</" "filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Packaging of library is not easy for a novice maintainer and should be " "avoided. Having said it, if your package has libraries, you should have " "<filename>debian/<replaceable>package</replaceable>.symbols</filename> " "files. See <xref linkend=\"librarysymbols\"/>." msgstr "" "Mantenir paquets de biblioteques no és fàcil per a principiants i és millor " "evitar-ho. Dit això, si el teu paquet té biblioteques, cal que tenguis un " "fitxer <filename>debian/<replaceable>nom_del_paquet</replaceable>.symbols</" "filename>. Consulta <xref linkend=\"librarysymbols\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>TODO</filename>" msgstr "Fitxer <filename>TODO</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "L'ordre <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> instal·la aquest arxiu." #. type: Content of: <book><chapter><section><title> msgid "<filename>watch</filename>" msgstr "Fitxer <filename>watch</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>watch</filename> file format is documented in the " "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> manpage. The <filename>watch</filename> file configures the " "<command>uscan</command> program (in the <systemitem role=\"package" "\">devscripts</systemitem> package) to watch the site where you originally " "got the source from. This is also used by the <ulink url=\"&dehs;\">Debian " "External Health Status (DEHS)</ulink> service." msgstr "" "El format del fitxer <filename>watch</filename> està documentat en la pàgina " "de manual de <citerefentry> <refentrytitle>uscan</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. El fitxer <filename>watch</" "filename> es fa servir per configurar el programa <command>uscan</command> " "(del paquet <systemitem role=\"package\">devscripts</systemitem>) que vigila " "el servidor on està el codi font original. També ho fa servir <ulink url=" "\"&dehs;\">«Debian External Health Status (DEHS)»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "Here are its contents:" msgstr "Aquest és el seu contingut:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" msgstr "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" #. type: Content of: <book><chapter><section><para> msgid "" "Normally with a <filename>watch</filename> file, the URL at <literal>&sf-" "net;/gentoo</literal> is downloaded and searched for links of the form " "<literal><a href=...></literal>. The basename (just the part after " "the final <literal>/</literal>) of each linked URL is compared against the " "Perl regular expression pattern (see <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Out of the files that match, the one with the " "greatest version number is downloaded and the <command>uupdate</command> " "program is run to create an updated source tree." msgstr "" "Amb aquest arxiu <filename>watch</filename>, l'URL <literal>&sf-net;/gentoo</" "literal> es descarrega i es busca els enllaços de tipus <literal><a " "href=...></literal>. El nom base (just la part després del <literal>/</" "literal> final) d'aquests enllaços URL es comparen amb la funció «regexp» de " "Perl (consulta <citerefentry> <refentrytitle>perlre</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>) amb el patró <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Dels fitxers trobats que s'ajusten al patró, es " "descarrega el de la versió més recent i el programa <command>uupdate</" "command> s'executa per actualitzar el codi original." #. type: Content of: <book><chapter><section><para> msgid "" "Although this is true for other sites, the SourceForge download service at " "<ulink url=\"&sf-net;\"/> is an exception. When the <filename>watch</" "filename> file has an URL matching the Perl regexp <literal>^http://sf\\.net/" "</literal>, the <command>uscan</command> program replaces it with " "<literal>&qa-do;watch/sf.php/</literal> and then applies this rule. The URL " "redirector service at <ulink url=\"&qa-do;\"/> is designed to offer a stable " "redirect service to the desired file for any <filename>watch</filename> " "pattern of the form <literal>&sf-net;/<replaceable>project</replaceable>/" "<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This solves " "issues related to periodically changing SourceForge URLs." msgstr "" "Encara que és possible fer això amb altres portals, el servei de descàrrega " "«SourceForge» a <ulink url=\"&sf-net;\">&sf-net;</ulink> és una excepció. " "Quan el fitxer <filename>watch</filename> té una URL que concorda amb el " "patró Perl <literal>^http://sf\\.net/</literal>, el programa <command>uscan</" "command> el substitueix per <literal>&qa-do;watch/sf.php/</literal> i " "després aplica la regla. El servei de re-adreçament URL a la de <ulink url=" "\"&qa-do;\">&qa-do;</ulink> està dissenyat per oferir un servei estable de " "en el fitxer present en <filename>watch</filename> i que concordi amb " "<literal>&sf-net;/<replaceable>projecto</replaceable>/" "<replaceable>nom_arxiu_tar</replaceable>-(.+)\\.tar\\.gz</literal>. " "D'aquesta manera s'eviten els problemes amb els canvis periòdics en les URL." #. type: Content of: <book><chapter><section><title> msgid "<filename>source/format</filename>" msgstr "Fitxer <filename>source/format</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "In the <filename>debian/source/format</filename> file, there should be a " "single line indicating the desired format for the source package (check " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> for an exhaustive list). After <literal>squeeze</" "literal>, it should say either:" msgstr "" "El fitxer <filename>debian/source/format</filename>, només conté una línia " "que indica el format de construcció del paquet (consulta <citerefentry> " "<refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> on hi ha la llista completa). Després de <literal>squeeze</" "literal> hauria de ser:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgstr "<literal>3.0 (native)</literal> per a paquets nadius de Debian o" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (quilt)</literal> for everything else." msgstr "<literal>3.0 (quilt)</literal> per als altres paquets." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for a summary on the switch " "to the new <literal>3.0 (quilt)</literal> and <literal>3.0 (native)</" "literal> source formats." msgstr "" "Consulta <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> on es resumeix la " "informació sobre els formats <literal>3.0 (quilt)</literal> i <literal>3.0 " "(native)</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Actually, this new format also supports multiple upstream tarballs and more " "compression methods. These are beyond the scope of this document." msgstr "" "Actualment, el nou format també permet treballar amb més d'un arxiu «tar» " "amb les fonts originals i altres sistemes de compressió. Aquestes funcions " "no s'expliquen en aquest document." #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format records modifications " "in a <command>quilt</command> patch series within <filename>debian/patches</" "filename>. Those changes are then automatically applied during extraction " "of the source package. <placeholder type=\"footnote\" id=\"0\"/> The Debian " "modifications are simply stored in a <filename>debian.tar.gz</filename> " "archive containing all files under the <filename>debian</filename> " "directory. This new format supports inclusion of binary files such as PNG " "icons by the package maintainer without requiring tricks. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "El nou format <literal>3.0 (quilt)</literal> registre els canvis realitzats " "en el paquet en fitxers de pegats <command>quilt</command> en el directori " "<filename>debian/patches</filename>. Aquests canvis s'aplique " "automàticament en l'extracció dels fitxers originals del paquet <placeholder " "type=\"footnote\" id=\"0\"/>. Les modificacions es desen en el fitxer " "<filename>debian.tar.gz</filename> que conté tots els fitxers del directori " "<filename>debian</filename> utilitzat en la construcció del paquet. El nou " "format permet la inclusió d'arxius com els icones PNG sense necessitat de " "trucs <placeholder type=\"footnote\" id=\"1\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "When <command>dpkg-source</command> extracts a source package in " "<literal>3.0 (quilt)</literal> source format, it automatically applies all " "patches listed in <filename>debian/patches/series</filename>. You can avoid " "applying patches at the end of the extraction with the <literal>--skip-" "patches</literal> option." msgstr "" "Quan <command>dpkg-source</command> extreu un paquet amb les fonts amb el " "format <literal>3.0 (quilt)</literal>, automàticament s'apliquen tots els " "pegats llistats en l'arxiu <filename>debian/patches/series</filename>. Això " "ho pots evitar amb l'opció <literal>--skip-patches</literal>." #. type: Content of: <book><chapter><section><title> msgid "<filename>source/local-options</filename>" msgstr "Fitxer <filename>source/local-options</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "When you want to manage Debian packaging activities under a VCS, you " "typically create one branch (e.g. <literal>upstream</literal>) tracking the " "upstream source and another branch (e.g. typically <literal>master</" "literal> for Git) tracking the Debian package. For the latter, you usually " "want to have unpatched upstream source with your <filename>debian/*</" "filename> files for the Debian packaging to ease merging of the new upstream " "source." msgstr "" "Si has de gestionar els treballs d'empaquetament a un entorn VCS, segurament " "tindràs una branca (p. ex. <literal>upstream</literal>) per a les fonts " "originals i una altra (p. ex. normalment <literal>master</literal> en " "Git) per al paquet Debian. Si és així, tindràs les fonts originals sense " "modificar (sense aplicar els pegats) amb els fitxers <filename>debian/*</" "filename> per l'empaquetament Debian per fusionar-les amb les noves versions " "de les fonts." #. type: Content of: <book><chapter><section><para> msgid "" "After you build a package, the source is normally left patched. You need to " "unpatch it manually by running <literal>dquilt pop -a</literal> before " "committing to the <literal>master</literal> branch. You can automate this " "by adding the optional <filename>debian/source/local-options</filename> file " "containing <literal>unapply-patches</literal>. This file is not included in " "the generated source package and changes the local build behavior only. " "This file may contain <literal>abort-on-upstream-changes</literal>, too (see " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." msgstr "" "Un cop compilat el paquet, els pegats s'hauran aplicat a les fonts. Hauràs " "de desfer els pegats executant <literal>dquilt pop -a</literal> abans de " "sincronitzar-les amb la branca <literal>master</literal>. Pots automatitzar " "aquesta tasca afegint l'arxiu opcional <filename>debian/source/local-" "options</filename> el contingut del qual serà <literal>unapply-patches</" "literal>. Aquest arxiu no s'inclou en el paquet font generat i únicament " "canvia l'entorn local de construcció. Aquest fitxer també pot contenir la " "línia <literal>abort-on-upstream-changes</literal> (consulta <citerefentry> " "<refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "unapply-patches\n" "abort-on-upstream-changes\n" msgstr "" "unapply-patches\n" "abort-on-upstream-changes\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/options</filename>" msgstr "Fitxer <filename>source/options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The autogenerated files in the source tree can be quite annoying for " "packaging since they generate meaningless large patch files. There are " "custom modules such as <command>dh_autoreconf</command> to ease this problem " "as described in <xref linkend=\"customrules\"/>." msgstr "" "Els arxius generats automàticament a l'arbre del codi font poden ser bastant " "molests en la construcció de paquets ja que generen arxius grans de pegats. " "Hi ha mòduls personalitzats, com ara <command>dh_autoreconf</command> per " "alleujar aquest problema com es descriu a <xref linkend=\"customrules\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "You can provide a Perl regular expression to the <literal>--extend-diff-" "ignore</literal> option argument of <citerefentry> <refentrytitle>dpkg-" "source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> to ignore " "changes made to the autogenerated files while creating the source package." msgstr "" "Pots proporcionar una expressió regular en Perl per a l'opció <literal>--" "extend-diff-ignore</literal> de <citerefentry> <refentrytitle>dpkg-source</" "refentrytitle><manvolnum>1</manvolnum> </citerefentry> per fer cas omís dels " "canvis realitzats en els arxius generats automàticament en crear el paquet " "font." #. type: Content of: <book><chapter><section><para> msgid "" "As a general solution to address this problem of the autogenerated files, " "you can store such a <command>dpkg-source</command> option argument in the " "<filename>source/options</filename> file of the source package. The " "following will skip creating patch files for <filename>config.sub</" "filename>, <filename>config.guess</filename>, and <filename>Makefile</" "filename>." msgstr "" "Pots emmagatzemar aquestes opcions de l'ordre <command>dpkg-source</command> " "a l'arxiu <filename>source/options</filename> de les fonts del paquet com a " "solució genèrica per a fer front a aquest problema dels arxius generats " "automàticament. A l'exemple, s'evita la creació d'arxius de pegat pels " "arxius <filename>config.sub</filename>, <filename>config.guess</filename> i " "<filename>Makefile</filename>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" msgstr "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>patches/*</filename>" msgstr "Fitxers <filename>patches/*</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The old <literal>1.0</literal> source format created a single large " "<filename>diff.gz</filename> file containing package maintenance files in " "<filename>debian</filename> and patch files for the source. Such a package " "is a bit cumbersome to inspect and understand for each source tree " "modification later. This is not so nice." msgstr "" "L'antic format <literal>1.0</literal> construïa un arxiu <filename>diff.gz</" "filename> amb el contingut dels fitxers de construcció del paquet del " "directori <filename>debian</filename> i els canvis a realitzar en les " "fonts. Aquest format per conservar els canvis era una mica enutjós quan es " "tractava d'inspeccionar i entendre cada modificació de les fonts. Ja no és " "eficaç." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Several methods of patch set maintenance have been proposed and are in use " "for Debian packages. The <command>quilt</command> system is the preferred " "maintenance system in use. Others include <command>dpatch</command>, " "<command>dbs</command>, and <command>cdbs</command>. Many of these keep " "such patches as <filename>debian/patches/*</filename> files." msgstr "" "Es fan servir altres mètodes d'aplicació de pegats a Debian. El sistema " "<command>quilt</command> és el recomanat. Altres sistemes són " "<command>dpatch</command>, <command>dbs</command>, <command>cdbs</command>, " "etc. La majoria d'ells conserven els pegats en fitxers en el directori " "<filename>debian/patches/*</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format stores patches in " "<filename>debian/patches/*</filename> files using the <command>quilt</" "command> command. These patches and other package data which are all " "contained under the <filename>debian</filename> directory are packaged as " "the <filename>debian.tar.gz</filename> file. Since the <command>dpkg-" "source</command> command can handle <command>quilt</command> formatted patch " "data in the <literal>3.0 (quilt)</literal> source without the <systemitem " "role=\"package\">quilt</systemitem> package, it does not need a " "<literal>Build-Depends</literal> on <systemitem role=\"package\">quilt</" "systemitem>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "El nou format <literal>3.0 (quilt)</literal> de les fonts, desa les " "modificacions (els pegats) a fer als fitxers en el directori " "<filename>debian/patches/*</filename> fent servir l'ordre <command>quilt</" "command>. Aquests pegats i altres dades del paquet ubicats en el directori " "<filename>debian</filename> es conserven en el fitxer <filename>debian.tar." "gz</filename>. Des que l'ordre <command>dpkg-source</command> pot aplicar " "els pegats a les fonts amb el nou format <literal>3.0 (quilt)</literal> " "sense el paquet <systemitem role=\"package\">quilt</systemitem>, no és " "necessari afegir el paquet <systemitem role=\"package\">quilt</systemitem> " "en el camp <literal>Build-Depends</literal> del fitxer <filename>control</" "filename> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you are asking a sponsor to upload your package, this kind of clear " "separation and documentation of your changes is very important to expedite " "the package review by your sponsor." msgstr "" "Si has demanat a un patrocinador que afegeixi el paquet al repositori " "Debian, aquest sistema de separació i documentació dels canvia és molt " "important per facilitar la revisió del paquet per part del patrocinador." #. type: Content of: <book><chapter><section><para> msgid "" "The <command>quilt</command> command is explained in <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. It records modifications to the source as a stack of " "<literal>-p1</literal> patch files in the <filename>debian/patches</" "filename> directory and the source tree is untouched outside of the " "<filename>debian</filename> directory. The order of these patches is " "recorded in the <filename>debian/patches/series</filename> file. You can " "apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "El funcionament de l'ordre <command>quilt</command> s'explica en " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>. Conserva les modificacions de les fonts en una col·lecció " "de fitxers de pegats <literal>-p1</literal> en el directori <filename>debian/" "patches</filename> i les fonts originals romanen sense modificar fora del " "directori <filename>debian</filename>. L'ordre d'aplicació de les " "modificacions es conserva en el fitxer <filename>debian/patches/series</" "filename>. Pots executar («push»), desfer («pop») i actualitzar les " "modificacions fàcilment <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "For <xref linkend=\"modify\"/>, we created three patches in <filename>debian/" "patches</filename>." msgstr "" "A <xref linkend=\"modify\"/>, s'han construït tres fitxers de pegats en el " "directori <filename>debian/patches</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Since Debian patches are located in <filename>debian/patches</filename>, " "please make sure to set up the <command>dquilt</command> command properly as " "described in <xref linkend=\"quiltrc\"/>." msgstr "" "Com que els pegats s'ubiquen en <filename>debian/patches</filename>, " "comprova que has configurat correctament l'ordre <command>dquilt</command> " "com es descriu a <xref linkend=\"quiltrc\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "When anyone (including yourself) provides a patch " "<filename><replaceable>foo</replaceable>.patch</filename> to the source " "later, modifying a <literal>3.0 (quilt)</literal> source package is quite " "simple:" msgstr "" "Quan algú (inclòs tu mateix), facilita un pegat " "<filename><replaceable>nom_pegat</replaceable>.patch</filename> per a les " "fonts, una vegada construït el paquet, la modificació del paquet amb format " "<literal>3.0 (quilt)</literal> és així de simple:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... descripció de la modificació\n" #. type: Content of: <book><chapter><section><para> msgid "" "The patches stored in the newer <literal>3.0 (quilt)</literal> source format " "must be <emphasis>fuzz</emphasis> free. You can ensure this with " "<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." msgstr "" "Els pegats conservats amb el nou format de fonts <literal>3.0 (quilt)</" "literal> han d'estar <emphasis>exempts</emphasis> de coses innecessàries. " "Pots comprovar-ho executant <literal>dquilt pop -a; while dquilt push; do " "dquilt refresh; done</literal>." #. type: Content of: <book><chapter><title> msgid "Building the package" msgstr "Construir el paquet." #. type: Content of: <book><chapter><para> msgid "We should now be ready to build the package." msgstr "Ara hauríem d'estar preparats per construir el paquet." #. type: Content of: <book><chapter><section><title> msgid "Complete (re)build" msgstr "Reconstrucció completa." #. type: Content of: <book><chapter><section><para> msgid "" "In order to perform a complete (re)build of a package properly, you need to " "make sure you have installed" msgstr "" "Per realitzar correctament la construcció ( o la reconstrucció) completa " "d'un paquet, comprova que els següents paquets estan instal·lats:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <systemitem role=\"package\">build-essential</systemitem> package," msgstr "el paquet <systemitem role=\"package\">build-essential</systemitem>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>), and" msgstr "" "els paquets llistats en el camp <literal>Build-Depends</literal> del fitxer " "«control» (consulta <xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends-indep</literal> field (see " "<xref linkend=\"control\"/>)." msgstr "" "els paquets llistats en el camp <literal>Build-Depends-indep</literal> " "(també de l'arxiu «control», consulta <xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><para> msgid "Then you issue the following command in the source directory:" msgstr "" "Accedeix al directori principal del codi font del programa i executa la " "següent ordre:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage\n" msgstr " dpkg-buildpackage -rfakeroot\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make full binary and source packages for you. It " "will:" msgstr "" "Aquesta ordre farà totes les tasques necessàries per construir els paquets " "binaris i de fonts. Més concretament:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "clean the source tree (<literal>debian/rules clean</literal>)" msgstr "neteja l'arbre del codi (<literal>debian/rules clean</literal>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the source package (<literal>dpkg-source -b</literal>)" msgstr "construeix el paquet de codi font (<literal>dpkg-source -b</literal>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the program (<literal>debian/rules build</literal>)" msgstr "compila el programa (<literal>debian/rules build</literal>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)" msgstr "" "construeix el paquet binari (<literal>fakeroot debian/rules binary</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "sign the source <filename>.dsc</filename> file, using <command>gpg</command>" msgstr "" "signa l'arxiu <filename>.dsc</filename> fent servir l'ordre <command>gpg</" "command>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "create and sign the upload <filename>.changes</filename> file, using " "<command>dpkg-genchanges</command> and <command>gpg</command>" msgstr "" "genera i signa l'arxiu <filename>.changes</filename>, fent servir les ordres " "<command>dpkg-genchanges</command> i <command>gpg</command>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This GPG key must be signed by a Debian developer to get connected to the " "web of trust and must be registered to <ulink url=\"&keyring;\">the Debian " "keyring</ulink>. This enables your uploaded packages to be accepted to the " "Debian archives. See <ulink url=\"&keycreate;\">Creating a new GPG key</" "ulink> and <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." msgstr "" "Aquesta clau GPG ha de ser signada per un desenvolupador de Debian per " "connectar-se a la web de confiança i cal registrar-la a <ulink url=" "\"&keyring;\">l'anell de claus de Debian</ulink>. Això permet que els " "paquets siguin acceptats a l'arxiu de Debian. Consulta <ulink url=" "\"&keycreate;\">Creating a new GPG key</ulink> i <ulink url=\"&keysigning; " "\">Debian Wiki on Keysigning</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The only input that will be required of you is your GPG secret pass phrase, " "twice. <placeholder type=\"footnote\" id=\"0\"/> If you are building Debian " "packages only for your own local use, you can skip promptings for the GPG " "signatures on the <filename>.dsc</filename> file and the <filename>.changes</" "filename> file like this:" msgstr "" "Només caldrà que escriguis dues vegades la teva contrasenya GPG " "<placeholder type=\"footnote\" id=\"0\"/>. Si construeixes paquets Debian " "per al teu ús privat, pots deixar de signar amb GPG els arxius <filename>." "dsc</filename> i <filename>.changes</filename> de la següent manera:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -us -uc\n" msgstr "$ dpkg-buildpackage -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "" "For a non-native Debian package, e.g., <systemitem role=\"package\">gentoo</" "systemitem>, you will see the following files in the parent directory " "(<filename>~/gentoo</filename>) after building packages:" msgstr "" "Quan acabi el procés de construcció d'un paquet no nadiu Debian (p.ex." "<systemitem role=\"package\">gentoo</systemitem>), veuràs els següents " "fitxers en el directori superior al directori de treball (<filename>~/gentoo/" "</filename>):" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the original upstream source code tarball, merely renamed to the " "above so that it adheres to the Debian standard. Note that this was created " "initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgstr "" "És el codi font original comprimit, simplement s'ha canviat el nom per " "ajustar-ho als estandards Debian. El fitxer s'ha construït executant " "l'ordre <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal> a l'inici." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code. The file is generated " "from your <filename>control</filename> file, and is used when unpacking the " "source with <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. This file is GPG signed, so that " "people can be sure that it's really yours." msgstr "" "Aquest és un sumari dels continguts del codi font. Aquest arxiu es genera " "amb la informació del fitxer <filename>control</filename> i es fa servir " "quan es descomprimeixen les fonts amb <citerefentry> <refentrytitle>dpkg-" "source</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. Aquest " "arxiu està signat amb GPG i així és possible comprovar qui és l'autor." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This compressed tarball contains your <filename>debian</filename> directory " "contents. Each and every addition you made to the original source code is " "stored as a <command>quilt</command> patch in <filename>debian/patches</" "filename>." msgstr "" "Aquest arxiu comprimit té tots els fitxers del directori <filename>debian</" "filename>. Les modificacions de les fonts originals es conserven en els " "fitxers de pegats <command>quilt</command> en el directori <filename>debian/" "patches</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can avoid applying <command>quilt</command> patches in the <literal>3.0 " "(quilt)</literal> source format at the end of the extraction with the " "<literal>--skip-patches</literal> option. Alternatively, you can run " "<literal>dquilt pop -a</literal> after normal operation." msgstr "" "Pots evitar l'aplicació automàtica dels pegats per <command>quilt</command> " "en els paquets amb el format <literal>3.0 (quilt)</literal> al final de " "l'extracció amb l'opció <literal>--skip-patches</literal>. També pots optar " "per desfer les modificacions, una vegada acabada l'extracció, executant " "<literal>dquilt pop -a</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If someone else wants to re-create your package from scratch, they can " "easily do so using the above three files. The extraction procedure is " "trivial: just copy the three files somewhere else and run <literal>dpkg-" "source -x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Si una altra persona vol tornar a construir el paquet des de l'inici, pot " "fer-ho fàcilment fent servir aquests tres fitxers. El procés d'extracció és " "trivial: només cal copiar-los en un directori i executar <literal>dpkg-" "source -x gentoo_0.9.12-1.dsc</literal> <placeholder type=\"footnote\" id=" "\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package. You can use <command>dpkg</command> " "to install and remove this just like any other package." msgstr "" "Aquest és el paquet binari Debian. Pots fer servir <command>dpkg</command> " "per instal·lar o eliminar aquest paquet o qualsevol altre." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package revision; it " "is used by the Debian FTP archive maintenance programs to install the binary " "and source packages. It is partly generated from the <filename>changelog</" "filename> file and the <filename>.dsc</filename> file. This file is GPG " "signed, so that people can be sure that it's really yours." msgstr "" "Aquest arxiu conté la descripció dels canvis fets en la revisió actual del " "paquet, i el fan servir els programes de gestió FTP del repositori Debian " "per instal·lar-hi els paquets binaris i de fonts. Se genera parcialment amb " "l'arxiu <filename>changelog</filename> i el fitxer <filename>.dsc</" "filename>. Aquest arxiu està signat amb GPG, per assegurar-ne l'autoria." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "As you keep working on the package, its behavior will change and new " "features will be added. People downloading your package can look at this " "file and quickly see what has changed. Debian archive maintenance programs " "will also post the contents of this file to the <ulink url=\"&debian-devel-" "changes-ldo;\">debian-devel-changes@lists.debian.org</ulink> mailing list." msgstr "" "Amb el temps, el paquet anirà canviat i s'afegiran funcions. Les persones " "que descarreguin el paquet poden llegir aquest arxiu i assabentar-se dels " "canvis. Els programes de manteniment del repositori Debian també envien el " "contingut d'aquest arxiu a la llista de correu <ulink url=\"&debian-devel-" "changes-ldo;\">debian-changes-announce@lists.debian.org</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The long strings of numbers in the <filename>.dsc</filename> and <filename>." "changes</filename> files are SHA1/SHA256 checksums for the files mentioned. " "Anyone downloading your files can test them with <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> or <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> and if the numbers don't match, " "they'll know the file is corrupt or has been tampered with." msgstr "" "Les llistes de números en els fitxers <filename>.dsc</filename> i <filename>." "changes</filename> són les sumes MD5/SHA1/SHA256 dels fitxers. Les persones " "que descarreguen els arxius poden comprovar-los amb <citerefentry> " "<refentrytitle>md5sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>sha1sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> o <citerefentry> " "<refentrytitle>sha256sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> i si els nombres no coincideixen sabran que el fitxer està " "corrupte o s'ha modificat." #. type: Content of: <book><chapter><section><para> msgid "" "For a native Debian package, e.g., <systemitem role=\"package\">mypackage</" "systemitem>, you will see the following files in the parent directory after " "building packages:" msgstr "" "Quan acabi el procés de construcció d'un paquet nadiu Debian (p.ex. " "<systemitem role=\"package\">el_meu_paquet</systemitem>), veuràs els " "següents fitxers en el directori superior al directori de treball:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.tar.gz</filename>" msgstr "<filename>el_meu_paquet_1.0.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the source code tarball created from the <filename>mypackage-1.0</" "filename> directory by the <command>dpkg-source</command> command. (Its " "suffix is not <filename>orig.tar.gz</filename>.)" msgstr "" "Aquest és el «tarball» del codi font generat a partir del directori " "<filename>el_meu_paquet-1.0</filename> per l'ordre <command>dpkg-source</" "command> (el seu sufix no és <filename>orig.tar.gz</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.dsc</filename>" msgstr "<filename>el_meu_paquet_1.0.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code as in the non-native " "Debian package. (There is no Debian revision.)" msgstr "" "Aquest és el resum del contingut del codi font dels paquets no nadius Debian " "(no te la revisió Debian)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.deb</filename>" msgstr "<filename>el_meu_paquet_1.0_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package as in the non-native Debian package. " "(There is no Debian revision.)" msgstr "" "Aquest és el paquet binari complet en el cas dels paquets no nadius Debian " "(no hi ha la revisió Debian).." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.changes</filename>" msgstr "<filename>el_meu_paquet_1.0_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package version as " "in the non-native Debian package. (There is no Debian revision.)" msgstr "" "Aquest arxiu descriu els canvis realitzats en la versió actual del paquet de " "la mateixa forma que en els paquets Debian no nadius (no hi ha el codi de " "revisió Debian)." #. type: Content of: <book><chapter><section><title> msgid "Autobuilder" msgstr "«Autobuilder»." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The actual autobuilder system involves much more complicated schemes than " "the one documented here. Such details are beyond the scope of this document." msgstr "" "El funcionament del sistema actual de compilació automàtica és més complicat " "del que s'explica en aquest document. Molts dels detalls del seu " "funcionament no són objectiu d'aquest document." #. type: Content of: <book><chapter><section><para> msgid "" "Debian supports many <ulink url=\"&ports;\">ports</ulink> with the <ulink " "url=\"&buildd;\">autobuilder network</ulink> running <command>buildd</" "command> daemons on computers of many different architectures. Although you " "do not need to do this yourself, you should be aware of what will happen to " "your packages. Let's look into roughly how they rebuild your packages for " "multiple architectures. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Debian manté diverses <ulink url=\"&ports;\">adaptacions «ports»</ulink> amb " "la <ulink url=\"&buildd;\">xarxa de servidors de compilació automàtica</" "ulink> que executa dimonis <command>buildd</command> en ordinadors " "d'arquitectura diferent. Encara que tu no hauràs de fer res de tot això, " "has de conèixer el processament del teu paquet. Veurem com es processa el " "paquet per compilar-ho en diferents arquitectures <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "For <literal>Architecture: any</literal> packages, the autobuilder system " "performs a rebuild. It ensures the installation of" msgstr "" "Els paquets del tipus <literal>Architecture: any</literal>, són construïts " "pel sistema de compilació automàtica. El sistema garanteix la instal·lació " "de:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <systemitem role=\"package\">build-essential</systemitem> package, and" msgstr "el paquet <systemitem role=\"package\">build-essential</systemitem>, i" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>)." msgstr "" "els paquets llistats en el camp <literal>Build-Depends</literal> (consulta " "<xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><para> msgid "Then it issues the following command in the source directory:" msgstr "A continuació s'executa la següent ordre en el directori de les fonts:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -B\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make architecture dependent binary packages on " "another architecture. It will:" msgstr "" "D'aquest manera, s'executa tot el necessari per a la construcció del paquet " "binari depenent de l'arquitectura per a cada arquitectura. Fa el següent:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "build architecture dependent binary packages (<literal>fakeroot debian/rules " "binary-arch</literal>)" msgstr "" "construeix el paquet binari per a l'arquitectura (<literal>fakeroot debian/" "rules binary-arch</literal>)." #. type: Content of: <book><chapter><section><para> msgid "This is why you see your package for other architectures." msgstr "Així, el paquet estarà disponible per a altres arquitectures." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> package, " "the <command>chroot</command> environment under the <systemitem role=" "\"package\">sbuild</systemitem> package used by the autobuilder system does " "not enforce the use of a minimal system and may have many leftover packages " "installed." msgstr "" "A diferència a com funciona el paquet <systemitem role=\"package\">pbuilder</" "systemitem> (que s'explicarà més endavant), l'entorn <command>chroot</" "command> del paquet <systemitem role=\"package\">sbuild</systemitem> fet " "servir pel sistema automàtic no té una instal·lació mínima de paquets del " "sistema i pot deixar molts de paquets instal·lats." #. type: Content of: <book><chapter><section><para> msgid "" "Although packages listed in the <literal>Build-Depends-Indep</literal> field " "are required to be installed for our normal packaging work (see <xref " "linkend=\"completebuild\"/>), they are not required to be installed for the " "autobuilder system since it builds only architecture dependent binary " "packages. <placeholder type=\"footnote\" id=\"0\"/> This distinction " "between normal packaging and autobuilding procedures is what dictates " "whether you should record such required packages in the <literal>Build-" "Depends</literal> or <literal>Build-Depends-Indep</literal> fields of the " "<filename>debian/control</filename> file (see <xref linkend=\"control\"/>)." msgstr "" "Encara que és necessari instal·lar els paquets llistats en el camp " "<literal>Build-Depends-indep</literal> per a la construcció de paquets " "normal (consulta <xref linkend=\"completebuild\"/>), el sistema automàtic de " "construcció no ho requereix degut a què només construeix paquets binaris " "dependents de l'arquitectura <placeholder type=\"footnote\" id=\"0\"/>. " "Aquestes diferències entre l'empaquetament normal i l'automàtic determinen " "si els paquets requerits per a la compilació s'han de llistar en el camp " "<literal>Build-Depends</literal> o en el camp <literal>Build-Depends-indep</" "literal> del fitxer <filename>debian/control</filename> (consulta <xref " "linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><title> msgid "<command>debuild</command> command" msgstr "L'ordre <command>debuild</command>." #. type: Content of: <book><chapter><section><para> msgid "" "You can automate the <command>dpkg-buildpackage</command> command's package " "build process further with the <command>debuild</command> command. See " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." msgstr "" "Pots automatitzar encara més el procés de construcció de paquets de " "<command>dpkg-buildpackage</command> amb l'ordre <command>debuild</" "command>. Consulta <citerefentry> <refentrytitle>debuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "Customization of the <command>debuild</command> command can be done through " "<filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</" "filename>. I would suggest at least the following items:" msgstr "" "La personalització de l'ordre <command>debuild</command> pot fer-se " "mitjançant els fitxers <filename>/etc/devscripts.conf</filename> o " "<filename>~/.devscripts</filename>. Et suggereixo almenys els següents " "valors:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" msgstr "" "DEBSIGN_KEYID=La_teva_ID_de_la_clau_GPG\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "With these, packages are signed by your specified GPG key ID (good for " "sponsoring packages) and checked in detail by the <command>lintian</command> " "command." msgstr "" "Amb aquesta configuració pots construir paquets sempre amb la teva clau GPG, " "evitant incloure components no desitjats (i facilitant el patrocini del " "paquet) i la inspecció del paquet amb l'ordre <command>lintian</command> en " "el mode detallat." #. type: Content of: <book><chapter><section><para> msgid "" "Cleaning the source and rebuilding the package from your user account is as " "simple as:" msgstr "" "Per exemple, netejar el codi i reconstruir el paquet des d'un compte " "d'usuari és tan simple com:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild\n" msgstr "" " debuild clean\n" " debuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your own local use, you " "can skip promptings for the GPG signatures on the <filename>.dsc</filename> " "file and the <filename>.changes</filename> file like this:" msgstr "" "Aquí, si construeixes un paquet Debian només pel teu ús personal, pots " "saltar la signatura amb GPG dels arxius <filename>.dsc</filename> i " "<filename>.changes</filename> fent el següent:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -us -uc\n" msgstr "$ debuild -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "You can clean the source tree as simply as:" msgstr "Pots eliminar els fitxers generats en la compilació executant:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild clean\n" msgstr "$ debuild clean\n" #. type: Content of: <book><chapter><section><title> msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgstr "El paquet <systemitem role=\"package\">pbuilder</systemitem>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Since the <systemitem role=\"package\">pbuilder</systemitem> package is " "still evolving, you should check the actual configuration situation by " "consulting the latest official documentation." msgstr "" "Com que el paquet <systemitem role=\"package\">pbuilder</systemitem> està en " "evolució, comprova la configuració actual consultant la documentació." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&buildd-do;\"/> for more on Debian package auto-building." msgstr "" "Consulta <ulink url=\"&buildd-do;\"/> per a més informació sobre el sistema " "de construcció automatitzada de paquets Debian." #. type: Content of: <book><chapter><section><para> msgid "" "For a clean room (<command>chroot</command>) build environment to verify the " "build dependencies, the <systemitem role=\"package\">pbuilder</systemitem> " "package is very useful. <placeholder type=\"footnote\" id=\"0\"/> This " "ensures a clean build from the source under the <literal>sid</literal> auto-" "builder for different architectures and avoids a severity serious FTBFS " "(Fails To Build From Source) bug which is always in the RC (release " "critical) category. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "El paquet <systemitem role=\"package\">pbuilder</systemitem> és molt útil " "per aconseguir un entorn net (<command>chroot</command>) on comprovar les " "dependències <placeholder type=\"footnote\" id=\"0\"/>. Això assegura una " "construcció neta des del codi per a la construcció automàtica en la " "distribució <literal>sid</literal> per a diferents arquitectures i evita " "errades serioses del tipus FTBFS (Petada en la construcció des de les fonts " "o «Fail to Build From Source»), que són sempre de tipus RC (errades " "critiques per a la publicació o «release critical») <placeholder type=" "\"footnote\" id=\"1\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " "package as follows:" msgstr "" "És possible personalitzar el funcionament del paquet <systemitem role=" "\"package\">pbuilder</systemitem> en els següents aspectes:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "setting the <filename>/var/cache/pbuilder/result</filename> directory " "writable by your user account." msgstr "" "permet que el teu usuari tengui permís d'escriptura en el directori " "<filename>/var/cache/pbuilder/result</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable></filename>, writable by the user, to place hook scripts " "in." msgstr "" "genera un directori, p. ex. <filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable></filename>, amb permís d'escriptura per al teu usuari. " "En aquest directori posaràs els guions «hook»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "configuring <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" "filename> to include the following." msgstr "" "Estableix els fitxers <filename>~/.pbuilderrc</filename> o <filename>/etc/" "pbuilderrc</filename> amb el següent contingut:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgstr "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will allow you to sign generated packages with your secret GPG key in " "the <filename>~/.gnupg/</filename> directory." msgstr "" "Així signaràs els paquets amb la teva clau GPG emmagatzemada en el directori " "<filename>~/.gnupg/</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "First let's initialize the local <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> system as follows." msgstr "" "Ara pots inicialitzar el sistema local <systemitem role=\"package" "\">pbuilder</systemitem> <command>chroot</command> per primera vegada " "executant:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo pbuilder create\n" msgstr "$ sudo pbuilder create\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you already have a completed source package, issue the following commands " "in the directory where the <filename><replaceable>foo</replaceable>.orig.tar." "gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</" "filename>, and <filename><replaceable>foo</replaceable>.dsc</filename> files " "exist to update the local <systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> system and to build binary packages in it." msgstr "" "Si treballes amb un paquet font complet, executa les següents ordres en el " "directori on tenguis els fitxers <filename><replaceable>nom_del_paquet</" "replaceable>.orig.tar.gz</filename>, <filename><replaceable>nom_del_paquet</" "replaceable>.debian.tar.gz</filename> i " "<filename><replaceable>nom_del_paquet</replaceable>.dsc</filename> per " "actualitzar el sistema local <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> i, a continuació, compilar el paquet " "binari:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" msgstr "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>nom_del_paquet</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "The newly built packages without the GPG signatures will be located in " "<filename>/var/cache/pbuilder/result/</filename> with non-root ownership." msgstr "" "En acabar la compilació, el paquet compilat estarà en el directori " "<filename>/var/cache/pbuilder/result/</filename> i tu en seràs el propietari." #. type: Content of: <book><chapter><section><para> msgid "" "The GPG signatures on the <filename>.dsc</filename> file and the <filename>." "changes</filename> file can be generated as:" msgstr "" "La signatura GPG dels arxius <filename>.dsc</filename> i <filename>.changes</" "filename> es poden generar de la següent manera:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_version</replaceable>.dsc\n" "$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" msgstr "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>nom_del_paquet_versió</replaceable>.dsc\n" "$ debsign <replaceable>nom_del_paquet_versió_arqutectura</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have an updated source tree but have not generated the matching " "source package, issue the following commands in the source directory where " "the <filename>debian</filename> directory exists, instead." msgstr "" "Si en lloc d'iniciar la construcció del paquet a partir d'un paquet ja " "construït, disposes d'un directori amb les fonts originals actualitzades, " "hauràs d'executar les següents ordres des del directori de les fonts " "originals (on hi haurà el directori <filename>debian</filename> amb el seu " "contingut):" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ pdebuild\n" msgstr "" "$ sudo pbuilder --update\n" "$ pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your local use, you can " "skip promptings for the GPG signatures on the <filename>.dsc</filename> file " "and the <filename>.changes</filename> file as:" msgstr "" "Aquí, si construeixes paquets Debian només pel teu ús privat, pots deixar de " "signar amb GPG els arxius <filename>.dsc</filename> i <filename>.changes</" "filename> de la següent manera:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ AUTO_DEBSIGN=no pdebuild\n" msgstr "$ AUTO_DEBSIGN=no pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can log into its <command>chroot</command> environment with the " "<literal>pbuilder --login --save-after-login</literal> command and configure " "it as you wish. This environment can be saved by leaving its shell prompt " "with <literal>^D</literal> (Control-D)." msgstr "" "Pots «connectar-te» a l'entorn <command>chroot</command> executant l'ordre " "<literal>pbuilder --login --save-after-login</literal> i configurar-lo per " "adaptar-lo a les teves necessitats. Aquest entorn pot desar-se sortint del " "«shell» amb <literal>^D</literal> (Control-D)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You can " "find many examples of hook scripts in the <filename>/usr/share/doc/pbuilder/" "examples</filename> directory." msgstr "" "Se suposa que la variable d'entorn <literal>HOOKDIR=/var/cache/pbuilder/" "hooks</literal> ja està configurada. Tens exemples a <filename>/usr/share/" "doc/pbuilder/examples</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The latest version of the <command>lintian</command> command can be executed " "in the <literal>chroot</literal> environment using the hook script " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> configured as follows. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La darrera versió de l'ordre <command>lintian</command> pot executar-se " "automàticament en l'entorn <literal>chroot</literal> fent servir el guió " "«hook» disponible a <filename><replaceable>/var/cache/pbuilder/hooks</" "replaceable>/B90lintian</filename> i configurat de la següent manera " "<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" msgstr "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ informe de lintian +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# fes servir aquesta versió si no vols que lintian aturi la compilació\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ final del informe de lintian +++\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "You need to have access to the latest <literal>sid</literal> environment to " "build packages properly for <literal>sid</literal>. In practice, " "<literal>sid</literal> may be experiencing issues which makes it undesirable " "for you to migrate your whole system. The <systemitem role=\"package" "\">pbuilder</systemitem> package can help you to cope with this kind of " "situation." msgstr "" "Has de tenir un entorn <literal>sid</literal> actualitzat per construir " "correctament paquets per a <literal>sid</literal>. En realitat, la versió " "<literal>sid</literal> pot tenir errades que no fan recomanable la migració " "del teu sistema en aquesta versió. El paquet <systemitem role=\"package" "\">pbuilder</systemitem> t'ajuda a fer front en aquesta situació." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are some restrictions for such updates of your <literal>stable</" "literal> package." msgstr "" "Hi ha restriccions per a aquestes actualitzacions del teu paquet per a la " "versió <literal>stable</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "You may need to update your <literal>stable</literal> packages after their " "release for <literal>stable-proposed-updates</literal>, <literal>stable/" "updates</literal>, etc. <placeholder type=\"footnote\" id=\"0\"/> For such " "occasions, the fact you may be running a <literal>sid</literal> system is " "not a good enough excuse for failing to update them promptly. The " "<systemitem role=\"package\">pbuilder</systemitem> package can help you to " "access environments of almost any Debian derivative distribution of the same " "architecture." msgstr "" "És possible que hagis d'actualitzar el paquet per a la versió " "<literal>stable</literal> després de distribuir-lo per a <literal>stable-" "proposed-updates</literal>, <literal>stable/updates</literal>, etc " "<placeholder type=\"footnote\" id=\"0\"/>. En algunes ocasions, «Jo " "treballo amb la versió <literal>sid</literal>» pot no ésser una excusa per " "deixar d'actualitzar el paquet. El paquet <systemitem role=\"package" "\">pbuilder</systemitem> t'ajuda a treballar en entorns per a totes les " "distribucions derivades Debian en una arquitectura determinada." #. type: Content of: <book><chapter><section><para> msgid "" "See <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, and <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." msgstr "" "Consulta <ulink url=\"&pbuilder;\"/>, <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>pbuilderrc</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, i <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<command>git-buildpackage</command> command and similars" msgstr "L'ordre <command>git-buildpackage</command> i semblants." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more." msgstr "Consulta <ulink url=\"&debref-vcs;\">Version control systems</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream uses a source code management system (VCS) <placeholder " "type=\"footnote\" id=\"0\"/> to maintain their code, you should consider " "using it as well. This makes merging and cherry-picking upstream patches " "much easier. There are several specialized wrapper script packages for " "Debian package building for each VCS." msgstr "" "Si l'autor original fa servir un sistema de gestió de versions per al codi " "(VCS) <placeholder type=\"footnote\" id=\"0\"/> pots considerar fer-ho " "servir. Així facilites la coordinació i la selecció dels pegats per a les " "fonts. Debian disposa de diversos paquets de guions especialitzats en cada " "tipus de VCS:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git-buildpackage</systemitem>: a suite to help " "with Debian packages in Git repositories." msgstr "" "<systemitem role=\"package\">git-buildpackage</systemitem>: conjunt per a la " "compilació de paquets en repositoris «Git»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: helper programs " "to maintain Debian packages with Subversion." msgstr "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: programes " "d'ajuda per al manteniment de paquets Debian amb «Subversion»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: a set of Debian " "package scripts for CVS source trees." msgstr "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: conjunt de " "paquets de guions Debian per a estructures de directoris CVS." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documents how " "to use the <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> service." msgstr "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documenta com " "fer servir el servei <ulink url=\"&debian-alioth;\">alioth.debian.org</" "ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Use of <systemitem role=\"package\">git-buildpackage</systemitem> is " "becoming quite popular for Debian Developers to manage Debian packages with " "the Git server on <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>. " "<placeholder type=\"footnote\" id=\"0\"/> This package offers many commands " "to <emphasis>automate</emphasis> packaging activities." msgstr "" "L'ús de <systemitem role=\"package\">git-buildpackage</systemitem> està " "esdevenint bastant popular entre els desenvolupadors Debian per la gestió " "dels paquets Debian amb el servidor «Git» a <ulink url=\"&debian-alioth;" "\">alioth.debian.org</ulink>. <placeholder type=\"footnote\" id=\"0\"/> " "Aquest paquet ofereix moltes ordres per <emphasis>automatitzar</emphasis> el " "manteniment dels paquets." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import previous Debian package to a Git " "repository." msgstr "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: importa la versió anterior del paquet Debian al " "repositori «Git»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import new upstream tar to a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: importa el nou fitxer «tar» de l'autor al " "repositori «Git»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: generate the Debian changelog from Git commit " "messages." msgstr "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: genera el fitxer de canvis Debian fent servir " "els missatges de canvis de «Git»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: construeix els paquets Debian des del repositori " "«Git»." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository " "using <command>pbuilder</command>/<command>cowbuilder</command>." msgstr "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: construeix els paquets Debian des del repository " "«Git» fent servir <command>pbuilder</command>/<command>cowbuilder</command>." #. type: Content of: <book><chapter><section><para> msgid "These commands use 3 branches to track packaging activity." msgstr "" "Aquestes ordres fan servir 3 branques per gestionar el procés d'empaquetat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>main</literal> for Debian package source tree." msgstr "<literal>main</literal> pels directoris de fonts del paquet Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>upstream</literal> for upstream source tree." msgstr "<literal>upstream</literal> pels directoris de les fonts de l'autor." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "The <literal>--pristine-tar</literal> option invokes the <command>pristine-" "tar</command> command which can regenerate an exact copy of a pristine " "upstream tarball using only a small binary delta file and the contents of " "the tarball, which are typically kept in an <literal>upstream</literal> " "branch in the VCS." msgstr "" "L'opció <literal>--pristine-tar</literal> invoca l'ordre <command>pristine-" "tar</command> que pot regenerar una còpia exacta d'un fitxer comprimit de " "fonts verges fent servir només un petit fitxer binari «delta» i el contingut " "del fitxer comprimit tipus «.tar», típicament ubicat a la branca " "<literal>upstream</literal> en el VCS." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>pristine-tar</literal> for upstream tarball generated by the " "<literal>--pristine-tar</literal> option.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<literal>pristine-tar</literal> pel fitxer comprimit «.tar» de l'autor " "generat per l'opció <literal>--pristine-tar</literal>.<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Here are some web resources available for advanced audiences." msgstr "Aquí tens alguns recursos web disponibles per al públic expert." #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "Building Debian Packages with git-buildpackage (<filename>&git-buildpackage-" "doc;</filename>)" msgstr "" "Construcció de paquets Debian amb git-buildpackage (<filename>&git-" "buildpackage-doc;</filename>)" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgstr "<ulink url=\"&debian-packages-git;\">Paquets Debian amb «git»</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" msgstr "" "<ulink url=\"&git-debian-packaging;\">Fent servir «Git» en la construcció de " "paquets Debian</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgstr "" "<ulink url=\"&git-dpm;\">«git-dpm»: paquets Debian amb el gestor «Git»</" "ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" msgstr "" "<ulink url=\"&topgit;\">Fent servir «TopGit» per a generar sèries «quilt» en " "la construcció de paquets Debian</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "You can configure <systemitem role=\"package\">git-buildpackage</systemitem> " "with <filename>~/.gbp.conf</filename>. See <citerefentry> <refentrytitle>gbp." "conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Pots configurar <systemitem role=\"package\">git-buildpackage</systemitem> " "amb <filename>~/.gbp.conf</filename>. Consulta <citerefentry> " "<refentrytitle>gbp.conf</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "Quick rebuild" msgstr "Reconstrucció ràpida." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Environment variables which are normally configured to proper values are not " "set by this method. Never create real packages to be uploaded using this " "<emphasis role=\"strong\">quick</emphasis> method." msgstr "" "Les variables d'entorn que normalment estan configurades amb els valors " "propis no es generen amb aquest mètode. No generis mai paquets reals per a " "enviar a l'arxiu Debian amb aquest mètode <emphasis role=\"strong\">ràpid</" "emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "With a large package, you may not want to rebuild from scratch every time " "while you're tuning details in <filename>debian/rules</filename>. For " "testing purposes, you can make a <filename>.deb</filename> file without " "rebuilding the upstream sources like this<placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "Amb un paquet gran, pot ésser que no vulguis re-compilar des de l'inici cada " "vegada que fas algun canvi en el fitxer <filename>debian/rules</filename>. " "Per fer proves, pots construir un arxiu <filename>.deb</filename> sense re-" "compilar les fonts executant <placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules binary\n" msgstr "$ fakeroot debian/rules binary\n" #. type: Content of: <book><chapter><section><para> msgid "Or simply do the following to see if it builds or not:" msgstr "O simplement pots comprovar si el paquet se compila amb:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules build\n" msgstr "$ fakeroot debian/rules build\n" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are finished with your tuning, remember to rebuild following the " "proper procedure. You may not be able to upload correctly if you try to " "upload <filename>.deb</filename> files built this way." msgstr "" "Un cop has acabat la posada a punt, caldrà reconstruir el paquet amb el " "procediment explicat anteriorment. No podràs enviar al repositori els " "fitxers <filename>.deb</filename> construïts d'aquesta manera." #. type: Content of: <book><chapter><title> msgid "Checking the package for errors" msgstr "Com comprovar el teu paquet per trobar errors." #. type: Content of: <book><chapter><para> msgid "" "There are some techniques you should know for checking a package for errors " "before uploading it to the public archives." msgstr "" "Cal que coneguis els procediments per comprovar el paquet i localitzar les " "errades abans d'enviar-lo als repositoris públics." #. type: Content of: <book><chapter><para> msgid "" "It's also a good idea to carry out testing on a machine other than your " "own. You must watch closely for any warnings or errors for all the tests " "described here." msgstr "" "Provar el paquet en una màquina distinta de la que has fet servir en la " "construcció és una magnífica idea. Cal que posis atenció en tots els errors " "detectats en les proves que s'expliquen a continuació." #. type: Content of: <book><chapter><section><title> msgid "Suspicious changes" msgstr "Canvis sospitosos" #. type: Content of: <book><chapter><section><para> msgid "" "If you find a new autogenerated patch file such as <filename>debian-changes-" "*</filename> in the <filename>debian/patches</filename> directory after " "building your non-native Debian package in <literal>3.0 (quilt)</literal> " "format, chances are you changed some files by accident or the build script " "modified the upstream source. If it is your mistake, fix it. If it is " "caused by the build script, fix the root cause with <command>dh-autoreconf</" "command> as in <xref linkend=\"customrules\"/> or work around it with " "<filename>source/options</filename> as in <xref linkend=\"sourceopt\"/>." msgstr "" "Si trobes un nou arxiu de pegat auto-generat com <filename>debian-changes-*</" "filename> en el directori <filename>debian/patches</filename> desprès de " "compilar el teu paquet no nadiu Debian en el format <literal>3.0 (quilt)</" "literal>, el més probable és que has canviat algun arxiu per accident o el " "guió de compilació ha modificat les fonts originals. Si és un error teu, ho " "corregeixes. Si l'error l'ha causat el guió, corregeix la causa de l'error " "amb <command>dh-autoreconf</command> com a <xref linkend=\"customrules\"/> o " "bé fes proves amb els arxius <filename>source/options</filename> com s'ha " "explicat a <xref linkend=\"sourceopt\"/>." #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's installation" msgstr "Comprovació de la instal·lació del paquet" #. type: Content of: <book><chapter><section><para> msgid "" "You must test your package for whether it installs without problem. The " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> command helps you to test installing all the generated " "binary packages." msgstr "" "Prova d'instal·lar el paquet, per exemple, fent servir l'ordre " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> com a usuari «root». Intenta instal·lar-lo i executar-lo en " "altres màquines (diferents a la que has fet servir per a la construcció del " "paquet) i posa atenció per detectar errors o avisos en la instal·lació i en " "l'execució del programa." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n" msgstr "$ sudo debi gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "To prevent installation problem on different systems, you must make sure " "that there are no filenames conflicting with other existing packages, using " "the <filename>Contents-<replaceable>i386</replaceable></filename> file " "downloaded from the Debian archive. The <command>apt-file</command> command " "may be handy for this task. If there are collisions, please take action to " "avoid this real problem, whether by renaming the file, moving a common file " "to a separate package that multiple packages can depend on, using the " "alternatives mechanism (see <citerefentry><refentrytitle>update-" "alternatives</refentrytitle> <manvolnum>1</manvolnum></citerefentry>) in " "coordination with the maintainers of other affected packages, or declaring a " "<literal>Conflicts</literal> relationship in the <filename>debian/control</" "filename> file." msgstr "" "Has d'assegurar-te que no hi hagi fitxers en conflicte amb altres paquets " "fent servir el fitxer <filename>Contents-<replaceable>i386</replaceable></" "filename>, (disponible al repositori Debian) per prevenir problemes " "d'instal·lació en distints sistemes. L'ordre <command>apt-file</command> " "serà útil per fer aquesta comprovació. Si hi ha fitxers en conflicte, " "hauràs de fer el que sigui necessari per evitar-los, ja sigui canviant el " "nom de l'arxiu, moure un arxiu d'ús comú (del qual depenen diversos paquets) " "a un paquet separat, fent servir el mecanisme d'alternatives (consulta " "<citerefentry> <refentrytitle>update-alternatives</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>) en coordinació amb els " "responsables dels altres paquets o bé establint correctament el camp " "<literal>Conflicts</literal> del fitxer <filename>debian/control</filename>." #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's maintainer scripts" msgstr "" "Comprovar els <emphasis>guions del desenvolupador</emphasis> («maintainer " "scripts»)." #. type: Content of: <book><chapter><section><para> msgid "" "All maintainer scripts (that is, <filename>preinst</filename>, " "<filename>prerm</filename>, <filename>postinst</filename>, and " "<filename>postrm</filename> files) are hard to write correctly unless they " "are auto-generated by the <systemitem role=\"package\">debhelper</" "systemitem> programs. So do not use them if you are a novice maintainer " "(see <xref linkend=\"maintscripts\"/>)." msgstr "" "Ja s'ha comentat que els <emphasis>guions del desenvolupador</emphasis> (els " "fitxers <filename>preinst</filename>, <filename>prerm</filename>, " "<filename>postinst</filename> i <filename>postrm</filename>) són complicats, " "excepte si s'utilitzen els generats pel paquet <systemitem role=\"package" "\">debhelper</systemitem>. No es recomana la seva utilització als " "desenvolupadors principiants (consulta <xref linkend=\"maintscripts\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "If the package makes use of these non-trivial maintainer scripts, be sure to " "test not only for install but also for remove, purge, and upgrade " "processes. Many maintainer script bugs show up when packages are removed or " "purged. Use the <command>dpkg</command> command as follows to test them." msgstr "" "Si el paquet utilitza <emphasis>guions del desenvolupador</emphasis> " "modificats, has de comprovar el seu funcionament en la instal·lació, " "desinstal·lació, eliminació i actualització. Alguns dels problemes en " "aquests <emphasis>guions del desenvolupador</emphasis> només es detecten en " "l'eliminació o desinstal·lació. Fes servir l'ordre <command>dpkg</command> " "per fer la comprovació:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" msgstr "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>versió</replaceable>-<replaceable>revisió</replaceable>_<replaceable>i386</replaceable>.deb\n" #. type: Content of: <book><chapter><section><para> msgid "This should be done with sequences such as the following." msgstr "Segueix aquesta seqüència per a la comprovació:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the previous version (if needed)." msgstr "Instal·la la versió anterior del paquet (obligatori)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "upgrade it from the previous version." msgstr "Actualitza ara a la versió actual." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "downgrade it back to the previous version (optional)." msgstr "Torna a la versió anterior (opcional)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "purge it." msgstr "Desinstal·la el paquet." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the new package." msgstr "Instal·la la nova versió del paquet." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "remove it." msgstr "Elimina'l." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install it again." msgstr "Instal·la'l de nou." #. type: Content of: <book><chapter><section><para> msgid "" "If this is your first package, you should create dummy packages with " "different versions to test your package in advance to prevent future " "problems." msgstr "" "Si treballes en la construcció de la primera versió del paquet, construeix " "versions «fantasma» anteriors (és suficient canviar el número de versió) " "per realitzar les proves i prevenir problemes." #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that if your package has previously been released in Debian, " "people will often be upgrading to your package from the version that was in " "the last Debian release. Remember to test upgrades from that version too." msgstr "" "Recorda que si hi ha versions anteriors del paquet en el repositori Debian, " "els usuaris actualitzaran el paquet des de la versió anterior disponible (i " "aquesta versió pot ésser distinta en la versió estable i de proves). " "Realitza les comprovacions també amb aquestes versions." #. type: Content of: <book><chapter><section><para> msgid "" "Although downgrading is not officially supported, supporting it is a " "friendly gesture." msgstr "" "Encara que no es garanteix la reinstal·lació d'una versió anterior, és " "preferible assegurar-se que és possible fer-ho sense generar problemes." #. type: Content of: <book><chapter><section><title> msgid "Using <systemitem role=\"package\">lintian</systemitem>" msgstr "El paquet <systemitem role=\"package\">lintian</systemitem>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You do not need to provide the <command>lintian</command> option <literal>-i " "-I --show-overrides</literal> if you customized <filename>/etc/devscripts." "conf</filename> or <filename>~/.devscripts</filename> as described in <xref " "linkend=\"debuild\"/>." msgstr "" "No és necessari afegir a <command>lintian</command> l'opció <literal>-i -I --" "show-overrides</literal> si l'has inclòs en la configuració a <filename>/etc/" "devscripts.conf</filename> o <filename>~/.devscripts</filename> com s'ha " "explicat a <xref linkend=\"debuild\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Run <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> on your <filename>.changes</filename> file. The " "<command>lintian</command> command runs many test scripts to check for many " "common packaging errors. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Executa <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> amb el teu arxiu de canvis <filename>.changes</" "filename>. L'ordre <command>lintian</command> executa diversos guions de " "comprovació del paquet per localitzar els errors més freqüents <placeholder " "type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" msgstr "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of the <filename>.changes</" "filename> file generated for your package. The output of the " "<command>lintian</command> command uses the following flags." msgstr "" "Per suposat, canvia el nom de l'arxiu pel nom de l'arxiu <filename>.changes</" "filename> del teu paquet. Els missatges d'error de <command>lintian</" "command> es codifiquen amb una lletra inicial en la línia del missatge:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>E:</literal> for error; a sure policy violation or packaging error." msgstr "" "<literal>E:</literal> error; per indicar violacions de les normes o un error " "en el paquet." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>W:</literal> for warning; a possible policy violation or packaging " "error." msgstr "" "<literal>W:</literal> advertència; per advertir d'una possible violació de " "les normes o error en el paquet (però pot ésser una falsa alarma)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>I:</literal> for info; information on certain aspects of packaging." msgstr "" "<literal>I:</literal> informació; informació sobre algun aspecte del paquet " "(que tal vegada és millorable)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>N:</literal> for note; a detailed message to help your debugging." msgstr "" "<literal>N:</literal> nota o anotació; per a missatges detallats que poden " "ajudar-te en la depuració del paquet." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>O:</literal> for overridden; a message overridden by the " "<filename>lintian-overrides</filename> files but displayed by the <literal>--" "show-overrides</literal> option." msgstr "" "<literal>O:</literal> ignorat; per a missatges ignorats (segons la " "configuració dels fitxers <filename>lintian-overrides</filename>) però que " "s'emet degut a l'opció <literal>--show-overrides</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "When you see warnings, tune the package to avoid them or verify that the " "warnings are spurious. If spurious, set up <filename>lintian-overrides</" "filename> files as described in <xref linkend=\"lintian\"/>." msgstr "" "En el cas dels errors (línies amb «E:» inicial), llegeix l'explicació " "(línies «N:»), fes els canvis necessaris en el paquet o comprova que són " "avisos falsos. En aquest cas, fes que <filename>lintian</filename> els " "accepti com s'ha explicat a <xref linkend=\"lintian\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Note that you can build the package with <command>dpkg-buildpackage</" "command> and run <command>lintian</command> on it in one command, if you use " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> or <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "" "Observa que pots construir el paquet amb <command>dpkg-buildpackage</" "command> i executar <command>lintian</command> només amb una ordre si fas " "servir <citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> o <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "The <command>debc</command> command" msgstr "L'ordre <command>debc</command>." #. type: Content of: <book><chapter><section><para> msgid "" "You can list files in the binary Debian package with the <citerefentry> " "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "command." msgstr "" "Pots veure una llista dels fitxers del paquet binari Debian executant " "l'ordre <citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> així:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debc <replaceable>package</replaceable>.changes\n" msgstr "$ debc <replaceable>nom_del_paquet</replaceable>.changes\n" #. type: Content of: <book><chapter><section><title> msgid "The <command>debdiff</command> command" msgstr "L'ordre <command>debdiff</command>." #. type: Content of: <book><chapter><section><para> msgid "" "You can compare file contents in two source Debian packages with the " "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "Pots comparar el contingut de dos paquets de fonts Debian executant l'ordre " "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> així:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgstr "$ debdiff <replaceable>versió_anterior</replaceable>.dsc <replaceable>nova_versió</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also compare file lists in two sets of binary Debian packages with " "the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "Pots comparar la llista de fitxers de dos paquets binaris de Debian amb " "l'ordre <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> executant l'ordre següent:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgstr "$ debdiff <replaceable>versió_anterior</replaceable>.changes <replaceable>nova_versió</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "These are useful to identify what has been changed in the source packages " "and to check for inadvertent changes made when updating binary packages, " "such as unintentionally misplacing or removing files." msgstr "" "Aquest programa és útil per comprovar que no hi ha fitxers canviats " "d'ubicació o eliminats per error, i que no s'ha realitzat cap altre canvi no " "desitjat en l'actualització del paquet." #. type: Content of: <book><chapter><section><title> msgid "The <command>interdiff</command> command" msgstr "L'ordre <command>interdiff</command>." #. type: Content of: <book><chapter><section><para> msgid "" "You can compare two <filename>diff.gz</filename> files with the " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command. This is useful for verifying that no " "inadvertent changes were made to the source by the maintainer when updating " "packages in the old <literal>1.0</literal> source format." msgstr "" "Pots comparar dos fitxers <filename>diff.gz</filename> amb l'ordre " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>. Això és útil per comprovar que el responsable " "del paquet no ha fet canvis inadvertits en l'actualització de paquets " "construïts amb el format <literal>1.0</literal>. Executa:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" msgstr "$ interdiff -z <replaceable>versió_anterior</replaceable>.diff.gz <replaceable>nova_versió</replaceable>.diff.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "The new <literal>3.0</literal> source format stores changes in multiple " "patch files as described in <xref linkend=\"patches\"/>. You can trace " "changes of each <filename>debian/patches/*</filename> file using " "<command>interdiff</command>, too." msgstr "" "El nou format <literal>3.0</literal> de les fonts conserva els canvis en " "arxius de pegats com es descriu a <xref linkend=\"patches\"/>. Pots veure " "els canvis de cada arxiu <filename>debian/patches/*</filename> fent servir " "l'ordre <command>interdiff</command>." #. type: Content of: <book><chapter><section><title> msgid "The <command>mc</command> command" msgstr "L'ordre <command>mc</command>." #. type: Content of: <book><chapter><section><para> msgid "" "Many of these file inspection operations can be made into an intuitive " "process by using a file manager like <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> which will let you " "browse not only the contents of <filename>*.deb</filename> package files but " "also <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, " "<filename>*.diff.gz</filename>, and <filename>*.orig.tar.gz</filename> files." msgstr "" "Algunes de les operacions de comprovació del paquet explicades poden " "realitzar-se de manera molt intuïtiva si es fa servir un gestor de fitxers " "com <citerefentry> <refentrytitle>mc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>, que permet visualitzar el contingut del paquet " "<filename>*.deb</filename>, i dels fitxers <filename>*.udeb</filename>, " "<filename>*.debian.tar.gz</filename>, <filename>*.diff.gz</filename> i " "<filename>*.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Be on the lookout for extra unneeded files or zero length files, both in the " "binary and source package. Often cruft doesn't get cleaned up properly; " "adjust your <filename>rules</filename> file to compensate for this." msgstr "" "Comprova que no hi hagi fitxers innecessaris o de tamany zero, tant en el " "binari com en el paquet font. De vegades, hi ha coses que no es varen " "netejar adequadament: caldrà ajustar el fitxer <filename>rules</filename> " "per arreglar això." #. type: Content of: <book><chapter><title> msgid "Updating the package" msgstr "Actualitzar el paquet." #. type: Content of: <book><chapter><para> msgid "After you release a package, you will soon need to update it." msgstr "" "Després del llançament del paquet, és possible que hagis d'actualitzar-ho " "aviat." #. type: Content of: <book><chapter><section><title> msgid "New Debian revision" msgstr "Nova revisió Debian del paquet." #. type: Content of: <book><chapter><section><para> msgid "" "Let's say that a bug report was filed against your package as " "<literal>#654321</literal>, and it describes a problem that you can solve. " "Here's what you need to do to create a new Debian revision of the package." msgstr "" "Suposem que s'ha enviat un informe d'error del teu paquet amb el número " "<literal>#654321</literal>, i que descriu un problema que pots solucionar. " "Per construir una nova revisió del paquet, necessites:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to be recorded as a new patch, do the following." msgstr "Si cal aplicar una nova modificació, executa:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> to " "set the patch name;" msgstr "" "<literal>dquilt new <replaceable>nom_modificació.patch</replaceable></" "literal> per establir el nom de la modificació." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> to " "declare the file to be modified;" msgstr "" "<literal>dquilt add <replaceable>arxiu_a_modificar</replaceable></literal> " "per establir el fitxer al qual s'aplicarà la modificació." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Correct the problem in the package source for the upstream bug;" msgstr "" "Corregir el problema en el paquet de fonts degut a un error de l'autor." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to record it to " "<filename><replaceable>bugname.patch</replaceable></filename>;" msgstr "" "<literal>dquilt refresh</literal> per desar els canvis realitzats en el " "fitxer del pegat <filename><replaceable>nom_modificació.patch</replaceable></" "filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to add its description;" msgstr "<literal>dquilt header -e</literal> per afegir la descripció;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to update an existing patch, do the following." msgstr "Si cal actualitzar una modificació ja existent, executa:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> to recall " "the existing <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "" "<literal>dquilt pop <replaceable>nom_modificacio.patch</replaceable></" "literal> per tornar a cridar l'arxiu <filename><replaceable>nom_modificacio." "patch</replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Correct the problem in the old <filename><replaceable>foo.patch</" "replaceable></filename>;" msgstr "" "Corregir el problema existent en la versió incorrecta del fitxer del pegat " "<filename><replaceable>nom_modificació.patch</replaceable></filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to update <filename><replaceable>foo." "patch</replaceable></filename>;" msgstr "" "<literal>dquilt refresh</literal> per actualitzar " "<filename><replaceable>nom_modificació.patch</replaceable></filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to update its description;" msgstr "" "<literal>dquilt header -e</literal> per actualitzar la descripció a la " "capçalera de l'arxiu del pegat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>;" msgstr "" "<literal>while dquilt push; do dquilt refresh; done</literal> per aplicar " "tots els pegats eliminant <emphasis>les coses innecessàries</emphasis>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "To get the date in the required format, use <literal>LANG=C date -R</" "literal>." msgstr "" "Per escriure la data i hora en el format correcte, cal fer servir " "<literal>LANG=C date -R</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add a new revision at the top of the Debian <filename>changelog</filename> " "file, for example with <literal>dch -i</literal>, or explicitly with " "<literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal> and then insert the comments using your preferred " "editor. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Afegir la informació de la revisió a l'inici del fitxer <filename>changelog</" "filename> (del directori «Debian»), p. ex. executant <literal>dch -i</" "literal> o explícitament indicant el número de versió i revisió executant " "<literal>dch -v <replaceable>versió</replaceable>-<replaceable>revisió</" "replaceable></literal>, i a continuació detallar els canvis realitzats amb " "un editor <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Include a short description of the bug and the solution in the changelog " "entry, followed by <literal>Closes: #654321</literal>. That way, the bug " "report will be <emphasis>automagically</emphasis> closed by the archive " "maintenance software the moment your package gets accepted into the Debian " "archive." msgstr "" "Incloure la descripció (breu) de l'error i la solució, seguida de la " "referència de la notificació de l'error amb <literal>(Closes: #654321)</" "literal>. D'aquesta manera, l'informe d'error es «tancarà» " "<emphasis>automàticament</emphasis> pel sistema de manteniment del " "repositori de Debian quan el paquet sigui acceptat en el repositori." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in the above to fix more bugs while updating the Debian " "<filename>changelog</filename> file with <literal>dch</literal> as needed." msgstr "" "Repeteix els passos anteriors per a cada una de les modificacions " "realitzades actualitzant l'arxiu Debian <filename>changelog</filename> amb " "<literal>dch</literal> si és necessari." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in <xref linkend=\"completebuild\"/> and <xref linkend=" "\"checkit\"/>." msgstr "" "Repeteix el que vas fer a <xref linkend=\"completebuild\"/> i <xref linkend=" "\"checkit\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Once you are satisfied, you should change the distribution value in " "<filename>changelog</filename> from <literal>UNRELEASED</literal> to the " "target distribution value <literal>unstable</literal> (or even " "<literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Una vegada satisfet, canvia el valor de la distribució en el fitxer " "<filename>changelog</filename> de <literal>UNRELEASED</literal> al valor de " "la distribució objectiu <literal>unstable</literal> (o bé " "<literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Upload the package as <xref linkend=\"upload\"/>. The difference is that " "this time, the original source archive won't be included, as it hasn't been " "changed and it already exists in the Debian archive." msgstr "" "Puja el paquet com s'ha explicat a <xref linkend=\"upload\"/>. La diferència " "és que aquesta vegada el fitxer font original no s'ha inclòs degut a què no " "s'ha canviat i ja està en el repositori Debian." #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case can occur when you make a local package to experiment with " "the packaging before uploading the normal version to the official archive, e." "g., <literal><replaceable>1.0.1</replaceable>-<replaceable>1</replaceable></" "literal>. For smoother upgrades, it is a good idea to create a " "<filename>changelog</filename> entry with a version string as " "<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" "literal>. You may unclutter <filename>changelog</filename> by consolidating " "such local change entries into a single entry for the official package. See " "<xref linkend=\"namever\"/> for the order of version strings." msgstr "" "Un dels casos difícils es pot produir en fer un paquet local per " "experimentar amb la seva construcció abans de pujar la versió final a " "l'arxiu oficial, p.ex. <literal><replaceable>1.0.1</replaceable>-" "<replaceable>1</replaceable></literal>. Per a actualitzacions petites, és " "una bona idea escriure una entrada a l'arxiu <filename>changelog</filename> " "amb la cadena de versió <literal><replaceable>1.0.1</replaceable>-" "<replaceable>1~rc1</replaceable></literal>. Pots reordenar l'arxiu " "<filename>changelog</filename> re-escrivint les entrades «locals» en una " "única entrada en fer el paquet definitiu. Consulta <xref linkend=\"namever\"/" "> per saber quin és l'ordre de les cadenes de la versió." #. type: Content of: <book><chapter><section><title> msgid "Inspection of the new upstream release" msgstr "Inspecció d'una nova versió de l'autor." #. type: Content of: <book><chapter><section><para> msgid "" "When preparing packages of a new upstream release for the Debian archive, " "you must check the new upstream release, first." msgstr "" "Quan l'autor original allibera una nova versió de les fonts, cal que " "comencis per revisar la nova versió original." #. type: Content of: <book><chapter><section><para> msgid "" "Start by reading the upstream <filename>changelog</filename>, " "<filename>NEWS</filename>, and whatever other documentation they may have " "released with the new version." msgstr "" "Comença per llegir els fitxers <filename>changelog</filename>, " "<filename>NEWS</filename> i qualsevol altre documentació on l'autor original " "expliqui els canvis realitzats en la nova versió." #. type: Content of: <book><chapter><section><para> msgid "" "You can then inspect changes between the old and new upstream sources as " "follows, watching out for anything suspicious." msgstr "" "Pots comprovar els canvis entre les fonts originals de la nova versió i de " "l'anterior per detectar qualsevol canvi sospitós de produir errors executant:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgstr "$ diff -urN <replaceable>nom_arxiu</replaceable>-<replaceable>versió_anterior</replaceable> <replaceable>nom_arxiu</replaceable>-<replaceable>nova_versió</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "Changes to some auto-generated files by Autotools such as <filename>missing</" "filename>, <filename>aclocal.m4</filename>, <filename>config.guess</" "filename>, <filename>config.h.in</filename>, <filename>config.sub</" "filename>, <filename>configure</filename>, <filename>depcomp</filename>, " "<filename>install-sh</filename>, <filename>ltmain.sh</filename>, and " "<filename>Makefile.in</filename> may be ignored. You may delete them before " "running <command>diff</command> on the source for inspection." msgstr "" "Les modificacions realitzades en els fitxers generats per " "«Autotools» (<filename>missing</filename>, <filename>aclocal.m4</filename>, " "<filename>config.guess</filename>, <filename>config.h.in</filename>, " "<filename>config.sub</filename>, <filename>configure</filename>, " "<filename>depcomp</filename>, <filename>install-sh</filename>, " "<filename>ltmain.sh</filename> i <filename>Makefile.in</filename>) pots " "ignorar-les. Fins i tot pots eliminar-los abans d'executar <command>diff</" "command> en les fonts per inspeccionar-les." #. type: Content of: <book><chapter><section><title> msgid "New upstream release" msgstr "Nova versió del programa font." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is packaged in the old <literal>1.0</literal> format, this can " "be done by running <literal>zcat /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" "literal> in the new extracted source, instead." msgstr "" "Si la versió anterior del paquet està empaquetada amb l'antic format " "<literal>1.0</literal>, pots fer el mateix executant <literal>zcat /" "<replaceable>ruta</replaceable>/<replaceable>a</replaceable>/" "<replaceable>nom_del_paquet</replaceable>_<replaceable>versió_anterior</" "replaceable>.diff.gz|patch -p1</literal> des del directori de les fonts de " "la nova versió." #. type: Content of: <book><chapter><section><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is properly packaged in the newer <literal>3.0 (native)</" "literal> or <literal>3.0 (quilt)</literal> formats, packaging a new upstream " "version is essentially moving the old <filename>debian</filename> directory " "to the new source. This can be done by running <literal>tar xvzf /" "<replaceable>path</replaceable>/<replaceable>to</replaceable>/" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian." "tar.gz</literal> in the new extracted source. <placeholder type=\"footnote" "\" id=\"0\"/> Of course, you need to do some obvious chores." msgstr "" "Si el paquet <systemitem role=\"package\"><replaceable>nom_del_paquet</" "replaceable></systemitem> que examines està correctament empaquetat fent " "servir els nous formats <literal>3.0 (native)</literal> o <literal>3.0 " "(quilt)</literal>, per empaquetar una nova versió de l'autor hauria d'ésser " "suficient copiar el directori <filename>debian</filename> de la versió " "anterior a la nova, i a continuació realitzar les adaptacions necessàries. " "Pots copiar el directori <filename>debian</filename> de la versió anterior a " "la nova versió executant <literal>tar xvzf /<replaceable>ruta</replaceable>/" "<replaceable>a</replaceable>/<replaceable>nom_del_paquet</" "replaceable>_<replaceable>versió_anterior</replaceable>.debian.tar.gz</" "literal> des del directori de les fonts de la nova versió <placeholder type=" "\"footnote\" id=\"0\"/>. Per descomptat, caldrà fer algunes tasques òbvies." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a copy of the upstream source as the " "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename> " "file." msgstr "" "Comprimir les fonts originals en el fitxer " "<filename>nom_del_paquet_<replaceable>número_nova_versió</replaceable>.orig." "tar.gz</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Update the Debian <filename>changelog</filename> file with <literal>dch -v " "<replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." msgstr "" "Actualitzar el fitxer <filename>changelog</filename> del directori «debian» " "executant <literal>dch -v <replaceable>número_nova_versió</replaceable>-" "<replaceable>1</replaceable></literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Add an entry with <literal>New upstream release</literal>." msgstr "" "Afegeix una nova línia amb el text <literal>New upstream release</literal> " "per indicar que es tracta d'una nova versió de les fonts originals." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>in the new upstream release</" "emphasis> that fix reported bugs and close those bugs by adding " "<literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "Descriu abreujadament els canvis realitzats <emphasis>en les fonts originals " "per l'autor</emphasis> que solucionen errors informats i tanca els informes " "d'aquests errors afegint <literal>Closes: " "#<replaceable>número_del_informe_error</replaceable></literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>to the new upstream release</" "emphasis> by the maintainer that fix reported bugs and close those bugs by " "adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "Descriu abreujadament els canvis realitzats <emphasis>a les fonts originals</" "emphasis> pel desenvolupador (tu mateix en aquest cas) per solucionar els " "errors informats i tanca els informes afegint <literal>Closes: " "#<replaceable>número_del_informe_error</replaceable></literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>." msgstr "" "Executa <literal>while dquilt push; do dquilt refresh; done</literal> per " "aplicar els pegats eliminat <emphasis>les coses innecessàries</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "If the patch/merge did not apply cleanly, inspect the situation (clues are " "left in <filename>.rej</filename> files)." msgstr "" "Si les modificacions no s'executen correctament, inspecciona la situació " "(mira la informació dels fitxers <filename>.rej</filename>) com segueix:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source was integrated into the upstream source," msgstr "Si un dels pegats aplicats està integrat en les fonts originals:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt delete</literal> to remove it." msgstr "executa <literal>dquilt delete</literal> per eliminar-lo." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source conflicted with new changes in the " "upstream source," msgstr "" "Si un dels pegats entra en conflicte amb els canvis realitzats per l'autor " "en les fonts originals:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt push -f</literal> to apply old patches while forcing rejects " "as <filename><replaceable>baz</replaceable>.rej</filename>." msgstr "" "executa <literal>dquilt push -f</literal> per aplicar els pegats de la " "versió anterior per forçar els rebuigs (tendràs la informació dels rebuigs " "en els fitxers <filename><replaceable>truc</replaceable>.rej</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Edit the <filename><replaceable>baz</replaceable></filename> file manually " "to bring about the intended effect of <filename><replaceable>baz</" "replaceable>.rej</filename>." msgstr "" "Edita els fitxers <filename><replaceable>truc</replaceable>.rej</filename> " "manualment per saber l'efecte que es pretén amb <filename><replaceable>truc</" "replaceable>.rej</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt refresh</literal> to update the patch." msgstr "Executa <literal>dquilt refresh</literal> per actualitzar el pegat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Continue as usual with <literal>while dquilt push; do dquilt refresh; done</" "literal>." msgstr "" "Continua fins a l'execució de <literal>while dquilt push; do dquilt refresh; " "done</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "This process can be automated using the <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> command as follows:" msgstr "" "Pots automatitzar aquest procés fent servir l'ordre <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> com segueix:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" msgstr "" "$ apt-get source <replaceable>nom_del_paquet</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>nom_del_paquet</replaceable> in <replaceable>nom_del_paquet</replaceable>-<replaceable>número_versió_anterior</replaceable>\n" "dpkg-source: info: unpacking <replaceable>nom_del_paquet</replaceable>_<replaceable>número_versió_anterior</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>nom_del_paquet</replaceable>_<replaceable>número_versió_anterior</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>nom_del_paquet</replaceable>-<replaceable>número_versió_anterior</replaceable>/\n" "<replaceable>nom_del_paquet</replaceable>_<replaceable>número_versió_anterior</replaceable>-1.debian.tar.gz\n" "<replaceable>nom_del_paquet</replaceable>_<replaceable>número_versió_anterior</replaceable>-1.dsc\n" "<replaceable>nom_del_paquet</replaceable>_<replaceable>número_versió_anterior</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>nom_del_paquet</replaceable>/<replaceable>nom_del_paquet</replaceable>-<replaceable>número_versió_actual</replaceable>.tar.gz\n" "$ cd <replaceable>nom_del_paquet</replaceable>-<replaceable>número_versió_anterior</replaceable>\n" "$ uupdate -v <replaceable>número_versió_actual</replaceable> ../<replaceable>nom_del_paquet</replaceable>-<replaceable>número_versió_actual</replaceable>.tar.gz\n" "$ cd ../<replaceable>nom_del_paquet</replaceable>-<replaceable>número_versió_actual</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... documenta les modificacions realitzades\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the <command>uscan</command> command downloads the updated source but it " "does not run the <command>uupdate</command> command, you should correct the " "<filename>debian/watch</filename> file to have <literal>debian uupdate</" "literal> at the end of the URL." msgstr "" "Si l'ordre <command>uscan</command> descarrega les fonts però no executa " "l'ordre <command>uupdate</command>, cal modificar l'arxiu <filename>debian/" "watch</filename> afegint <literal>debian uupdate</literal> al final de l'URL " "del fitxer." #. type: Content of: <book><chapter><section><para> msgid "" "If you set up a <filename>debian/watch</filename> file as described in <xref " "linkend=\"watch\"/>, you can skip the <command>wget</command> command. You " "simply run <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> in the <filename><replaceable>foo</replaceable>-" "<replaceable>oldversion</replaceable></filename> directory instead of the " "<command>uupdate</command> command. This will <emphasis>automagically</" "emphasis> look for the updated source, download it, and run the " "<command>uupdate</command> command. <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "Si has configurat el fitxer <filename>debian/watch</filename> com s'ha " "explicat a <xref linkend=\"watch\"/>, no és necessari que executis l'ordre " "<command>wget</command>. Simplement, executa <citerefentry> " "<refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> en el directori <filename><replaceable>nom_del_paquet</" "replaceable>-<replaceable>número_versió_anterior</replaceable></filename> en " "lloc de l'ordre <command>uupdate</command>. Així, es buscarà " "<emphasis>automàticament</emphasis> el fitxer de les fonts, es descarregarà " "en el teu ordinador i s'executarà l'ordre <command>uupdate</command> " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "You can release this updated source by repeating what you did in <xref " "linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref linkend=" "\"upload\"/>." msgstr "" "Pots fer el llançament de l'actualització del paquet repetint el que s'ha " "explicat en <xref linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/> " "<xref linkend=\"upload\"/>." #. type: Content of: <book><chapter><section><title> msgid "Updating the packaging style" msgstr "Actualitzar el format del paquet." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If your sponsor or other maintainers object to updating the existing " "packaging style, don't bother arguing. There are more important things to " "do." msgstr "" "Si la persona que patrocina el teu paquet o altres desenvolupadors fan " "objeccions a l'actualització del format del paquet, no val la pena " "entossudir-se a argumentar a favor. Hi ha altres coses més importants que " "atendre." #. type: Content of: <book><chapter><section><para> msgid "" "Updating the package style is not a required activity for the update of a " "package. However, doing so lets you use the full capabilities of the modern " "<systemitem role=\"package\">debhelper</systemitem> system and the " "<literal>3.0</literal> source format. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Per actualitzar un paquet no és necessari actualitzar el format de " "construcció del paquet. Encara així, pots aprofitar tota la funcionalitat " "de <systemitem role=\"package\">debhelper</systemitem> i del format " "<literal>3.0</literal> fent el següent <placeholder type=\"footnote\" id=" "\"0\"/>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you need to recreate deleted template files for any reason, you can run " "<command>dh_make</command> again in the same Debian package source tree with " "the <literal>--addmissing</literal> option. Then edit them appropriately." msgstr "" "Si necessites novament algun dels fitxers de plantilla eliminats, pots " "regenerar-los executant <command>dh_make</command> amb l'opció <literal>--" "addmissing</literal> des del directori de les fonts. A continuació, fes les " "modificacions ja explicades." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If the package has not been updated to use the <systemitem role=\"package" "\">debhelper</systemitem> v7+ <command>dh</command> syntax for the " "<filename>debian/rules</filename> file, update it to use <command>dh</" "command>. Update the <filename>debian/control</filename> file accordingly." msgstr "" "Si el paquet no està actualitzat per fer servir la nova sintaxi <command>dh</" "command> de la versió 7+ de <systemitem role=\"package\">debhelper</" "systemitem> en el fitxer <filename>debian/rules</filename>, fes-ne " "l'actualització per fer servir <command>dh</command>. També hauràs " "d'actualitzar <filename>debian/control</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you want to update the <filename>rules</filename> file created with the " "<filename>Makefile</filename> inclusion mechanism of the Common Debian Build " "System (<systemitem role=\"package\">cdbs</systemitem>) to the <command>dh</" "command> syntax, see the following to understand its <literal>DEB_*</" "literal> configuration variables." msgstr "" "Si actualitzes el fitxer <filename>rules</filename> construït pel mecanisme " "d'inclusió <filename>Makefile</filename> del sistema de compilació Debian " "(<systemitem role=\"package\">cdbs</systemitem>) a la nova sintaxi " "<command>dh</command>, llegeix els següents documentes per entendre les " "variables de configuració <literal>DEB_*</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "local copy of <filename>&cdbs-doc;</filename>" msgstr "còpia local de <filename>&cdbs-doc;</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" msgstr "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package without the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (native)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(native)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied." msgstr "" "Si treballes amb un paquet construït amb el format <literal>1.0</literal> " "sense l'arxiu <filename><replaceable>nom_del_paquet</replaceable>.diff.gz</" "filename>, pots actualitzar-lo a la nova versió <literal>3.0 (native)</" "literal> afegint el fitxer <filename>debian/source/format</filename> amb la " "línia <literal>3.0 (native)</literal>. Copia els altres fitxers del " "directori <filename>debian/*</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can split <filename>big.diff</filename> into many small incremental " "patches using the <command>splitdiff</command> command." msgstr "" "Pots fragmentar el fitxer <filename>nom_del_paquet.diff</filename> en " "diversos fitxers de pegats fent servir l'ordre <command>splitdiff</command>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package with the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (quilt)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(quilt)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied. Import the <filename>big.diff</filename> file generated by " "the command <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" "replaceable>.diff.gz > big.diff</literal> to your <command>quilt</" "command> system, if needed. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si treballes amb un paquet construït amb el format <literal>1.0</literal> " "amb el fitxer <filename><replaceable>nom_del_paquet</replaceable>.diff.gz</" "filename>, pots actualitzar-lo al nou format <literal>3.0 (native)</literal> " "afegint el fitxer <filename>debian/source/format</filename> amb la línia " "<literal>3.0 (native)</literal>. Copia els altres fitxers del directori " "<filename>debian/*</filename>. Importa el fitxer <filename>nom_del_paquet." "diff</filename> generat amb l'ordre <literal>filterdiff -z -x '*/debian/*' " "<replaceable>nom_del_paquet</replaceable>.diff.gz > nom_del_paquet.diff</" "literal> al sistema <command>quilt</command> <placeholder type=\"footnote\" " "id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged using another patch system such as <systemitem role=" "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" "systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " "<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, " "convert it to the <systemitem role=\"package\">quilt</systemitem> command " "using <filename>deb3</filename> at <ulink url=\"&deb3;\"/>." msgstr "" "Si el paquet s'ha construït amb un altre sistema de pegats com <systemitem " "role=\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" "systemitem> o <systemitem role=\"package\">cdbs</systemitem>, fent servir " "les opcions <literal>-p0</literal>, <literal>-p1</literal> o <literal>-p2</" "literal>, pots convertir-ho al format <systemitem role=\"package\">quilt</" "systemitem> fent servir el guió <filename>deb3</filename> at <ulink url=" "\"&deb3;\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged with the <command>dh</command> command with the " "<literal>--with quilt</literal> option or with the <command>dh_quilt_patch</" "command> and <command>dh_quilt_unpatch</command> commands, remove these and " "make it use the newer <literal>3.0 (native)</literal> source format." msgstr "" "Si el paquet s'ha construït executant l'ordre <command>dh</command> amb " "l'opció <literal>--with quilt</literal> o amb <command>dh_quilt_patch</" "command> i <command>dh_quilt_unpatch</command>, elimina tot això i fes " "servir el format <literal>3.0 (native)</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "You should check <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> and adopt ACCEPTED proposals." msgstr "" "Has de consultar <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> i adoptar les propostes ACCEPTADES." #. type: Content of: <book><chapter><section><para> msgid "" "You need to do the other tasks described in <xref linkend=\"newupstream\"/>, " "too." msgstr "" "Repassa la secció <xref linkend=\"newupstream\"/> per si has de repetir " "alguns dels passos indicats en aquesta secció" #. type: Content of: <book><chapter><section><title> msgid "UTF-8 conversion" msgstr "Conversió a UTF-8" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream documents are encoded in old encoding schemes, converting them " "to <ulink url=\"&utf8;\">UTF-8</ulink> is a good idea." msgstr "" "Si el documents originals fan servir una codificació antiga, actualitzar-los " "a la codificació <ulink url=\"&utf8;\">UTF-8</ulink> és una bona idea." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert encodings of plain text files." msgstr "" "Fes servir <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> per convertir codificacions de fitxers de text " "sense format." #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "iconv -f latin1 -t utf8 <replaceable>fitxer_original.txt</replaceable> > <replaceable>fitxer_convertit.txt</replaceable>\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert from HTML files to UTF-8 plain text " "files. When you do this, make sure to execute it under UTF-8 locale." msgstr "" "Fes servir <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> per convertir fitxers HTML a fitxers sense format " "en codificació UTF-8. Quan ho facis, assegura't que la configuració local fa " "servir UTF-8." #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>fitxer_original.html</replaceable> > <replaceable>fitxer_convertit.txt</replaceable>\n" #. type: Content of: <book><chapter><section><title> msgid "Reminders for updating packages" msgstr "Recordatori per actualitzar paquets." #. type: Content of: <book><chapter><section><para> msgid "Here are few reminders for updating packages." msgstr "" "Aquí tens un llistat de coses a tenir en compte en actualitzar paquets:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Preserve old <filename>changelog</filename> entries (sounds obvious, but " "there have been cases of people typing <literal>dch</literal> when they " "should have typed <literal>dch -i</literal>.)" msgstr "" "Conserva les entrades anteriors del fitxer <filename>changelog</filename> " "(sona a obvietat, però s'han donat casos d'executar <literal>dch</literal> " "en lloc de <literal>dch -i</literal>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Existing Debian changes need to be reevaluated; throw away stuff that " "upstream has incorporated (in one form or another) and remember to keep " "stuff that hasn't been incorporated by upstream, unless there is a " "compelling reason not to." msgstr "" "Reconsidera els canvis en la construcció del paquet Debian: elimina les " "modificacions anteriors (sigui el que sigui) i recorda't d'afegir tot el " "necessari, sempre que no hi hagi una bona raó per no fer-ho." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If any changes were made to the build system (hopefully you'd know from " "inspecting upstream changes) then update the <filename>debian/rules</" "filename> and <filename>debian/control</filename> build dependencies if " "necessary." msgstr "" "Si s'ha realitzat alguna modificació en la compilació (ho veuràs quan " "inspeccionis els canvis en les fonts originals) pot ser necessari " "actualitzar el fitxer <filename>debian/rules</filename> i les dependències " "de compilació en el fitxer <filename>debian/control</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> to " "see if someone has provided patches to bugs that are currently open." msgstr "" "Comprova si hi ha alguna comunicació de pegats del paquet en el sistema de " "gestió d'errors (algun usuari pot haver construït i enviat un pegat que " "puguis fer servir) en <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</" "ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the contents of the <filename>.changes</filename> file to make sure " "you are uploading to the correct distribution, the proper bug closures are " "listed in the <literal>Closes</literal> field, the <literal>Maintainer</" "literal> and <literal>Changed-By</literal> fields match, the file is GPG-" "signed, etc." msgstr "" "Comprova el contingut del fitxer <filename>.changes</filename> per assegurar-" "te que envies el paquet a la distribució correcta, que els informes d'errors " "que es tanquen amb la nova versió estan llistats en el camp <literal>Closes</" "literal>, que el contingut dels camps <literal>Maintainer</literal> i " "<literal>Changed-By</literal> són correctes, que has signat el fitxer amb la " "teva clau GPG, etc." #. type: Content of: <book><chapter><title> msgid "Uploading the package" msgstr "Enviar el paquet." #. type: Content of: <book><chapter><para> msgid "" "Now that you have tested your new package thoroughly, you want to release it " "to a public archive to share it." msgstr "" "Ara que has comprovat el teu paquet en profunditat, pots publicar-ho a un " "arxiu públic per compartir-ho." #. type: Content of: <book><chapter><section><title> msgid "Uploading to the Debian archive" msgstr "Enviar el paquet al repositori de Debian." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <xref linkend=\"socialdynamics\"/>." msgstr "Consulta <xref linkend=\"socialdynamics\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are publicly accessible archives such as <ulink url=\"&mentors-dn;\"/> " "which work almost the same way as the Debian archive and provide an upload " "area for non-DDs. You can set up an equivalent archive by yourself using " "the tools listed at <ulink url=\"&deb-archive;\"/>. So this section is " "useful for non-DDs, too." msgstr "" "Hi ha arxius d'accés públic, com ara <ulink url=\"&mentors-dn;\"/> que " "funcionen gairebé de la mateixa manera com arxiu de Debian i proporcionen un " "àrea de càrrega a les persones que no són DD. Pots construir un arxiu " "equivalent tu mateix fent servir les eines que figuren a <ulink url=\"&deb-" "archive;\"/>. Així, aquesta secció també és útil per a les persones que no " "són DD.." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <systemitem role=\"package\">dput</systemitem> package seems to come " "with more features and to be becoming more popular than the <systemitem role=" "\"package\">dupload</systemitem> package. It uses the file <filename>/etc/" "dput</filename> for its global configuration and the file <filename>~/.dput." "cf</filename> for per-user configuration. It supports Ubuntu-related " "services out-of-the-box, too." msgstr "" "És possible que el paquet <systemitem role=\"package\">dput</systemitem> " "ofereixi més funcionalitats i sigui més popular que <systemitem role=" "\"package\">dupload</systemitem>. Fes servir l'arxiu <filename>/etc/dput</" "filename> per a la configuració global i el fitxer <filename>~/.dput.cf</" "filename> per a la configuració pròpia de l'usuari. També incorpora " "l'assistència per a Ubuntu." #. type: Content of: <book><chapter><section><para> msgid "" "Once you become an official developer, <placeholder type=\"footnote\" id=" "\"0\"/> you can upload the package to the Debian archive. <placeholder type=" "\"footnote\" id=\"1\"/> You can do this manually, but it's easier to use the " "existing automated tools, like <citerefentry> <refentrytitle>dupload</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. We'll describe how it's done with <command>dupload</" "command>. <placeholder type=\"footnote\" id=\"2\"/>" msgstr "" "Quan siguis desenvolupador oficial Debian <placeholder type=\"footnote\" id=" "\"0\"/>, podràs carregar el paquet al repositori de Debian <placeholder type=" "\"footnote\" id=\"1\"/>. Pots fer això manualment, però és més fàcil fer-ho " "amb les eines automàtiques ja disponibles com <citerefentry> " "<refentrytitle>dupload</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> o <citerefentry> <refentrytitle>dput</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. A continuació descriurem com fer-" "ho amb <command>dupload</command> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "First you have to set up <command>dupload</command>'s config file. You can " "either edit the system-wide <filename>/etc/dupload.conf</filename> file, or " "have your own <filename>~/.dupload.conf</filename> file override the few " "things you want to change." msgstr "" "Per començar, caldrà ajustar la configuració de <command>dupload</command>. " "Pots fer-ho editant el fitxer general <filename>/etc/dupload.conf</" "filename>, o construint el teu arxiu personalitzat <filename>~/.dupload." "conf</filename> amb els paràmetres que vulguis canviar." #. type: Content of: <book><chapter><section><para> msgid "" "You can read the <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> manual page to understand what each " "of these options means." msgstr "" "Consulta el manual de <citerefentry> <refentrytitle>dupload.conf</" "refentrytitle> <manvolnum>5</manvolnum> </citerefentry> per conèixer el " "significat de cada opció." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. " "\"Uploading a package\"</ulink>." msgstr "" "Consulta <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. " "\"Uploading a package\"</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>$default_host</literal> option determines which of the upload " "queues will be used by default. <literal>anonymous-ftp-master</literal> is " "the primary one, but it's possible that you will want to use another one. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "L'opció <literal>$default_host</literal> determina quina de les cues de " "càrrega es farà servir per defecte. <literal>anonymous-ftp-master</literal> " "és la primera però és possible que vulguis fer servir una altra més ràpida " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "While connected to the Internet, you can upload your package as follows:" msgstr "Si tens connexió a Internet, pots pujar el paquet executant:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dupload gentoo_0.9.12-1_i386.changes\n" msgstr " dupload gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dupload</command> checks that the SHA1/SHA256 file checksums match " "those listed in the <filename>.changes</filename> file. If they do not " "match, it will warn you to rebuild it as described in <xref linkend=" "\"completebuild\"/> so it can be properly uploaded." msgstr "" "<command>dupload</command> comprova que les sumes MD5/SHA1/SHA256 dels " "fitxers transferits coincideixen amb els llistats en el fitxer <filename>." "changes</filename>, en cas contrari t'avisarà i hauràs de reconstruir el " "paquet com s'explica a <xref linkend=\"completebuild\"/> per poder enviar-ho " "correctament." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&uploadqueue-readme;\"/>. Alternatively, you can use the " "<command>dcut</command> command from the <systemitem role=\"package\">dput</" "systemitem> package." msgstr "" "Consulta <ulink url=\"&uploadqueue-readme;\"/>. També pots fer servir " "l'ordre <command>dcut</command> del paquet <systemitem role=\"package" "\">dput</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "If you encounter an upload problem at <ulink url=\"&uploadqueue;\"/>, you " "can fix this by manually uploading a GPG-signed <filename>*.commands</" "filename> file to there with <command>ftp</command>. <placeholder type=" "\"footnote\" id=\"0\"/> For example, using <filename>hello.commands</" "filename>:" msgstr "" "Si trobes algun problema amb la pujada del paquet a <ulink url=" "\"&uploadqueue;\"/>, pots solucionar-ho pujant «manualment» (fent servir " "<command>ftp</command>) un arxiu <filename>*.commands</filename> signat amb " "GPG <placeholder type=\"footnote\" id=\"0\"/>. Per exemple, aquest " "<filename>hello.commands</filename>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" msgstr "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" #. type: Content of: <book><chapter><section><title> msgid "Including <filename>orig.tar.gz</filename> for upload" msgstr "" "Incloure el fitxer <filename>orig.tar.gz</filename> per a la transferència " "del paquet al repositori." #. type: Content of: <book><chapter><section><para> msgid "" "When you first upload the package to the archive, you need to include the " "original <filename>orig.tar.gz</filename> source, too. If the Debian " "revision number of this package is neither <literal>1</literal> nor " "<literal>0</literal>, you must provide the <command>dpkg-buildpackage</" "command> option <literal>-sa</literal>." msgstr "" "A l'hora d'enviar per primera vegada el paquet al repositori, cal incloure " "l'arxiu <filename>orig.tar.gz</filename> amb les fonts originals. Si el " "número de revisió Debian del paquet no és <literal>1</literal> ni " "<literal>0</literal>, hauràs d'executar l'ordre <command>dpkg-buildpackage</" "command> amb l'opció <literal>-sa</literal> per forçar la inclusió de " "l'arxiu <filename>orig.tar.gz</filename>. Contrariament, amb l'opció " "<literal>-sd</literal> s'exclou l'arxiu <filename>orig.tar.gz</filename> de " "les fonts." #. type: Content of: <book><chapter><section><para> msgid "For the <command>dpkg-buildpackage</command> command:" msgstr "Per a l'ordre <command>dpkg-buildpackage</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -sa\n" msgstr "$ dpkg-buildpackage -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>debuild</command> command:" msgstr "Per a l'ordre <command>debuild</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -sa\n" msgstr "$ debuild -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>pdebuild</command> command:" msgstr "Per a l'ordre <command>pdebuild</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts -sa\n" msgstr "$ pdebuild --debbuildopts -sa\n" #. type: Content of: <book><chapter><section><para> msgid "" "On the other hand, the <literal>-sd</literal> option will force the " "exclusion of the original <filename>orig.tar.gz</filename> source." msgstr "" "Per altra banda, amb l'opció <literal>-sd</literal> s'evita l'inclusió de " "l'arxiu <filename>orig.tar.gz</filename> de les fonts originals." #. type: Content of: <book><chapter><section><title> msgid "Skipped uploads" msgstr "Enviaments discontinuats." #. type: Content of: <book><chapter><section><para> msgid "" "If you created multiple entries in <filename>debian/changelog</filename> by " "skipping uploads, you must create a proper <filename>*_.changes</filename> " "file which includes all changes from the last upload. This can be done by " "specifying the <command>dpkg-buildpackage</command> option <literal>-v</" "literal> with the version, e.g., <literal><replaceable>1.2</replaceable></" "literal>." msgstr "" "Si en el fitxer <filename>debian/changelog</filename> hi ha diverses " "entrades corresponents a diferents versions del paquet, però alguna d'elles " "no s'ha enviat al repositori, hauràs de generar correctament un arxiu " "<filename>*_.changes</filename> que inclogui totes les modificacions des de " "la darrera versió present en el repositori. Pots fer-ho executant l'ordre " "<command>dpkg-buildpackage</command> amb l'opció <literal>-v</literal> " "seguida del codi de versió p.ex. <literal><replaceable>1.2</replaceable></" "literal>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" msgstr "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -v<replaceable>1.2</replaceable>\n" msgstr "$ debuild -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" msgstr "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" #. type: Content of: <book><appendix><title> msgid "Advanced packaging" msgstr "Tècniques avançades" #. type: Content of: <book><appendix><para> msgid "" "Here are some hints and pointers for advanced packaging topics which you are " "most likely to deal with. You are strongly advised to read all the " "references suggested here." msgstr "" "Aquests són alguns consells i apunts d'aspectes avançats en la construcció " "de paquets que es probable que hagis de saber. Es recomana fermament llegir " "totes les referències suggerides aquí." #. type: Content of: <book><appendix><section><title> msgid "Shared libraries" msgstr "Biblioteques compartides." #. type: Content of: <book><appendix><section><para> msgid "" "Before packaging shared <ulink url=\"&library;\">libraries</ulink>, you " "should read the following primary references in detail." msgstr "" "Abans de construir paquets de <ulink url=\"&library;\">biblioteques</ulink> " "compartides, has de llegir les següents referències bàsicques en detall." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" msgstr "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" msgstr "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" msgstr "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" #. type: Content of: <book><appendix><section><para> msgid "Here are some oversimplified hints for you to get started." msgstr "Heus aquí alguns consells simplistes per a que pugis començar." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are <ulink url=\"&elf;\">ELF</ulink> object files " "containing compiled code." msgstr "" "Les biblioteques compartides son fitxers objecte en format <ulink url=\"&elf;" "\">ELF</ulink> que contenen codi compilat." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are distributed as <filename>*.so</filename> files. " "(Neither <filename>*.a</filename> files nor <filename>*.la</filename> files)" msgstr "" "Les biblioteques compartides es distribueixen com a fitxers <filename>*.so</" "filename> (ni fitxers <filename>*.a</filename> ni <filename>*.la</filename>)." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are mainly used to share common codes among multiple " "executables with the <command>ld</command> mechanism." msgstr "" "Les biblioteques compartides s'utilitzen principalment per compartir codi " "comú entre diversos executables fent servir l'ordre <command>ld</command>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are sometimes used to provide multiple plugins to an " "executable with the <command>dlopen</command> mechanism." msgstr "" "Les biblioteques compartides, a vegades es fan servir per proporcionar " "complements («plugins») a un executable mitjançant el procediment " "<command>dlopen</command>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries export <ulink url=\"&symbol;\">symbols</ulink> which " "represent compiled objects such as variables, functions, and classes; and " "enables access to them from the linked executables." msgstr "" "Les biblioteques compartides exporten <ulink url=\"&symbol;\">símbols</" "ulink> que representen objectes compilats com a variables, funcions i " "classes, i permeten accedir-hi des dels executables enllaçats." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" msgstr "" "Alternativament: <literal>readelf -d lib<replaceable>nom_biblioteca</" "replaceable>.so.<replaceable>1</replaceable> | grep SONAME</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&soname;\">SONAME</ulink> of a shared library " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "El <ulink url=\"&soname;\">SONAME</ulink> (el nom lògic) de la biblioteca " "compartida <filename>lib<replaceable>nom_biblioteca</replaceable>.so</" "filename>.<replaceable>1</replaceable>: <literal>objdump -p " "lib<replaceable>nom_biblioteca</replaceable>.so.<replaceable>1</replaceable> " "| grep SONAME</literal> <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of a shared library usually matches the library file name (but " "not always)." msgstr "" "El «SONAME» (nom lògic) d'una biblioteca compartida en general coincideix " "amb el nom del fitxer de la biblioteca (però no sempre)." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" msgstr "" "Alternativament: <literal>readelf -d lib<replaceable>nom_biblioteca</" "replaceable>.so.<replaceable>1</replaceable> | grep NEEDED</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of shared libraries linked to <filename><replaceable>/usr/bin/" "foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/foo</" "replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "El «SONAME» (nom lògic) de les biblioteques compartides enllaçades a " "<filename><replaceable>/usr/bin/foo</replaceable></filename>: " "<literal>objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED</" "literal> <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time " "shared libraries\"</ulink>." msgstr "" "Consulta <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-" "time shared libraries\"</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: the library package " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> with the SONAME ABI version " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>nom_biblioteca</" "replaceable><replaceable>1</replaceable></systemitem>: el paquet de " "biblioteca de la biblioteca compartida " "<filename>lib<replaceable>nom_biblioteca</replaceable>.so.<replaceable>1</" "replaceable></filename> amb la versió ABI del nom lògic («SONAME») " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig" "\"</ulink>." msgstr "" "Consulta <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 " "\"ldconfig\"</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The package maintainer scripts of the library package must call " "<command>ldconfig</command> under the specific circumstances to create the " "necessary symbolic links for the SONAME.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Els guions del desenvolupador del paquet de la biblioteca han d'executar " "<command>ldconfig</command> en les circumstàncies específiques per generar " "els enllaços simbòlics necessaris per a «SONAME» (nom lògic).<placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: the debugging " "symbols package which contains the debugging symbols for the shared library " "package <systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>." msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: el paquet de " "símbols de depuració que conté els símbols de depuració del paquet de la " "biblioteca compartida <systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> and <ulink url=\"&policy-dev;\">Debian Policy Manual, " "8.4 \"Development files\"</ulink>." msgstr "" "Consulta <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> i <ulink url=\"&policy-dev;\">Debian Policy Manual, 8.4 " "\"Development files\"</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: the development package which contains the header files etc. " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>nom_biblioteca</replaceable>-" "dev</systemitem>: el paquet de desenvolupament amb els fitxers de capçalera " "i d'altres de la biblioteca compartida " "<filename>lib<replaceable>nom_biblioteca</replaceable>.so.<replaceable>1</" "replaceable></filename>.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink>." msgstr "" "Consulta <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</" "ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not contain <filename>*.la</filename> Libtool archive " "files in general.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "En general, els paquets Debian no haurien de contenir fitxers «Libtool» " "<filename>*.la</filename>.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "See <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." msgstr "Consulta <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not use RPATH in general.<placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "En general, els paquets Debian no haurien de fer servir «RPATH».<placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Although it is somewhat outdated and is only a secondary reference, <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "may still be useful." msgstr "" "Encara que és una mica antiquat i és només una referència secundària, <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "encara pot ésser útil." #. type: Content of: <book><appendix><section><title> msgid "" "Managing <filename>debian/<replaceable>package</replaceable>.symbols</" "filename>" msgstr "" "Gestionant <filename>debian/<replaceable>nom_del_paquet</replaceable>." "symbols</filename>" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Backward-incompatible ABI changes normally require you to update the SONAME " "of the library and the shared library package name to new ones." msgstr "" "Els canvis ABI incompatibles amb versions anteriors, normalment requereixen " "l'actualització del «SONAME» (nom lògic) de la biblioteca i del paquet de la " "biblioteca compartida a d'altres nous. " #. type: Content of: <book><appendix><section><para> msgid "" "When you package a shared library, you should create <filename>debian/" "<replaceable>package</replaceable>.symbols</filename> file to manage the " "minimal version associated to each symbol for backward-compatible ABI " "changes under the same SONAME of the library for the same shared library " "package name.<placeholder type=\"footnote\" id=\"0\"/> You should read the " "following primary references in detail." msgstr "" "Quan construeixes un paquet de biblioteca compartida, cal generar un fitxer " "<filename>debian/<replaceable>nom_del_paquet</replaceable>.symbols</" "filename> per gestionar la versió mínima associada a cada símbol pels canvis " "ABI compatibles amb versions anteriors sota el mateix «SONAME» (nom lògic) " "de la biblioteca per al mateix nom de paquet de biblioteca compartida. " "<placeholder type=\"footnote\" id=\"0\"/> És recomanable que llegeixis amb " "atenció les següents referències bàsiques." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "For C++ libraries and other cases where tracking individual symbols is too " "difficult, follow <ulink url=\"&policy-library-shlibs;\">Debian Policy " "Manual, 8.6.4 \"The shlibs system\"</ulink>, instead." msgstr "" "Per a biblioteques C++ i altres casos pels quals el maneig individual de " "símbols és difícil, es millor guiar-se per <ulink url=\"&policy-library-" "shlibs;\">Debian Policy Manual, 8.6.4 \"The shlibs system\"</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><para> msgid "" "Here is a rough example to create the <systemitem role=\"package\">libfoo1</" "systemitem> package to the upstream version <literal>1.3</literal> with the " "proper <filename>debian/libfoo1.symbols</filename> file." msgstr "" "Aquest és un exemple per generar el paquet <systemitem role=\"package" "\">libnom_biblioteca</systemitem> per a la versió <literal>1.3</literal> de " "l'autor amb el fitxer <filename>debian/libnom_biblioteca1.symbols</filename> " "apropiat." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Prepare the skeleton debianized source tree using the upstream " "<filename>libfoo-1.3.tar.gz</filename> file." msgstr "" "Prepara l'estructura de directoris Debian de les fonts fent servir el fitxer " "original de l'autor <filename>libnom_biblioteca-1.3.tar.gz</filename>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If this is the first packaging of the <systemitem role=\"package\">libfoo1</" "systemitem> package, create the <filename>debian/libfoo1.symbols</filename> " "file with empty content." msgstr "" "Si és la primera vegada que es construeix un paquet de <systemitem role=" "\"package\">libnom_biblioteca1</systemitem>, genera el fitxer " "<filename>debian/libnom_biblioteca1.symbols</filename> amb el contingut buit." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was packaged as the " "<systemitem role=\"package\">libfoo1</systemitem> package with the proper " "<filename>debian/libfoo1.symbols</filename> in its source package, use it " "again." msgstr "" "Si la versió <literal>1.2</literal> anterior de l'autor es va empaquetar en " "el paquet <systemitem role=\"package\">libnom_biblioteca1</systemitem> amb " "el fitxer <filename>debian/libnom_biblioteca1.symbols</filename> apropiat en " "el seu paquet font, fes-lo servir una altra vegada." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "All previous versions of Debian packages are available at <ulink url=" "\"&snapshot;\">http://snapshot.debian.org/</ulink>. The Debian revision is " "dropped from the version to make it easier to backport the package: " "<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " "<literal>1.1-1</literal> and <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" msgstr "" "Totes les versions anteriors dels paquets Debian estan disponibles a <ulink " "url=\"&snapshot;\">http://snapshot.debian.org/</ulink>. La revisió Debian " "del paquet segueix a la versió per facilitar el manteniment de versions " "anteriors («backport») del paquet: <literal>1.1</literal> << " "<literal>1.1-1~bpo70+1</literal> << <literal>1.1-1</literal> i " "<literal>1.2</literal> << <literal>1.2-1~bpo70+1</literal> << " "<literal>1.2-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was not packaged " "with the <filename>debian/libfoo1.symbols</filename>, create it as the " "<filename>symbols</filename> file from all available binary packages of the " "same shared library package name containing the same SONAME of the library, " "for example, versions <literal>1.1-1</literal> and <literal>1.2-1</" "literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si la versió <literal>1.2</literal> anterior de l'autor no s'ha empaquetat " "amb el fitxer <filename>debian/libnom_biblioteca1.symbols</filename>, genera " "el fitxer <filename>symbols</filename> a partir de tots els noms de paquets " "binaris de la mateixa biblioteca compartida que tenguin el mateix " "«SONAME» (nom lògic) de la biblioteca, per exemple, les versions " "<literal>1.1-1</literal> i <literal>1.2-1</literal>. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" msgstr "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Make trial builds of the source tree with tools such as <command>debuild</" "command> and <command>pdebuild</command>. (If this fails due to missing " "symbols etc., there were some backward-incompatible ABI changes which " "require you to bump the shared library package name to something like " "<systemitem role=\"package\">libfoo1a</systemitem> and you should start over " "again.)" msgstr "" "Executa compilacions de prova dels directoris de les fonts amb eines com " "<command>debuild</command> i <command>pdebuild</command>. Si es produeixen " "errors degut a símbols perduts o d'altres, busca canvis ABI incompatibles " "amb versions anteriors que requereixin el canvi del nom del paquet de la " "biblioteca compartida a alguna cosa com <systemitem role=\"package" "\">libnom_biblioteca1a</systemitem> i torna a començar." #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" msgstr "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "The Debian revision is dropped from the version to make it easier to " "backport the package: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" msgstr "" "La revisió Debian es deriva de la versió per facilitar el manteniment de " "versions anteriors («backport») del paquet: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "If you see the diff printed by the <command>dpkg-gensymbols</command> as " "above, extract the updated proper <filename>symbols</filename> file from the " "generated binary package of the shared library. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Si llegeixes el informe de canvis generat a continuació per l'ordre " "<command>dpkg-gensymbols</command>, llista el fitxer <filename>symbols</" "filename> actualitzat adequadament per al paquet binari generat de la " "biblioteca compartida. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" msgstr "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Build release packages with tools such as <command>debuild</command> and " "<command>pdebuild</command>." msgstr "" "Construir paquets per distribuir amb eines com <command>debuild</command> i " "<command>pdebuild</command>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" msgstr "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 \"Shared " "library ABI changes\"</ulink>." msgstr "" "Consulta <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 " "\"Shared library ABI changes\"</ulink>." #. type: Content of: <book><appendix><section><para> msgid "" "In addition to the above examples, we need to check the ABI compatibility " "further and bump versions for some symbols manually as needed. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "A més a més dels exemples anteriors, cal comprovar la compatibilitat ABI amb " "més atenció i actualitzar manualment les versions dels símbols (si és " "necessari). <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><para> msgid "" "Although it is only a secondary reference, <ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> and its linked web pages may be " "useful." msgstr "" "Encara que només és una referència secundària, <ulink url=" "\"&usingsymbolsfiles;\">Debian wiki UsingSymbolsFiles</ulink> i els seus " "enllaços a altres pàgines web pot ésser d'utilitat." #. type: Content of: <book><appendix><section><title> msgid "Multiarch" msgstr "Multi-arquitectura" #. type: Content of: <book><appendix><section><para> msgid "" "The multiarch feature introduced to Debian wheezy integrates support for " "cross-architecture installation of binary packages (particularly " "<literal>i386</literal><-><literal>amd64</literal>, but also other " "combinations) in <systemitem role=\"package\">dpkg</systemitem> and " "<systemitem role=\"package\">apt</systemitem>. You should read the " "following references in detail." msgstr "" "La nova funció multi-arquitectura introduïda a la versió «wheezy» de Debian " "integra el suport per a la instal·lació en més d'una arquitectura dels " "paquets binaris (particularment a <literal>i386</literal><->" "<literal>amd64</literal>, però també amb altres combinacions) en <systemitem " "role=\"package\">dpkg</systemitem> i <systemitem role=\"package\">apt</" "systemitem>. És convenient que llegeixis les següents referències " "detalladament." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (upstream)" msgstr "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (original)" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian situation)" msgstr "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (estat a Debian)" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Old special purpose library paths such as <filename>/lib32/</filename> and " "<filename>/lib64/</filename> are not used any more." msgstr "" "Antics directoris de biblioteques de propòsit especial com <filename>/lib32/" "</filename> i <filename>/lib64/</filename> ja no es faran servir més." #. type: Content of: <book><appendix><section><para> msgid "" "It uses the triplet such as <literal>i386-linux-gnu</literal> and " "<literal>x86_64-linux-gnu</literal> for the install path of shared " "libraries. The actual triplet path is dynamically set into <literal>" "$(DEB_HOST_MULTIARCH)</literal> value by <citerefentry> <refentrytitle>dpkg-" "architecture</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for " "each build. For example, the path to install multiarch libraries are " "changed as follows.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "S'utilitzen triplets com <literal>i386-linux-gnu</literal> i <literal>x86_64-" "linux-gnu</literal> per als directoris d'instal·lació de les biblioteques " "compartides. El triplet actual s'estableix de forma dinàmica al valor " "<literal>$(DEB_HOST_MULTIARCH)</literal> per <citerefentry> " "<refentrytitle>dpkg-architecture</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> a cada compilació. Per exemple, el directori d'instal·lació de " "les biblioteques multi-arquitectura es pot canviar de la següent manera." "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Old path" msgstr "Directori antic" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "i386 multiarch path" msgstr "directori multi-arquitectura i386" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "amd64 multiarch path" msgstr "directori multi-arquitectura amd64" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/</filename>" msgstr "<filename>/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/i386-linux-gnu/</filename>" msgstr "<filename>/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/</filename>" msgstr "<filename>/usr/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/i386-linux-gnu/</filename>" msgstr "<filename>/usr/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/usr/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><para> msgid "" "Here are some typical multiarch package split scenario examples for the " "followings:" msgstr "" "A continuació tens alguns exemples típics de casos possibles de paquets per " "a vàries arquitectures per als següents paquets:" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a library source <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" msgstr "" "el codi font de la biblioteca <filename>lib<replaceable>nom_biblioteca</" "replaceable>-1.tar.gz</filename>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>bar</replaceable>-1.tar.gz</filename> " "written in a compiled language" msgstr "" "el codi font d'una ordre <filename><replaceable>bar</replaceable>-1.tar.gz</" "filename> escrit en un llenguatge compilat" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>baz</replaceable>-1.tar.gz</filename> " "written in an interpreted language" msgstr "" "el codi font d'una ordre <filename><replaceable>baz</replaceable>-1.tar.gz</" "filename> escrit en un llenguatge interpretat" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package" msgstr "Paquet" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Architecture:" msgstr "Arquitectura" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Multi-Arch:" msgstr "Multi-arquitectura:" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package content" msgstr "Contingut del paquet" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>nom_del_paquet</" "replaceable><replaceable>1</replaceable></systemitem>" # S'ha deixat sense traduir expressament #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "any" msgstr "any" # S'ha deixat sense traduir expressament #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "same" msgstr "same" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library, co-installable" msgstr "la biblioteca compartida, és co-instal·lable" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>nom_del_paquet</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library debug symbols, co-installable" msgstr "" "els símbols de depuració de la biblioteca compartida, són co-instal·lables" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>nom_del_paquet</replaceable>-" "dev</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library header files etc., co-installable" msgstr "" "els fitxers de capçalera i d'altres d'un biblioteca compilada, co-" "instal·lable" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>nom_del_paquet</replaceable>-" "tools</systemitem>" # S'ha deixat sense traduir expressament #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "foreign" msgstr "foreign" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the run-time support programs, not co-installable" msgstr "els programes de suport en temps d'execució, no són co-instal·lables" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>nom_del_paquet</replaceable>-" "doc</systemitem>" # S'ha deixat sense traduir expressament #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "all" msgstr "all" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library documentation files" msgstr "els fitxers de documentació de la biblioteca compartida" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the compiled program files, not co-installable" msgstr "els fitxers del programa compilat, no són co-instal·lables" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the documentation files for the program" msgstr "els fitxers de documentació del programa" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the interpreted program files" msgstr "els fitxers del programa interpretat" #. type: Content of: <book><appendix><section><para> msgid "" "Please note that the development package should contain a symlink for the " "associated shared library <emphasis role=\"strong\">without a version " "number</emphasis>. E.g.: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</" "filename> -> <filename>libfoo.so.1</filename>" msgstr "" "Cal tenir en compte que el paquet de desenvolupament ha de tenir un enllaç " "simbòlic a la biblioteca compartida associada <emphasis role=\"strong" "\">sense el número de versió</emphasis>. P. ex.: <filename>/usr/lib/x86_64-" "linux-gnu/libfoo.so</filename> -> <filename>libfoo.so.1</filename>" #. type: Content of: <book><appendix><section><title> msgid "Building a shared library package" msgstr "Construint un paquet de biblioteca compartit" #. type: Content of: <book><appendix><section><para> msgid "" "You can build a Debian library package enabling the multiarch support using " "<citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> as follows." msgstr "" "Pots construir un paquet de biblioteca Debian amb suport de multi-" "arquitectura activat fent servir <citerefentry> <refentrytitle>dh</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> de la següent manera." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Update <filename>debian/control</filename>." msgstr "Actualitza <filename>debian/control</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Build-Depends: debhelper (>=9)</literal> for the source package " "section." msgstr "" "Afegeix <literal>Build-Depends: debhelper (>=9)</literal> en la secció del " "paquet font." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Pre-Depends: ${misc:Pre-Depends}</literal> for each shared " "library binary package." msgstr "" "Afegeix <literal>Pre-Depends: ${misc:Pre-Depends}</literal> per a cada " "paquet binari de biblioteca compartida." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Multi-Arch:</literal> stanza for each binary package section." msgstr "" "Afegeix el camp <literal>Multi-Arch:</literal> per a cada secció de paquet " "binari." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Set <filename>debian/compat</filename> to \"9\"." msgstr "Posa <filename>debian/compat</filename> a « 9 »." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Adjust the path from the normal <literal>/usr/lib/</literal> to the " "multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> for all " "packaging scripts." msgstr "" "Canvia el directori habitual <literal>/usr/lib/</literal> al directori multi-" "arquitectura <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> per a tots " "els guions de la construcció del paquet." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Call <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> in <filename>debian/rules</filename> to set " "<literal>DEB_HOST_MULTIARCH</literal> variable, first." msgstr "" "Afegeix (primer) <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> a <filename>debian/rules</filename> per " "establir la variable <literal>DEB_HOST_MULTIARCH</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace <literal>/usr/lib/</literal> with <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> in <filename>debian/rules</filename>." msgstr "" "Canvia <literal>/usr/lib/</literal> per <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> a <filename>debian/rules</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively, you can add <literal>--libdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> and <literal>--libexecdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> arguments to <literal>./configure</" "literal>. Please note that <literal>--libexecdir</literal> specifies the " "default path to install executable programs run by other programs rather " "than by users. Its Autotools default is <filename>/usr/libexec/</filename> " "but its Debian default is <filename>/usr/lib/</filename>." msgstr "" "Alternativament, pots afegir els arguments <literal>--libdir=\\$${prefix}/" "lib/$(DEB_HOST_MULTIARCH)</literal> and <literal>--libexecdir=\\$${prefix}/" "lib/$(DEB_HOST_MULTIARCH)</literal> a <literal>./configure</literal>. " "Fitxa't que <literal>--libexecdir</literal> especifica el directori " "predeterminat per instal·lar programes executables que són engegats per " "altres programes més que no pas pels usuaris. El valor predeterminat per " "«Autotools» és <filename>/usr/libexec/</filename> però a Debian és " "<filename>/usr/lib/</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If <literal>./configure</literal> is used in the part of " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>, make sure to replace it with <literal>dh_auto_configure -- " "</literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si es fa servir <literal>./configure</literal> a l'objectiu " "<literal>override_dh_auto_configure</literal> del fitxer <filename>debian/" "rules</filename>, assegura't que ho canvies per <literal>dh_auto_configure " "-- </literal>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace all occurrences of <literal>/usr/lib/</literal> with <literal>/usr/" "lib/*/</literal> in <filename>debian/<replaceable>foo</replaceable>.install</" "filename> files." msgstr "" "Canvia cada repetició de <literal>/usr/lib/</literal> per <literal>/usr/lib/" "*/</literal> als fitxers <filename>debian/<replaceable>nom_del_paquet</" "replaceable>.install</filename>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Generate files like <filename>debian/<replaceable>foo</replaceable>.links</" "filename> from <filename>debian/<replaceable>foo</replaceable>.links.in</" "filename> dynamically by adding a script to " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>." msgstr "" "Genera fitxers com <filename>debian/<replaceable>nom_del_paquet</" "replaceable>.links</filename> des de <filename>debian/" "<replaceable>nom_del_paquet</replaceable>.links.in</filename> dinàmicament " "afegint un guió al objectiu <literal>override_dh_auto_configure</literal> " "del fitxer <filename>debian/rules</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>nom_del_paquet</replaceable>.links.in > debian/<replaceable>nom_del_paquet</replaceable>.links\n" #. type: Content of: <book><appendix><section><para> msgid "" "Please make sure to verify that the shared library package contains only the " "expected files, and that your -dev package still works." msgstr "" "Comprova que el paquet de biblioteca compartida conté només els fitxers que " "s'esperava i que el paquet «-dev» continua funcionant correctament." #. type: Content of: <book><appendix><section><para> msgid "" "All files installed simultaneously as the multiarch package to the same file " "path should have exactly the same file content. You must be careful on " "differences generated by the data byte order and by the compression " "algorithm." msgstr "" "Tots els fitxers instal·lats al mateix temps com el paquet de multi-" "arquitectura en el mateix directori ha de tenir exactament el mateix " "contingut de fitxer. Posa molta atenció en les diferències generades per " "l'ordre dels bits de dades i per l'algoritme de compressió." �����������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/zh-tw.tex���������������������������������������������������������������������0000644�0000000�0000000�00000000017�12256550104�013077� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\hyphenation{} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/ru.po�������������������������������������������������������������������������0000644�0000000�0000000�00002333634�12262517547�012325� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Copyright (C) 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the maint-guide package. # # Все данные о переводчиках и корректорах занесены в файл maint-guide.ru.ent # # Yuri Kozlov <yuray@komyakino.ru>, 2011, 2012, 2013. msgid "" msgstr "" "Project-Id-Version: maint-guide 1.2.30\n" "POT-Creation-Date: 2014-01-06 00:00+0900\n" "PO-Revision-Date: 2014-01-05 20:14+0400\n" "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" "Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 1.4\n" #. type: Attribute 'lang' of: <book> msgid "en" msgstr "ru" #. type: Content of: <book><title> msgid "Debian New Maintainers' Guide" msgstr "Руководство начинающего разработчика Debian" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Josip Rodin" msgstr "Джосип Родин" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "joy-mg@debian.org" msgstr "joy-mg@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "original contents" msgstr "первоначальный вариант" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Osamu Aoki" msgstr "Осаму Аоки" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "osamu@debian.org" msgstr "osamu@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "updated contents" msgstr "обновлённый вариант" #. type: Content of: <book><bookinfo><releaseinfo> msgid "version &docversion;" msgstr "версия &docversion;" #. type: Content of: <book><bookinfo> msgid "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" msgstr "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "" "This document may be used under the terms the GNU General Public License " "version 2 or higher." msgstr "" "Этот документ можно использовать, соблюдая условия универсальной " "общественной лицензии GNU версии 2 или новее." #. type: Content of: <book><bookinfo><legalnotice><para> msgid "This document was made using these two documents as examples:" msgstr "Данный документ создан на основе следующих двух документов:" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." msgstr "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." msgstr "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." #. type: Content of: <book><chapter><title> msgid "Getting started The Right Way" msgstr "Хорошее начало — половина дела" #. type: Content of: <book><chapter><para> msgid "" "This document tries to describe the building of a Debian package to ordinary " "Debian users and prospective developers. It uses fairly non-technical " "language, and it's well covered with working examples. There is an old " "Latin saying: <emphasis>Longum iter est per praecepta, breve et efficax per " "exempla</emphasis> (It's a long way by the rules, but short and efficient " "with examples)." msgstr "" "В этом документе описан процесс создания пакета Debian с точки зрения " "обычного пользователя и начинающего разработчика. Он написан простым языком " "и содержит работающие примеры. В этом руководстве мы пытаемся следовать " "старой латинской поговорке: <emphasis>Longum iter est per praecepta, breve " "et efficax perexempla!</emphasis> (Путь длинен, если изучать правила, но " "короток и эффективен, если пользоваться примерами!)." #. type: Content of: <book><chapter><para><footnote><para> msgid "" "The document assumes you are using a <literal>&base-release;</literal> or " "newer system. If you need to follow this text in an older system (including " "an older Ubuntu system etc.), you must install backported <systemitem role=" "\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</" "systemitem> packages, at least." msgstr "" "В документе предполагается, что вы используете <literal>&base-release;</" "literal> или более новую версию. Если у вас старая версия (включая старые " "выпуски Ubuntu и т.д.), установите современные версии пакетов <systemitem " "role=\"package\">dpkg</systemitem> и <systemitem role=\"package\">debhelper</" "systemitem> из специального репозитория (backports)." #. type: Content of: <book><chapter><para> msgid "" "This document has been updated for the Debian <literal>&base-release;</" "literal> release. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Этот документ был адаптирован для выпуска Debian <literal>&base-release;</" "literal> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><para><footnote><para> msgid "" "You can learn about the basic handling of a Debian system from the <ulink " "url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to " "learn about Unix programming, too." msgstr "" "О том, как работать с системой Debian, можно найти в <ulink url=\"&debref;" "\">справочнике Debian</ulink>. В нём также содержатся ссылки на материалы по " "программированию в системах Unix." #. type: Content of: <book><chapter><para> msgid "" "One of the things that makes Debian such a top-notch distribution is its " "package system. While there is a vast quantity of software already in the " "Debian format, sometimes you need to install software that isn't. You may " "be wondering how you can make your own packages; and perhaps you think it is " "a very difficult task. Well, if you are a real novice on Linux, it is hard, " "but if you were a rookie, you wouldn't be reading this document " "now :-) You do need to know a little about Unix programming but you " "certainly don't need to be a wizard. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Одна из сильных, по сравнению с другими дистрибутивами, сторон Debian — это " "система управления пакетами. Несмотря на то, что для Debian уже существует " "очень много пакетов, может случиться так, что вам понадобится установить " "программу, для которой не существует соответствующего пакета. Это может " "заставить вас задуматься о том, как создать свой собственный пакет. Для тех, " "кто делает первые шаги в Linux, это сложно, но вы к ним не относитесь, если " "сейчас читаете этот документ :-) Вам понадобятся некоторые знания о " "программировании под Unix, но ни в коем случае вы не обязаны быть гуру " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><para> msgid "" "One thing is certain, though: to properly create and maintain Debian " "packages takes many hours. Make no mistake, for our system to work the " "maintainers need to be both technically competent and diligent." msgstr "" "Одно можно сказать определённо: создание и сопровождение пакетов Debian " "занимает много времени. Несомненно, чтобы наша система работала, " "сопровождающие должны быть технически грамотными и прилежными." #. type: Content of: <book><chapter><para> msgid "" "If you need some help on packaging, please read <xref linkend=\"helpme\"/>." msgstr "" "Если вам нужна помощь в пакетировании, прочтите <xref linkend=\"helpme\"/>." #. type: Content of: <book><chapter><para> msgid "" "Newer versions of this document should always be available online at <ulink " "url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</" "systemitem> package. The translations may be available in packages such as " "<systemitem role=\"package\">maint-guide-es</systemitem>. Please note that " "this documentation may be slightly outdated." msgstr "" "Самые новые версии этого документа всегда доступны на странице <ulink url=" "\"&maint-guide;\"/> и в пакете <systemitem role=\"package\">maint-guide</" "systemitem>. Переводы доступны в отдельных пакетах, например <systemitem " "role=\"package\">maint-guide-es</systemitem>. Заметим, что данный документ " "может быть слегка устаревшим." #. type: Content of: <book><chapter><para> msgid "" "Since this is a tutorial, I choose to explain each detailed step for some " "important topics. Some of them may look irrelevant to you. Please be " "patient. I have also intentionally skipped some corner cases and provided " "only pointers to keep this document simple." msgstr "" "Так как это учебное пособие, каждый важный вопрос будет объясняться " "последовательно, шаг за шагом. Некоторые из них могут показаться вам " "ненужными. Будьте терпеливее. Также, для упрощения документа были намеренно " "опущены некоторые крайние случаи и приведены только ссылки." #. type: Content of: <book><chapter><section><title> msgid "Social dynamics of Debian" msgstr "Социальная динамика Debian" #. type: Content of: <book><chapter><section><para> msgid "" "Here are some observations of Debian's social dynamics, presented in the " "hope that it will prepare you for interactions with Debian." msgstr "" "Вот некоторые наблюдения за социальной динамикой Debian, представленные в " "надежде, что это подготовит вас к взаимодействию с Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "We all are volunteers." msgstr "Все занимаются Debian на добровольной основе." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You cannot impose on others what to do." msgstr "Вы не можете указывать другим что делать." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be motivated to do things by yourself." msgstr "Вы сами должны быть заинтересованы что-то делать." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Friendly cooperation is the driving force." msgstr "Движущая сила — дружественное сотрудничество." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution should not overstrain others." msgstr "Ваш вклад не должен перенапрягать остальных." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution is valuable only when others appreciate it." msgstr "Ваш вклад полезен, если так посчитают остальные." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Debian is not your school where you get automatic attention of teachers." msgstr "" "Debian — это не школа, где вы автоматически получите внимание учителей." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be able to learn many things by yourself." msgstr "Вы должны быть способны учиться самостоятельно." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Attention from other volunteers is a very scarce resource." msgstr "Внимание других добровольцев — очень дефицитный ресурс." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Debian is constantly improving." msgstr "Debian постоянно улучшается." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You are expected to make high quality packages." msgstr "От вас ожидают высококачественных пакетов." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should adapt yourself to change." msgstr "Вы сами должны адаптироваться к изменениям." #. type: Content of: <book><chapter><section><para> msgid "" "There are several types of people interacting around Debian with different " "roles." msgstr "" "Есть несколько групп людей, взаимодействующих в Debian друг с другом в " "различных качествах:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream author</emphasis>: the person who made " "the original program." msgstr "" "<emphasis role=\"strong\">автор программы (upstream author)</emphasis> — " "человек, который создал программу." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who " "currently maintains the program." msgstr "" "<emphasis role=\"strong\">сопровождающий программы (upstream maintainer)</" "emphasis> — человек, который сопровождает программу в настоящее время." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">maintainer</emphasis>: the person making the " "Debian package of the program." msgstr "" "<emphasis role=\"strong\">сопровождающий (maintainer)</emphasis> — человек, " "который создал для программы пакет Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">sponsor</emphasis>: a person who helps maintainers " "to upload packages to the official Debian package archive (after checking " "their contents)." msgstr "" "<emphasis role=\"strong\">поручитель (sponsor)</emphasis> — человек, который " "помогает сопровождающим помещать пакеты в официальный архив пакетов Debian " "(после проверки их содержимого)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">mentor</emphasis>: a person who helps novice " "maintainers with packaging etc." msgstr "" "<emphasis role=\"strong\">наставник (mentor)</emphasis> — человек, который " "помогает новым сопровождающим в пакетировании и т.п." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): a member of the " "Debian project with full upload rights to the official Debian package " "archive." msgstr "" "<emphasis role=\"strong\">разработчик Debian</emphasis> (DD) — человек, " "являющийся участником проекта Debian. У него есть право на размещение " "пакетов в официальном архиве пакетов Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): a person with " "limited upload rights to the official Debian package archive." msgstr "" "<emphasis role=\"strong\">сопровождающий Debian</emphasis> (DM) — человек, " "обладающий ограниченными правами на размещение пакетов в официальном архиве " "пакетов Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you cannot become an official <emphasis role=\"strong" "\">Debian Developer</emphasis> (DD) overnight, because it takes more than " "technical skill. Please do not be discouraged by this. If it is useful to " "others, you can still upload your package either as a <emphasis role=\"strong" "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</" "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>." msgstr "" "Вы не можете стать официальным <emphasis role=\"strong\">разработчиком " "Debian</emphasis> за вечер, так как для этого требуются не только " "технические знания. Но не унывайте. Если ваш пакет полезен другим, вы можете " "предложить его будучи <emphasis role=\"strong\">сопровождающим</emphasis> " "через <emphasis role=\"strong\">поручителя</emphasis> или как <emphasis role=" "\"strong\">сопровождающий Debian</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you do not need to create any new package to become an " "official Debian Developer. Contributing to the existing packages can " "provide a path to becoming an official Debian Developer too. There are many " "packages waiting for good maintainers (see <xref linkend=\"choose\"/>)." msgstr "" "Заметим, что вам не нужно обязательно создавать новый пакет, чтобы стать " "официальным разработчиком Debian, для этого достаточно поддерживать " "существующие пакеты. Есть много пакетов, которые ждут хороших сопровождающих " "(смотрите <xref linkend=\"choose\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "Since we focus only on technical aspects of packaging in this document, " "please refer to the following to learn how Debian functions and how you can " "get involved." msgstr "" "Этот документ описывает технические моменты пакетирования. О том, как " "работает Debian, и как вы можете помочь, обратите внимание на следующие " "страницы:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (Introductory slides)" msgstr "" "<ulink url=\"&logiciellibre;\">Debian: 17 лет Свободного ПО, «дело-кратия» и " "демократия</ulink> (вступительные слайды)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)" msgstr "" "<ulink url=\"&debianorghelp;\">Как помочь Debian?</ulink> (официальная " "страница)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "\"Contributing to the Debian Project\"</ulink> (semi-official)" msgstr "" "<ulink url=\"&debianfaqhelp;\">Часто задаваемые вопросы по Debian GNU/Linux, " "глава 13: «Содействие проекту Debian»</ulink> (полуофициальная страница)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " "(supplemental)" msgstr "" "<ulink url=\"&debianwikihelp;\">Страница HelpDebian в Debian Wiki</ulink> " "(дополнительно)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (official)" msgstr "" "<ulink url=\"&nm-do;\">Сайт нового сопровождающего Debian</ulink> " "(официальный)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)" msgstr "" "<ulink url=\"&debianmentorfaq;\">Список ответов на часто задаваемые вопросы " "наставникам Debian</ulink> (дополнительно)" #. type: Content of: <book><chapter><section><title> msgid "Programs needed for development" msgstr "Программы, необходимые для разработки" #. type: Content of: <book><chapter><section><para> msgid "" "Before you start anything, you should make sure that you have properly " "installed some additional packages needed for development. Note that the " "list doesn't contain any packages marked <literal>essential</literal> or " "<literal>required</literal> - we expect that you have those installed " "already." msgstr "" "Перед тем как начать, нужно убедиться, что установлены все необходимые для " "разработки пакеты. Обратите внимание, что приведённый ниже список не " "содержит пакеты, помеченные как <literal>обязательные</literal> (essential) " "или <literal>требуемые</literal> (required) — считается, что эти пакеты уже " "установлены на вашей машине." #. type: Content of: <book><chapter><section><para> msgid "" "The following packages come with the standard Debian installation, so you " "probably have them already (along with any additional packages they depend " "on). Still, you should check it with <literal>aptitude show " "<replaceable>package</replaceable></literal> or with <literal>dpkg -s " "<replaceable>package</replaceable></literal>." msgstr "" "Приведённые ниже пакеты присутствуют в стандартной установке Debian, то " "есть, скорее всего, они уже установлены на вашей машине (как, впрочем, и " "пакеты, которые им нужны для работы). Несмотря на это, мы рекомендуем " "проверить их наличие с помощью команды <literal>aptitude show " "<replaceable>пакет</replaceable></literal> или <literal>dpkg -s " "<replaceable>пакет</replaceable></literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The most important package to install on your development system is the " "<systemitem role=\"package\">build-essential</systemitem> package. Once you " "try to install that, it will <emphasis>pull in</emphasis> other packages " "required to have a basic build environment." msgstr "" "Самый важный пакет в системе разработчика — <systemitem role=\"package" "\">build-essential</systemitem>. Его установка повлечёт за собой " "<emphasis>загрузку</emphasis> других пакетов, требуемых для основы среды " "сборки." #. type: Content of: <book><chapter><section><para> msgid "" "For some types of packages, that is all you will require; however, there is " "another set of packages that while not essential for all package builds are " "useful to have installed or may be required by your package:" msgstr "" "Кроме пакетов, требуемых для сборки любого пакета, есть пакеты, которые " "нужны только для некоторых пакетов; установите их, они могут пригодиться " "именно для вашего пакета:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem>, and <systemitem role=\"package" "\">autotools-dev</systemitem> - many newer programs use configure scripts " "and <filename>Makefile</filename> files preprocessed with the help of " "programs like these (see <literal>info autoconf</literal>, <literal>info " "automake</literal>). <systemitem role=\"package\">autotools-dev</" "systemitem> keeps up-to-date versions of certain auto files and has " "documentation about the best way to use those files." msgstr "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem> и <systemitem role=\"package\">autotools-" "dev</systemitem> — данные утилиты (смотрите <literal>info autoconf</" "literal>, <literal>info automake</literal>) используются во многих " "современных программах для создания сценариев настройки и файла " "<filename>Makefile</filename>. В пакете <systemitem role=\"package" "\">autotools-dev</systemitem> содержатся самые новые версии некоторых файлов " "auto- и документация по их применению." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "There are also some more specialized but similar packages such as " "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" "\"package\">dh-make-php</systemitem>, etc." msgstr "" "Существуют также похожие, более специализированные пакеты, такие как " "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" "\"package\">dh-make-php</systemitem> и т.д." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debhelper</systemitem> and <systemitem role=" "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> is necessary to create the skeleton of our example package, and " "it will use some of the <systemitem role=\"package\">debhelper</systemitem> " "tools for creating packages. They are not essential for this purpose, but " "are <emphasis>highly</emphasis> recommended for new maintainers. It makes " "the whole process very much easier to start, and to control afterwards. " "(See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">debhelper</systemitem> и <systemitem role=" "\"package\">dh-make</systemitem> — пакет <systemitem role=\"package\">dh-" "make</systemitem> необходим для создания скелета нашего будущего пакета. Для " "этого он будет использовать некоторые инструменты из пакета <systemitem role=" "\"package\">debhelper</systemitem>. Использовать их необязательно, но мы " "<emphasis>очень</emphasis> рекомендуем их начинающим разработчикам. Они " "сильно упрощают процесс создания и поддержки пакетов (смотрите " "<citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">devscripts</systemitem> - this package contains " "some useful scripts that can be helpful for maintainers, but they are also " "not necessary for building packages. Packages recommended and suggested by " "this package are worth looking into. (See <filename>&devscripts-readme;</" "filename>.)" msgstr "" "<systemitem role=\"package\">devscripts</systemitem> — данный пакет содержит " "сценарии, полезные для сопровождающих, но так же не являющиеся необходимыми " "для сборки пакетов. Стоит обратить внимание на рекомендуемые и предлагаемые " "им пакеты (смотрите <filename>&devscripts-readme;</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you " "emulate being root which is necessary for some parts of the build process. " "(See <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">fakeroot</systemitem> — данная утилита " "позволяет эмулировать наличие прав прав пользователя root, которые " "необходимы на некоторых этапах процесса сборки (смотрите <citerefentry> " "<refentrytitle>fakeroot</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">file</systemitem> - this handy program can " "determine what type a file is. (See <citerefentry> <refentrytitle>file</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">file</systemitem> — данная программа позволяет " "определить тип файла (смотрите <citerefentry> <refentrytitle>file</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " "compiler, necessary if your program is written in Fortran. (See " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gfortran</systemitem> — пакет содержит " "компилятор GNU Fortran; требуется, если программа написана на Fortran " "(смотрите <citerefentry> <refentrytitle>gfortran</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git</systemitem> - this package provides a " "popular version control system designed to handle very large projects with " "speed and efficiency; it is used for many high profile open source projects, " "most notably the Linux kernel. (See <citerefentry> <refentrytitle>git</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, git Manual " "(<filename>&git-doc;</filename>).)" msgstr "" "<systemitem role=\"package\">git</systemitem> — данный пакет предоставляет " "популярную систему контроля версий, разработанную для быстрого и " "эффективного сопровождения очень больших проектов; она используется во " "многих известных проектах с открытым кодом, наиболее заметным из которых " "является ядро Linux (смотрите <citerefentry> <refentrytitle>git</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, руководство по git " "(<filename>&git-doc;</filename>))." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to " "digitally <emphasis>sign</emphasis> packages. This is especially important " "if you want to distribute it to other people, and you will certainly be " "doing that when your work gets included in the Debian distribution. (See " "<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">gnupg</systemitem> — данный инструмент " "позволяет <emphasis>подписывать</emphasis> пакеты. Это особенно важно, если " "вы хотите распространять их, и вы точно будете делать это, если хотите, " "чтобы ваш пакет был включён в дистрибутив Debian (смотрите <citerefentry> " "<refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " "necessary if your program is written in Pascal. Worthy of note here is " "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " "Compiler, which is also good at this task. (See <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gpc</systemitem> — пакет содержит компилятор " "GNU Pascal, который требуется при работе с программами, написанными на " "Pascal. Для этой задачи также хорошо подходит <systemitem role=\"package" "\">fp-compiler</systemitem>, Free Pascal Compiler (смотрите <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lintian</systemitem> - this is the Debian " "package checker, which can let you know of any common mistakes after you " "build the package, and explains the errors found. (See <citerefentry> " "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)" msgstr "" "<systemitem role=\"package\">lintian</systemitem> — данная программа " "предназначена для проверки пакетов Debian. Если вы допустили одну из " "распространённых ошибок, она сообщит вам об этом после сборки пакета и " "покажет пояснение по каждой найденной ошибке (смотрите <citerefentry> " "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <ulink url=\"&lintian-doc;\">руководство пользователя " "lintian</ulink>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patch</systemitem> - this very useful utility " "will take a file containing a difference listing (produced by the " "<command>diff</command> program) and apply it to the original file, " "producing a patched version. (See <citerefentry> <refentrytitle>patch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">patch</systemitem> — данная утилита изменяет " "исходный файл в соответствии со списком различий между файлами, полученным " "при помощи программы <command>diff</command> (смотрите <citerefentry> " "<refentrytitle>patch</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patchutils</systemitem> - this package contains " "some utilities to work with patches such as the <command>lsdiff</command>, " "<command>interdiff</command> and <command>filterdiff</command> commands." msgstr "" "<systemitem role=\"package\">patchutils</systemitem> — данный пакет содержит " "несколько утилит для работы с заплатами, например <command>lsdiff</command>, " "<command>interdiff</command> и <command>filterdiff</command>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">pbuilder</systemitem> - this package contains " "programs which are used for creating and maintaining <command>chroot</" "command> environment. Building Debian package in this <command>chroot</" "command> environment verifies the proper build dependency and avoid FTBFS " "(Fails To Build From Source) bugs. (see <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" msgstr "" "<systemitem role=\"package\">pbuilder</systemitem> — пакет содержит " "программы, которые используются для создания и сопровождения окружения " "<command>chroot</command>. Сборка пакета Debian в окружении <command>chroot</" "command> позволяет проверить правильность указанных сборочных зависимостей и " "избежать ошибок FTBFS (ошибки при сборке из исходного кода) (смотрите " "<citerefentry> <refentrytitle>pbuilder</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry> и <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">perl</systemitem> - Perl is one of the most " "used interpreted scripting languages on today's Unix-like systems, often " "referred to as Unix's Swiss Army Chainsaw. (See <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">perl</systemitem> — один из наиболее " "используемых интерпретируемых языков в Unix-системах. Его часто называют " "«Unix's Swiss Army Chainsaw» (швейцарской армейской пилой) (смотрите " "<citerefentry> <refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">python</systemitem> - Python is another of the " "most used interpreted scripting languages on the Debian system, combining " "remarkable power with very clear syntax. (See <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">python</systemitem> — ещё один из наиболее " "используемых интерпретируемых языков в Debian, который объединяет " "необычайную мощь с очень понятным синтаксисом (смотрите <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">quilt</systemitem> - this package helps you to " "manage large numbers of patches by keeping track of the changes each patch " "makes. Patches can be applied, un-applied, refreshed, and more. (See " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum></citerefentry>, and <filename>&quilt-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">quilt</systemitem> — пакет помогает управлять " "большими наборами заплат, отслеживая каждое сделанное изменение. Заплаты " "логически организуются в стек, и вы можете накладывать их, откатывать " "изменения, обновлять их и т.д. (смотрите <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum></" "citerefentry>, <filename>&quilt-pdf;</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " "usually those made for X11, also use these programs to generate " "<filename>Makefile</filename> files from sets of macro functions. (See " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">xutils-dev</systemitem> — пакет содержит " "программы, которые используются при сборке пакетов для X11, например с их " "помощью генерируется <filename>Makefile</filename> из набора макрофункций " "(смотрите <citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>xmkmf</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><para> msgid "" "The short descriptions that are given above only serve to introduce you to " "what each package does. Before continuing please read the documentation of " "each relevant program including ones installed through the package " "dependency such as <command>make</command>, at least, for the standard " "usage. It may seem like heavy going now, but later on you'll be " "<emphasis>very</emphasis> glad you read it. If you have specific questions " "later, I would suggest re-reading the documents mentioned above." msgstr "" "Краткие описания, показанные выше, даны лишь для того, чтобы у вас сложилось " "общее представление о том, для чего предназначен каждый пакет. Прежде чем " "продолжить, полностью прочитайте документацию к каждой программе (в том " "числе по установленным согласно зависимостям пакетам, например " "<command>make</command>), по крайней мере, по основам работы. Сейчас это " "может оказаться слишком трудным, но позже вы будете <emphasis>очень</" "emphasis> довольны, что сделали это. Если позднее у вас возникнут конкретные " "вопросы, перечитайте документацию, упомянутую выше." #. type: Content of: <book><chapter><section><title> msgid "Documentation needed for development" msgstr "Документация, необходимая для разработки" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>very important</emphasis> documentation which " "you should read along with this document:" msgstr "" "Кроме этого документа также <emphasis>очень важно</emphasis> прочитать " "следующую документацию:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " "the structure and contents of the Debian archive, several OS design issues, " "the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which " "says where each file and directory should be), etc. For you, the most " "important thing is that it describes requirements that each package must " "satisfy to be included in the distribution. (See the local copies of " "<filename>&policy-pdf;</filename> and <filename>&fhs-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">debian-policy</systemitem> — в <ulink url=" "\"&debian-policy;\">руководстве по политике Debian</ulink> содержится " "описание структуры и содержимого архива Debian, некоторых проблем при " "разработке операционной системы, <ulink url=\"&fhs;\">стандарт иерархии " "файловой системы</ulink> (FHS, в котором оговаривается расположение каждого " "файла и каталога) и т.д. Также (что для вас важнее всего), в пакете указаны " "требования, которым должен удовлетворять каждый пакет Debian для того, чтобы " "он мог быть включён в дистрибутив (смотрите локальные файлы " "<filename>&policy-pdf;</filename> и <filename>&fhs-pdf;</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">developers-reference</systemitem> - the <ulink " "url=\"&developers-reference;\">Debian Developer's Reference</ulink> " "describes all matters not specifically about the technical details of " "packaging, like the structure of the archive, how to rename, orphan, or " "adopt packages, how to do NMUs, how to manage bugs, best packaging " "practices, when and where to upload etc. (See the local copy of " "<filename>&developers-refpdf;</filename>.)" msgstr "" "<systemitem role=\"package\">developers-reference</systemitem> — в <ulink " "url=\"&developers-reference;\">справочнике разработчика Debian</ulink> " "содержится информация, не относящаяся непосредственно к техническим вопросам " "создания пакетов. Здесь содержится информация о структуре архива, о том, как " "переименовывать, переводить в брошенное состояние или подбирать брошенные " "пакеты, как обновить пакет, не являясь его разработчиком (NMU), как " "управлять ошибками, когда и как обновлять пакеты и т.п. (смотрите локальный " "файл <filename>&developers-refpdf;</filename>)." #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>important</emphasis> documentation which you " "should read along with this document:" msgstr "" "Кроме этого документа также <emphasis>важно</emphasis> прочитать следующую " "документацию:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides a " "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " "System known as the GNU Autotools</ulink> whose most important components " "are Autoconf, Automake, Libtool, and gettext." msgstr "" "В <ulink url=\"&autotools-tutorial;\">учебнике по Autotools</ulink> " "представлено очень хорошее руководство по <ulink url=\"&gnu-build-system;\"> " "системе сборки GNU (GNU Autotools)</ulink>, наиболее важными компонентами " "которой являются Autoconf, Automake, Libtool и gettext." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnu-standards</systemitem> - this package " "contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-" "standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;" "\">Information for Maintainers of GNU Software</ulink>. Although Debian " "does not require these to be followed, these are still helpful as guidelines " "and common sense. (See the local copies of <filename>&gnu-standard-pdf;</" "filename> and <filename>&gnu-maintainer-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">gnu-standards</systemitem> — в этом пакете " "содержатся две части документации проекта GNU: <ulink url=\"&gnu-standard;" "\">стандарты написания кода GNU </ulink> и <ulink url=\"&gnu-maintainer;" "\">информация для сопровождающих ПО GNU </ulink>. Хотя в Debian не требуется " "их соблюдения, они всё равно полезны для общего понимания (смотрите " "локальные файлы <filename>&gnu-standard-pdf;</filename> и <filename>&gnu-" "maintainer-pdf;</filename>)." #. type: Content of: <book><chapter><section><para> msgid "" "If this document contradicts any of the documents mentioned above, they are " "correct. Please file a bug report on the <systemitem role=\"package\">maint-" "guide</systemitem> package using <command>reportbug</command>." msgstr "" "Если этот документ в чём-то противоречит документам, упомянутым выше, это " "считается ошибкой. Отправьте сообщение об ошибке в пакете <systemitem role=" "\"package\">maint-guide</systemitem> с помощью <command>reportbug</command>." #. type: Content of: <book><chapter><section><para> msgid "" "The following is an alternative tutorial documentation which you may read " "along with this document:" msgstr "Также, вместе с этим документом можно почитать следующую документацию:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" msgstr "" "<ulink url=\"&debpkg-tutorial0;\">Учебник Debian по пакетированию</ulink>" #. type: Content of: <book><chapter><section><title> msgid "Where to ask for help" msgstr "Где искать помощь" #. type: Content of: <book><chapter><section><para> msgid "" "Before you decide to ask your question in some public place, please read the " "fine documentation." msgstr "" "Прежде всего, перед тем как задавать вопрос, внимательно прочитайте " "документацию:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "files in <filename>/usr/share/doc/<replaceable>package</replaceable></" "filename> for all pertinent packages" msgstr "" "файлы в <filename>/usr/share/doc/<replaceable>пакет</replaceable></filename> " "для всех используемых пакетов" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>man</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "содержимое <literal><command>man</command> <replaceable>команда</" "replaceable></literal> для всех используемых команд" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>info</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "содержимое <literal><command>info</command> <replaceable>команда</" "replaceable></literal> для всех используемых команд" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian." "org mailing list archive</ulink>" msgstr "" "содержимое <ulink url=\"&debian-mentors-ldo;\">архива списка рассылки debian-" "mentors@lists.debian.org</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org " "mailing list archive</ulink>" msgstr "" "содержимое <ulink url=\"&debian-devel-ldo;\">архива списка рассылки debian-" "devel@lists.debian.org</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "You can use web search engines more effectively by including search strings " "such as <literal>site:lists.debian.org</literal> to limit the domain." msgstr "" "Для более эффективного поиска с помощью поисковых машин добавьте в строку " "поиска <literal>site:lists.debian.org</literal> для ограничения по домену " "поиска." #. type: Content of: <book><chapter><section><para> msgid "" "Making a small test package is a good way to learn details of packaging. " "Inspecting existing well maintained packages is the best way to learn how " "other people make packages." msgstr "" "Создание маленького тестового пакета — хороший способ научиться " "пакетированию. Изучая устройство тщательно сопровождаемых пакетов, можно " "узнать ещё больше." #. type: Content of: <book><chapter><section><para> msgid "" "If you still have questions about packaging that you couldn't find answers " "to in the available documentation and web resources, you can ask them " "interactively." msgstr "" "Если вы не смогли найти ответы на свои вопросы в документации и веб, то " "можете задать их интерактивно:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (This mailing list is for the novice.)" msgstr "" "в <ulink url=\"&debian-mentors-ldo;\">список рассылки debian-mentors@lists." "debian.org</ulink> (для новичков)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " "list</ulink>. (This mailing list is for the expert.)" msgstr "" "в <ulink url=\"&debian-devel-ldo;\">список рассылки debian-devel@lists." "debian.org</ulink> (для опытных разработчиков)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</" "literal>." msgstr "" "на канале <ulink url=\"&irc-debian;\">IRC</ulink>, например в " "<literal>#debian-mentors</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The more experienced Debian developers will gladly help you, if you ask " "properly after making your required efforts." msgstr "" "Более опытные разработчики Debian будут рады помочь вам, если на правильно " "зададите вопрос после попыток разобраться самостоятельно." #. type: Content of: <book><chapter><section><para> msgid "" "When you receive a bug report (yes, actual bug reports!), you will know that " "it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking " "System</ulink> and read the documentation there, to be able to deal with the " "reports efficiently. I highly recommend reading the <ulink url=\"&devref-" "bug-handling;\">Debian Developer's Reference, 5.8. \"Handling bugs\"</" "ulink>." msgstr "" "Когда вы получите сообщение об ошибке (да, сообщения о реальных ошибках!), " "то знайте, что пришло время разобраться с <ulink url=\"&bts;\"> системой " "отслеживания ошибок Debian</ulink> и прочитать имеющуюся там документацию, " "чтобы эффективно работать с сообщениями об ошибках. Настоятельно рекомендуем " "прочитать <ulink url=\"&devref-bug-handling;\">справочник разработчика " "Debian, раздел 5.8. «Работа с ошибками»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Even if it all worked well, it's time to start praying. Why? Because in " "just a few hours (or days) users from all around the world will start to use " "your package, and if you made some critical error you'll get mailbombed by " "numerous angry Debian users... Just kidding. :-)" msgstr "" "Даже если всё правильно работало, настало время молиться. Почему? Потому что " "через несколько часов или дней пользователи по всему миру начнут " "использовать ваш пакет и, если вы допустили какую-нибудь критическую ошибку, " "многочисленные разгневанные пользователи Debian устроят атаку на почтовый " "ящик… Шутка, шутка. :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Relax and be ready for bug reports, because there is a lot more work to be " "done before your package will be fully in line with Debian policies and its " "best practice guidelines (once again, read the <emphasis>real documentation</" "emphasis> for details). Good luck!" msgstr "" "Отдохните и приготовьтесь получать сообщения об ошибках, так как много чего " "ещё нужно сделать для того, чтобы пакет полностью соответствовал политике " "Debian (ещё раз, прочитайте <emphasis>имеющуюся документацию</emphasis>). " "Успехов!" #. type: Content of: <book><chapter><title> msgid "First steps" msgstr "Первые шаги" #. type: Content of: <book><chapter><para> msgid "" "Let's start by creating a package of your own (or, even better, adopting an " "existing one)." msgstr "" "Давайте попробуем создать свой собственный пакет (или, ещё лучше, " "адаптировать существующий)." #. type: Content of: <book><chapter><section><title> msgid "Debian package building workflow" msgstr "Порядок сборки пакета Debian" #. type: Content of: <book><chapter><section><para> msgid "" "If you are making a Debian package with an upstream program, the typical " "workflow of Debian package building involves generating several specifically " "named files for each step as follows." msgstr "" "При создании пакета Debian из исходного кода программы в процессе сборки на " "каждом этапе генерируется несколько файлов со специальными именами:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Get a copy of the upstream software, usually in a compressed tar format." msgstr "получение копии исходного ПО, обычно в формате сжатого tar" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>пакет</replaceable>-<replaceable>версия</replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add Debian-specific packaging modifications to the upstream program under " "the <filename>debian</filename> directory, and create a non-native source " "package (that is, the set of input files used for Debian package building) " "in <literal>3.0 (quilt)</literal> format." msgstr "" "добавление специальных изменений Debian в исходную программу в каталог " "<filename>debian</filename> и создание неродного (non-native) пакета с " "исходным кодом (то есть, набора входных файлов, используемых для сборки " "пакета Debian) в формате <literal>3.0 (quilt)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig." "tar.gz" msgstr "" "<replaceable>пакет</replaceable>_<replaceable>версия</replaceable>.orig.tar." "gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.debian.tar.gz" msgstr "" "<replaceable>пакет</replaceable>_<replaceable>версия</replaceable>-" "<replaceable>редакция</replaceable>.debian.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><footnote><para> msgid "" "For the older style of non-native Debian source packages in <literal>1.0</" "literal> format, <literal><replaceable>package</" "replaceable>_<replaceable>version</replaceable>-<replaceable>revision</" "replaceable>.diff.gz</literal> is used instead." msgstr "" "В старом формате <literal>1.0</literal> для неродных пакетов Debian с " "исходным кодом использовалось имя <literal><replaceable>пакет</" "replaceable>_<replaceable>версия</replaceable>-<replaceable>редакция</" "replaceable>.diff.gz</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.dsc" msgstr "" "<replaceable>пакет</replaceable>_<replaceable>версия</replaceable>-" "<replaceable>редакция</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Build Debian binary packages, which are ordinary installable package files " "in <literal>.deb</literal> format (or <literal>.udeb</literal> format, used " "by the Debian Installer) from the Debian source package." msgstr "" "сборка двоичных пакетов Debian для получения обычных файлов пакетов для " "установки в формате <literal>.deb</literal> (или в формате <literal>.udeb</" "literal>, который используется Debian Installer) из пакета Debian с исходным " "кодом" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>пакет</replaceable>_<replaceable>версия</replaceable>-" "<replaceable>редакция</replaceable>_<replaceable>архитектура</replaceable>." "deb" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the character separating <literal><replaceable>package</" "replaceable></literal> and <literal><replaceable>version</replaceable></" "literal> was changed from <literal>-</literal> (hyphen) in the tarball name " "to <literal>_</literal> (underscore) in the Debian package filenames." msgstr "" "Заметим, что в именах файлов пакетов Debian для разделения " "<literal><replaceable>пакета</replaceable></literal> и " "<literal><replaceable>версии</replaceable></literal> используется символ " "<literal>_</literal> (подчёркивание), а не <literal>-</literal> (дефис), как " "в имени оригинального tar-файла." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. The <emphasis role=\"strong" "\">package architecture</emphasis> follows the <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> and is " "automatically assigned by the package build process." msgstr "" "Смотрите описание полей <ulink url=\"&policy-source;\">5.6.1 «Source»</" "ulink>, <ulink url=\"&policy-package;\">5.6.7 «Package»</ulink> и <ulink url=" "\"&policy-version;\">5.6.12 «Version»</ulink>. Значение <emphasis role=" "\"strong\">архитектуры пакета</emphasis> задаётся согласно <ulink url=" "\"&policy-architecture;\">политике Debian в разделе 5.6.8, «Architecture»</" "ulink> и автоматически назначается в процессе сборки пакета." #. type: Content of: <book><chapter><section><para> msgid "" "In the file names above, replace the <literal><replaceable>package</" "replaceable></literal> part with the <emphasis role=\"strong\">package name</" "emphasis>, the <literal><replaceable>version</replaceable></literal> part " "with the <emphasis role=\"strong\">upstream version</emphasis>, the " "<literal><replaceable>revision</replaceable></literal> part with the " "<emphasis role=\"strong\">Debian revision</emphasis>, and the " "<literal><replaceable>arch</replaceable></literal> part with the <emphasis " "role=\"strong\">package architecture</emphasis>, as defined in the Debian " "Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "В именах файлов, представленных выше, замените часть " "<literal><replaceable>пакет</replaceable></literal> на <emphasis role=" "\"strong\">имя пакета</emphasis>, часть <literal><replaceable>версия</" "replaceable></literal> на <emphasis role=\"strong\">версию исходной " "программы</emphasis>, часть <literal><replaceable>редакция</replaceable></" "literal> на <emphasis role=\"strong\">редакцию Debian</emphasis> и часть " "<literal><replaceable>архитектура</replaceable></literal> на <emphasis role=" "\"strong\">архитектуру, для которой предназначен пакет</emphasis>, в " "соответствии с политикой Debian <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "If instead you are making a Debian-specific package with no upstream, the " "typical workflow of Debian package building is simpler." msgstr "" "Если вы создаёте пакет для Debian и у него нет отдельного автора, количество " "шагов в обычном порядке сборки пакета Debian уменьшается:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a native Debian source package in the <literal>3.0 (native)</literal> " "format using a single compressed tar file in which all files are included." msgstr "" "создание родного пакета Debian с исходным кодом в формате <literal>3.0 " "(native)</literal>, состоящем из одного сжатого файла tar, в который " "включены все файлы" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>пакет</replaceable>_<replaceable>версия</replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" msgstr "<replaceable>пакет</replaceable>_<replaceable>версия</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Build Debian binary packages from the native Debian source package." msgstr "" "сборка двоичных пакетов Debian из родного пакета Debian с исходным кодом" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>пакет</replaceable>_<replaceable>версия</" "replaceable>_<replaceable>архитектура</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Each step of this outline is explained with detailed examples in later " "sections." msgstr "" "Каждый шаг, показанный ранее, детально описан на примерах в последующих " "разделах." #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "Выбор программы" #. type: Content of: <book><chapter><section><para> msgid "" "You have probably chosen the package you want to create. The first thing " "you need to do is check if the package is in the distribution archive " "already by using the following." msgstr "" "Вы, вероятно, уже выбрали пакет, который хотите создать. Первое, что вам " "необходимо сделать, это проверить, нет ли уже этого пакета в архиве " "дистрибутива, используя:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <command>aptitude</command> command" msgstr "команду <command>aptitude</command>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page" msgstr "веб-страницу <ulink url=\"&packages-do;\">пакетов Debian</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> " "web page" msgstr "" "веб-страницу <ulink url=\"&packages-qa-do;\">системы отслеживания пакетов " "Debian</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. " "\"Adopting a package\"</ulink>." msgstr "" "Смотрите <ulink url=\"&devref-adopt;\">справочник разработчика Debian 5.9.5. " "«Адаптация пакета»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If the package already exists, well, install it! :-) If it happens to be " "<emphasis role=\"strong\">orphaned</emphasis> (that is, if its maintainer is " "set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>), you may be able to " "pick it up if it's still available. You may also adopt a package whose " "maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</" "emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Если пакет уже есть, то просто установите его! :-) Если случится так, что он " "окажется <emphasis role=\"strong\">брошенным</emphasis> (orphaned) — то есть " "сопровождающий передал его <ulink url=\"&qa-do;\">Debian QA Group</ulink>, " "то вы сможете подобрать его, если он ещё будет доступен. Также вы можете " "взять пакет, если его сопровождающий послал «запрос об усыновлении» (Request " "for Adoption, <emphasis role=\"strong\">RFA</emphasis>) <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "There are several package ownership status resources." msgstr "" "Есть несколько ресурсов для получения информации о состоянии владения " "пакетом:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" msgstr "<ulink url=\"&wnpp-do;\">Требующие доработки и будущие пакеты</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" msgstr "" "<ulink url=\"&wnpp-bts;\">Журналы сообщений об ошибках Debian: ошибки в " "псевдо-пакете <systemitem role=\"package\">wnpp</systemitem> в " "<literal>unstable</literal></ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgstr "<ulink url=\"&wnpp-dn;\">Пакеты Debian, которым нужна забота</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" msgstr "" "<ulink url=\"&wnpp-debtags;\">Просмотр ошибок <systemitem role=\"package" "\">wnpp</systemitem> на основе категорий debtag</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Having said that, there will of course always be new programs that are worth " "packaging." msgstr "" "С другой стороны, всегда будут появляться новые программы, которые хотелось " "бы иметь в виде пакета." #. type: Content of: <book><chapter><section><para> msgid "" "As a side note, it's important to point out that Debian already has packages " "for most kinds of programs, and the number of packages already in the Debian " "archive is much larger than that of contributors with upload rights. Thus, " "contributions to packages already in the archive are far more appreciated " "(and more likely to receive sponsorship) by other developers <placeholder " "type=\"footnote\" id=\"0\"/>. You can contribute in various ways." msgstr "" "Попутно отметим, что в Debian уже есть пакеты для большинства типов " "программ, и их количество в архиве Debian намного больше, чем участников с " "правом загрузки. Поэтому работа над пакетами, которые уже включены в архив, " "намного предпочтительней (и с большей вероятностью получит поручительство) с " "точки зрения других разработчиков <placeholder type=\"footnote\" id=\"0\"/>. " "Этого можно достичь различными путями:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "подобрать брошенный, но пока активно используемый пакет" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>" msgstr "войти в одну из <ulink url=\"&teams;\">команд по пакетированию</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "исправлять ошибки в очень популярных пакетах" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" msgstr "" "подготовить пакет для <ulink url=\"&devref-nmu;\">QA или NMU загрузки</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "If you are able to adopt the package, get the sources (with something like " "<literal>apt-get source <replaceable>packagename</replaceable></literal>) " "and examine them. This document unfortunately doesn't include comprehensive " "information about adopting packages. Thankfully you shouldn't have a hard " "time figuring out how the package works since someone has already done the " "initial setup for you. Keep reading, though; a lot of the advice below will " "still be applicable for your case." msgstr "" "Если вы способны усыновить (adopt) пакет, возьмите пакет с исходным кодом " "(например, с помощью <literal>apt-get source <replaceable>имя_пакета</" "replaceable></literal>) и просмотрите его. К сожалению, этот документ не " "содержит полной информации об усыновлении пакетов. Но вам не потребуется " "много времени, чтобы выяснить, как работает пакет, так как кто-то уже " "выполнил первоначальную работу. Тем не менее продолжайте читать этот " "документ, многое из него пригодится и в вашем случае." #. type: Content of: <book><chapter><section><para> msgid "" "If the package is new, and you decide you'd like to see it in Debian, " "proceed as follows:" msgstr "" "Если пакет новый и вы решили, что он нужен в Debian, то сделайте следующее:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "First, you must know that the program works, and have tried it for some time " "to confirm its usefulness." msgstr "" "Во-первых, вы должны знать, что программа работает и вы, поработав с ней " "некоторое время, сочли её полезной." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "You must check that no one else is already working on the package on the " "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> " "site. If no one else is working on it, file an ITP (Intent To Package) bug " "report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " "using <command>reportbug</command>. If someone's already on it, contact " "them if you feel you need to. If not - find another interesting program " "that nobody is maintaining." msgstr "" "Проверьте, нет ли её в <ulink url=\"&wnpp-do;\">списке пакетов, над которыми " "уже ведётся работа</ulink>. Если нет, то пошлите сообщение об ошибке типа " "ITP (Intent To Package, намерение создать пакет) на псевдо-пакет <systemitem " "role=\"package\">wnpp</systemitem> с помощью <command>reportbug</command>. " "Если работа уже ведётся, свяжитесь с сопровождающим и спросите, не нужно ли " "помочь. Если помощь не требуется — поищите другую интересную программу, " "которую ещё никто не сопровождает." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The software <emphasis role=\"strong\">must have a license</emphasis>." msgstr "" "У программы <emphasis role=\"strong\">обязательно должна быть лицензия</" "emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>main</literal> section, Debian Policy requires it <emphasis " "role=\"strong\">to be fully compliant with the Debian Free Software " "Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis " "role=\"strong\">not to require a package outside of <literal>main</literal></" "emphasis> for compilation or execution. This is the desired case." msgstr "" "Для секции <literal>main</literal> политика Debian требует, чтобы программа " "<emphasis role=\"strong\">удовлетворяла критериям Debian по определению " "Свободного ПО</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) и <emphasis " "role=\"strong\">не зависела от пакетов вне <literal>main</literal></" "emphasis> для компиляции или выполнения. Это предпочтительный вариант." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>contrib</literal> section, it must comply with the DFSG but " "it may require a package outside of <literal>main</literal> for compilation " "or execution." msgstr "" "Для секции <literal>contrib</literal> она должна удовлетворять DFSG, но " "может зависеть от пакетов вне <literal>main</literal> для компиляции или " "выполнения." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>non-free</literal> section, it may be non-compliant with " "the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>." msgstr "" "Для секции <literal>non-free</literal> она может не удовлетворять DFSG, но " "<emphasis role=\"strong\">должна быть распространяема</emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If you are unsure about where it should go, post the license text on <ulink " "url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for " "advice." msgstr "" "Если вы не уверены в том, где должна размещаться программа, отправьте текст " "лицензии в <ulink url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</" "ulink> и попросите совета." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The program should <emphasis role=\"strong\">not</emphasis> introduce " "security and maintenance concerns to the Debian system." msgstr "" "Программа <emphasis role=\"strong\">не</emphasis> должна создавать проблем с " "безопасностью и сопровождением системы Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should be well documented and its code needs to be " "understandable (i.e. not obfuscated)." msgstr "" "Программа должна быть хорошо документирована или, по крайней мере, понятна " "(то есть не содержать специально запутанного кода)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "You should contact the program's author(s) to check if they agree with " "packaging it and are amicable to Debian. It is important to be able to " "consult with the author(s) in case of any problems with the program, so " "don't try to package unmaintained software." msgstr "" "Вы должны связаться с авторами программы, чтобы убедиться, что они не против " "создания пакета Debian с их программой. Возможность консультироваться с " "авторами программы по поводу тех или иных проблем обычно очень важна, " "поэтому лучше не пытайтесь создавать пакеты для неподдерживаемых программ." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program certainly should <emphasis role=\"strong\">not</emphasis> run " "setuid root, or even better, it shouldn't need to be setuid or setgid to " "anything." msgstr "" "Программа определённо <emphasis role=\"strong\">не должна</emphasis> " "требовать запуска с помощью setuid root, а ещё лучше — вообще не требовать " "прав доступа setuid или setgid к чему-либо." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should not be a daemon, or go in an <filename>*/sbin</filename> " "directory, or open a port as root." msgstr "" "Программа не должна работать как служба, размещаться в каталогах <filename>*/" "sbin</filename> или открывать порты с правами root." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, the last one is just a safety measures, and intended to save you " "from enraging users if you do something wrong in some setuid daemon... When " "you gain more experience in packaging, you'll be able to package such " "software." msgstr "" "Разумеется, последние — это всего лишь меры предосторожности, которые спасут " "вас от разъяренных пользователей, если вы сделали что-то не так со службой, " "использующей setuid. Как только вы приобретёте определённый опыт, то сможете " "создавать пакеты с таким ПО." #. type: Content of: <book><chapter><section><para> msgid "" "As a new maintainer, you are encouraged to get some experience in packaging " "with easier packages and discouraged from creating complicated packages." msgstr "" "Как начинающий сопровождающий, не беритесь за сложные пакеты, пока не " "научитесь пакетировать самые простые." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Simple packages" msgstr "Простые пакеты" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (collection of data such as wallpaper " "graphics)" msgstr "" "одиночный двоичный пакет, архитектура = all (набор данных, например обои для " "рабочего стола)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (executables written in an interpreted " "language such as POSIX shell)" msgstr "" "одиночный двоичный пакет, архитектура = all (исполняемые файлы, написанные " "на интерпретируемых языках, таких как оболочка POSIX)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Intermediate complexity packages" msgstr "Пакеты средней сложности" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = any (ELF binary executables compiled from " "languages such as C and C++)" msgstr "" "одиночный двоичный пакет, архитектура = any (исполняемые двоичные файлы ELF, " "скомпилированные из исходного кода на C и C++)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "multiple binary packages, arch = any + all (packages for ELF binary " "executables + documentation)" msgstr "" "несколько двоичных пакетов, архитектура = any + all (пакеты с исполняемыми " "двоичными файлами ELF + документация)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "upstream source in a format other than <filename>tar.gz</filename> or " "<filename>tar.bz2</filename>" msgstr "" "исходный код в формате, отличном от <filename>tar.gz</filename> или " "<filename>tar.bz2</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "upstream source containing undistributable contents" msgstr "исходный код с содержимым, не подлежащим распространению" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "High complexity packages" msgstr "Пакеты повышенной сложности" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter module package used by other packages" msgstr "пакет для интерпретируемого модуля, используемого другими пакетами" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "generic ELF library package used by other packages" msgstr "пакет для обычной библиотеки ELF, используемого другими пакетами" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "multiple binary packages including an ELF library package" msgstr "несколько двоичных пакетов, включающих пакет с библиотекой ELF" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "source package with multiple upstream sources" msgstr "исходный код, получаемый из нескольких источников" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel module packages" msgstr "пакеты с модулями ядра" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel patch packages" msgstr "пакеты с заплатами к ядру" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "any package with non-trivial maintainer scripts" msgstr "любой пакет со сложными сценариями сопровождающего" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging high complexity packages is not too hard, but it requires a bit " "more knowledge. You should seek specific guidance for every complex feature. " "For example, some languages have their own sub-policy documents:" msgstr "" "Пакетирование пакетов повышенной сложности не слишком трудно, но требует " "больше знаний. Вы должны найти нужное руководство для каждой сложной " "функции. Например, для некоторых языков есть своя документация с политикой:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>" msgstr "<ulink url=\"&policy-perl;\">Политика для Perl</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-python;\">Python policy</ulink>" msgstr "<ulink url=\"&policy-python;\">Политика для Python</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-java;\">Java policy</ulink>" msgstr "<ulink url=\"&policy-java;\">Политика для Java</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Do not worry about the missing <filename>Makefile</filename>. You can " "install the <command>hello</command> command by simply using " "<command>debhelper</command> as in <xref linkend=\"install\"/>, or by " "modifying the upstream source to add a new <filename>Makefile</filename> " "with the <literal>install</literal> target as in <xref linkend=\"modify\"/>." msgstr "" "Не беспокойтесь об отсутствии файла <filename>Makefile</filename>. Вы можете " "установить команду <command>hello</command> просто с помощью " "<command>debhelper</command>, как показано в <xref linkend=\"install\"/>, " "или изменить исходный код, добавив новый <filename>Makefile</filename> с " "целью <literal>install</literal>, как показано в <xref linkend=\"modify\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " "practice and experiment with all the steps of Debian packaging with simple " "packages while reading this tutorial. A trivial upstream tarball " "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a " "good starting point.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Есть ещё одно старое латинское выражение: <emphasis>fabricando fit faber</" "emphasis> (мастер создаётся трудом). <emphasis>Настоятельно</emphasis> " "рекомендуем вам выполнять и экспериментировать над всеми шагами " "пакетирования Debian с простыми пакетами при чтении руководства. Создайте " "простейший архив с исходным кодом <filename>hello-sh-1.0.tar.gz</filename> " "следующим образом <placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" msgstr "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "Получение программы и ознакомление со сборкой" #. type: Content of: <book><chapter><section><para> msgid "" "So the first thing to do is to find and download the original source code. " "Presumably you already have the source file that you picked up at the " "author's homepage. Sources for free Unix programs usually come in " "<command>tar</command>+<command>gzip</command> format with the extension " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> format with the extension <filename>.tar.bz2</filename>, or " "<command>tar</command>+<command>xz</command> format with the extension " "<filename>.tar.xz</filename>. These usually contain a directory called " "<filename><replaceable>package</replaceable>-<replaceable>version</" "replaceable></filename> with all the sources inside." msgstr "" "Итак, первое, что вы должны сделать — найти и скачать исходный код " "программы. Предполагается, что вы уже взяли файл с домашней страницы автора. " "Исходный код программ для Unix обычно предоставляется в виде архива в " "формате <command>tar</command>+<command>gzip</command> с расширением " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> с расширением <filename>.tar.bz2</filename> или <command>tar</" "command>+<command>xz</command> с расширением <filename>.tar.xz</filename>. " "Внутри архива обычно есть каталог с именем <filename><replaceable>пакет</" "replaceable>-<replaceable>версия</replaceable></filename>, в котором " "находятся все файлы исходного кода программы." #. type: Content of: <book><chapter><section><para> msgid "" "If the latest version of the source is available through a VCS such as Git, " "Subversion, or CVS, you need to get it with <literal>git clone</literal>, " "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into " "<command>tar</command>+<command>gzip</command> format yourself by using the " "<literal>--exclude-vcs</literal> option." msgstr "" "Если самая новая версия кода доступна из VCS, например из репозитория Git, " "Subversion или CVS, то вам нужно получить её с помощью команд <literal>git " "clone</literal>, <literal>svn co</literal> или <literal>cvs co</literal> и " "перепаковать в формат <command>tar</command>+<command>gzip</command> с " "параметром <literal>--exclude-vcs</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can identify the archive format using the <command>file</command> " "command when the file extension is not enough." msgstr "" "Вы можете определить формат архива с помощью команды <command>file</" "command>, если по расширению это непонятно." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes as some other sort of archive (for instance, " "the filename ends in <filename>.Z</filename> or <filename>.zip</" "filename><placeholder type=\"footnote\" id=\"0\"/>), you should also unpack " "it with the appropriate tools and repack it." msgstr "" "Если исходный код выбранной программы поставляется в другом виде (например, " "имя файла оканчивается на <filename>.Z</filename> или <filename>.zip</" "filename><placeholder type=\"footnote\" id=\"0\"/>), распакуйте его " "соответствующими средствами и перепакуйте его." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes with some contents which do not comply with " "DFSG, you should also unpack it to remove such contents and repack it with a " "modified upstream version containing <literal>dfsg</literal>." msgstr "" "Если исходный код выбранной программы поставляется с содержимым, не " "удовлетворяющим DFSG, то вам также нужно распаковать его и удалить это " "содержимое и перепаковать его, добавив в версию исходного кода пометку " "<literal>dfsg</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This program is already packaged. The <ulink url=\"&gentoo-package;" "\">current version</ulink> uses Autotools as its build structure and is " "substantially different from the following examples, which were based on " "version 0.9.12." msgstr "" "Для этой программы пакет уже создан. В <ulink url=\"&gentoo-package;" "\">текущей версии</ulink> в качестве структуры сборки используется Autotools " "и, следовательно, есть различия с приводимыми примерами, которые были " "написаны для версии 0.9.12." #. type: Content of: <book><chapter><section><para> msgid "" "As an example, I'll use a program called <command>gentoo</command>, a GTK+ " "file manager. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "В качестве примера взята программа <command>gentoo</command> — менеджер " "файлов, использующий GTK+ <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Create a subdirectory under your home directory named <filename>debian</" "filename> or <filename>deb</filename> or anything you find appropriate (e." "g. just <filename>~/gentoo</filename> would do fine in this case). Place " "the downloaded archive in it, and extract it (with <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " "tools may or may not ignore these anomalies, so they may have problems " "unpacking them. Your shell command line may look something like this:" msgstr "" "В своём домашнем каталоге создайте каталог с именем <filename>debian</" "filename>, <filename>deb</filename> или с любым удобным (например, в нашем " "случае можно было бы использовать <filename>~/gentoo</filename>). Поместите " "скачанный архив в этот каталог и распакуйте его (<literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Убедитесь, что при этом не возникло " "никаких, <emphasis>даже, казалось бы, не относящихся к делу</emphasis> " "ошибок, так как их появление означает, что они могут возникнуть и на машинах " "других людей, у которых их инструменты распаковки посчитают это за реальную " "ошибку. В командной строке оболочки вы должны увидеть следующее:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Now you have another subdirectory, called <filename>gentoo-0.9.12</" "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " "read the provided documentation. Usually there are files named " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> or <filename>*.html</filename>. You must find instructions " "on how to compile and install the program (most probably they'll assume you " "want to install to the <filename>/usr/local/bin</filename> directory; you " "won't be doing that, but more on that later in <xref linkend=\"destdir\"/>)." msgstr "" "В результате вы получите подкаталог <filename>gentoo-0.9.12</filename>. " "Перейдите в этот каталог и <emphasis>внимательно</emphasis> прочитайте " "имеющуюся документацию. Обычно, полезными оказываются файлы " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> или <filename>*.html</filename>. Вы должны найти инструкции, " "которые позволят вам правильно скомпилировать и установить программу (скорее " "всего, в каталог <filename>/usr/local/bin</filename>; вы должны будете " "установить программу в другой каталог, подробнее об этом в <xref linkend=" "\"destdir\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "You should start packaging with a completely clean (pristine) source " "directory, or simply with freshly unpacked sources." msgstr "" "Вы должны начинать процедуру пакетирования в полностью оригинальном (ещё " "неизменённым) каталоге с исходным кодом (для этого, например, можно заново " "распаковать архив с исходным кодом)." #. type: Content of: <book><chapter><section><title> msgid "Simple build systems" msgstr "Простые системы сборки" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Many modern programs come with a script <filename>configure</filename> which " "when executed creates a <filename>Makefile</filename> customized for your " "system." msgstr "" "Со многими современными программами поставляется сценарий " "<filename>configure</filename>, который при запуске создаёт файл " "<filename>Makefile</filename>, изменённый специально под вашу систему." #. type: Content of: <book><chapter><section><para> msgid "" "Simple programs usually come with a <filename>Makefile</filename> and can be " "compiled just by invoking <literal>make</literal>.<placeholder type=" "\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, " "which runs included self-tests. Installation to the destination directories " "is usually done with <literal>make install</literal>." msgstr "" "В простых программах обычно используется файл <filename>Makefile</filename> " "и для компиляции достаточно выполнить команду <literal>make</" "literal><placeholder type=\"footnote\" id=\"0\"/>. Некоторые из них " "поддерживают команду <literal>make check</literal>, по которой выполняется " "самопроверка. Установка в каталог назначения обычно выполняется с помощью " "<literal>make install</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Now try to compile and run your program, to make sure it works properly and " "doesn't break something else while it's installing or running." msgstr "" "Теперь скомпилируйте программу и попробуйте её запустить, чтобы убедиться, " "что она правильно работает и что при установке и запуске ничто другое не " "было испорчено." #. type: Content of: <book><chapter><section><para> msgid "" "Also, you can usually run <literal>make clean</literal> (or better " "<literal>make distclean</literal>) to clean up the build directory. " "Sometimes there's even a <literal>make uninstall</literal> which can be used " "to remove all the installed files." msgstr "" "Вы также можете попытаться воспользоваться командой <literal>make clean</" "literal> (или лучше <literal>make distclean</literal>) для очистки каталога " "сборки. Иногда есть даже команда <literal>make uninstall</literal>, которая " "позволит удалить все установленные файлы." #. type: Content of: <book><chapter><section><title> msgid "Popular portable build systems" msgstr "Популярные переносимые системы сборки" #. type: Content of: <book><chapter><section><para> msgid "" "A lot of free software programs are written in the <ulink url=\"&c-program;" "\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these " "use Autotools or CMake to make them portable across different platforms. " "These build tools need to be used to generate the <filename>Makefile</" "filename> and other required source files first. Then, such programs are " "built using the usual <literal>make; make install</literal>." msgstr "" "Многие свободные программы написаны на языках <ulink url=\"&c-program;\">C</" "ulink> и <ulink url=\"&cxx;\">C++</ulink>. В некоторых из них для " "переносимости между платформами используются Autotools или CMake. Эти " "инструменты используются для генерации <filename>Makefile</filename> и " "других необходимых исходных файлов. Такие программы обычно собираются с " "помощью <literal>make; make install</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Autotools is too big to deal in this small tutorial. This section is meant " "to provide keywords and references only. Please make sure to read the " "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and the local " "copy of <filename>&autotools-readme;</filename>, if you need to use it." msgstr "" "Autotools — слишком большой инструмент для описания его работы здесь. В этом " "разделе описаны только ключевые понятия и приведены ссылки. Прочитайте " "<ulink url=\"&autotools-tutorial;\">руководство по Autotools</ulink> и " "локальную копию <filename>&autotools-readme;</filename>, если вам " "потребуется его использовать." #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> is the GNU build system " "comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, " "and <ulink url=\"&gettext;\">gettext</ulink>. You can recognize such " "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" "filename>, and <filename>Makefile.in</filename> files. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> — это система сборки " "GNU, состоящая из <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink> и " "<ulink url=\"&gettext;\">gettext</ulink>. Её использование можно определить " "по включённым в исходный архив файлам <filename>configure.ac</filename>, " "<filename>Makefile.am</filename> и <filename>Makefile.in</filename> " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "The first step of the Autotools workflow is usually that upstream runs " "<literal>autoreconf -i -f</literal> in the source directory and distributes " "the generated files along with the source." msgstr "" "Первый шаг автоматизации с помощью Autotools обычно выполняет автор " "программы. Он запускает команду <literal>autoreconf -i -f</literal> в " "каталоге с исходным кодом и затем распространяет сгенерированные файлы " "вместе с исходным кодом." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" msgstr "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" #. type: Content of: <book><chapter><section><para> msgid "" "Editing <filename>configure.ac</filename> and <filename>Makefile.am</" "filename> files requires some knowledge of <command>autoconf</command> and " "<command>automake</command>. See <literal>info autoconf</literal> and " "<literal>info automake</literal>." msgstr "" "Для правки файлов <filename>configure.ac</filename> и <filename>Makefile.am</" "filename> требуется знание инструментов <command>autoconf</command> и " "<command>automake</command>. Смотрите <literal>info autoconf</literal> и " "<literal>info automake</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The second step of the Autotools workflow is usually that the user obtains " "this distributed source and runs <literal>./configure && make</" "literal> in the source directory to compile the program into an executable " "command <command><replaceable>binary</replaceable></command>." msgstr "" "Второй шаг автоматизации с помощью Autotools обычно выполняет пользователь. " "Он получает распространяемый код и запускает <literal>./configure && " "make</literal> для компиляции программы в " "исполняемый<command><replaceable>двоичный файл</replaceable></command>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" msgstr "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>двоичный файл</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can change many things in the <filename>Makefile</filename>; for " "instance you can change the default location for file installation using the " "option <literal>./configure --prefix=/usr</literal>." msgstr "" "Вы можете изменять различные переменные в файле <filename>Makefile</" "filename>. Например каталог установки по умолчанию изменяется с помощью " "параметра в командной строке: <literal>./configure --prefix=/usr</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can automate this by using <systemitem role=\"package\">dh-autoreconf</" "systemitem> package. See <xref linkend=\"customrules\"/>." msgstr "" "Вы можете это автоматизировать с помощью пакета <systemitem role=\"package" "\">dh-autoreconf</systemitem>. Смотрите <xref linkend=\"customrules\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Although it is not required, updating the <filename>configure</filename> and " "other files with <literal>autoreconf -i -f</literal> may improve the " "compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Хотя это не обязательно, обновление <filename>configure</filename> и других " "файлов с помощью <literal>autoreconf -i -f</literal> может улучшить " "совместимость исходного кода <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You " "can recognize such sources by the <filename>CMakeLists.txt</filename> file." msgstr "" "Альтернативной системой сборки является <ulink url=\"&cmake;\">CMake</" "ulink>. Её можно определить по наличию файла <filename>CMakeLists.txt</" "filename>." #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "Имя и версия пакета" #. type: Content of: <book><chapter><section><para> msgid "" "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " "you can take <literal>gentoo</literal> as the (source) <emphasis role=" "\"strong\">package name</emphasis> and <literal>0.9.12</literal> as the " "<emphasis role=\"strong\">upstream version</emphasis>. These are used in " "the <filename>debian/changelog</filename> file described later in <xref " "linkend=\"changelog\"/>, too." msgstr "" "Если оригинальный исходный код программы содержится в файле " "<filename>gentoo-0.9.12.tar.gz</filename>, то в качестве (исходного) " "<emphasis role=\"strong\">имени пакета</emphasis> можно взять " "<literal>gentoo</literal>, а в качестве <emphasis role=\"strong\">версии " "исходной программы</emphasis> — <literal>0.9.12</literal>. Имя и версия " "используются в файле <filename>debian/changelog</filename>, который описан " "далее в <xref linkend=\"changelog\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Although this simple approach works most of the times, you may need to " "adjust <emphasis role=\"strong\">package name</emphasis> and <emphasis role=" "\"strong\">upstream version</emphasis> by renaming the upstream source to " "follow Debian Policy and existing convention." msgstr "" "Хотя такой простой способ выбора имени почти всегда срабатывает, вам может " "потребоваться привести <emphasis role=\"strong\">имя пакета</emphasis> и " "<emphasis role=\"strong\">версию исходной программы</emphasis> в " "соответствие с политикой Debian и существующим соглашением." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default package name field length of <command>aptitude</command> is 30. " "For more than 90% of packages, the package name is less than 24 characters." msgstr "" "В <command>aptitude</command> длина поля имени пакет по умолчанию равна 30. " "Длина имён более чем 90% пакетов менее 24 символов." #. type: Content of: <book><chapter><section><para> msgid "" "You must choose the <emphasis role=\"strong\">package name</emphasis> to " "consist only of lower case letters (<literal>a-z</literal>), digits " "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" "literal>) signs, and periods (<literal>.</literal>). It must be at least two " "characters long, must start with an alphanumeric character, and must not be " "the same as existing ones. It is a good idea to keep its length within 30 " "characters. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<emphasis role=\"strong\">Имя пакета</emphasis> может содержать только " "строчные буквы (<literal>a-z</literal>), цифры (<literal>0-9</literal>), " "знаки плюс (<literal>+</literal>) и минус (<literal>-</literal>) и точки " "(<literal>.</literal>). Оно должно быть не короче двух символов, должно " "начинаться с буквы или цифры и не должно быть уже использовано для другого " "пакета. Рекомендуем ограничиться длиной до 30 символов <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you follow the <ulink url=\"&devref-newpackage;\">Debian Developer's " "Reference 5.1. \"New packages\"</ulink>, the ITP process will usually catch " "this kind of issues." msgstr "" "Если вы посмотрите <ulink url=\"&devref-newpackage;\">справочник " "разработчика Debian, раздел 5.1. «Новые пакеты»</ulink>, то увидите, что в " "процессе ITP обычно выявляются проблемы с именованием." #. type: Content of: <book><chapter><section><para> msgid "" "If upstream uses some generic term such as <literal>test-suite</literal> for " "its name, it is a good idea to rename it to identify its contents explicitly " "and avoid namespace pollution. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Если для имени автор программы использовал какие-то общие слова, например " "<literal>test-suite</literal>, то лучше назначить другое имя, которое явно " "описывает содержимое и не засоряет пространство имён <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This stricter rule should help you avoid confusing file names." msgstr "Это жёсткое правило должно помочь избежать путаницы в именах файлов." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default version field length of <command>aptitude</command> is 10. The " "Debian revision with preceding hyphen usually consumes 2. For more than 80% " "of packages, the upstream version is less than 8 characters and the Debian " "revision is less than 2 characters. For more than 90% of packages, the " "upstream version is less than 10 characters and the Debian revision is less " "than 3 characters." msgstr "" "В <command>aptitude</command> длина поля версии по умолчанию равна 10. " "Редакция Debian с символом переноса обычно занимает 2 символа. В более 80% " "пакетов версия исходной программы — менее 8 символов, а редакция Debian — " "менее 2 символов. В более 90% пакетов версия исходной программы — менее 10 " "символов, а редакция Debian — менее 3 символов." #. type: Content of: <book><chapter><section><para> msgid "" "You should choose the <emphasis role=\"strong\">upstream version</emphasis> " "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>), and periods " "(<literal>.</literal>). It must start with a digit (<literal>0-9</" "literal>). <placeholder type=\"footnote\" id=\"0\"/> It is good idea to " "keep its length within 8 characters if possible. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "Вы должны выбрать <emphasis role=\"strong\">версию исходной программы</" "emphasis> так, чтобы она содержала только буквы или цифры (<literal>0-9A-Za-" "z</literal>), плюс (<literal>+</literal>), тильду (<literal>~</literal>) и " "точку (<literal>.</literal>). Она должна начинаться с цифры (<literal>0-9</" "literal>) <placeholder type=\"footnote\" id=\"0\"/>. Если возможно, лучше " "ограничиться длиной до 8 символов <placeholder type=\"footnote\" id=\"1\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "If upstream does not use a normal versioning scheme such as " "<literal>2.30.32</literal> but uses some kind of date such as " "<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " "part of the version, make sure to remove them from the <emphasis role=" "\"strong\">upstream version</emphasis>. Such information can be recorded in " "the <filename>debian/changelog</filename> file. If you need to invent a " "version string, use the <literal>YYYYMMDD</literal> format such as " "<literal>20110429</literal> as upstream version. This ensures that " "<command>dpkg</command> interprets later versions correctly as upgrades. If " "you need to ensure smooth transition to the normal version scheme such as " "<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format " "such as <literal>0~110429</literal> as upstream version, instead." msgstr "" "Если автор программы не применяет обычную схему ведения версий, такую как " "<literal>2.30.32</literal>, а использует какую-то зависимость от даты, такую " "как <literal>11Apr29</literal>, произвольную строку с именем или хэш-" "значение из VCS для части версии, убедитесь, что удалили это из <emphasis " "role=\"strong\">версии исходной программы</emphasis>. Эту информацию можно " "сохранить в файле <filename>debian/changelog</filename>. Если вам нужно " "придумать строку для версии исходной программы, используйте формат " "<literal>ГГГГММДД</literal> (<literal>20110429</literal>). Это позволит " "<command>dpkg</command> правильно учитывать номер версии при обновлениях. " "Если в будущем вам предстоит выполнить плавный переход на обычную схему " "версий, такую как <literal>0.1</literal>, используйте формат " "<literal>0~YYMMDD</literal> (<literal>0~110429</literal>) для версии " "исходной программы." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Version strings may be <emphasis role=\"strong\">upstream version</emphasis> " "(<literal><replaceable>version</replaceable></literal>), <emphasis role=" "\"strong\">Debian revision</emphasis> (<literal><replaceable>revision</" "replaceable></literal>), or <emphasis role=\"strong\">version</emphasis> " "(<literal><replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal>). See <xref linkend=\"newrevision\"/> for how the " "<emphasis role=\"strong\">Debian revision</emphasis> is incremented." msgstr "" "Строками версий могут быть <emphasis role=\"strong\">версия исходной " "программы</emphasis> (<literal><replaceable>версия</replaceable></literal>), " "<emphasis role=\"strong\">редакция Debian</emphasis> " "(<literal><replaceable>редакция</replaceable></literal>) или <emphasis role=" "\"strong\">версия</emphasis> (<literal><replaceable>версия</replaceable>-" "<replaceable>редакция</replaceable></literal>). Смотрите в <xref linkend=" "\"newrevision\"/> как увеличивается значение <emphasis role=\"strong" "\">редакции Debian</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Version strings <placeholder type=\"footnote\" id=\"0\"/> can be compared " "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> as follows." msgstr "" "Строки версий <placeholder type=\"footnote\" id=\"0\"/> можно сравнить с " "помощь <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> следующим образом:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" msgstr " $ dpkg --compare-versions <replaceable>версия1</replaceable> <replaceable>операция</replaceable> <replaceable>версия2</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "The version comparison rule can be summarized as:" msgstr "Правило сравнения версий вкратце можно описать так:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Strings are compared from the head to the tail." msgstr "Строки сравниваются от начала к концу." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are larger than digits." msgstr "Буквы больше, чем цифры." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Numbers are compared as integers." msgstr "Числа сравниваются как целые." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are compared in ASCII code order." msgstr "Буквы сравниваются согласно порядку кодов ASCII." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "There are special rules for period (<literal>.</literal>), plus (<literal>+</" "literal>), and tilde (<literal>~</literal>) characters, as follows." msgstr "" "Для символов точки (<literal>.</literal>), плюса (<literal>+</literal>) и " "тильды (<literal>~</literal>) правила следующие:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" msgstr "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case occurs when upstream releases <filename>gentoo-0.9.12-" "ReleaseCandidate-99.tar.gz</filename> as the pre-release of " "<filename>gentoo-0.9.12.tar.gz</filename>. You need to make sure that the " "upgrade works properly by renaming the upstream source to " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." msgstr "" "Иногда бывает, что автор выпускает предварительную версию " "<filename>gentoo-0.9.12.tar.gz</filename> с именем <filename>gentoo-0.9.12-" "ReleaseCandidate-99.tar.gz</filename>. Чтобы правильно сработало обновление " "пакета, вам нужно переименовать файл с исходным кодом в " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>dh_make</command>" msgstr "Настройка <command>dh_make</command>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The following text assumes you are using Bash as your login shell. If you " "use some other login shell such as Z shell, use their corresponding " "configuration files instead of <filename>~/.bashrc</filename>." msgstr "" "В примере предполагается, что в качестве регистрационной оболочки у вас " "используется Bash. Если вы используете другую регистрационную оболочку " "(например, Z shell), используйте другие соответствующие файлы настройки " "вместо <filename>~/.bashrc</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Set up the shell environment variables <literal>$DEBEMAIL</literal> and " "<literal>$DEBFULLNAME</literal> so that various Debian maintenance tools " "recognize your email address and name to use for packages. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Для указания вашего адреса электронной почты и имени, которые будут " "использоваться в пакетах инструментами сопровождения Debian, настройте " "переменные окружения <literal>$DEBEMAIL</literal> и <literal>$DEBFULLNAME</" "literal> <placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" msgstr "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"ваш.адрес.эл.почты@example.org\"\n" "DEBFULLNAME=\"Имя Фамилия\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" #. type: Content of: <book><chapter><section><title> msgid "Initial non-native Debian package" msgstr "Начальный неродной пакет Debian" #. type: Content of: <book><chapter><section><para> msgid "" "Normal Debian packages are non-native Debian packages made from upstream " "programs. If you wish to create a non-native Debian package of an upstream " "source <filename>gentoo-0.9.12.tar.gz</filename>, you can create an initial " "non-native Debian package for it by issuing the <command>dh_make</command> " "command as follows." msgstr "" "Обычно, пакеты Debian являются неродными (non-native) пакетами Debian, " "создаваемыми из внешнего исходного кода. Если вы хотите создать неродной " "пакет Debian из исходного кода <filename>gentoo-0.9.12.tar.gz</filename>, то " "можете сгенерировать начальный неродной пакет Debian с помощью команды " "<command>dh_make</command> следующим образом:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" msgstr "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the upstream source provides the <filename>debian</filename> directory " "and its contents, run the <command>dh_make</command> command with the extra " "option <literal>--addmissing</literal>. The new source <literal>3.0 " "(quilt)</literal> format is robust enough not to break even for these " "packages. You may need to update the contents provided by the upstream for " "your Debian package." msgstr "" "Если автор исходного кода включил каталог <filename>debian</filename> в " "исходный код, то программу <command>dh_make</command> нужно запускать с " "дополнительным параметром <literal>--addmissing</literal>. Новый формат " "исходного кода <literal>3.0 (quilt)</literal> позволяет ничего не сломать " "даже в подобных пакетах. Вам может потребоваться обновить содержимое, " "предоставленное автором программы для создания пакета Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of your original source " "archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> for details." msgstr "" "Здесь замените имя файла именем вашего архива с исходным кодом <placeholder " "type=\"footnote\" id=\"0\"/>. Подробней смотрите <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are several choices here: <literal>s</literal> for Single binary " "package, <literal>i</literal> for arch-Independent package, <literal>m</" "literal> for Multiple binary packages, <literal>l</literal> for Library " "package, <literal>k</literal> for Kernel module package, <literal>n</" "literal> for kernel patch package, and <literal>b</literal> for <systemitem " "role=\"package\">cdbs</systemitem> package. This document focuses on the " "use of the <command>dh</command> command (from the package <systemitem role=" "\"package\">debhelper</systemitem>) to create a single binary package, but " "also touches on how to use it for arch-independent or multiple binary " "packages. The package <systemitem role=\"package\">cdbs</systemitem> offers " "an alternative packaging script infrastructure to the <command>dh</command> " "command and is outside the scope of this document." msgstr "" "Здесь предлагается несколько вариантов: <literal>s</literal> — одиночный " "двоичный пакет, <literal>i</literal> — пакет, независящий от архитектуры, " "<literal>m</literal> — несколько двоичных пакетов, <literal>l</literal> — " "пакет для библиотеки, <literal>k</literal> — пакет для модуля ядра, " "<literal>n</literal> — пакет с заплатами к ядру и <literal>b</literal> — " "пакет, применяющий <systemitem role=\"package\">cdbs</systemitem>. В этом " "документе, в основном, описывается использование команды <command>dh</" "command> (из пакета <systemitem role=\"package\">debhelper</systemitem>) для " "создания одиночного двоичного пакета, но также затрагиваются варианты с " "пакетами, независящими от архитектуры, и когда из одной программы создаётся " "несколько двоичных пакетов. Пакет <systemitem role=\"package\">cdbs</" "systemitem> предоставляет инфраструктуру пакетирования альтернативную " "команде <command>dh</command> и не описан в этом документе." #. type: Content of: <book><chapter><section><para> msgid "" "You should see some output asking you what sort of package you want to " "create. Gentoo is a single binary package - it creates only one binary " "package, i.e, one <filename>.deb</filename> file - so we will select the " "first option (with the <literal>s</literal> key), check the information on " "the screen, and confirm by pressing <literal><replaceable>ENTER</" "replaceable></literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "После запуска вам будет предложено указать тип создаваемого пакета. Для " "gentoo — одиночный двоичный пакет — из него создаётся только один двоичный " "пакет, т.е, один файл <filename>.deb</filename>, поэтому выберите первый " "вариант (клавишей <literal>s</literal>), проверьте информацию на экране и " "подтвердите выбор нажатием <literal><replaceable>ENTER</replaceable></" "literal> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "This execution of <command>dh_make</command> creates a copy of the upstream " "tarball as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent " "directory to accommodate the creation of the non-native Debian source " "package with the name <filename>debian.tar.gz</filename> later." msgstr "" "После выполнения <command>dh_make</command> в родительском каталоге создался " "исходный архив tar с именем <filename>gentoo_0.9.12.orig.tar.gz</filename>, " "который в дальнейшем будет использоваться для создания неродного пакета с " "исходным кодом Debian с именем <filename>debian.tar.gz</filename>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" msgstr "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please note two key features of this filename <filename>gentoo_0.9.12.orig." "tar.gz</filename>:" msgstr "" "Отметьте два ключевых момента в имени файла <filename>gentoo_0.9.12.orig.tar." "gz</filename>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Package name and version are separated by the character <literal>_</literal> " "(underscore)." msgstr "" "Имя пакета и версия разделены символом <literal>_</literal> (подчёркивание)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The string <filename>.orig</filename> is inserted before the <filename>.tar." "gz</filename>." msgstr "" "Перед <filename>.tar.gz</filename> есть часть <filename>.orig</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "You should also notice that many template files are created in the source " "under the <filename>debian</filename> directory. These will be explained in " "<xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should also " "understand that packaging cannot be a fully automated process. You will " "need to modify the upstream source for Debian (see <xref linkend=\"modify\"/" ">). After this, you need to use the proper methods for building Debian " "packages (<xref linkend=\"build\"/>), testing them (<xref linkend=\"checkit" "\"/>), and uploading them (<xref linkend=\"upload\"/>). All the steps will " "be explained." msgstr "" "Вы, наверное, уже заметили, что в исходном коде в каталоге <filename>debian</" "filename> было создано множество файлов шаблонов. Их назначение описано в " "<xref linkend=\"dreq\"/> и <xref linkend=\"dother\"/>. Как вы уже " "догадались, процесс пакетирования не может быть полностью автоматическим. " "Вам нужно изменить исходный код программы для Debian (<xref linkend=\"modify" "\"/>). После этого вам нужно правильно собрать пакет Debian (<xref linkend=" "\"build\"/>), проверить его (<xref linkend=\"checkit\"/>) и отослать в архив " "(<xref linkend=\"upload\"/>). Далее будут рассмотрены все эти шаги." #. type: Content of: <book><chapter><section><para> msgid "" "If you accidentally erased some template files while working on them, you " "can recover them by running <command>dh_make</command> with the <literal>--" "addmissing</literal> option again in a Debian package source tree." msgstr "" "Если вы случайно стёрли какой-то файл шаблона при работе, то можете " "восстановить его, повторно запустив <command>dh_make</command> с параметром " "<literal>--addmissing</literal> в дереве исходного кода пакета Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Updating an existing package may get complicated since it may be using older " "techniques. While learning the basics, please stick to creating a fresh " "package; further explanations are given in <xref linkend=\"update\"/>." msgstr "" "Обновлять существующий пакет сложнее, так как для его создания могли " "использоваться старые методы. Поэтому на время обучения пока беритесь за " "современные пакеты. Мы вернёмся к этому позднее в <xref linkend=\"update\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the source file does not need to contain any build system " "discussed in <xref linkend=\"simplemake\"/> and <xref linkend=\"portable\"/" ">. It could be just a collection of graphical data etc. Installation of " "files may be carried out using only <systemitem role=\"package\">debhelper</" "systemitem> configuration files such as <filename>debian/install</filename> " "(see <xref linkend=\"install\"/>)." msgstr "" "Заметим, что в файле с исходным кодом необязательно должна использоваться " "одна из систем сборки, описанная в <xref linkend=\"simplemake\"/> и <xref " "linkend=\"portable\"/>. Он может содержать просто набор графических данных и " "т.п. В этом случае установку файлов можно выполнить только с помощью файлов " "настройки <systemitem role=\"package\">debhelper</systemitem>, таких как " "<filename>debian/install</filename> (смотрите <xref linkend=\"install\"/>)." #. type: Content of: <book><chapter><section><title> msgid "Initial native Debian package" msgstr "Начальный родной пакет Debian" #. type: Content of: <book><chapter><section><para> msgid "" "If a package contains source files you are only maintaining for Debian, " "possibly only for local use, it may be simpler to create it as a Debian " "native package. If you have source files in <filename>~/mypackage-1.0</" "filename>, you can create an initial native Debian package for it by issuing " "the <command>dh_make</command> command as follows." msgstr "" "Если исходный пакет содержит файлы, которые нужны только для сопровождения в " "Debian, возможно только для локального использования, то может быть проще " "создать для него родной пакет Debian. Если исходные файлы находятся в " "каталоге <filename>~/mypackage-1.0</filename>, вы можете создать начальный " "родной пакет Debian с помощью команды <command>dh_make</command> следующим " "образом:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" msgstr "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then the <filename>debian</filename> directory and its contents are created " "just like <xref linkend=\"non-native-dh-make\"/>. This does not create a " "tarball since this is a native Debian package. But that is the only " "difference. The rest of the packaging activities are practically the same." msgstr "" "В результате будет создан каталог <filename>debian</filename> и его " "содержимое, как в <xref linkend=\"non-native-dh-make\"/>. При этом архив tar " "не создаётся, так как это родной пакет Debian — в этом единственное отличие. " "Остальные действия по пакетированию практически ни чем не отличаются." #. type: Content of: <book><chapter><title> msgid "Modifying the source" msgstr "Изменение исходного кода" #. type: Content of: <book><chapter><para> msgid "" "Please note that there isn't space here to go into <emphasis>all</emphasis> " "the details of fixing upstream sources, but here are some basic steps and " "problems people often run across." msgstr "" "Заметим, что в данный документ невозможно поместить <emphasis>всю</emphasis> " "информацию по исправлению исходного кода программы, однако здесь приведены " "основные шаги и проблемы, с которыми часто встречаются люди." #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>quilt</command>" msgstr "Настройка <command>quilt</command>" #. type: Content of: <book><chapter><section><para> msgid "" "The program <command>quilt</command> offers a basic method for recording " "modifications to the upstream source for Debian packaging. It's useful to " "have a slightly customized default, so let's create an alias " "<command>dquilt</command> for Debian packaging by adding the following lines " "to <filename>~/.bashrc</filename>. The second line provides the same shell " "completion feature of the <command>quilt</command> command to the " "<command>dquilt</command> command." msgstr "" "Программа <command>quilt</command> предлагает простой способ записи " "изменений, произведённых в исходном коде для пакетирования Debian. Для " "удобства использования слегка изменим настройки по умолчанию, добавив для " "пакетирования псевдоним <command>dquilt</command> в файле <filename>~/." "bashrc</filename>. Вторая строка служит для включения автодополнения к " "<command>dquilt</command>, такого же как у команды <command>quilt</command>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" msgstr "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" #. type: Content of: <book><chapter><section><para> msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows." msgstr "" "Затем создадим файл <filename>~/.quiltrc-dpkg</filename> со следующим " "содержимым:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" msgstr "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # если в пакетируемом дереве Debian не задана $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" #. type: Content of: <book><chapter><section><para> msgid "" "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <filename>&quilt-pdf;</filename> on how to " "use <command>quilt</command>." msgstr "" "О том, как использовать <command>quilt</command>, читайте в <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> и <filename>&quilt-pdf;</filename>." #. type: Content of: <book><chapter><section><title> msgid "Fixing upstream bugs" msgstr "Исправление ошибок в исходной программе" #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume you find an error in the upstream <filename>Makefile</filename> " "as follows where <literal>install: gentoo</literal> should have been " "<literal>install: gentoo-target</literal>." msgstr "" "Предположим, вы нашли ошибку в файле <filename>Makefile</filename> из архива " "программы — вместо <literal>install: gentoo</literal> должно быть " "<literal>install: gentoo-target</literal>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <filename>debian/patches</filename> directory should exist now if you " "ran <command>dh_make</command> as described before. This example operation " "creates it just in case you are updating an existing package." msgstr "" "Каталог <filename>debian/patches</filename> уже должен существовать, если вы " "запускали <command>dh_make</command>, как это описывалось ранее. В этом " "примере каталог создаётся вручную, на случай если обновляется существующий " "пакет." #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this and record it with the <command>dquilt</command> command as " "<filename>fix-gentoo-target.patch</filename>. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Внесём исправление и запишем его при помощи команды <command>dquilt</" "command> в файл <filename>fix-gentoo-target.patch</filename> <placeholder " "type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "You change the <filename>Makefile</filename> file as follows." msgstr "Изменим файл <filename>Makefile</filename> следующим образом:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "Ask <command>dquilt</command> to generate the patch to create " "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " "description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</" "ulink>." msgstr "" "Запустите <command>dquilt</command> для генерации и записи заплаты в файл " "<filename>debian/patches/fix-gentoo-target.patch</filename> и добавьте к ней " "описание в соответствии с <ulink url=\"&dep3;\">DEP-3: Руководство по " "маркировке заплат</ulink>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... описание заплаты\n" #. type: Content of: <book><chapter><section><title> msgid "Installation of files to their destination" msgstr "Установка файлов в их каталоги назначения" #. type: Content of: <book><chapter><section><para> msgid "" "Most third-party software installs itself in the <filename>/usr/local</" "filename> directory hierarchy. On Debian this is reserved for private use " "by the system administrator, so packages must not use directories such as " "<filename>/usr/local/bin</filename> but should instead use system " "directories such as <filename>/usr/bin</filename>, obeying the <ulink url=" "\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)." msgstr "" "Большинство стороннего ПО устанавливает себя в иерархию каталогов <filename>/" "usr/local</filename>. В Debian это место зарезервировано для использования " "администратором по своему усмотрению, поэтому пакеты не должны использовать " "такие каталоги как <filename>/usr/local/bin</filename>, а должны " "устанавливаться в системные каталоги, такие как <filename>/usr/bin</" "filename>, согласно <ulink url=\"&fhs;\">стандарту иерархии файловой " "системы</ulink> (FHS)." #. type: Content of: <book><chapter><section><para> msgid "" "Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> is used to automate building the program, and " "executing <literal>make install</literal> installs programs directly to the " "desired destination (following the <literal>install</literal> target in the " "<filename>Makefile</filename>). In order for Debian to provide pre-built " "installable packages, it modifies the build system to install programs into " "a file tree image created under a temporary directory instead of the actual " "destination." msgstr "" "Обычно, для автоматизации сборки программы используется <citerefentry> " "<refentrytitle>make</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, а по команде <literal>make install</literal> выполняется " "установка программ в желаемый каталог, назначенный для цели " "<literal>install</literal> в файле <filename>Makefile</filename>. Для " "создания двоичных, готовых к установке пакетов Debian, требуется изменить " "систему сборки таким образом, чтобы она устанавливала программы в образ " "файловой системы, развёрнутый во временном каталоге, а не в реальное место " "назначения." #. type: Content of: <book><chapter><section><para> msgid "" "These two differences between normal program installation on one hand and " "the Debian packaging system on the other can be transparently addressed by " "the <systemitem role=\"package\">debhelper</systemitem> package through the " "<command>dh_auto_configure</command> and <command>dh_auto_install</command> " "commands if the following conditions are met." msgstr "" "Эти два различия между нормальной установкой программы, с одной стороны, и " "системой пакетирования Debian с другой, могут быть прозрачно переданы " "пакетом <systemitem role=\"package\">debhelper</systemitem> с помощью команд " "<command>dh_auto_configure</command> и <command>dh_auto_install</command>, " "если соблюдаются следующие условия:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." msgstr "" "Смотрите <ulink url=\"&gnu-destdir;\">Стандарты программирования GNU: 7.2.4 " "DESTDIR: Поддержка поэтапной установки</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <filename>Makefile</filename> must follow GNU conventions and support " "the <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" " "id=\"0\"/>" msgstr "" "Файл <filename>Makefile</filename> соответствует соглашениям GNU и " "поддерживает переменную <literal>$(DESTDIR)</literal> <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The source must follow the Filesystem Hierarchy Standard (FHS)." msgstr "Исходный код следует FHS." #. type: Content of: <book><chapter><section><para> msgid "" "Programs that use GNU <command>autoconf</command> follow the GNU conventions " "automatically, so they can be trivial to package. On the basis of this and " "other heuristics, it is estimated that the <systemitem role=\"package" "\">debhelper</systemitem> package will work for about 90% of packages " "without making any intrusive changes to their build system. So packaging is " "not as complicated as it may seem." msgstr "" "Программы, использующие пакет GNU <command>autoconf</command>, автоматически " "следуют соглашениям GNU, и их легко пакетировать. На основе этого и " "эвристики можно сделать вывод, что пакет <systemitem role=\"package" "\">debhelper</systemitem> будет работать с почти 90% пакетов без внесения " "серьёзных изменений в их системы сборки. Поэтому процесс пакетирования не " "так сложен, как кажется." #. type: Content of: <book><chapter><section><para> msgid "" "If you need to make changes in the <filename>Makefile</filename>, you should " "be careful to support the <literal>$(DESTDIR)</literal> variable. Although " "it is unset by default, the <literal>$(DESTDIR)</literal> variable is " "prepended to each file path used for the program installation. The " "packaging script will set <literal>$(DESTDIR)</literal> to the temporary " "directory." msgstr "" "Если вам необходимо внести изменения в файл <filename>Makefile</filename>, " "убедитесь, что он поддерживает переменную <literal>$(DESTDIR)</literal>. " "Значение переменной <literal>$(DESTDIR)</literal> явно в нём не задаётся, но " "указывается в начале каждого файлового пути, который используется для " "установки программы. Сценарий пакетирования присвоит <literal>$(DESTDIR)</" "literal> значение временного каталога." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "For a source package generating multiple binary packages, the " "<command>dh_auto_install</command> command uses <filename>debian/tmp</" "filename> as the temporary directory while the <command>dh_install</command> " "command with the help of <filename>debian/<replaceable>package-1</" "replaceable>.install</filename> and <filename>debian/<replaceable>package-2</" "replaceable>.install</filename> files will split the contents of " "<filename>debian/tmp</filename> into <filename>debian/" "<replaceable>package-1</replaceable></filename> and <filename>debian/" "<replaceable>package-2</replaceable></filename> temporary directories, to " "create <filename><replaceable>package-1</replaceable>_*.deb</filename> and " "<filename><replaceable>package-2</replaceable>_*.deb</filename> binary " "packages." msgstr "" "При создании из исходного кода нескольких двоичных пакетов команда " "<command>dh_auto_install</command> использует <filename>debian/tmp</" "filename> в качестве временного каталога, а команда <command>dh_install</" "command> с помощью файлов <filename>debian/<replaceable>пакет-1</" "replaceable>.install</filename> и <filename>debian/<replaceable>пакет-2</" "replaceable>.install</filename> разнесёт содержимое <filename>debian/tmp</" "filename> по временным каталогам <filename>debian/<replaceable>пакет-1</" "replaceable></filename> и <filename>debian/<replaceable>пакет-2</" "replaceable></filename> для создания двоичных пакетов " "<filename><replaceable>пакет-1</replaceable>_*.deb</filename> и " "<filename><replaceable>пакет-2</replaceable>_*.deb</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "For a source package generating a single binary package, the temporary " "directory used by the <command>dh_auto_install</command> command will be set " "to <filename>debian/<replaceable>package</replaceable></filename>. " "<placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in " "the temporary directory will be installed on users' systems when they " "install your package; the only difference is that <command>dpkg</command> " "will be installing the files to paths relative to the root directory rather " "than your working directory." msgstr "" "При создании из исходного кода одиночного пакета временный каталог, " "используемый командой <command>dh_auto_install</command>, будет установлен в " "<filename>debian/<replaceable>пакет</replaceable></filename> <placeholder " "type=\"footnote\" id=\"0\"/>. Всё, что содержится во временном каталоге, " "будет помещено в систему пользователя при установке пакета. Различие в том, " "что <command>dpkg</command> установит файлы в систему относительно корневого " "каталога, а не вашего рабочего каталога." #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that even though your program installs in <filename>debian/" "<replaceable>package</replaceable></filename>, it still needs to behave " "correctly when installed from the <filename>.deb</filename> package under " "the root directory. So you must not allow the build system to hardcode " "strings like <literal>/home/me/deb/<replaceable>package</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>package</" "replaceable></literal> into files in the package." msgstr "" "Помните: даже если ваша программа устанавливается в <filename>debian/" "<replaceable>пакет</replaceable></filename>, нужно внимательно следить за " "правильностью её установки из пакета <filename>.deb</filename> в корневой " "каталог. Поэтому вы не должны разрешать системе сборки записывать " "неизменяемые строки вроде <literal>/home/моего/deb/<replaceable>пакет</" "replaceable>-<replaceable>версия</replaceable>/usr/share/<replaceable>пакет</" "replaceable></literal> в файлы пакета." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This is just an example to show what a <filename>Makefile</filename> should " "look like. If the <filename>Makefile</filename> is created by the " "<command>./configure</command> command, the correct way to fix this kind of " "<filename>Makefile</filename> is to execute <command>./configure</command> " "from the <command>dh_auto_configure</command> command with default options " "including <literal>--prefix=/usr</literal>." msgstr "" "Это просто пример, который показывает как должен выглядеть " "<filename>Makefile</filename>. Если <filename>Makefile</filename> создан " "командой <command>./configure</command>, то исправлять файл " "<filename>Makefile</filename> предпочтительно вызовом <command>./configure</" "command> из <command>dh_auto_configure</command> с параметрами по умолчанию " "и добавленным параметром <literal>--prefix=/usr</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Here's the relevant part of <systemitem role=\"package\">gentoo</" "systemitem>'s <filename>Makefile</filename><placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "Вот соответствующая часть файла <filename>Makefile</filename>, взятого из " "пакета <systemitem role=\"package\">gentoo</systemitem><placeholder type=" "\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" msgstr "" "# Куда помещать исполняемые файлы по команде «make install»?\n" "BIN = /usr/local/bin\n" "# Куда помещать значки по команде «make install»?\n" "ICONS = /usr/local/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "We see that the files are set to install under <filename>/usr/local</" "filename>. As explained above, that directory hierarchy is reserved for " "local use on Debian, so change those paths to:" msgstr "" "Данные настройки предполагают установку в <filename>/usr/local</filename>. " "Как указывалось ранее, эта иерархия каталогов зарезервирована для локального " "использования в Debian, поэтому измените этот путь на:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgstr "" "# Куда помещать исполняемые файлы по команде «make install»?\n" "BIN = $(DESTDIR)/usr/bin\n" "\n" "# Куда помещать значки по команде «make install»?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The exact locations that should be used for binaries, icons, documentation, " "etc. are specified in the Filesystem Hierarchy Standard (FHS). You should " "browse through it and read the sections relevant to your package." msgstr "" "Где именно должны располагаться исполняемые файлы, значки, документация и т." "д. описывает FHS — стандарт иерархии файловой системы. Рекомендуется " "обратить внимание на разделы, которые касаются вашего пакета." #. type: Content of: <book><chapter><section><para> msgid "" "So, we should install executable commands in <filename>/usr/bin</filename> " "instead of <filename>/usr/local/bin</filename>, the manual page in " "<filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/" "man1</filename>, and so on. Notice how there's no manual page mentioned in " "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" "filename>, but since Debian Policy requires that every program has one, " "we'll make one later and install it in <filename>/usr/share/man/man1</" "filename>." msgstr "" "Итак, исполняемые файлы следует устанавливать в <filename>/usr/bin</" "filename> вместо <filename>/usr/local/bin</filename>, справочные страницы в " "<filename>/usr/share/man/man1</filename> вместо <filename>/usr/local/man/" "man1</filename> и т.д. Обратите внимание, что хотя в <filename>Makefile</" "filename> из пакета <systemitem role=\"package\">gentoo</systemitem> " "отсутствует упоминание о справочной странице, Debian Policy требует её " "наличия для каждой программы, поэтому позднее мы создадим такую страницу и " "установим её в <filename>/usr/share/man/man1</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Some programs don't use <filename>Makefile</filename> variables to define " "paths such as these. This means you might have to edit some real C sources " "in order to fix them to use the right locations. But where to search, and " "exactly what for? You can find this out by issuing:" msgstr "" "Некоторые программы не используют переменные в <filename>Makefile</filename> " "для подобного указания путей. Это означает, что, возможно, вам придётся " "редактировать исходные файлы, написанные на языке C, для указания " "правильного расположения. Но где и как искать эти пути? Для этого вы можете " "воспользоваться следующей командой:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" msgstr "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>grep</command> will run recursively through the source tree and " "tell you the filename and the line number for all matches." msgstr "" "Команда <command>grep</command> рекурсивно обходит всё дерево исходного кода " "и при обнаружении совпадений сообщает вам имя соответствующего файла и номер " "строки." #. type: Content of: <book><chapter><section><para> msgid "" "Edit those files and in those lines replace <literal>usr/local/lib</literal> " "with <literal>usr/lib</literal>. This can be done automatically as follows:" msgstr "" "Отредактируйте указанные строки в этих файлах, заменив <literal>usr/local/" "lib</literal> на <literal>usr/lib</literal>. Это можно сделать автоматически " "с помощью команды:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you want to confirm each substitution instead, this can be done " "interactively as follows:" msgstr "" "Если вы хотите подтверждать каждую замену, запустите следующую команду:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "Next you should find the <literal>install</literal> target (searching for " "the line that starts with <literal>install:</literal> will usually work) and " "rename all references to directories other than ones defined at the top of " "the <filename>Makefile</filename>." msgstr "" "После этого вам нужно найти цель <literal>install</literal> (обычно " "достаточно найти строку, начинающуюся с <literal>install:</literal>) и " "заменить все ссылки на каталоги, которые отличаются от указанных в начале " "файла <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Originally, <systemitem role=\"package\">gentoo</systemitem>'s " "<literal>install</literal> target said:" msgstr "" "Первоначально, цель <literal>install</literal> в <systemitem role=\"package" "\">gentoo</systemitem> была такой:" #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this upstream bug and record it with the <command>dquilt</command> " "command as <filename>debian/patches/install.patch</filename>." msgstr "" "Давайте исправим ошибку с путями в исходной программе и запишем её при " "помощи команды <command>dquilt</command> в файл <filename>debian/patches/" "install.patch</filename>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "In your editor, change this for the Debian package as follows:" msgstr "" "Воспользуемся редактором для внесения в пакет Debian следующих изменений:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" msgstr "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You'll have noticed that there's now an <literal>install -d</literal> " "command before the other commands in the rule. The original " "<filename>Makefile</filename> didn't have it because usually <literal>/usr/" "local/bin</literal> and other directories already exist on the system where " "you are running <literal>make install</literal>. However, since we will be " "installing into a newly created private directory tree, we will have to " "create each and every one of those directories." msgstr "" "Разумеется вы заметили, что в начале цели появилась команда <literal>install " "-d</literal>. В исходном <filename>Makefile</filename> её не было, так как " "обычно <literal>/usr/local/bin</literal> и другие каталоги уже существуют в " "системе на момент запуска <literal>make install</literal>. Однако, так как " "мы будем проводить установку в создаваемый каждый раз свой каталог, нам " "следует создать в нём все необходимые каталоги." #. type: Content of: <book><chapter><section><para> msgid "" "We can also add in other things at the end of the rule, like the " "installation of additional documentation that the upstream authors sometimes " "omit:" msgstr "" "В конец правила установки мы можем добавить что-нибудь ещё, например, " "установку дополнительной документации, которую не включили авторы программы:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" msgstr "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" #. type: Content of: <book><chapter><section><para> msgid "" "Check carefully, and if everything is okay, ask <command>dquilt</command> to " "generate the patch to create <filename>debian/patches/install.patch</" "filename> and add its description." msgstr "" "Убедившись, что всё сделано правильно, c помощью <command>dquilt</command> " "сгенерируем заплату <filename>debian/patches/install.patch</filename> и " "добавим её описание:" #. type: Content of: <book><chapter><section><para> msgid "Now you have a series of patches." msgstr "Теперь у вас есть несколько заплат:" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>" msgstr "" "Заплата для исправления ошибки в программе: <filename>debian/patches/fix-" "gentoo-target.patch</filename>" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Debian specific packaging modification: <filename>debian/patches/install." "patch</filename>" msgstr "" "Изменения, необходимые для создания пакета Debian: <filename>debian/patches/" "install.patch</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Whenever you make changes that are not specific to the Debian package such " "as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to " "send them to the upstream maintainer so they can be included in the next " "version of the program and be useful to everyone else. Also remember to " "avoid making your fixes specific to Debian or Linux - or even Unix! Make " "them portable. This will make your fixes much easier to apply." msgstr "" "Всякий раз внося изменения, которые не относятся к пакету Debian, как те, " "что содержатся в <filename>debian/patches/fix-gentoo-target.patch</" "filename>, не забывайте отправлять их сопровождающему программы, чтобы он " "мог включить эти правки в следующую версию и они стали доступны всем. Перед " "отправкой ещё раз убедитесь, что ваши исправления не относятся только к " "Debian или Linux (или даже вообще Unix) — это требуется для переносимости. " "Такие исправления легче применять." #. type: Content of: <book><chapter><section><para> msgid "" "Note that you don't have to send the <filename>debian/*</filename> files " "upstream." msgstr "" "Не отправляйте разработчикам программы файлы <filename>debian/*</filename>." #. type: Content of: <book><chapter><section><title> msgid "Differing libraries" msgstr "Несовпадение библиотек" #. type: Content of: <book><chapter><section><para> msgid "" "There is one other common problem: libraries are often different from " "platform to platform. For example, a <filename>Makefile</filename> can " "contain a reference to a library which doesn't exist on the Debian system. " "In that case, we need to change it to a library which does exist in Debian, " "and serves the same purpose." msgstr "" "Нередко можно столкнуться с проблемой несовпадения библиотек на различных " "платформах. Например, файл <filename>Makefile</filename> может содержать " "ссылки на библиотеку, которой нет в Debian. В этом случае вы должны изменить " "ссылку, указав библиотеку, служащую тем же самым целям, но присутствующую в " "Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume a line in your program's <filename>Makefile</filename> (or " "<filename>Makefile.in</filename>) as the following." msgstr "" "Предположим, что в программе есть <filename>Makefile</filename> (или " "<filename>Makefile.in</filename>) со строкой следующего вида:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "LIBS = -lfoo -lbar\n" msgstr "LIBS = -lfoo -lbar\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If there are API changes from the <literal>foo</literal> library to the " "<literal>foo2</literal> library, required changes to the source code need to " "be made to match the new API." msgstr "" "Если изменяется программный интерфейс (API) (то есть, вместо библиотеки " "<literal>foo</literal> начинают использовать библиотеку <literal>foo2</" "literal>), то требуется изменить исходный код так, чтобы он использовал " "новый API." #. type: Content of: <book><chapter><section><para> msgid "" "If your program doesn't compile since the <literal>foo</literal> library " "doesn't exist and its equivalent is provided by the <literal>foo2</literal> " "library on the Debian system, you can fix this build problem as " "<filename>debian/patches/foo2.patch</filename> by changing <literal>foo</" "literal> into <literal>foo2</literal>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Если ваша программа не компилируется из-за отсутствия библиотеки " "<literal>foo</literal> и в Debian для неё есть замена в виде <literal>foo2</" "literal>, то вы можете исправить проблему со сборкой с помощью " "<filename>debian/patches/foo2.patch</filename>, который заменяет " "<literal>foo</literal> на <literal>foo2</literal>:<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... описание заплаты\n" #. type: Content of: <book><chapter><title> msgid "Required files under the <filename>debian</filename> directory" msgstr "Обязательные файлы в каталоге <filename>debian</filename>" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "In this chapter, files in the <filename>debian</filename> directory are " "referred to without the leading <filename>debian/</filename> for simplicity " "whenever the meaning is obvious." msgstr "" "Для простоты в этой главе файлы в каталоге <filename>debian</filename> " "указаны без начального <filename>debian/</filename>." #. type: Content of: <book><chapter><para> msgid "" "There is a new subdirectory under the program's source directory, called " "<filename>debian</filename>. There are a number of files in this directory " "that we should edit in order to customize the behavior of the package. The " "most important of them are <filename>control</filename>, " "<filename>changelog</filename>, <filename>copyright</filename>, and " "<filename>rules</filename>, which are required for all packages. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "В каталоге c исходным кодом программы появился новый подкаталог " "<filename>debian</filename>. В нём содержится несколько файлов, которые " "нужно отредактировать для изменения свойств пакета. Наиболее важные из них: " "<filename>control</filename>, <filename>changelog</filename>, " "<filename>copyright</filename> и <filename>rules</filename>; они обязательны " "для всех пакетов <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>control</filename>" msgstr "Файл <filename>control</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains various values which <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command>, and other package management tools " "will use to manage the package. It is defined by the <ulink url=\"&policy-" "control;\">Debian Policy Manual, 5 \"Control files and their fields\"</" "ulink>." msgstr "" "Этот файл содержит информацию, которая используется программами " "<command>dpkg</command>, <command>dselect</command>, <command>apt-get</" "command>, <command>apt-cache</command>, <command>aptitude</command> и " "некоторыми другими инструментами для работы c пакетами. Он описан в <ulink " "url=\"&policy-control;\">руководстве по политике Debian, в главе 5 " "«Управляющие файлы и их поля»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Here is the <filename>control</filename> file <command>dh_make</command> " "created for us:" msgstr "" "Вот, например, файл <filename>control</filename>, который был создан для нас " "программой <command>dh_make</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" #. type: Content of: <book><chapter><section><para> msgid "(I've added the line numbers.)" msgstr "(номера строк добавлены для наглядности)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 1-7 are the control information for the source package. Lines 9-13 " "are the control information for the binary package." msgstr "" "Строки 1-7 содержат управляющую информацию для пакета с исходным кодом. " "Строки 9-13 содержат управляющую информацию для двоичного пакета." #. type: Content of: <book><chapter><section><para> msgid "Line 1 is the name of the source package." msgstr "В строке 1 содержится название пакета с исходным кодом." #. type: Content of: <book><chapter><section><para> msgid "Line 2 is the section of the distribution the source package goes into." msgstr "" "В строке 2 содержится название раздела в дистрибутиве, к которому относится " "пакет с исходным кодом." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections" "\"</ulink> and <ulink url=\"§ions-unstable;\">List of sections in " "<literal>sid</literal></ulink>." msgstr "" "Смотрите <ulink url=\"&policy-subsections;\">руководство по политике Debian, " "раздел 2.4 «Разделы»</ulink> и <ulink url=\"§ions-unstable;\">список " "разделов в <literal>sid</literal></ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "As you may have noticed, the Debian archive is divided into multiple areas: " "<literal>main</literal> (the free software), <literal>non-free</literal> " "(the not really free software) and <literal>contrib</literal> (free software " "that depends on non-free software). Each of these is divided into sections " "that classify packages into rough categories. So we have <literal>admin</" "literal> for administrator-only programs, <literal>devel</literal> for " "programmer tools, <literal>doc</literal> for documentation, <literal>libs</" "literal> for libraries, <literal>mail</literal> for email readers and " "daemons, <literal>net</literal> for network apps and daemons, <literal>x11</" "literal> for X11 programs that don't fit anywhere else, and many more. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Возможно вы уже заметили, что архив Debian разбит на несколько областей: " "<literal>main</literal> (свободное ПО), <literal>non-free</literal> (не " "совсем свободное ПО) и <literal>contrib</literal> (свободное ПО, зависящее " "от несвободного ПО). Каждая из них делится на разделы, чтобы приближённо " "разделить пакеты по категориям. Так, в <literal>admin</literal> содержатся " "программы только для администратора, в <literal>devel</literal> хранятся " "инструменты разработки ПО, в <literal>doc</literal> содержится документация, " "в <literal>libs</literal> содержатся библиотеки, в <literal>mail</literal> " "содержатся почтовые серверы и программы чтения почты, в <literal>net</" "literal> содержатся сетевые приложения и службы, в <literal>x11</literal> " "содержатся программы для X11, которые не вошли куда-то ещё, и так далее " "<placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Let's change it then to x11. (A <literal>main/</literal> prefix is implied " "so we can omit it.)" msgstr "" "В нашем случае мы должны указать x11 (префикс <literal>main/</literal> " "указывать не обязательно — он подставляется по умолчанию)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities" "\"</ulink>." msgstr "" "Смотрите <ulink url=\"&policy-priorities;\">руководство по политике Debian, " "раздел 2.5 «Приоритеты»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 3 describes how important it is that the user installs this package. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "В строке 3 указывается насколько важен данный пакет <placeholder type=" "\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>optional</literal> priority will usually work for new packages " "that do not conflict with others claiming <literal>required</literal>, " "<literal>important</literal>, or <literal>standard</literal> priority." msgstr "" "Приоритет <literal>optional</literal>, обычно, назначается новым пакетам, " "которые не конфликтуют с другими, имеющими приоритет <literal>required</" "literal>, <literal>important</literal> или <literal>standard</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>extra</literal> priority will usually work for new packages " "that conflict with others with non-<literal>extra</literal> priorities." msgstr "" "Приоритет <literal>extra</literal>, обычно, назначается новым пакетам, " "которые конфликтуют с другими пакетами, имеющими приоритета не " "<literal>extra</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Section and priority are used by front-ends like <command>aptitude</command> " "when they sort packages and select defaults. Once you upload the package to " "Debian, the value of these two fields can be overridden by the archive " "maintainers, in which case you will be notified by email." msgstr "" "Значения раздела и приоритета учитываются в интерфейсах управления пакетами " "(например, в <command>aptitude</command>) при сортировке и выборе пакетов. " "При размещении пакета в архиве Debian значения этих полей могут быть " "изменены администратором архива, о чём вам будет сообщено по электронной " "почте." #. type: Content of: <book><chapter><section><para> msgid "" "As this is a normal priority package and doesn't conflict with anything " "else, we will change the priority to <literal>optional</literal>." msgstr "" "Так как наш пакет имеет обычный приоритет и не конфликтует с другими, мы " "укажем значение приоритета <literal>optional</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 4 is the name and email address of the maintainer. Make sure that this " "field includes a valid <literal>To</literal> header for email, because after " "you upload it, the bug tracking system will use it to deliver bug emails to " "you. Avoid using commas, ampersands, or parentheses." msgstr "" "В строке 4 указано имя и адрес электронной почты сопровождающего. Убедитесь, " "что это значение пригодно для поля <literal>To</literal> заголовка " "электронной почты, потому что после загрузки пакета в архив это значение " "будет использовано системой отслеживания ошибок для связи с вами. Не " "используйте в этой строке запятые, скобки и амперсанд." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 \"Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</" "ulink>." msgstr "" "Смотрите <ulink url=\"&policy-relationships;#s-sourcebinarydeps" "\">руководство по политике Debian, раздел 7.7 «Связи между пакетами с " "исходным кодом и двоичными пакетами — Build-Depends, Build-Depends-Indep, " "Build-Conflicts, Build-Conflicts-Indep»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 5 includes the list of packages required to build your package as the " "<literal>Build-Depends</literal> field. You can also have the " "<literal>Build-Depends-Indep</literal> field as an additional line, here. " "<placeholder type=\"footnote\" id=\"0\"/> Some packages like <systemitem " "role=\"package\">gcc</systemitem> and <systemitem role=\"package\">make</" "systemitem> which are required by the <systemitem role=\"package\">build-" "essential</systemitem> package are implied. If you need to have other tools " "to build your package, you should add them to these fields. Multiple " "entries are separated with commas; read on for the explanation of binary " "package dependencies to find out more about the syntax of these lines." msgstr "" "В строке 5 содержится список пакетов, необходимых для сборки вашего пакета; " "это значение присваивается полю <literal>Build-Depends</literal>. Также, " "здесь можно вставить дополнительную строку с полем <literal>Build-Depends-" "Indep</literal> <placeholder type=\"footnote\" id=\"0\"/>. Некоторые пакеты " "(например, <systemitem role=\"package\">gcc</systemitem> и <systemitem role=" "\"package\">make</systemitem>), требуемые пакетом <systemitem role=\"package" "\">build-essential</systemitem>, будут подставлены автоматически в список " "зависимостей. Если вам требуются дополнительные инструменты сборки — " "добавьте их в эту строку. В качестве разделителя элементов используется " "запятая. Для более подробного ознакомления с синтаксисом этой строки " "обратитесь к материалам по зависимостям двоичных пакетов." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For all packages packaged with the <command>dh</command> command in the " "<filename>debian/rules</filename> file, you must have <literal>debhelper " "(>=9)</literal> in the <literal>Build-Depends</literal> field to satisfy " "the Debian Policy requirement for the <literal>clean</literal> target." msgstr "" "Для всех пакетов, упаковываемых с помощью команды <command>dh</command>, в " "файле <filename>debian/rules</filename> вам потребуется указать " "<literal>debhelper (>=9)</literal> в поле <literal>Build-Depends</" "literal> для соответствия требованиям политики Debian, касающимся цели " "<literal>clean</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Source packages which have binary packages with <literal>Architecture: any</" "literal> are rebuilt by the autobuilder. Since this autobuilder procedure " "installs only the packages listed in the <literal>Build-Depends</literal> " "field before running <literal>debian/rules build</literal> (see <xref " "linkend=\"autobuilder\"/>), the <literal>Build-Depends</literal> field needs " "to list practically all the required packages and <literal>Build-Depends-" "Indep</literal> is rarely used." msgstr "" "Пакеты с исходным кодом, в двоичных пакетах которых указано " "<literal>Architecture: any</literal>, пересобираются с помощью autobuilder. " "Так как данная процедура autobuilder перед запуском <literal>debian/rules " "build</literal> устанавливает только пакеты, перечисленные в поле " "<literal>Build-Depends</literal> (смотрите <xref linkend=\"autobuilder\"/>), " "то это поле должно содержать практически все необходимые пакеты, в отличие " "от <literal>Build-Depends-Indep</literal>, которое используется редко." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For source packages with binary packages all of which are " "<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" "literal> field may list all the required packages unless they are already " "listed in the <literal>Build-Depends</literal> field to satisfy the Debian " "Policy requirement for the <literal>clean</literal> target." msgstr "" "В пакетах с исходным кодом, в двоичных пакетах которых указано " "<literal>Architecture: all</literal>, поле <literal>Build-Depends-Indep</" "literal> может содержать все требуемые пакеты, не перечисленные в " "<literal>Build-Depends</literal>, для соответствия требованиям политики " "Debian, касающимся цели <literal>clean</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This somewhat strange situation is a feature well documented in the <ulink " "url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 55</" "ulink>. This is not due to the use of the <command>dh</command> command in " "the <filename>debian/rules</filename> file but due to how the <command>dpkg-" "buildpackage</command> works. The same situation applies to the <ulink url=" "\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build " "system for Ubuntu</ulink>." msgstr "" "Эта несколько странная ситуация является хорошо документированной " "возможностью, описанной в <ulink url=\"&policy-build-depends-indep;" "\">руководстве по политике Debian, сноска 55</ulink>. Причина не в " "использовании команды <command>dh</command> в файле <filename>debian/rules</" "filename>, а в специфике работы <command>dpkg-buildpackage</command>. " "Аналогичный случай встречается в <ulink url=\"https://bugs.launchpad.net/" "launchpad-buildd/+bug/238141\">системе автоматической сборки Ubuntu</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If you are not sure which one should be used, use the <literal>Build-" "Depends</literal> field to be on the safe side. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Если вы не знаете, какое из двух полей использовать — остановитесь на поле " "<literal>Build-Depends</literal> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "To find out what packages your package needs to be built run the command:" msgstr "" "Для выяснения того, какие пакеты требуются для сборки, выполните команду:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-depcheck -d ./configure\n" msgstr "$ dpkg-depcheck -d ./configure\n" #. type: Content of: <book><chapter><section><para> msgid "" "To manually find exact build dependencies for <command><replaceable>/usr/bin/" "foo</replaceable></command>, execute" msgstr "" "Для ручного, более точного поиска зависимостей программы " "<command><replaceable>/usr/bin/foo</replaceable></command> выполните:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" msgstr "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" #. type: Content of: <book><chapter><section><para> msgid "" "and for each library listed, e.g., <command>libfoo.so.6</command>, execute" msgstr "" "и для каждой найденной библиотеки, например, <command>libfoo.so.6</command>, " "выполните:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg -S libfoo.so.6\n" msgstr "$ dpkg -S libfoo.so.6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then just take the <literal>-dev</literal> version of every package as a " "<literal>Build-Depends</literal> entry. If you use <command>ldd</command> " "for this purpose, it will report indirect lib dependencies as well, " "resulting in the problem of excessive build dependencies." msgstr "" "Затем укажите <literal>-dev</literal> версию каждого пакета в поле " "<literal>Build-Depends</literal>. Если для этой цели воспользоваться " "<command>ldd</command>, то вы, помимо прочего, узнаете неявные библиотечные " "зависимости библиотеки и столкнётесь с проблемой избыточных сборочных " "зависимостей." #. type: Content of: <book><chapter><section><para> msgid "" "<systemitem role=\"package\">gentoo</systemitem> also happens to require " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> and <systemitem role=\"package" "\">libglib1.2-dev</systemitem> to build, so we'll add them here next to " "<systemitem role=\"package\">debhelper</systemitem>." msgstr "" "Кроме того, пакет <systemitem role=\"package\">gentoo</systemitem> требует " "для сборки пакеты <systemitem role=\"package\">xlibs-dev</systemitem>, " "<systemitem role=\"package\">libgtk1.2-dev</systemitem> и <systemitem role=" "\"package\">libglib1.2-dev</systemitem>. Укажите их после пакета <systemitem " "role=\"package\">debhelper</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 6 is the version of the <ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink> standards this package follows, the one you read while making " "your package." msgstr "" "В строке 6 указывается версия документа <ulink url=\"&debian-policy;" "\">руководства по политике Debian</ulink>, стандартам которого следует " "данный пакет. Прочитайте его при создании пакета." #. type: Content of: <book><chapter><section><para> msgid "On line 7 you can put the URL of the software's upstream homepage." msgstr "В строке 7 можно указать URL домашней страницы программы." #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the name of the binary package. This is usually the same as the " "name of the source package, but it doesn't necessarily have to be that way." msgstr "" "В строке 9 содержится имя двоичного пакета. Обычно, оно совпадает с именем " "пакета с исходным кодом, но это не является обязательным требованием." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " "\"Architecture\"</ulink> for exact details." msgstr "" "Подробней об этом смотрите в <ulink url=\"&policy-architecture;" "\">руководстве по политике Debian, раздел 5.6.8 «Architecture»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 10 describes the architectures the binary package can be compiled for. " "This value is usually one of the following depending on the type of the " "binary package. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "В строке 10 перечислены архитектуры двоичного пакета, для которых он может " "быть скомпилирован. Обычно, здесь указывает одно из следующих значений, в " "зависимости от типа двоичного пакета <placeholder type=\"footnote\" id=\"0\"/" ">:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: any</literal>" msgstr "<literal>Architecture: any</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture dependent one usually in a " "compiled language." msgstr "" "Генерируемый двоичный пакет зависит от архитектуры, обычно определяемой " "компилируемым языком." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: all</literal>" msgstr "<literal>Architecture: all</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture independent one usually " "consisting of text, images, or scripts in an interpreted language." msgstr "" "Генерируемый двоичный пакет не зависит от архитектуры, обычно в нём " "содержится текст, изображения или сценарии интерпретируемого языка." #. type: Content of: <book><chapter><section><para> msgid "" "We leave line 10 as is since this is written in C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> will fill in the appropriate architecture value " "for any machine this source package gets compiled on." msgstr "" "Мы не будет менять строку 10, так как программа написана на C. Утилита " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> подставит соответствующее значение архитектуры " "машины, на которой будет скомпилирован пакет с исходным кодом." #. type: Content of: <book><chapter><section><para> msgid "" "If your package is architecture independent (for example, a shell or Perl " "script, or a document), change this to <literal>all</literal>, and read " "later in <xref linkend=\"rules\"/> about using the <literal>binary-indep</" "literal> rule instead of <literal>binary-arch</literal> for building the " "package." msgstr "" "Если ваш пакет не зависит от архитектуры (например, это документ, сценарий " "оболочки или Perl), укажите значение <literal>all</literal> и прочитайте " "<xref linkend=\"rules\"/>, в котором описаны правила использования " "<literal>binary-indep</literal> вместо <literal>binary-arch</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 11 shows one of the most powerful features of the Debian packaging " "system. Packages can relate to each other in various ways. Apart from " "<literal>Depends</literal>, other relationship fields are " "<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" "Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " "<literal>Provides</literal>, and <literal>Replaces</literal>." msgstr "" "В строке 11 показана одна из мощнейших сторон пакетной системы Debian. " "Пакеты могут быть связаны друг с другом различными способами. Кроме поля " "<literal>Depends</literal> за отношения между пакетами отвечают " "<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" "Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " "<literal>Provides</literal> и <literal>Replaces</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The package management tools usually behave the same way when dealing with " "these relations; if not, it will be explained. (See <citerefentry> " "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, etc.)" msgstr "" "Инструменты управления пакетами, обычно, одинаковым образом обрабатывают эти " "связи; если это так, то будет приведён комментарий (смотрите <citerefentry> " "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> и т.д.)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " "\"Declaring relationships between packages\"</ulink>." msgstr "" "Смотрите <ulink url=\"&policy-relationships;\">руководство по политике " "Debian, главу 7 «Объявление связей между пакетами»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Here is a simplified description of package relationships. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Вот упрощённое описание связей между пакетами <placeholder type=\"footnote\" " "id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Depends</literal>" msgstr "<literal>Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed unless the packages it depends on are " "installed. Use this if your program absolutely will not run (or will cause " "severe breakage) unless a particular package is present." msgstr "" "Пакет не будет установлен, пока не установлены пакеты, от которых он " "зависит. Используйте этот тип зависимости, если ваша программа гарантировано " "не будет работать (или вызовет какие-нибудь серьезные проблемы) при " "отсутствии какого-то пакета." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Recommends</literal>" msgstr "<literal>Recommends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages that are not strictly necessary but are typically used " "with your program. When a user installs your program, all front-ends will " "probably prompt them to install the recommended packages. " "<command>aptitude</command> and <command>apt-get</command> install " "recommended packages along with your package by default (but the user can " "disable this behavior). <command>dpkg</command> will ignore this field." msgstr "" "Используйте это поле для пакетов, которые не обязательны, но обычно " "используются с вашей программой. При установке программы все интерфейсы " "управления пакетами предложат пользователю установить и рекомендуемые " "пакеты. Утилиты <command>aptitude</command> и <command>apt-get</command> по " "умолчанию (которое можно изменить) автоматически устанавливают рекомендуемые " "пакеты вместе с пакетом. Утилита <command>dpkg</command> игнорирует это поле." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Suggests</literal>" msgstr "<literal>Suggests</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages which will work nicely with your program but are not " "at all necessary. When a user installs your program, they will probably not " "be prompted to install suggested packages. <command>aptitude</command> can " "be configured to install suggested packages along with your package but this " "is not its default. <command>dpkg</command> and <command>apt-get</command> " "will ignore this field." msgstr "" "Используйте это поле для пакетов, которые отлично дополнят вашу программу, " "но не требуются для её работы. При установке программы интерфейсы управления " "пакетами, обычно, не предлагают пользователю установить такие пакеты. В " "<command>aptitude</command> можно включить автоматическую установку этих " "предлагаемых (suggested) пакетов (по умолчанию не выполняется). Программы " "<command>dpkg</command> и <command>apt-get</command> игнорируют это поле." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Pre-Depends</literal>" msgstr "<literal>Pre-Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is stronger than <literal>Depends</literal>. The package will not be " "installed unless the packages it pre-depends on are installed and " "<emphasis>correctly configured</emphasis>. Use this <emphasis>very</" "emphasis> sparingly and only after discussing it on the <ulink url=\"&debian-" "devel-ldo;\">debian-devel@lists.debian.org</ulink> mailing list. Read: " "don't use it at all. :-)" msgstr "" "В этом поле указываются более важные зависимости, чем в <literal>Depends</" "literal>. Пакет не будет установлен, если какие-либо пакеты из числа таких " "зависимостей не установлены, либо <emphasis>не правильно настроены</" "emphasis>. Используйте это поле <emphasis>очень</emphasis> осторожно и " "только после обсуждения в рассылке <ulink url=\"&debian-devel-ldo;\">debian-" "devel@lists.debian.org</ulink>. Ещё лучше — не используйте его вообще :-)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Conflicts</literal>" msgstr "<literal>Conflicts</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed until all the packages it conflicts with " "have been removed. Use this if your program absolutely will not run or will " "cause severe problems if a particular package is present." msgstr "" "Пакет не будет установлен, пока все перечисленные в этом поле пакеты не " "будут удалены. Используйте это поле только, если ваша программа не будет " "запускаться, либо возникнут серьёзные проблемы при наличии этих пакетов." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Breaks</literal>" msgstr "<literal>Breaks</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "When installed the package will break all the listed packages. Normally a " "<literal>Breaks</literal> entry specifies that it applies to versions " "earlier than a certain value. The resolution is generally to use higher-" "level package management tools to upgrade the listed packages." msgstr "" "Если пакет будет установлен, то работоспособность всех перечисленных пакетов " "будет нарушена. Чаще всего, в поле <literal>Breaks</literal> указываются " "пакеты с уточнением версии типа «старее чем». Утилиты управления пакетами, " "обычно, предлагают обновить перечисленные пакеты до более новых версий." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Provides</literal>" msgstr "<literal>Provides</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For some types of packages where there are multiple alternatives virtual " "names have been defined. You can get the full list in the <ulink url=" "\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> file. Use " "this if your program provides a function of an existing virtual package." msgstr "" "В случае, когда для какого-то типа пакетов существует несколько альтернатив, " "вводятся виртуальные имена. Полный список виртуальных пакетов приведён в " "файле <ulink url=\"&virtual-package;\">virtual-package-names-list.txt.gz</" "ulink>. Вы должны использовать данное поле, если ваша программа выполняет " "функции существующего виртуального пакета." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Replaces</literal>" msgstr "<literal>Replaces</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this when your program replaces files from another package, or " "completely replaces another package (used in conjunction with " "<literal>Conflicts</literal>). Files from the named packages will be " "overwritten with the files from your package." msgstr "" "Используйте данное поле, если ваш пакет заменяет файлы из другого пакета или " "же полностью заменяет другой пакет (в этом случае вы также должны " "использовать поле <literal>Conflicts</literal>). В этом случае файлы из " "указанного пакета будут перезаписаны файлами из вашего." #. type: Content of: <book><chapter><section><para> msgid "" "All these fields have uniform syntax. They are a list of package names " "separated by commas. These package names may also be lists of alternative " "package names, separated by vertical bar symbols <literal>|</literal> (pipe " "symbols)." msgstr "" "Формат всех этих полей одинаков. Он представляет собой список имён пакетов, " "разделённых запятыми. Здесь также могут быть указаны имена альтернативных " "пакетов, разделённые вертикальной чертой <literal>|</literal> (символ " "канала)." #. type: Content of: <book><chapter><section><para> msgid "" "The fields may restrict their applicability to particular versions of each " "named package. The restriction of each individual package is listed in " "parentheses after its name, and should contain a relation from the list " "below followed by a version number value. The relations allowed are: " "<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " "<literal>>=</literal>, and <literal>>></literal> for strictly " "lower, lower or equal, exactly equal, greater or equal, and strictly " "greater, respectively. For example," msgstr "" "Для каждого пакета в списке можно указать версии, которых касается данная " "зависимость. Версии указываются в круглых скобках после имени пакета и " "должны состоять из символа сравнения, за которым следует номер версии. " "Допустимыми символами сравнения являются: <literal><<</literal>, " "<literal><=</literal>, <literal>=</literal>, <literal>>=</literal> и " "<literal>>></literal> для «строго раньше», «раньше или равно», «в " "точности равно», «равно или позже» и «строго позже», соответственно. " "Например:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" msgstr "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" #. type: Content of: <book><chapter><section><para> msgid "" "The last feature you need to know about is <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." msgstr "" "В завершение рассмотрим конструкции <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal> и " "прочие." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates shared library dependencies for binary " "packages. It generates a list of <ulink url=\"&elf;\">ELF</ulink> " "executables and shared libraries it has found for each binary package. This " "list is used for substituting <literal>${shlibs:Depends}</literal>." msgstr "" "Утилита <citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> вычисляет зависимости двоичного " "пакета от общих библиотек. Она генерирует список исполняемых файлов <ulink " "url=\"&elf;\">ELF</ulink> и общих библиотек, которые находит для каждого " "двоичного пакета. Этот список подставляется вместо <literal>${shlibs:Depends}" "</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates Perl dependencies. It generates a " "list of a dependencies on <literal>perl</literal> or <literal>perlapi</" "literal> for each binary package. This list is used for substituting " "<literal>${perl:Depends}</literal>." msgstr "" "Утилита <citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> вычисляет зависимости Perl. Она генерирует список " "зависимостей от <literal>perl</literal> или <literal>perlapi</literal> для " "каждого двоичного пакета. Этот список подставляется вместо <literal>${perl:" "Depends}</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Some <systemitem role=\"package\">debhelper</systemitem> commands may cause " "the generated package to depend on some additional packages. All such " "commands generate a list of required packages for each binary package. This " "list is used for substituting <literal>${misc:Depends}</literal>." msgstr "" "Некоторые команды пакета <systemitem role=\"package\">debhelper</systemitem> " "могут добавлять зависимости к вашему генерируемому пакету. Каждая команда " "генерирует список необходимых пакетов для каждого двоичного пакета. Этот " "список подставляется вместо <literal>${misc:Depends}</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> generates <filename>DEBIAN/control</filename> for " "each binary package while substituting <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." msgstr "" "Утилита <citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> генерирует файл <filename>DEBIAN/" "control</filename> для каждого двоичного пакета, заменяя <literal>${shlibs:" "Depends}</literal>, <literal>${perl:Depends}</literal>, <literal>${misc:" "Depends}</literal> и т.д на полученные значения." #. type: Content of: <book><chapter><section><para> msgid "" "Having said all that, we can leave the <literal>Depends</literal> field " "exactly as it is now, and insert another line after it saying " "<literal>Suggests: file</literal>, because <systemitem role=\"package" "\">gentoo</systemitem> can use some features provided by the <systemitem " "role=\"package\">file</systemitem> package." msgstr "" "В нашем случае, мы можем оставить поле <literal>Depends</literal> без " "изменений и добавить после него строчку <literal>Suggests: file</literal>, " "так как пакет <systemitem role=\"package\">gentoo</systemitem> использует " "некоторые возможности пакета <systemitem role=\"package\">file</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the Homepage URL. Let's assume this to be at <ulink url=\"&gentoo;" "\"/>." msgstr "" "В строке 9 указан URL домашней страницы программы. Предположим, что это " "будет <ulink url=\"&gentoo;\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 12 is the short description. Terminals are conventionally 80 columns " "wide so this shouldn't be longer than about 60 characters. I'll change it " "to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgstr "" "В строке 12 содержится краткое описание пакета. Размер экрана у большинства " "пользователей имеет 80 столбцов, поэтому постарайтесь ограничить описание " "шестьюдесятью символами. В нашем случае, заполним поле следующим текстом: " "<literal>fully GUI-configurable, two-pane X file manager</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "These descriptions are in English. Translations of these descriptions are " "provided by <ulink url=\"&ddtp;\">The Debian Description Translation Project " "- DDTP</ulink>." msgstr "" "Эти описания составляются на английском языке. Переводы описаний выполняются " "через <ulink url=\"&ddtp;\">проект переводов описаний Debian — DDTP</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 13 is where the long description goes. This should be a paragraph " "which gives more details about the package. Column 1 of each line should be " "empty. There must be no blank lines, but you can put a single <literal>.</" "literal> (dot) in a column to simulate that. Also, there must be no more " "than one blank line after the long description. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "В строке 13 указывается длинное описание. Это должен быть абзац, содержащий " "более полную информацию о пакете. Каждая строка должна начинаться с пробела. " "В тексте не должно быть пустых строк. Если пустая строка всё же требуется, " "то поставьте точку (<literal>.</literal>) в первом столбце. Не выводите " "более одной пустой строки после длинного описания <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-bpp-vcs;\">Debian Developer's Reference, 6.2.5. " "\"Version Control System location\"</ulink>." msgstr "" "Смотрите <ulink url=\"&devref-bpp-vcs;\">справочник разработчика Debian, " "раздел 6.2.5. «Местонахождение системы контроля версий»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "We can insert <literal>Vcs-*</literal> fields to document the Version " "Control System (VCS) location between lines 6 and 7. <placeholder type=" "\"footnote\" id=\"0\"/> Let's assume that the <systemitem role=\"package" "\">gentoo</systemitem> package has its VCS located in the Debian Alioth Git " "Service at <literal>git://git.debian.org/git/collab-maint/gentoo.git</" "literal>." msgstr "" "Давайте вставим поля <literal>Vcs-*</literal> для указания местонахождения " "системы контроля версий между строкой 6 и 7 <placeholder type=\"footnote\" " "id=\"0\"/>. Предположим, что пакет <systemitem role=\"package\">gentoo</" "systemitem> в качестве VCS использует сервис Debian Alioth Git по адресу " "<literal>git://git.debian.org/git/collab-maint/gentoo.git</literal>." #. type: Content of: <book><chapter><section><para> msgid "Finally, here is the updated <filename>control</filename> file:" msgstr "Вот обновлённый файл <filename>control</filename>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>copyright</filename>" msgstr "Файл <filename>copyright</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains information about the copyright and license of the " "upstream sources. <ulink url=\"&policy-copyright;\">Debian Policy Manual, " "12.5 \"Copyright information\"</ulink> dictates its content and <ulink url=" "\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</filename></" "ulink> provides guidelines for its format." msgstr "" "Этот файл содержит информацию об авторских правах и лицензионное соглашение " "исходной программы. Его содержание определяется в <ulink url=\"&policy-" "copyright;\">руководстве по политике Debian, разделе 12.5 «Информация об " "авторских правах»</ulink>, а формат описан в <ulink url=\"&dep5;\">DEP-5: " "автоматизируемый <filename>debian/copyright</filename></ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> can give you a template <filename>copyright</" "filename> file. Let's use the <literal>--copyright gpl2</literal> option " "here to get a template file for the <systemitem role=\"package\">gentoo</" "systemitem> package released under GPL-2." msgstr "" "Шаблон файла <filename>copyright</filename> можно создать с помощью " "<command>dh_make</command>. Укажем параметр <literal>--copyright gpl2</" "literal>, чтобы получить файл шаблона для пакета <systemitem role=\"package" "\">gentoo</systemitem>, выпущенного с лицензией GPL-2." #. type: Content of: <book><chapter><section><para> msgid "" "You must fill in missing information to complete this file, such as the " "place you got the package from, the actual copyright notice, and the " "license. For certain common free software licenses (GNU GPL-1, GNU GPL-2, " "GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0, " "or the Artistic license), you can just refer to the appropriate file in the " "<filename>/usr/share/common-licenses/</filename> directory that exists on " "every Debian system. Otherwise, you must include the complete license." msgstr "" "В этом файле вы должны указать отсутствующую информацию, например, откуда " "был получен пакет, действующее уведомление об авторском праве и лицензию. " "Список распространённых лицензий на свободное ПО: GNU GPL-1, GNU GPL-2, GNU " "GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0 или " "Artistic. Их тексты можно найти в соответствующих файлах в каталоге " "<filename>/usr/share/common-licenses/</filename>, который есть в каждой " "системе Debian. В противном случае вы должны включить файл с полным текстом " "лицензии." #. type: Content of: <book><chapter><section><para> msgid "" "In short, here's what <systemitem role=\"package\">gentoo</systemitem>'s " "<filename>copyright</filename> file should look like:" msgstr "" "Вкратце, вот как должен выглядеть файл <filename>copyright</filename> для " "пакета <systemitem role=\"package\">gentoo</systemitem>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" msgstr "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please follow the HOWTO provided by the ftpmasters and sent to debian-devel-" "announce: <ulink url=\"&howto-copyright;\"/>." msgstr "" "Следуйте HOWTO, написанному ftpmaster-ами, и пошлите анонс в debian-devel-" "announce: <ulink url=\"&howto-copyright;\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>changelog</filename>" msgstr "Файл <filename>changelog</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This is a required file, which has a special format described in <ulink url=" "\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</" "ulink>. This format is used by <command>dpkg</command> and other programs " "to obtain the version number, revision, distribution, and urgency of your " "package." msgstr "" "Это обязательный файл, его специальный формат описан в <ulink url=\"&policy-" "dpkgchangelog;\">руководстве по политике Debian, раздел 4.4 «debian/" "changelog»</ulink>. Этот формат используется программой <command>dpkg</" "command> и другими для получения информации о номере версии, редакции, " "разделе и срочности пакета." #. type: Content of: <book><chapter><section><para> msgid "" "For you, it is also important, since it is good to have documented all " "changes you have done. It will help people downloading your package to see " "whether there are issues with the package that they should know about. It " "will be saved as <filename>/usr/share/doc/gentoo/changelog.Debian.gz</" "filename> in the binary package." msgstr "" "Для вас он также важен, так как является хорошим местом для описания всех " "изменений, которые вы сделали. Это поможет людям, скачавшим ваш пакет, " "определить, какие выпуски есть у пакета, о которых они должны знать. Он " "будет сохранён как <filename>/usr/share/doc/gentoo/changelog.Debian.gz</" "filename> в двоичном пакете." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one, and this is what it looks " "like:" msgstr "" "Программа <command>dh_make</command> создает файл по умолчанию, похожий на " "этот:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Line 1 is the package name, version, distribution, and urgency. The name " "must match the source package name; distribution should be " "<literal>unstable</literal>, and urgency shouldn't be changed to anything " "higher than <literal>low</literal>. :-)" msgstr "" "В строке 1 указано название пакета, версия, редакция, дистрибутив и " "срочность. Имя должно совпадать с названием пакета с исходным кодом. " "Дистрибутив должен быть <literal>unstable</literal> (нестабильный) и " "срочность не должна заменяться на что-либо большее, чем <literal>low</" "literal> (низкая) :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 3-5 are a log entry, where you document changes made in this package " "revision (not the upstream changes - there is a special file for that " "purpose, created by the upstream authors, which you will later install as " "<filename>/usr/share/doc/gentoo/changelog.gz</filename>). Let's assume your " "ITP (Intent To Package) bug report number was <literal>12345</literal>. New " "lines must be inserted just below the uppermost line that begins with " "<literal>*</literal> (asterisk). You can do it with <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "or manually with a text editor." msgstr "" "В строках 3-5 содержится заметка, в которой описывается сделанное изменение " "в этой версии пакета (не изменение в самой программе — для этой цели есть " "специальный файл, созданный автором программы, который будет установлен " "позднее как <filename>/usr/share/doc/gentoo/changelog.gz</filename>). " "Предположим, что номер вашего сообщения об ошибке ITP (Intent To Package) " "был <literal>12345</literal>. Новые строки вставляются как и самая верхняя " "строка, со звёздочками <literal>*</literal>. Вы можете сделать это с помощью " "<citerefentry> <refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>или вручную в текстовом редакторе." #. type: Content of: <book><chapter><section><para> msgid "" "In order to prevent a package being accidentally uploaded before completing " "the package, it is good idea to change the distribution value to an invalid " "distribution value <literal>UNRELEASED</literal>." msgstr "" "Чтобы предотвратить случайную заливку пакета при обновлении пакета, " "желательно изменить имя выпуска на некорректное, например на " "<literal>UNRELEASED</literal>." #. type: Content of: <book><chapter><section><para> msgid "You will end up with something like this:" msgstr "Теперь файл будет выглядеть так:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" msgstr "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "If you use the <literal>dch -r</literal> command to make this last change, " "please make sure to save the <filename>changelog</filename> file explicitly " "by the editor." msgstr "" "Если для выполнения изменения вы используете команду <literal>dch -r</" "literal>, то убедитесь, что записали файл <filename>changelog</filename> " "именно редактором." #. type: Content of: <book><chapter><section><para> msgid "" "Once you are satisfied with all the changes and documented them in " "<filename>changelog</filename>, you should change the distribution value " "from <literal>UNRELEASED</literal> to the target distribution value " "<literal>unstable</literal> (or even <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "После проверки правильности всех изменений и их описания в " "<filename>changelog</filename>, измените имя выпуска с <literal>UNRELEASED</" "literal> на значение целевого дистрибутива <literal>unstable</literal> (или " "даже на <literal>experimental</literal>). <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can read more about updating the <filename>changelog</filename> file " "later in <xref linkend=\"update\"/>." msgstr "" "Дополнительную информацию об обновлении файла <filename>changelog</filename> " "можно найти далее в <xref linkend=\"update\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>rules</filename>" msgstr "Файл <filename>rules</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Now we need to take a look at the exact rules which <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> will use to actually create the package. This file is in fact " "another <filename>Makefile</filename>, but different from the one(s) in the " "upstream source. Unlike other files in <filename>debian</filename>, this " "one is marked as executable." msgstr "" "Теперь взглянем на то, какие же правила выполняются программой " "<citerefentry> <refentrytitle>dpkg-buildpackage</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> для создания пакета. Обычно, файл " "<filename>rules</filename> это просто ещё один файл <filename>Makefile</" "filename>, но не тот, что прилагается вместе с исходным кодом. В отличие от " "остальных файлов в каталоге <filename>debian</filename>, он помечен как " "исполняемый." #. type: Content of: <book><chapter><section><section><title> msgid "Targets of the <filename>rules</filename> file" msgstr "Цели из файла <filename>rules</filename>" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can start learning how to write <filename>Makefile</filename> from " "<ulink url=\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. The " "full documentation is available as <ulink url=\"&gnu-make;\"></ulink> or as " "the <systemitem role=\"package\">make-doc</systemitem> package in the " "<literal>non-free</literal> archive area." msgstr "" "Начать учиться написанию <filename>Makefile</filename> можно со <ulink url=" "\"&debref-make;\">справочника Debian, раздел 12.2. «Make»</ulink>. Полная " "документация доступна в <ulink url=\"&gnu-make;\"></ulink> или в пакете " "<systemitem role=\"package\">make-doc</systemitem> в разделе архива " "<literal>non-free</literal>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> explains the details." msgstr "" "В <ulink url=\"&policy-debianrules;\">руководстве по политике Debian, раздел " "4.9 «Главный сценарий сборки: debian/rules»</ulink> этот файл описан " "подробно." #. type: Content of: <book><chapter><section><section><para> msgid "" "Every <filename>rules</filename> file, like any other <filename>Makefile</" "filename>, consists of several rules, each of which defines a target and how " "it is carried out. <placeholder type=\"footnote\" id=\"0\"/> A new rule " "begins with its target declaration in the first column. The following lines " "beginning with the TAB code (ASCII 9) specify the recipe for carrying out " "that target. Empty lines and lines beginning with <literal>#</literal> " "(hash) are treated as comments and ignored. <placeholder type=\"footnote\" " "id=\"1\"/>" msgstr "" "Файл <filename>rules</filename>, как и любой <filename>Makefile</filename>, " "состоит из нескольких правил, каждое из которых описывает цель и способ её " "достижения <placeholder type=\"footnote\" id=\"0\"/>. Новое правило " "начинается с объявления цели в первой колонке. Следующие за ним строки " "начинаются с кода TAB (ASCII 9); в них описывается команды достижения цели. " "Пустые строки и строки, начинающиеся с <literal>#</literal> (решётка), " "считаются комментариями и игнорируются <placeholder type=\"footnote\" id=" "\"1\"/>." #. type: Content of: <book><chapter><section><section><para> msgid "" "A rule that you want to execute is invoked by its target name as a command " "line argument. For example, <literal>debian/rules <replaceable>build</" "replaceable></literal> and <literal>fakeroot make -f debian/rules " "<replaceable>binary</replaceable></literal> execute rules for " "<literal><replaceable>build</replaceable></literal> and " "<literal><replaceable>binary</replaceable></literal> targets respectively." msgstr "" "Правило, которое вы хотите выполнить, вызывается по имени цели, указанному в " "аргументе командной строки. Например, при вызове <literal>debian/rules " "<replaceable>build</replaceable></literal> и <literal>fakeroot make -f " "debian/rules <replaceable>binary</replaceable></literal> выполняются правила " "для цели <literal><replaceable>build</replaceable></literal> и " "<literal><replaceable>binary</replaceable></literal>, соответственно." #. type: Content of: <book><chapter><section><section><para> msgid "Here is a simplified explanation of the targets:" msgstr "Упрощённое объяснение целей:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>clean</literal> target: to clean all compiled, generated, and " "useless files in the build-tree. (Required)" msgstr "" "Цель <literal>clean</literal> служит для удаления всех скомпилированных, " "сгенерированных и бесполезных файлов в дереве сборки (требуемая)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build</literal> target: to build the source into compiled programs " "and formatted documents in the build-tree. (Required)" msgstr "" "Цель <literal>build</literal> служит для сборки исходного кода в " "скомпилированные программы и отформатированные документы в дереве сборки " "(требуемая)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-arch</literal> target: to build the source into arch-" "dependent compiled programs in the build-tree. (Required)" msgstr "" "Цель <literal>build-arch</literal> служит для сборки исходного кода в " "независящие от архитектуры скомпилированные программы в дереве сборки " "(требуемая)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-indep</literal> target: to build the source into arch-" "independent formatted documents in the build-tree. (Required)" msgstr "" "Цель <literal>build-indep</literal> служит для сборки исходного кода в " "независящие от архитектуры отформатированные документы в дереве сборки " "(требуемая)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>install</literal> target: to install files into a file tree for " "each binary package under the <filename>debian</filename> directory. If " "defined, <literal>binary*</literal> targets effectively depend on this " "target. (Optional)" msgstr "" "Цель <literal>install</literal> служит для установки файлов в дерево файлов " "для каждого двоичного пакета из каталога <filename>debian</filename> " "(необязательная). Цели <literal>binary*</literal> непосредственно зависят от " "этой цели." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage</literal> as in <xref " "linkend=\"completebuild\"/>." msgstr "" "Эта цель используется <literal>dpkg-buildpackage</literal> как описано в " "<xref linkend=\"completebuild\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary</literal> target: to create all binary packages (effectively " "a combination of <literal>binary-arch</literal> and <literal>binary-indep</" "literal> targets). (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Цель <literal>binary</literal> служит для создания всех двоичных пакетов " "(комбинация целей <literal>binary-arch</literal> и <literal>binary-indep</" "literal>) (требуемая) <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage -B</literal> as in <xref " "linkend=\"autobuilder\"/>." msgstr "" "Эта цель используется <literal>dpkg-buildpackage -B</literal>, как описано в " "<xref linkend=\"autobuilder\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-arch</literal> target: to create arch-dependent " "(<literal>Architecture: any</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Цель <literal>binary-arch</literal> служит для создания двоичных пакетов, " "зависящих от архитектуры (<literal>Architecture: any</literal>), в " "родительском каталоге (требуемая) <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage -A</literal>." msgstr "Эта цель используется <literal>dpkg-buildpackage -A</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-indep</literal> target: to create arch-independent " "(<literal>Architecture: all</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Цель <literal>binary-indep</literal> служит для создания двоичных пакетов, " "независящих от архитектуры (<literal>Architecture: all</literal>), в " "родительском каталоге (требуемая) <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>get-orig-source</literal> target: to obtain the most recent version " "of the original source package from an upstream archive. (Optional)" msgstr "" "Цель <literal>get-orig-source</literal> служит для получения самой новой " "версии пакета с оригинальным исходным кодом с сайта разработчика " "(необязательная)." #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably overwhelmed by now, but things are much simpler upon " "examination of the <filename>rules</filename> file that <command>dh_make</" "command> gives us as a default." msgstr "" "Возможное непонимание должно уйти после того, как вы посмотрите на " "содержимое файла <filename>rules</filename> по умолчанию, который создаётся " "программой <command>dh_make</command>." #. type: Content of: <book><chapter><section><section><title> msgid "Default <filename>rules</filename> file" msgstr "Файл <filename>rules</filename> по умолчанию" #. type: Content of: <book><chapter><section><section><para> msgid "" "Newer <command>dh_make</command> generates a very simple but powerful " "default <filename>rules</filename> file using the <command>dh</command> " "command:" msgstr "" "Новая версия <command>dh_make</command> генерирует очень простой, но " "эффективный файл <filename>rules</filename> по умолчанию, использующий " "команду <command>dh</command>:" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" msgstr "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "(I've added the line numbers. In the actual <filename>rules</filename> " "file, the leading spaces are a TAB code.)" msgstr "" "(Номера строк добавлены для наглядности. В реальном файле <filename>rules</" "filename> начальные пробельные символы имеют код TAB.)" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably familiar with lines like line 1 from shell and Perl " "scripts. It tells the operating system that this file is to be processed " "with <filename>/usr/bin/make</filename>." msgstr "" "Вероятно, вы знакомы с назначением строки 1 по сценариям оболочки и Perl. " "Она указывает операционной системе, что этот файл нужно обработать с помощью " "<filename>/usr/bin/make</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Line 10 can be uncommented to set the <literal>DH_VERBOSE</literal> variable " "to 1, so that the <command>dh</command> command outputs which <command>dh_*</" "command> commands it is executing. You can also add a line <literal>export " "DH_OPTIONS=-v</literal> here, so that each <command>dh_*</command> command " "outputs which commands it is executing. This helps you to understand " "exactly what is going on behind this simple <filename>rules</filename> file " "and to debug its problems. This new <command>dh</command> is designed to " "form a core part of the <systemitem role=\"package\">debhelper</systemitem> " "tools, and not to hide anything from you." msgstr "" "Строку 10 можно раскомментировать, установив значение переменной " "<literal>DH_VERBOSE</literal> равным 1. При этом команда <command>dh</" "command> будет выводить команды <command>dh_*</command>, которые она " "выполняет. Также, здесь вы можете добавить строку <literal>export " "DH_OPTIONS=-v</literal>. В этом случае каждая команда <command>dh_*</" "command> будет выводить все команды, которые она выполняет. Это помогает " "понять что в действительности происходит в этом простом файле " "<filename>rules</filename> и при решении проблем. Новая команда <command>dh</" "command> является основной инструментов <systemitem role=\"package" "\">debhelper</systemitem> и не скрывает своих действий от вас." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "This uses the new <systemitem role=\"package\">debhelper</systemitem> v7+ " "features. Its design concepts are explained in <ulink url=\"&debhelper-" "slides;\">Not Your Grandpa's Debhelper</ulink> presented at DebConf9 by the " "<systemitem role=\"package\">debhelper</systemitem> upstream. Under " "<literal>lenny</literal>, <command>dh_make</command> created a much more " "complicated <filename>rules</filename> file with explicit rules and many " "<command>dh_*</command> scripts listed for each one, most of which are now " "unnecessary (and show the package's age). The new <command>dh</command> " "command is simpler and frees us from doing the routine work \"manually\". " "You still have full power to customize the process with " "<literal>override_dh_*</literal> targets. See <xref linkend=\"customrules\"/" ">. It is based only on the <systemitem role=\"package\">debhelper</" "systemitem> package and does not obfuscate the package building process as " "the <systemitem role=\"package\">cdbs</systemitem> package tends to." msgstr "" "Здесь используются новые возможности <systemitem role=\"package\">debhelper</" "systemitem> v7+. Принципы его проектирования можно найти в <ulink url=" "\"&debhelper-slides;\">Not Your Grandpa's Debhelper</ulink>; он представлен " "на Debconf9 разработчиком <systemitem role=\"package\">debhelper</" "systemitem>. В <literal>lenny</literal>, <command>dh_make</command> создаёт " "намного более сложный файл <filename>rules</filename> с указанием сценариев " "<command>dh_*</command> для всех перечисленных ранее целей, большинство из " "которых теперь ненужны (и это показывает возраст пакета). Новая команда " "<command>dh</command> более проста и избавляет вас от выполнения работы " "вручную. Вы по прежнему всё можете дорабатывать с помощью целей " "<literal>override_dh_*</literal>. Смотрите <xref linkend=\"customrules\"/>. " "Данное описание основано только на использовании пакета <systemitem role=" "\"package\">debhelper</systemitem> и не усложняет понимание процесса " "создания пакета использованием таких программ как <systemitem role=\"package" "\">cdbs</systemitem>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can verify the actual sequences of <command>dh_*</command> programs " "invoked for a given <literal><replaceable>target</replaceable></literal> " "without really running them by invoking <literal>dh --no-act " "<replaceable>target</replaceable></literal> or <literal>debian/rules -- '--" "no-act <replaceable>target</replaceable>'</literal>." msgstr "" "Вы можете проверить какие программы <command>dh_*</command> запускаются без " "реального выполнения действий, указав нужную <literal><replaceable>цель</" "replaceable></literal> как <literal>dh --no-act <replaceable>цель</" "replaceable></literal> или <literal>debian/rules -- '--no-act " "<replaceable>цель</replaceable>'</literal>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Lines 12 and 13 are where all the work is done with an implicit rule using " "the pattern rule. The percent sign means \"any targets\", which then call a " "single program, <command>dh</command>, with the target name. <placeholder " "type=\"footnote\" id=\"0\"/> The <command>dh</command> command is a wrapper " "script which runs appropriate sequences of <command>dh_*</command> programs " "depending on its argument. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "Вся работа выполняется строками 12 и 13 с помощью неявного правила, в " "котором используется шаблонное правило. Знак процента означает «любую цель», " "что приводит к вызову программы <command>dh</command> с именем цели в " "качестве аргумента <placeholder type=\"footnote\" id=\"0\"/>. Команда " "<command>dh</command> представляет собой обёрточный сценарий, который " "запускает соответствующие последовательности программ <command>dh_*</" "command> в зависимости от аргумента <placeholder type=\"footnote\" id=\"1\"/" ">." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>, " "which in turn runs the following:" msgstr "" "При запуске <literal>debian/rules clean</literal> выполняется команда " "<literal>dh clean</literal>, которая запускает другие:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" msgstr "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules build</literal> runs <literal>dh build</literal>; " "which in turn runs the following:" msgstr "" "При запуске <literal>debian/rules build</literal> выполняется команда " "<literal>dh build</literal>, которая запускает другие:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" msgstr "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "The following example assumes your <filename>debian/compat</filename> has a " "value equal or more than 9 to avoid invoking any python support commands " "automatically." msgstr "" "В следующем примере предполагается, что ваш <filename>debian/compat</" "filename> содержит значение, равное 9 или более, что позволяет избежать " "автоматического вызова команд поддержки python." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " "binary</literal>; which in turn runs the following<placeholder type=" "\"footnote\" id=\"0\"/>:" msgstr "" "При запуске <literal>fakeroot debian/rules binary</literal> выполняется " "команда <literal>fakeroot dh binary</literal>, которая запускает " "другие<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" msgstr "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-arch</literal> runs <literal>fakeroot " "dh binary-arch</literal>; which in turn runs the same sequence as " "<literal>fakeroot dh binary</literal> but with the <literal>-a</literal> " "option appended for each command." msgstr "" "При запуске <literal>fakeroot debian/rules binary-arch</literal> выполняется " "команда <literal>fakeroot dh binary-arch</literal>, которая запускает те же " "команды что и <literal>fakeroot dh binary</literal>, но с параметром " "<literal>-a</literal>, добавляемым к каждой команде." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-indep</literal> runs <literal>fakeroot " "dh binary-indep</literal>; which in turn runs almost the same sequence as " "<literal>fakeroot dh binary</literal> but excluding <command>dh_strip</" "command>, <command>dh_makeshlibs</command>, and <command>dh_shlibdeps</" "command> with the <literal>-i</literal> option appended for each remaining " "command." msgstr "" "При запуске <literal>fakeroot debian/rules binary-indep</literal> " "выполняется команда <literal>fakeroot dh binary-indep</literal>, которая " "запускает все команды что и <literal>fakeroot dh binary</literal>, исключая " "<command>dh_strip</command>, <command>dh_makeshlibs</command> и " "<command>dh_shlibdeps</command> и добавляя параметр <literal>-i</literal> к " "каждой оставшейся команде." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "For complete information on what all these <command>dh_*</command> scripts " "do exactly, and what their other options are, please read their respective " "manual pages and the <systemitem role=\"package\">debhelper</systemitem> " "documentation." msgstr "" "Всю информацию о том, что делают сценарии <command>dh_*</command> и какие " "они имеют параметры, можно найти в их справочных страницах и документации к " "<systemitem role=\"package\">debhelper</systemitem>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "These commands support other build environments such as <filename>setup.py</" "filename> which can be listed by executing <literal>dh_auto_build --list</" "literal> in a package source directory." msgstr "" "Эти команды поддерживаются в других сборочных средах, таких как " "<filename>setup.py</filename>; их список можно получить, выполнив " "<literal>dh_auto_build --list</literal> в каталоге пакета с исходным кодом." #. type: Content of: <book><chapter><section><section><para> msgid "" "The functions of <command>dh_*</command> commands are largely self-evident " "from their names. <placeholder type=\"footnote\" id=\"0\"/> There are a few " "notable ones that are worth giving (over)simplified explanations here " "assuming a typical build environment based on a <filename>Makefile</" "filename>. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "Назначение команд <command>dh_*</command> практически полностью совпадает с " "их именами <placeholder type=\"footnote\" id=\"0\"/>. Вот несколько наиболее " "примечательных команд с упрощённым описанием, предполагающим использование " "типичной среды сборки на основе <filename>Makefile</filename> <placeholder " "type=\"footnote\" id=\"1\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>distclean</literal>, <literal>realclean</literal>, " "or <literal>clean</literal>, and executes that." msgstr "" "В действительности, в <filename>Makefile</filename> ищется и выполняется " "первая из доступных целей: <literal>distclean</literal>, <literal>realclean</" "literal> или <literal>clean</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_clean</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>distclean</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Если существует <filename>Makefile</filename> с целью <literal>distclean</" "literal>, то <command>dh_auto_clean</command>, обычно, выполняет следующее " "<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make distclean\n" msgstr "make distclean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_configure</command> usually executes the following if " "<filename>./configure</filename> exists (arguments abbreviated for " "readability)." msgstr "" "Команда <command>dh_auto_configure</command>, обычно, выполняет следующее " "(если существует <filename>./configure</filename>; список аргументов " "сокращён для повышения читаемости):" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" msgstr "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_build</command> usually executes the following to execute " "the first target of <filename>Makefile</filename> if it exists." msgstr "" "Команда <command>dh_auto_build</command>, обычно, выполняет следующее для " "первой цели в <filename>Makefile</filename> (если он существует):" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make\n" msgstr "make\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>test</literal> or <literal>check</literal>, and " "executes that." msgstr "" "В действительности, в <filename>Makefile</filename> ищется и выполняется " "первая из доступных целей: <literal>test</literal> или <literal>check</" "literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_test</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>test</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Команда <command>dh_auto_test</command>, обычно, выполняет следующее (если " "существует <filename>Makefile</filename> с целью <literal>test</literal>; " "строка сокращена для повышения читаемости) <placeholder type=\"footnote\" id=" "\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make test\n" msgstr "make test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_install</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>install</literal> " "target (line folded for readability)." msgstr "" "Команда <command>dh_auto_install</command>, обычно, выполняет следующее " "(если существует <filename>Makefile</filename> с целью <literal>install</" "literal>; строка сокращена для повышения читаемости):" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" msgstr "" "make install \\\n" " DESTDIR=<replaceable>/путь/к</replaceable>/<replaceable>пакету</replaceable>_<replaceable>версия</replaceable>-<replaceable>редакция</replaceable>/debian/<replaceable>пакет</replaceable>\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "All targets which require the <command>fakeroot</command> command will " "contain <command>dh_testroot</command>, which exits with an error if you are " "not using this command to pretend to be root." msgstr "" "Цели, которым требуется команда <command>fakeroot</command>, содержат " "<command>dh_testroot</command>. Если вы не притворитесь root с помощью этой " "команды, то выполнение завершится с ошибкой." #. type: Content of: <book><chapter><section><section><para> msgid "" "The important part to know about the <filename>rules</filename> file created " "by <command>dh_make</command> is that it is just a suggestion. It will work " "for most packages but for more complicated ones, don't be afraid to " "customize it to fit your needs." msgstr "" "Важно учесть, что файл <filename>rules</filename>, созданный " "<command>dh_make</command>, это только предложение. Он будет работать для " "большинства пакетов, но в более сложных случаях не бойтесь изменять его под " "ваши нужды." #. type: Content of: <book><chapter><section><section><para> msgid "" "Although <literal>install</literal> is not a required target, it is " "supported. <literal>fakeroot dh install</literal> behaves like " "<literal>fakeroot dh binary</literal> but stops after <command>dh_fixperms</" "command>." msgstr "" "Хотя цель <literal>install</literal> не является обязательной, она всё равно " "поддерживается. Команда <literal>fakeroot dh install</literal> работает " "также как <literal>fakeroot dh binary</literal>, но останавливается после " "<command>dh_fixperms</command>." #. type: Content of: <book><chapter><section><section><title> msgid "Customization of <filename>rules</filename> file" msgstr "Доработка файла <filename>rules</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are many ways to customize the <filename>rules</filename> file created " "with the new <command>dh</command> command." msgstr "" "Есть много способов доработать файл <filename>rules</filename>, созданный " "новой программой <command>dh</command>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " "should activate its customization function by <literal>dh $@ --with " "<replaceable>custom-name</replaceable></literal>." msgstr "" "Если с пакетом устанавливается файл <filename>/usr/share/perl5/Debian/" "Debhelper/Sequence/<replaceable>своё_имя</replaceable>.pm</filename>, то вам " "нужно активировать его функцию доработки командой <literal>dh $@ --with " "<replaceable>своё_имя</replaceable></literal>." #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>dh $@</literal> command can be customized as follows. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Работу команды <literal>dh $@</literal> можно изменить следующим образом " "<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "Use of the <command>dh_python2</command> command is preferred over use of " "<command>dh_pysupport</command> or <command>dh_pycentral</command> " "commands. Do not use the <command>dh_python</command> command." msgstr "" "Команда <command>dh_python2</command> предпочтительнее, чем " "<command>dh_pysupport</command> или <command>dh_pycentral</command>. Не " "используйте команду <command>dh_python</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_python2</command> command. (The best choice " "for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Добавление поддержки команды <command>dh_python2</command> (лучший выбор для " "Python) <placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "В <literal>Build-Depends</literal> укажите пакет <systemitem role=\"package" "\">python</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python2</literal>." msgstr "Используйте <literal>dh $@ --with python2</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python</" "systemitem> framework." msgstr "" "Это позволяет работать с модулями Python, использующими инфраструктуру " "<systemitem role=\"package\">python</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pysupport</command> command. (deprecated)" msgstr "" "Добавление поддержки команды <command>dh_pysupport</command> (устарела):" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-support</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "В <literal>Build-Depends</literal> укажите пакет <systemitem role=\"package" "\">python-support</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with pysupport</literal>." msgstr "Используйте <literal>dh $@ --with pysupport</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "support</systemitem> framework." msgstr "" "Это позволяет работать с модулями Python, использующими инфраструктуру " "<systemitem role=\"package\">python-support</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pycentral</command> command. (deprecated)" msgstr "" "Добавление поддержки команды <command>dh_pycentral</command> (устарела):" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-central</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "В <literal>Build-Depends</literal> укажите пакет <systemitem role=\"package" "\">python-central</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python-central</literal> instead." msgstr "" "Вместо <literal>dh $@</literal> используйте <literal>dh $@ --with python-" "central</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This also deactivates the <command>dh_pysupport</command> command." msgstr "При этом отключается команда <command>dh_pysupport</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "central</systemitem> framework." msgstr "" "Это позволяет работать с модулями Python, использующими инфраструктуру " "<systemitem role=\"package\">python-central</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_installtex</command> command." msgstr "Добавление поддержки команды <command>dh_installtex</command>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">tex-common</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "В <literal>Build-Depends</literal> укажите пакет <systemitem role=\"package" "\">tex-common</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with tex</literal> instead." msgstr "" "Вместо <literal>dh $@</literal> используйте <literal>dh $@ --with tex</" "literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This registers Type 1 fonts, hyphenation patterns, and formats with TeX." msgstr "" "Она регистрирует шрифты в формате Type 1, правила переносов или форматы в " "TeX." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_quilt_patch</command> and " "<command>dh_quilt_unpatch</command> commands." msgstr "" "Добавление поддержки команд <command>dh_quilt_patch</command> и " "<command>dh_quilt_unpatch</command>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">quilt</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "В <literal>Build-Depends</literal> укажите пакет <systemitem role=\"package" "\">quilt</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with quilt</literal> instead." msgstr "" "Вместо <literal>dh $@</literal> используйте <literal>dh $@ --with quilt</" "literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This applies and un-applies patches to the upstream source from files in the " "<filename>debian/patches</filename> directory for a source package in the " "<literal>1.0</literal> format." msgstr "" "Эта команда накладывает и откатывает заплаты на исходный код из файлов " "каталога <filename>debian/patches</filename> для пакетов с исходным кодом " "версии <literal>1.0</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This is not needed if you use the new <literal>3.0 (quilt)</literal> source " "package format." msgstr "" "Она не требуется, если вы используете пакеты с исходным кодом новой версии " "<literal>3.0 (quilt)</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_dkms</command> command." msgstr "Добавление поддержки команды <command>dh_dkms</command>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dkms</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "В <literal>Build-Depends</literal> укажите пакет <systemitem role=\"package" "\">dkms</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with dkms</literal> instead." msgstr "" "Вместо <literal>dh $@</literal> используйте <literal>dh $@ --with dkms</" "literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This correctly handles DKMS usage by kernel module packages." msgstr "" "Это команда позволяет корректно использовать DKMS для пакетов с модулями " "ядра." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autotools-dev_updateconfig</command> and " "<command>dh_autotools-dev_restoreconfig</command> commands." msgstr "" "Добавление поддержки команд <command>dh_autotools-dev_updateconfig</command> " "и <command>dh_autotools-dev_restoreconfig</command>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">autotools-dev</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "В <literal>Build-Depends</literal> укажите пакет <systemitem role=\"package" "\">autotools-dev</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autotools-dev</literal> instead." msgstr "" "Вместо <literal>dh $@</literal> используйте <literal>dh $@ --with autotools-" "dev</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates and restores <filename>config.sub</filename> and " "<filename>config.guess</filename>." msgstr "" "Эта команда обновляет и восстанавливает <filename>config.sub</filename> и " "<filename>config.guess</filename>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autoreconf</command> and " "<command>dh_autoreconf_clean</command> commands." msgstr "" "Добавление поддержки команд <command>dh_autoreconf</command> и " "<command>dh_autoreconf_clean</command>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dh-autoreconf</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "В <literal>Build-Depends</literal> укажите пакет <systemitem role=\"package" "\">dh-autoreconf</systemitem>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autoreconf</literal> instead." msgstr "" "Вместо <literal>dh $@</literal> используйте <literal>dh $@ --with " "autoreconf</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates the GNU Build System files and restores them after the build." msgstr "" "Эта команда обновляет файлы GNU Build System и восстанавливает их после " "сборки." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_girepository</command> command." msgstr "Добавление поддержки команды <command>dh_girepository</command>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">gobject-introspection</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "Укажите пакет <systemitem role=\"package\">gobject-introspection</" "systemitem> в <literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with gir</literal> instead." msgstr "" "Вместо <literal>dh $@</literal> используйте <literal>dh $@ --with gir</" "literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This computes dependencies for packages shipping GObject introspection data " "and generates the <literal>${gir:Depends}</literal> substitution variable " "for the package dependency." msgstr "" "Эта команда вычислит зависимости пакетов, содержащих описательные " "(introspection) данные GObject и сгенерирует переменную подстановки <literal>" "${gir:Depends}</literal> для пакетной зависимости." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>bash</command> completion feature." msgstr "Добавление поддержки свойства автодополнения <command>bash</command>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">bash-completion</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "Укажите пакет <systemitem role=\"package\">bash-completion</systemitem> в " "<literal>Build-Depends</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with bash-completion</literal> instead." msgstr "" "Вместо <literal>dh $@</literal> используйте <literal>dh $@ --with bash-" "completion</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This installs <command>bash</command> completions using a configuration file " "at <filename>debian/<replaceable>package</replaceable>.bash-completion</" "filename>." msgstr "" "Эта команда установит дополнения <command>bash</command> согласно файлу " "настройки <filename>debian/<replaceable>пакет</replaceable>.bash-completion</" "filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Many <command>dh_*</command> commands invoked by the new <command>dh</" "command> command can be customized by the corresponding configuration files " "in the <filename>debian</filename> directory. See <xref linkend=\"dother\"/" "> and the manpage of each command for the customization of such features." msgstr "" "Многие команды <command>dh_*</command>, вызываемые новой командой " "<command>dh</command>, могут быть настроены в соответствующих " "конфигурационных файлах в каталоге <filename>debian</filename>. Смотрите " "<xref linkend=\"dother\"/> и справочную страницу к каждой команде для " "настройки этих параметров." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Under <literal>lenny</literal>, if you wanted to change the behavior of a " "<command>dh_*</command> script you found the relevant line in the " "<filename>rules</filename> file and adjusted it." msgstr "" "В <literal>lenny</literal>, если вы хотите изменить поведение сценария " "<command>dh_*</command>, нужно найти соответствующую строку в файле " "<filename>rules</filename> правил и изменить её." #. type: Content of: <book><chapter><section><section><para> msgid "" "You may need to run <command>dh_*</command> commands invoked via the new " "<command>dh</command> with added arguments, or to run additional commands " "with them, or to skip them. For such cases, you create an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target with " "its rule in the <filename>rules</filename> file defining an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target for the " "<command>dh_<replaceable>foo</replaceable></command> command you want to " "change. It basically says <emphasis>run me instead</emphasis>. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Некоторые команды <command>dh_*</command>, вызванные новой командой " "<command>dh</command>, могут потребовать от вас запустить их с некоторыми " "аргументами, выполнить вместе с ними дополнительные команды или пропустить " "их. В таких случаях надо создать цель <literal>override_dh_<replaceable>foo</" "replaceable></literal> с правилами в файле <filename>rules</filename> только " "для той команды <command>dh_<replaceable>foo</replaceable></command>, " "которую вы собираетесь изменить. Она воспринимается как <emphasis>запусти " "меня вместо той</emphasis> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note that the <command>dh_auto_*</command> commands tend to do more " "than what has been discussed in this (over)simplified explanation to take " "care of all the corner cases. It is a bad idea to use " "<literal>override_dh_*</literal> targets to substitute simplified equivalent " "commands (except for the <literal>override_dh_auto_clean</literal> target) " "since it may bypass such smart <systemitem role=\"package\">debhelper</" "systemitem> features." msgstr "" "Заметим, что команды <command>dh_auto_*</command> пытаются делать больше, " "чем было описано (очень) поверхностно ранее, для того, чтобы учесть все " "возможные ситуации. Использование упрощённых эквивалентов команд вместо " "целей <literal>override_dh_*</literal> — плохая идея (за исключением цели " "<literal>override_dh_auto_clean</literal>), так как это может привести к " "удалению важных функций <systemitem role=\"package\">debhelper</systemitem>." #. type: Content of: <book><chapter><section><section><para> msgid "" "So, for instance, if you want to store system configuration data in the " "<filename>/etc/gentoo</filename> directory instead of the usual <filename>/" "etc</filename> directory for the recent <systemitem role=\"package\">gentoo</" "systemitem> package using Autotools, you can override the default <literal>--" "sysconfig=/etc</literal> argument given by the <command>dh_auto_configure</" "command> command to the <command>./configure</command> command by the " "following." msgstr "" "Так, например, если вы хотите хранить системные файлы настройки пакета " "<systemitem role=\"package\">gentoo</systemitem> (использующего Autotools) в " "каталоге <filename>/etc/gentoo</filename> вместо обычного <filename>/etc</" "filename>, то можете переопределить аргумент <literal>--sysconfig=/etc</" "literal>, заданный по умолчанию, в команде <command>dh_auto_configure</" "command>, которая передаст его <command>./configure</command>:" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "The arguments given after <literal>--</literal> are appended to the default " "arguments of the auto-executed program to override them. Using the " "<command>dh_auto_configure</command> command is better than directly " "invoking the <command>./configure</command> command here since it will only " "override the <literal>--sysconfig</literal> argument and retains any other, " "benign arguments to the <command>./configure</command> command." msgstr "" "Аргументы, указываемые после <literal>--</literal>, добавляются к аргументам " "автоматически выполняемой программы по умолчанию для их замены. " "Использование в данном случае команды <command>dh_auto_configure</command> " "более предпочтительно, чем вызов <command>./configure</command>, так как она " "всего лишь заменит аргумент <literal>--sysconfig</literal>, сохранив при " "этом другие безвредные аргументы, переданные <command>./configure</command>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<command>dh_auto_build</command> without any arguments will execute the " "first target in the <filename>Makefile</filename>." msgstr "" "Программа <command>dh_auto_build</command> без аргументов выполняет правила " "первой цели в <filename>Makefile</filename>:" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify <literal>build</" "literal> as its target to build it <placeholder type=\"footnote\" id=\"0\"/" ">, you create an <literal>override_dh_auto_build</literal> target to enable " "this." msgstr "" "Если <filename>Makefile</filename> из исходного кода <systemitem role=" "\"package\">gentoo</systemitem> требует от вас указания <literal>build</" "literal> в качестве цели для сборки <placeholder type=\"footnote\" id=\"0\"/" ">, то для этого можно создать цель <literal>override_dh_auto_build</literal>." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" msgstr "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "This ensures <literal>$(MAKE)</literal> is run with all the default " "arguments given by the <command>dh_auto_build</command> command plus the " "<literal>build</literal> argument." msgstr "" "Это гарантирует выполнение <literal>$(MAKE)</literal> со всеми аргументами " "по умолчанию, заданными в командах <command>dh_auto_build</command> и " "аргументе <literal>build</literal>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify the " "<literal>packageclean</literal> target to clean it for the Debian package " "instead of using <literal>distclean</literal> or <literal>clean</literal> " "targets, you can create an <literal>override_dh_auto_clean</literal> target " "to enable thit." msgstr "" "Если <filename>Makefile</filename> из исходного кода <systemitem role=" "\"package\">gentoo</systemitem> требует от вас указания цели " "<literal>packageclean</literal> для очистки пакета Debian, а не " "<literal>distclean</literal> или <literal>clean</literal>, то для этого " "можно создать цель <literal>override_dh_auto_clean</literal>." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" msgstr "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> contains a <literal>test</literal> target " "which you do not want to run for the Debian package building process, you " "can use an empty <literal>override_dh_auto_test</literal> target to skip it." msgstr "" "Если <filename>Makefile</filename> из исходного кода <systemitem role=" "\"package\">gentoo</systemitem> содержит цель <literal>test</literal>, " "которую вы не хотите выполнять для процесса сборки пакета Debian, то можно " "использовать пустую цель <literal>override_dh_auto_test</literal>, чтобы " "пропустить это действие." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "override_dh_auto_test:\n" msgstr "override_dh_auto_test:\n" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "The <filename>debian/changelog</filename> and <filename>debian/NEWS</" "filename> files are always automatically installed. The upstream changelog " "is found by converting filenames to lower case and matching them against " "<filename>changelog</filename>, <filename>changes</filename>, " "<filename>changelog.txt</filename>, and <filename>changes.txt</filename>." msgstr "" "Файлы <filename>debian/changelog</filename> и <filename>debian/NEWS</" "filename> всегда устанавливаются автоматически. Файл журнала ищется " "сопоставлением имён файлов, приведённых к нижнему регистру и совпадением их " "с именами <filename>changelog</filename>, <filename>changes</filename>, " "<filename>changelog.txt</filename> и <filename>changes.txt</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If <systemitem role=\"package\">gentoo</systemitem> has an unusual upstream " "changelog file called <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> will not install that file by " "default. The <command>dh_installchangelogs</command> command requires " "<filename>FIXES</filename> as its argument to install it. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Если в пакете <systemitem role=\"package\">gentoo</systemitem> используется " "необычный журнальный файл с именем <filename>FIXES</filename>, то по " "умолчанию <command>dh_installchangelogs</command> не установит этот файл. " "Для его установки укажите команде <command>dh_installchangelogs</command> " "имя <filename>FIXES</filename> в качестве аргумента <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" msgstr "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you use the new <command>dh</command> command, use of explicit targets " "such as the ones listed in <xref linkend=\"targets\"/>, other than the " "<literal>get-orig-source</literal> target, may make it difficult to " "understand their exact effects. Please limit explicit targets to " "<literal>override_dh_*</literal> targets and completely independent ones, if " "possible." msgstr "" "При работе с новой командой <command>dh</command>, используйте явные цели, " "перечисленные в <xref linkend=\"targets\"/>, остальные же (кроме " "<literal>get-orig-source</literal>) могут привести к сложностям понимания их " "конечного эффекта. Если возможно, ограничьтесь явно заданными целями " "<literal>override_dh_*</literal> и полностью независимыми целями." #. type: Content of: <book><chapter><title> msgid "Other files under the <filename>debian</filename> directory" msgstr "Другие файлы в каталоге <filename>debian/</filename>" #. type: Content of: <book><chapter><para> msgid "" "To control most of what <systemitem role=\"package\">debhelper</systemitem> " "does while building the package, you put optional configuration files under " "the <filename>debian</filename> directory. This chapter will provide an " "overview of what each of these does and its format. Please read the <ulink " "url=\"&debian-policy;\">Debian Policy Manual</ulink> and <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> for " "guidelines for packaging." msgstr "" "Для контроля большей части того, что делает <systemitem role=\"package" "\">debhelper</systemitem> при сборке пакетов, служат необязательные файлы " "настройки в каталоге <filename>debian</filename>. В этой главе будет " "рассмотрено, для чего нужен каждый из них и его формат. В <ulink url=" "\"&debian-policy;\">руководстве по политике Debian</ulink> и <ulink url=" "\"&developers-reference;\">справочнике разработчика Debian</ulink> приведены " "общие принципы пакетирования." #. type: Content of: <book><chapter><para> msgid "" "The <command>dh_make</command> command will create some template " "configuration files under the <filename>debian</filename> directory. Most " "of them come with filenames suffixed by <literal>.ex</literal>. Some of " "them come with filenames prefixed by the binary package name such as " "<literal><replaceable>package</replaceable></literal>. Take a look at all " "of them. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "При запуске команда <command>dh_make</command> в каталоге <filename>debian</" "filename> создаёт несколько шаблонов файлов настройки. Большинство из них " "имеет расширение <literal>.ex</literal>. Некоторые имена файлов начинаются " "именем двоичного пакета. Рассмотрим каждый из них <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><para> msgid "" "Some template configuration files for <systemitem role=\"package" "\">debhelper</systemitem> may not be created by the <command>dh_make</" "command> command. In such cases, you need to create them with an editor." msgstr "" "Некоторые шаблоны файлов настройки <systemitem role=\"package\">debhelper</" "systemitem> не могут быть созданы командой <command>dh_make</command>. В " "таких случаях вам необходимо создать их с помощью текстового редактора." #. type: Content of: <book><chapter><para> msgid "If you wish or need to activate any of these, please do the following:" msgstr "" "Если вы хотите активировать некоторые из них, выполните следующие действия:" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename template files by removing the <literal>.ex</literal> or <literal>." "EX</literal> suffix if they have one;" msgstr "" "переименуйте файлы шаблонов, убирая расширение <literal>.ex</literal> или " "<literal>.EX</literal>, если они есть;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename the configuration files to use the actual binary package name in " "place of <literal><replaceable>package</replaceable></literal>;" msgstr "" "переименуйте файлы настройки, используя имя реального двоичного пакета;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "modify template file contents to suit your needs;" msgstr "измените содержимое файла шаблона согласно вашим нуждам;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "remove template files which you do not need;" msgstr "удалите файлы шаблонов, в которых нет необходимости;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>control</filename> file (see <xref linkend=\"control\"/" ">), if necessary;" msgstr "" "при необходимости, измените файл <filename>control</filename> (смотрите " "<xref linkend=\"control\"/>);" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/>), " "if necessary." msgstr "" "при необходимости, измените файл <filename>rules</filename> (смотрите <xref " "linkend=\"rules\"/>);" #. type: Content of: <book><chapter><para> msgid "" "Any <systemitem role=\"package\">debhelper</systemitem> configuration files " "without a <filename><replaceable>package</replaceable></filename> prefix, " "such as <filename>install</filename>, apply to the first binary package. " "When there are many binary packages, their configurations can be specified " "by prefixing their name to their configuration filenames such as " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "Любые файлы настройки <systemitem role=\"package\">debhelper</systemitem> " "без префикса <filename><replaceable>имя пакета</replaceable></filename> как, " "например, <filename>install</filename>, относятся к первому двоичному " "пакету. Если есть несколько двоичных пакетов, их файлы настройки могут быть " "созданы с указанием их имени в имени файла настройки, например, " "<filename><replaceable>пакет-1</replaceable>.install</filename>, " "<filename><replaceable>пакет-2</replaceable>.install</filename> и т.д." #. type: Content of: <book><chapter><section><title> msgid "<filename>README.Debian</filename>" msgstr "Файл <filename>README.Debian</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Any extra details or discrepancies between the original package and your " "Debian version should be documented here." msgstr "" "В этот файл записывается любая дополнительная информация, а также различия " "между программой из пакета Debian и исходной программой." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one; this is what it looks like:" msgstr "Программа <command>dh_make</command> создала файл, похожий на этот:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" msgstr "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have nothing to be documented, remove this file. See <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Если вам нечего сюда написать, удалите этот файл. Смотрите <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<filename>compat</filename>" msgstr "Файл <filename>compat</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>compat</filename> file defines the <systemitem role=\"package" "\">debhelper</systemitem> compatibility level. Currently, you should set it " "to the <systemitem role=\"package\">debhelper</systemitem> v9 as follows:" msgstr "" "Файл <filename>compat</filename> определяет уровень совместимости " "<systemitem role=\"package\">debhelper</systemitem>. В настоящее время вы " "должны указывать уровень <systemitem role=\"package\">debhelper</systemitem> " "v9 следующим образом:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ echo 9 > debian/compat\n" msgstr "$ echo 9 > debian/compat\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>conffiles</filename>" msgstr "Файл <filename>conffiles</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian " "Policy Manual, \"D.2.5 Conffiles\"</ulink>." msgstr "" "Смотрите <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> и <ulink url=\"&policy-conffiles;\">руководство " "по политике Debian, раздел «D.2.5 Conffiles»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "One of the most annoying things about software is when you spend a great " "deal of time and effort customizing a program, only to have an upgrade stomp " "all over your changes. Debian solves this problem by marking such " "configuration files as conffiles. <placeholder type=\"footnote\" id=\"0\"/> " "When you upgrade a package, you'll be asked whether you want to keep your " "old configuration files or not." msgstr "" "Бывает очень обидно, когда тратишь много времени и усилий на настройку " "программы, а при очередном обновлении все настройки исчезают. Debian " "предлагает решение этой проблемы через механизм пометки файлов как " "настроечных — conffiles <placeholder type=\"footnote\" id=\"0\"/>. Для таких " "файлов при обновлении пакета вам будет задан вопрос, нужно ли заменить " "старые файлы теми, что включены в новый пакет." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry><refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> <emphasis>automatically</emphasis> flags any " "files under the <filename>/etc</filename> directory as conffiles, so if your " "program only has conffiles there you do not need to specify them in this " "file. For most package types, the only place conffiles should ever be is " "under <filename>/etc</filename>, and so this file doesn't need to exist." msgstr "" "Программа <citerefentry><refentrytitle>dh_installdeb</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> <emphasis>автоматически</emphasis> " "помечает все файлы в каталоге <filename>/etc</filename> как файлы conffiles, " "так что, если у вашей программы есть файлы conffiles только там, вам не " "обязательно указывать их в этом файле. Для большинства типов пакетов " "единственное место (и для них так должно быть всегда), в котором содержатся " "файлы conffiles, это <filename>/etc</filename> и, таким образом, в этом " "файле нет необходимости." #. type: Content of: <book><chapter><section><para> msgid "" "If your program uses configuration files but also rewrites them on its own, " "it's best not to make them conffiles because <command>dpkg</command> will " "then prompt users to verify the changes all the time." msgstr "" "Если ваша программа не только использует файлы настройки, но и изменяет их, " "будет лучше не отмечать их как conffiles, так как в этом случае " "<command>dpkg</command> каждый раз будет просить пользователя проверить " "изменения." #. type: Content of: <book><chapter><section><para> msgid "" "If the program you're packaging requires every user to modify the " "configuration files in the <filename>/etc</filename> directory, there are " "two popular ways to arrange for them to not be conffiles, keeping " "<command>dpkg</command> quiet." msgstr "" "Если программа, которую вы упаковываете, требует от пользователя изменить " "файлы настройки в каталоге <filename>/etc</filename>, существует два " "популярных способа не отмечать их как conffiles, чтобы подавить вопросы со " "стороны <command>dpkg</command>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a symlink under the <filename>/etc</filename> directory pointing to a " "file under the <filename>/var</filename> directory generated by the " "maintainer scripts." msgstr "" "Создать символьную ссылку в каталоге <filename>/etc</filename>, указывающую " "на файл в каталоге <filename>/var</filename>, генерируемый сценариями " "сопровождающего." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a file generated by the maintainer scripts under the <filename>/etc</" "filename> directory." msgstr "" "Сгенерировать файл в каталоге <filename>/etc</filename> с помощью сценариев " "сопровождающего." #. type: Content of: <book><chapter><section><para> msgid "" "For information on maintainer scripts, see <xref linkend=\"maintscripts\"/>." msgstr "" "Информацию о сценариях сопровождающего смотрите в <xref linkend=" "\"maintscripts\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.cron.*</filename>" msgstr "Файлы <filename><replaceable>пакет</replaceable>.cron.*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package requires regularly scheduled tasks to operate properly, you " "can use these files to set that up. You can set up regular tasks that " "either happen hourly, daily, weekly, or monthly, or alternatively happen at " "any other time that you wish. The filenames are:" msgstr "" "Эти файлы используются для планирования регулярно выполняемых задач. Вы " "можете назначить список задач, выполняемых ежечасно, ежедневно, еженедельно, " "ежемесячно или с любым произвольным интервалом. Вот имена этих файлов:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.hourly</filename> - " "Installed as <filename>/etc/cron.hourly/<replaceable>package</replaceable></" "filename>; run once an hour." msgstr "" "<filename><replaceable>пакет</replaceable>.cron.hourly</filename> — " "устанавливается как <filename>/etc/cron.hourly/<replaceable>пакет</" "replaceable></filename>; выполняется один раз в час." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.daily</filename> - " "Installed as <filename>/etc/cron.daily/<replaceable>package</replaceable></" "filename>; run once a day." msgstr "" "<filename><replaceable>пакет</replaceable>.cron.daily</filename> — " "устанавливается как <filename>/etc/cron.daily/<replaceable>пакет</" "replaceable></filename>; выполняется один раз в день." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.weekly</filename> - " "Installed as <filename>/etc/cron.weekly/<replaceable>package</replaceable></" "filename>; run once a week." msgstr "" "<filename><replaceable>пакет</replaceable>.cron.weekly</filename> — " "устанавливается как <filename>/etc/cron.weekly/<replaceable>пакет</" "replaceable></filename>; выполняется один раз в неделю." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.monthly</filename> - " "Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></" "filename>: run once a month." msgstr "" "<filename><replaceable>пакет</replaceable>.cron.monthly</filename> — " "устанавливается как <filename>/etc/cron.monthly/<replaceable>пакет</" "replaceable></filename>; выполняется один раз в месяц." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.d</filename> - Installed " "as <filename>/etc/cron.d/<replaceable>package</replaceable></filename>: for " "any other time." msgstr "" "<filename><replaceable>пакет</replaceable>.cron.d</filename> — " "устанавливается как <filename>/etc/cron.d/<replaceable>пакет</replaceable></" "filename>; выполняется в любое другое время." #. type: Content of: <book><chapter><section><para> msgid "" "Most of these files are shell scripts, with the exception of " "<filename><replaceable>package</replaceable>.cron.d</filename> which follows " "the format of <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." msgstr "" "Большинство этих файлов являются сценариями оболочки, за исключением " "<filename><replaceable>пакет</replaceable>.cron.d</filename>, который должен " "иметь формат <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "No explicit <filename>cron.*</filename> file is needed to set up log " "rotation; for that, see <citerefentry><refentrytitle>dh_installlogrotate</" "refentrytitle> <manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>logrotate</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" "Для архивирования журнальных файлов никаких файлов <filename>cron.*</" "filename> задавать ненужно — для этого есть другие средства (смотрите " "<citerefentry><refentrytitle>dh_installlogrotate</refentrytitle> " "<manvolnum>1</manvolnum></citerefentry> и " "<citerefentry><refentrytitle>logrotate</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>)." #. type: Content of: <book><chapter><section><title> msgid "<filename>dirs</filename>" msgstr "Файл <filename>dirs</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies any directories which we need but which are not created " "by the normal installation procedure (<literal>make install DESTDIR=...</" "literal> invoked by <literal>dh_auto_install</literal>). This generally " "means there is a problem with the <filename>Makefile</filename>." msgstr "" "В этом файле указываются каталоги, которые необходимы для обычной установки " "(<literal>make install DESTDIR=...</literal>, вызываемая " "<literal>dh_auto_install</literal>), но которые автоматически не создаются. " "Обычно, это указывает на проблему в <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Files listed in an <filename>install</filename> file don't need their " "directories created first. See <xref linkend=\"install\"/>." msgstr "" "Файлы, указанные в файле <filename>install</filename>, не нуждаются в " "предварительном создании каталогов. Смотрите <xref linkend=\"install\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "It is best to try to run the installation first and only use this if you run " "into trouble. There is no preceding slash on the directory names listed in " "the <filename>dirs</filename> file." msgstr "" "Для начала лучше попробовать запустить установку и использовать этот файл, " "только если есть проблемы. В начале имён каталогов, перечисляемых в файле " "<filename>dirs</filename>, косая черта не указывается." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.doc-base</filename>" msgstr "Файл <filename><replaceable>пакет</replaceable>.doc-base</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has documentation other than manual and info pages, you " "should use the <systemitem role=\"package\">doc-base</systemitem> file to " "register it, so the user can find it with e.g. <citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, or <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Если ваш пакет содержит документацию, отличную от справочных страниц или " "файлов в формате info, то для её регистрации в системе вы должны " "воспользоваться файлом <systemitem role=\"package\">doc-base</systemitem>; " "это позволит пользователю найти её при помощи, например, <citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> или <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "This usually includes HTML, PS and PDF files, shipped in <filename>/usr/" "share/doc/<replaceable>packagename</replaceable>/</filename>." msgstr "" "Обычно, к таким файлам относятся файлы в форматах HTML, PS и PDF, помещаемые " "в <filename>/usr/share/doc/<replaceable>имя_пакета</replaceable>/</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "This is what <systemitem role=\"package\">gentoo</systemitem>'s doc-base " "file <filename>gentoo.doc-base</filename> looks like:" msgstr "" "Вот как выглядит файл <systemitem role=\"package\">gentoo</systemitem>, " "входящий в пакет <filename>gentoo.doc-base</filename>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" msgstr "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" #. type: Content of: <book><chapter><section><para> msgid "" "For information on the file format, see <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and the Debian <systemitem role=\"package\">doc-base</" "systemitem> Manual at the local copy <filename>&doc-base;</filename> " "provided by the <systemitem role=\"package\">doc-base</systemitem> package." msgstr "" "Формат этого файла описан в справочной странице <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, а также в локальной копии руководства Debian по <ulink url=" "\"&doc-base;\">doc-base</ulink> из пакета <systemitem role=\"package\">doc-" "base</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "For more details on installing additional documentation, look in <xref " "linkend=\"destdir\"/>." msgstr "" "Подробная информация по установке дополнительной документации приведена в " "<xref linkend=\"destdir\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>docs</filename>" msgstr "Файл <filename>docs</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies the file names of documentation files we can have " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> install into the temporary directory for us." msgstr "" "В этом файле указаны имена файлов документации, которые можно установить во " "временный каталог с помощью <citerefentry> <refentrytitle>dh_installdocs</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "By default, it will include all existing files in the top-level source " "directory that are called <filename>BUGS</filename>, <filename>README*</" "filename>, <filename>TODO</filename> etc." msgstr "" "По умолчанию будут включены все файлы, имеющиеся в самом верхнем каталоге с " "исходным кодом, а именно <filename>BUGS</filename>, <filename>README*</" "filename>, <filename>TODO</filename> и т.д." #. type: Content of: <book><chapter><section><para> msgid "" "For <systemitem role=\"package\">gentoo</systemitem>, some other files are " "also included:" msgstr "" "Для пакета <systemitem role=\"package\">gentoo</systemitem> также включаются " "несколько других файлов:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" msgstr "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>emacsen-*</filename>" msgstr "Файлы <filename>emacsen-*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package supplies Emacs files that can be bytecompiled at package " "installation time, you can use these files to set it up." msgstr "" "В этом файле указываются файлы для Emacs, которые могут быть скомпилированы " "во время установки пакета." #. type: Content of: <book><chapter><section><para> msgid "" "They are installed into the temporary directory by <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Они устанавливаются во временный каталог при помощи <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "If you don't need these, remove them." msgstr "Если они вам не нужны, удалите их." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.examples</filename>" msgstr "Файл <filename><replaceable>пакет</replaceable>.examples</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs files and " "directories listed in this file as example files." msgstr "" "Команда <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> устанавливает файлы и каталоги, " "указанные в этом файле, как файлы примеров." #. type: Content of: <book><chapter><section><title> msgid "" "<filename><replaceable>package</replaceable>.init</filename> and " "<filename><replaceable>package</replaceable>.default</filename>" msgstr "" "Файлы <filename><replaceable>пакет</replaceable>.init</filename> и " "<filename><replaceable>пакет</replaceable>.default</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package is a daemon that needs to be run at system start-up, you've " "obviously disregarded my initial recommendation, haven't you? :-)" msgstr "" "Если ваш пакет содержит службу и её необходимо запускать при старте системы, " "вероятнее всего, вы не обратили внимания на мой изначальный совет, не так " "ли? :-)" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.init</filename> file is " "installed as the <filename>/etc/init.d/<replaceable>package</replaceable></" "filename> script which starts and stops the daemon. Its fairly generic " "skeleton template is provided by the <command>dh_make</command> command as " "<filename>init.d.ex</filename>. You'll likely have to rename and edit it, a " "lot, while making sure to provide <ulink url=\"&lsb;\">Linux Standard Base</" "ulink> (LSB) compliant headers. It gets installed into the temporary " "directory by <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." msgstr "" "Файл <filename><replaceable>пакет</replaceable>.init</filename> " "устанавливается как сценарий <filename>/etc/init.d/<replaceable>пакет</" "replaceable></filename> для запуска и остановки службы. Довольно общий его " "шаблон создаётся командой <command>dh_make</command> в файле <filename>init." "d.ex</filename>. Вам придётся его переименовать и отредактировать, обеспечив " "соблюдение стандарта заголовка согласно <ulink url=\"&lsb;\">Linux Standard " "Base</ulink> (LSB). Он устанавливается во временный каталог с помощью " "<citerefentry> <refentrytitle>dh_installinit</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.default</filename> file " "will be installed as <filename>/etc/default/<replaceable>package</" "replaceable></filename>. This file sets defaults that are sourced by the " "init script. This <filename><replaceable>package</replaceable>.default</" "filename> file is most often used to disable running a daemon, or to set " "some default flags or timeouts. If your init script has certain " "configurable features, you can set them in the " "<filename><replaceable>package</replaceable>.default</filename> file, " "instead of in the init script itself." msgstr "" "Файл <filename><replaceable>пакет</replaceable>.default</filename> будет " "установлен в <filename>/etc/default/<replaceable>пакет</replaceable></" "filename>. В этом файле хранятся значения по умолчанию, используемые " "сценарием инициализации. В большинстве случаев, файл " "<filename><replaceable>пакет</replaceable>.default</filename> используется " "для отключения запуска службы, установки некоторых флагов по умолчанию или " "времени ожидания. Если ваш сценарий инициализации имеет какие-либо " "настраиваемые параметры, вам надо поместить их в файл " "<filename><replaceable>пакет</replaceable>.default</filename>, а не в сам " "сценарий запуска." #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream program provides a file for the init script, you can either " "use it or not. If you don't use their init script then create a new one in " "<filename><replaceable>package</replaceable>.init</filename>. However if " "the upstream init script looks fine and installs in the right place you " "still need to set up the <filename>rc*</filename> symlinks. To do this you " "will need to override <command>dh_installinit</command> in the " "<filename>rules</filename> file with the following lines:" msgstr "" "Если с оригинальной программой поставляется сценарий инициализации, то вы " "можете использовать и его. Если он вам не подходит, то создайте свой в файле " "с именем <filename><replaceable>пакет</replaceable>.init</filename>. Однако, " "если оригинальный сценарий инициализации хорошо написан и устанавливается в " "правильное место, вам всё ещё нужно установить символьные ссылки в " "<filename>rc*</filename>. Для этого замените <command>dh_installinit</" "command> в файле <filename>rules</filename> на следующие строки:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" msgstr "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" #. type: Content of: <book><chapter><section><para> msgid "If you don't need this, remove the files." msgstr "Если сценарий инициализации не требуется, удалите эти файлы." #. type: Content of: <book><chapter><section><title> msgid "<filename>install</filename>" msgstr "Файл <filename>install</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This replaces the deprecated <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command which is " "configured by the <filename>files</filename> file." msgstr "" "Этот файл заменяет устаревшую команду <citerefentry> " "<refentrytitle>dh_movefiles</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, которая настраивается с помощью файла <filename>files</" "filename>." #. type: Content of: <book><chapter><section><para> msgid "" "If there are files that need to be installed into your package but your " "standard <literal>make install</literal> won't do it, put the filenames and " "destinations into this <filename>install</filename> file. They are " "installed by <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=" "\"0\"/> You should first check there is not a more specific tool to use. " "For example, documents should be in the <filename>docs</filename> file and " "not in this one." msgstr "" "Если есть файлы, которые необходимо установить в пакет, но стандартная " "команда <literal>make install</literal> не делает этого, поместите их имена " "и пути назначения в файл <filename>install</filename>. Они устанавливаются " "при помощи <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry><placeholder type=\"footnote\" id=" "\"0\"/>. В первую очередь, вы должны проверить, нет ли более подходящего " "способа это сделать. Например, файлы документации должны находиться в файле " "<filename>docs</filename>, а не в этом." #. type: Content of: <book><chapter><section><para> msgid "" "This <filename>install</filename> file has one line per file installed, with " "the name of the file (relative to the top build directory) then a space then " "the installation directory (relative to the install directory). One example " "of where this is used is if a binary <filename>src/<replaceable>bar</" "replaceable></filename> is left uninstalled; the <filename>install</" "filename> file might look like:" msgstr "" "В файле <filename>install</filename> для каждого устанавливаемого файла " "отводится одна строка; в ней задаётся имя файла (относительно верхнего " "каталога сборки), потом пробел, потом установочный каталог (относительно " "каталога установки). Например, если при установке не устанавливается " "<filename>src/<replaceable>bar</replaceable></filename>, то файл " "<filename>install</filename> будет выглядеть так:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "src/<replaceable>bar</replaceable> usr/bin\n" msgstr "src/<replaceable>bar</replaceable> usr/bin\n" #. type: Content of: <book><chapter><section><para> msgid "" "This means when this package is installed, there will be an executable " "command <filename>/usr/bin/<replaceable>bar</replaceable></filename>." msgstr "" "В результате после установки пакета в системе появится исполняемая команда " "<filename>/usr/bin/<replaceable>bar</replaceable></filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Alternatively, this <filename>install</filename> can have the name of the " "file only without the installation directory when the relative directory " "path does not change. This format is usually used for a large package that " "splits the output of its build into multiple binary packages using " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "Также, в файле <filename>install</filename> можно указывать только имя файла " "без каталога установки, если не менялся относительный путь. Такой формат, " "обычно, используется для большого пакета, в котором результат сборки " "разбивается на несколько двоичных пакетов; список устанавливаемых файлов " "помещается в соответствующий файл <filename><replaceable>пакет-1</" "replaceable>.install</filename>, <filename><replaceable>пакет-2</" "replaceable>.install</filename> и т.д." #. type: Content of: <book><chapter><section><para> msgid "" "The <command>dh_install</command> command will fall back to looking in " "<filename>debian/tmp</filename> for files, if it doesn't find them in the " "current directory (or wherever you've told it to look using <literal>--" "sourcedir</literal>)." msgstr "" "Если команда <command>dh_install</command> не находит файлы в текущем " "каталоге, то она ищет их в <filename>debian/tmp</filename> (или в любом " "другом месте, указанном в <literal>--sourcedir</literal>)." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.info</filename>" msgstr "Файл <filename><replaceable>пакет</replaceable>.info</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has info pages, you should install them using <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing them in a <filename><replaceable>package</" "replaceable>.info</filename> file." msgstr "" "Если у вашего пакета есть страницы в формате info, то их нужно устанавливать " "при помощи <citerefentry> <refentrytitle>dh_installinfo</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, перечислив их в файле " "<filename><replaceable>пакет</replaceable>.info</filename>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.links</filename>" msgstr "Файл <filename><replaceable>пакет</replaceable>.links</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If you need to create additional symlinks in package build directories as " "package maintainer, you should install them using <citerefentry> " "<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing their full paths of source and destination files in " "a <filename><replaceable>package</replaceable>.links</filename> file." msgstr "" "Если вам, как сопровождающему пакета, нужно создать дополнительные " "символьные ссылки в каталогах сборки пакета, установите их с помощью " "<citerefentry> <refentrytitle>dh_link</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>, перечислив полные пути файлов источника и " "назначения в файле <filename><replaceable>пакет</replaceable>.links</" "filename>." #. type: Content of: <book><chapter><section><title> msgid "" "<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</" "filename>" msgstr "" "Файлы <filename>{<replaceable>пакет</replaceable>.,source/}lintian-" "overrides</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " "diagnostic for a case where Debian policy allows exceptions to some rule, " "you can use <filename><replaceable>package</replaceable>.lintian-overrides</" "filename> or <filename>source/lintian-overrides</filename> to quieten it. " "Please read Lintian User's Manual (<filename>&lintian-doc;</filename>) and " "refrain from abusing this." msgstr "" "Если <systemitem role=\"package\">lintian</systemitem> находит ошибки, хотя " "для этого случая в политике Debian разрешены исключения, то можно " "использовать файл <filename><replaceable>пакет</replaceable>.lintian-" "overrides</filename> или <filename>source/lintian-overrides</filename>, " "чтобы убрать подобные сообщения. Прочтите руководство пользователя Lintian " "(<filename>&lintian-doc;</filename>) и не сообщайте о некорректности работы " "программы проверки." #. type: Content of: <book><chapter><section><para> msgid "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> is " "for the binary package named <systemitem role=\"package" "\"><replaceable>package</replaceable></systemitem> and is installed into " "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" "filename> by the <command>dh_lintian</command> command." msgstr "" "Файл <filename><replaceable>пакет</replaceable>.lintian-overrides</filename> " "предназначен для двоичного <systemitem role=\"package\"><replaceable>пакета</" "replaceable></systemitem> и устанавливается в <filename>usr/share/lintian/" "overrides/<replaceable>пакет</replaceable></filename> с помощью команды " "<command>dh_lintian</command>." #. type: Content of: <book><chapter><section><para> msgid "" "<filename>source/lintian-overrides</filename> is for the source package. " "This is not installed." msgstr "" "Файл <filename>source/lintian-overrides</filename> предназначен для пакета с " "исходным кодом. Он не устанавливается." #. type: Content of: <book><chapter><section><title> msgid "<filename>manpage.*</filename>" msgstr "Файлы <filename>manpage.*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Your program(s) should have a manual page. If they don't, you should create " "them. The <command>dh_make</command> command creates some template files " "for manual pages. These need to be copied and edited for each command " "missing its manual page. Please make sure to remove unused templates." msgstr "" "Для каждой программы должна быть справочная страница. Если её нет, её " "необходимо создать. Команда <command>dh_make</command> создаёт несколько " "шаблонов справочных страниц. Они должны быть скопированы и отредактированы " "для каждой команды, не имеющей собственной справочной страницы. Проверьте, " "что удалили неиспользованные шаблоны." #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.1.ex</filename>" msgstr "Файл <filename>manpage.1.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Manual pages are normally written in <citerefentry> <refentrytitle>nroff</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. The " "<filename>manpage.1.ex</filename> template is written in <command>nroff</" "command>, too. See the <citerefentry> <refentrytitle>man</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> manual page for a brief description " "of how to edit such a file." msgstr "" "Справочные страницы, как правило, пишутся на языке разметки <citerefentry> " "<refentrytitle>nroff</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. Файл шаблона <filename>manpage.1.ex</filename> также написан " "на <command>nroff</command>. Смотрите справочную страницу <citerefentry> " "<refentrytitle>man</refentrytitle> <manvolnum>7</manvolnum> </citerefentry>, " "в которой приведено краткое описание действий по редактированию подобных " "файлов." #. type: Content of: <book><chapter><section><section><para> msgid "" "The final manual page file name should give the name of the program it is " "documenting, so we will rename it from <literal>manpage</literal> to " "<literal>gentoo</literal>. The file name also includes <literal>.1</" "literal> as the first suffix, which means it's a manual page for a user " "command. Be sure to verify that this section is indeed the correct one. " "Here's a short list of manual page sections:" msgstr "" "Окончательное имя файла справочной страницы должно включать имя " "документируемой программы, поэтому мы переименуем её с <literal>manpage</" "literal> на <literal>gentoo</literal>. Имя файла также включает <literal>.1</" "literal> в качестве первого суффикса, который означает, что эта справочная " "страница описывает пользовательскую команду. Убедитесь, что используется " "правильный раздел. Вот короткий список разделов справочных страниц:" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Section" msgstr "Раздел" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Description" msgstr "Описание" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Notes" msgstr "Примечания" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "1" msgstr "1" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "User command" msgstr "Команды пользователя" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Executable commands or scripts" msgstr "Запускаемые команды или сценарии" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "2" msgstr "2" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System calls" msgstr "Системные вызовы" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions provided by the kernel" msgstr "Функции, предоставляемые ядром" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "3" msgstr "3" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Library calls" msgstr "Библиотечные вызовы" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions within system libraries" msgstr "Функции, предоставляемые системными библиотеками" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "4" msgstr "4" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Special files" msgstr "Специальные файлы" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Usually found in <filename>/dev</filename>" msgstr "Обычно находятся в каталоге <filename>/dev</filename>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "5" msgstr "5" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "File formats" msgstr "Форматы файлов" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "E.g. <filename>/etc/passwd</filename>'s format" msgstr "Например, формат <filename>/etc/passwd</filename>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "6" msgstr "6" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games" msgstr "Игры" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games or other frivolous programs" msgstr "Игры и другие несерьёзные программы" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "7" msgstr "7" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Macro packages" msgstr "Пакеты макросов" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Such as <command>man</command> macros" msgstr "Например, макросы <command>man</command>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "8" msgstr "8" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System administration" msgstr "Системное администрирование" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Programs typically only run by root" msgstr "Программы, обычно запускаемые только суперпользователем" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "9" msgstr "9" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Kernel routines" msgstr "Функции ядра" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Non-standard calls and internals" msgstr "Нестандартные вызовы и внутреннее устройство" #. type: Content of: <book><chapter><section><section><para> msgid "" "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " "called <filename>gentoo.1</filename>. If there was no <filename>gentoo.1</" "filename> man page in the original source, you should create it by renaming " "the <filename>manpage.1.ex</filename> template to <filename>gentoo.1</" "filename> and editing it using information from the example and from the " "upstream docs." msgstr "" "Таким образом, справочная страница для <systemitem role=\"package\">gentoo</" "systemitem> должна называться <filename>gentoo.1</filename>. Если в исходном " "коде нет справочной страницы <filename>gentoo.1</filename>, то её нужно " "создать путём переименовывания шаблона <filename>manpage.1.ex</filename> в " "<filename>gentoo.1</filename> и затем изменить его, используя информацию из " "примера и документации к исходной программе." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Note that <command>help2man</command>'s placeholder man page will claim that " "more detailed documentation is available in the info system. If the command " "is missing an <command>info</command> page, you should manually edit the man " "page created by the <command>help2man</command> command." msgstr "" "Заметим, что в шаблоне справочной страницы из <command>help2man</command> " "утверждается, что более подробная документация приведена в справочной " "системе info. Если для команды нет страницы <command>info</command>, то вам " "нужно изменить справочную страницу, созданную командой <command>help2man</" "command>." #. type: Content of: <book><chapter><section><section><para> msgid "" "You can use the <command>help2man</command> command to generate a man page " "out of the <literal>--help</literal> and <literal>--version</literal> output " "of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Также, вы можете использовать команду <command>help2man</command> для " "генерации справочной страницы, которая для создания использует результат " "запуска команды с параметрами <literal>--help</literal> и <literal>--" "version</literal> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.sgml.ex</filename>" msgstr "Файл <filename>manpage.sgml.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "If on the other hand you prefer writing SGML instead of <command>nroff</" "command>, you can use the <filename>manpage.sgml.ex</filename> template. If " "you do this, you have to:" msgstr "" "Если вы предпочитаете использовать SGML вместо <command>nroff</command>, то " "можете использовать шаблон <filename>manpage.sgml.ex</filename>. Для этого " "необходимо:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "rename the file to something like <filename>gentoo.sgml</filename>." msgstr "переименовать файл в <filename>gentoo.sgml</filename>;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-to-man</systemitem> package" msgstr "" "установить пакет <systemitem role=\"package\">docbook-to-man</systemitem>;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add <literal>docbook-to-man</literal> to the <literal>Build-Depends</" "literal> line in the <filename>control</filename> file" msgstr "" "в файл <filename>control</filename> добавить <literal>docbook-to-man</" "literal> в строку <literal>Build-Depends</literal>;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add an <literal>override_dh_auto_build</literal> target to your " "<filename>rules</filename> file:" msgstr "" "добавить цель <literal>override_dh_auto_build</literal> в файл " "<filename>rules</filename>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.xml.ex</filename>" msgstr "Файл <filename>manpage.xml.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you prefer XML over SGML, you can use the <literal>manpage.xml.ex</" "literal> template. If you do this, you have to:" msgstr "" "Если вы предпочитаете использовать XML вместо SGML, то можете использовать " "шаблон <literal>manpage.xml.ex</literal>. Для этого необходимо:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "rename the source file to something like <literal>gentoo.1.xml</literal>" msgstr "переименовать исходный файл в <literal>gentoo.1.xml</literal>;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-xsl</systemitem> package " "and an XSLT processor like <systemitem role=\"package\">xsltproc</" "systemitem> (recommended)" msgstr "" "установить пакет <systemitem role=\"package\">docbook-xsl</systemitem> и " "обработчик XSLT (рекомендуется <systemitem role=\"package\">xsltproc</" "systemitem>);" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add the <literal>docbook-xsl</literal>, <literal>docbook-xml</literal>, and " "<literal>xsltproc</literal> packages to the <literal>Build-Depends</literal> " "line in the <literal>control</literal> file" msgstr "" "в файл <literal>control</literal> добавить пакеты <literal>docbook-xsl</" "literal>, <literal>docbook-xml</literal> и <literal>xsltproc</literal> в " "строку <literal>Build-Depends</literal>;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.manpages</filename>" msgstr "Файл <filename><replaceable>пакет</replaceable>.manpages</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has manual pages, you should install them using " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> by listing them in a " "<filename><replaceable>package</replaceable>.manpages</filename> file." msgstr "" "Если ваш пакет содержит справочные страницы, то их следует устанавливать с " "помощью <citerefentry> <refentrytitle>dh_installman</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, перечислив в файле " "<filename><replaceable>пакет</replaceable>.manpages</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "To install <filename>docs/gentoo.1</filename> as a manpage for the " "<systemitem role=\"package\">gentoo</systemitem> package, create a " "<filename>gentoo.manpages</filename> file as follows." msgstr "" "Чтобы установить справочную страницу <filename>doc/gentoo.1</filename> для " "пакета <systemitem role=\"package\">gentoo</systemitem>, создайте следующий " "файл <filename>gentoo.manpages</filename>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "docs/gentoo.1\n" msgstr "docs/gentoo.1\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>menu</filename>" msgstr "Файл <filename>menu</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "X Window System users usually have a window manager with a menu that can be " "customized to launch programs. If they have installed the Debian " "<systemitem role=\"package\">menu</systemitem> package, a set of menus for " "every program on the system will be created for them." msgstr "" "Пользователи X Window System, обычно, используют диспетчеры окон с меню, " "которое может быть настроено для запуска программ. Если у них установлен " "пакет Debian <systemitem role=\"package\">menu</systemitem>, то каждая " "установленная программа будет доступна из меню." #. type: Content of: <book><chapter><section><para> msgid "" "Here's the default <filename>menu.ex</filename> file that <command>dh_make</" "command> created." msgstr "" "Вот стандартный файл <filename>menu.ex</filename>, который создала программа " "<command>dh_make</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" msgstr "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The first field after the colon character is <literal>needs</literal>, and " "it specifies what kind of interface the program needs. Change this to one " "of the listed alternatives, e.g. <literal>text</literal> or <literal>X11</" "literal>." msgstr "" "Первое поле после двоеточия — это <literal>needs</literal>, которое " "указывает тип интерфейса, необходимого программе. Измените его на " "приведённые варианты, например <literal>text</literal> или <literal>X11</" "literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The current list of sections is in <ulink url=\"&menu-structure;\">The " "Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>. There was " "a major reorganization of menu structure for <literal>squeeze</literal>." msgstr "" "Текущий список разделов представлен в <ulink url=\"&menu-structure;" "\">Дополнительная политика Debian для меню 2.1 «Предпочтительная структура " "меню»</ulink>. Согласно ей была реорганизована структура меню в " "<literal>squeeze</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The next is the <literal>section</literal> that the menu and submenu entry " "should appear in. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "В поле <literal>section</literal> задаются пункты меню и подменю, где должна " "появиться программа <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>title</literal> field is the name of the program. You can " "start this one in uppercase if you like. Just keep it short." msgstr "" "В поле <literal>title</literal> указывается название программы. Вы можете " "начать его с заглавной буквы, если вы хотите. Используйте короткое название." #. type: Content of: <book><chapter><section><para> msgid "" "Finally, the <literal>command</literal> field is the command that runs the " "program." msgstr "" "И, наконец, поле <literal>command</literal> — команда, которая запускает " "программу." #. type: Content of: <book><chapter><section><para> msgid "" "Let's change the file name to <filename>menu</filename> and change the menu " "entry to this:" msgstr "" "Давайте переименуем файл в <filename>menu</filename> и изменим запись в меню:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" msgstr "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also add other fields like <literal>longtitle</literal>, " "<literal>icon</literal>, <literal>hints</literal> etc. See <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, and <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> for more information." msgstr "" "Также вы можете добавить другие поля, такие как <literal>longtitle</" "literal>, <literal>icon</literal>, <literal>hints</literal> и т.д. Подробную " "информацию можно найти в <citerefentry> <refentrytitle>dh_installmenu</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>menufile</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>update-menus</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> и в <ulink url=\"&policy-menu;" "\">дополнительной политике Debian по меню</ulink>." #. type: Content of: <book><chapter><section><title> msgid "<filename>NEWS</filename>" msgstr "Файл <filename>NEWS</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "Этот файл устанавливается командой <citerefentry> " "<refentrytitle>dh_installchangelogs</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<filename>{pre,post}{inst,rm}</filename>" msgstr "Файлы <filename>{pre|post}{inst|rm}</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Despite this use of the <command>bash</command> shorthand expression " "<filename>{pre,post}{inst,rm}</filename> to indicate these filenames, you " "should use pure POSIX syntax for these maintainer scripts for compatibility " "with <command>dash</command> as the system shell." msgstr "" "Несмотря на то, что здесь используется сокращённое выражение <command>bash</" "command> для обозначения этих файлов в виде <filename>{pre|post}{inst|rm}</" "filename>, в сценариях сопровождающего рекомендуется использовать только " "синтаксис POSIX для лучшей совместимости с системной оболочкой " "<command>dash</command>." #. type: Content of: <book><chapter><section><para> msgid "" "These <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename>, and <filename>prerm</filename> files " "<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " "scripts</emphasis>. They are scripts which are put in the control area of " "the package and run by <command>dpkg</command> when your package is " "installed, upgraded, or removed." msgstr "" "Файлы <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename> и <filename>prerm</filename> <placeholder type=" "\"footnote\" id=\"0\"/> называются сценариями сопровождающего. Эти сценарии " "находятся в управляющей области пакета и запускаются программой " "<command>dpkg</command> при установке, обновлении или удалении пакета." #. type: Content of: <book><chapter><section><para> msgid "" "As a novice maintainer, you should avoid any manual editing of maintainer " "scripts because they are problematic. For more information refer to the " "<ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 \"Package " "maintainer scripts and installation procedure\"</ulink>, and take a look at " "the example files provided by <command>dh_make</command>." msgstr "" "Как начинающему сопровождающему вам следует избегать ручной правки сценариев " "сопровождающего, так как они имеют тенденцию усложняться. Более подробную " "информацию смотрите в <ulink url=\"&policy-mantainerscripts;\">руководстве " "по политике Debian, глава 6 «Сценарии сопровождающего пакета и процесс " "установки»</ulink>, и взгляните на файлы примеров, предоставляемые " "<command>dh_make</command>." #. type: Content of: <book><chapter><section><para> msgid "" "If you did not listen to me and have created custom maintainer scripts for a " "package, you should make sure to test them not only for <emphasis role=" "\"strong\">install</emphasis> and <emphasis role=\"strong\">upgrade</" "emphasis> but also for <emphasis role=\"strong\">remove</emphasis> and " "<emphasis role=\"strong\">purge</emphasis>." msgstr "" "Если вы не послушали меня и сделали собственные сценарии сопровождающего для " "пакета, вам следует убедиться, что вы сделали всё правильно, протестировав " "их не только для <emphasis role=\"strong\">установки</emphasis> и <emphasis " "role=\"strong\">обновления</emphasis>, но и для <emphasis role=\"strong" "\">удаления</emphasis> и <emphasis role=\"strong\">вычистки</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Upgrades to the new version should be silent and non-intrusive (existing " "users should not notice the upgrade except by discovering that old bugs have " "been fixed and perhaps that there are new features)." msgstr "" "При обновлении пакета до новой версии на экран ничего не должно выводиться и " "это должен быть ненавязчивый процесс (пользователи не должны обращать " "внимание на обновление, за исключением обнаружения того, что старые ошибки " "были исправлены и, возможно, появились новые возможности)." #. type: Content of: <book><chapter><section><para> msgid "" "When the upgrade is necessarily intrusive (eg., config files scattered " "through various home directories with totally different structure), you may " "consider as the last resort switching the package to a safe fallback state " "(e.g., disabling a service) and providing the proper documentation required " "by policy (<filename>README.Debian</filename> and <filename>NEWS.Debian</" "filename>). Don't bother the user with <command>debconf</command> notes " "invoked from these maintainer scripts for upgrades." msgstr "" "Когда для обновления требуются какие-то действия (например, файлы настройки " "разбросаны по различным каталогам в домашнем каталоге с абсолютно разной " "структурой), вы можете перевести пакет в безопасное состояние (например, " "отключив службу) и предоставить соответствующую документацию, требуемую " "политикой (<filename>README.Debian</filename> и <filename>NEWS.Debian</" "filename>). Не беспокойте пользователя меню <command>debconf</command>, " "вызываемым из сценариев сопровождающего для обновления." #. type: Content of: <book><chapter><section><para> msgid "" "The <systemitem role=\"package\">ucf</systemitem> package provides a " "<emphasis>conffile-like</emphasis> handling infrastructure to preserve user " "changes for files that may not be labeled as <emphasis>conffiles</emphasis> " "such as those managed by the maintainer scripts. This should minimize " "issues associated with them." msgstr "" "Пакет <systemitem role=\"package\">ucf</systemitem> предоставляет " "<emphasis>conffile-подобную</emphasis> инфраструктуру для сохранения " "пользовательских изменений в файлах, которые не могут быть помечены как " "<emphasis>conffiles</emphasis>, например файлы, управляемые сценариями " "сопровождающего. Это должно минимизировать возможные проблемы, связанные с " "ними." #. type: Content of: <book><chapter><section><para> msgid "" "These maintainer scripts are among the Debian enhancements that explain " "<emphasis role=\"strong\">why people choose Debian</emphasis>. You must be " "very careful not to turn them into a source of annoyance." msgstr "" "Сценарии сопровождающего являются сильной стороной Debian, из-за них " "<emphasis role=\"strong\">люди выбирают Debian</emphasis>. Вы должны быть " "очень осторожны, чтобы не превратить их в источник раздражения." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.symbols</filename>" msgstr "Файл <filename><replaceable>пакет</replaceable>.symbols</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging of library is not easy for a novice maintainer and should be " "avoided. Having said it, if your package has libraries, you should have " "<filename>debian/<replaceable>package</replaceable>.symbols</filename> " "files. See <xref linkend=\"librarysymbols\"/>." msgstr "" "Новичкам лучше не браться за упаковывание библиотек, так как это не просто. " "Но всё же, если вы упаковываете библиотеки, у вас должны быть файлы " "<filename>debian/<replaceable>пакет</replaceable>.symbols</filename>. " "Смотрите <xref linkend=\"librarysymbols\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>TODO</filename>" msgstr "Файл <filename>TODO</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "Этот файл устанавливается командой <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<filename>watch</filename>" msgstr "Файл <filename>watch</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>watch</filename> file format is documented in the " "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> manpage. The <filename>watch</filename> file configures the " "<command>uscan</command> program (in the <systemitem role=\"package" "\">devscripts</systemitem> package) to watch the site where you originally " "got the source from. This is also used by the <ulink url=\"&dehs;\">Debian " "External Health Status (DEHS)</ulink> service." msgstr "" "Формат файла <filename>watch</filename> описан в справочной странице " "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>. Файл <filename>watch</filename> настраивает программу " "<command>uscan</command> (предоставляется пакетом <systemitem role=\"package" "\">devscripts</systemitem>) для слежения за сайтами, с которых вы скачали " "исходный код. Он также используется <ulink url=\"&dehs;\">службой Debian для " "слежения за состоянием внешних источников (DEHS)</ulink>." #. type: Content of: <book><chapter><section><para> msgid "Here are its contents:" msgstr "Вот его содержимое:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" msgstr "" "# управляющий файл watch для uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" #. type: Content of: <book><chapter><section><para> msgid "" "Normally with a <filename>watch</filename> file, the URL at <literal>&sf-" "net;/gentoo</literal> is downloaded and searched for links of the form " "<literal><a href=...></literal>. The basename (just the part after " "the final <literal>/</literal>) of each linked URL is compared against the " "Perl regular expression pattern (see <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Out of the files that match, the one with the " "greatest version number is downloaded and the <command>uupdate</command> " "program is run to create an updated source tree." msgstr "" "Обычно, с указанного в файле <filename>watch</filename> URL <literal>http://" "sf.net/gentoo</literal> скачивается страница и в ней ищутся ссылки вида " "<literal><a href=...></literal>. Базовое имя (часть за последним " "<literal>/</literal>) каждой найденной ссылки сравнивается с шаблоном " "регулярного выражения Perl (смотрите <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Из совпавших файлов загружается файл с наибольшим " "номером версии и запускается программа <command>uupdate</command>, которая " "создаёт из них обновлённое дерево исходного кода." #. type: Content of: <book><chapter><section><para> msgid "" "Although this is true for other sites, the SourceForge download service at " "<ulink url=\"&sf-net;\"/> is an exception. When the <filename>watch</" "filename> file has an URL matching the Perl regexp <literal>^http://sf\\.net/" "</literal>, the <command>uscan</command> program replaces it with " "<literal>&qa-do;watch/sf.php/</literal> and then applies this rule. The URL " "redirector service at <ulink url=\"&qa-do;\"/> is designed to offer a stable " "redirect service to the desired file for any <filename>watch</filename> " "pattern of the form <literal>&sf-net;/<replaceable>project</replaceable>/" "<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This solves " "issues related to periodically changing SourceForge URLs." msgstr "" "Хотя это верно для других сайтов, служба загрузки SourceForge <ulink url=" "\"&sf-net;\"/> является исключением. Когда файл <filename>watch</filename> " "содержит URL, совпадающий с регулярным выражением Perl <literal>^http://sf\\." "net/</literal>, программа <command>uscan</command> заменяет его на " "<literal>&qa-do;watch/sf.php/</literal> и затем применяет это правило. " "Служба перенаправлений URL <ulink url=\"&qa-do;\"/> создана для обеспечения " "стабильности перенаправлений на требующийся файл для любого файла " "<filename>watch</filename>, который содержит <literal>&sf-net;/" "<replaceable>проект</replaceable>/<replaceable>имя-tar</replaceable>-(.+)\\." "tar\\.gz</literal>. Это решает проблемы, связанные с периодическими " "изменениями URL на SourceForge." #. type: Content of: <book><chapter><section><title> msgid "<filename>source/format</filename>" msgstr "Файл <filename>source/format</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "In the <filename>debian/source/format</filename> file, there should be a " "single line indicating the desired format for the source package (check " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> for an exhaustive list). After <literal>squeeze</" "literal>, it should say either:" msgstr "" "В файле <filename>debian/source/format</filename> должна содержаться " "единственная строка, указывающая на желаемый формат пакета с исходным кодом " "(полный список смотрите в <citerefentry> <refentrytitle>dpkg-source</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>). После " "<literal>squeeze</literal> он должен содержать либо:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgstr "<literal>3.0 (native)</literal> — для родных пакетов Debian;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (quilt)</literal> for everything else." msgstr "<literal>3.0 (quilt)</literal> — для всего остального." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for a summary on the switch " "to the new <literal>3.0 (quilt)</literal> and <literal>3.0 (native)</" "literal> source formats." msgstr "" "Обзор перехода на новые форматы пакетов <literal>3.0 (quilt)</literal> и " "<literal>3.0 (native)</literal> с исходным кодом смотрите в <ulink url=" "\"&debsrc3;\">DebSrc3.0</ulink>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Actually, this new format also supports multiple upstream tarballs and more " "compression methods. These are beyond the scope of this document." msgstr "" "Фактически, новый формат также позволяет использовать несколько tar-архивов " "исходной программы и дополнительные методы сжатия. Описание этого выходит за " "рамки данного документа." #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format records modifications " "in a <command>quilt</command> patch series within <filename>debian/patches</" "filename>. Those changes are then automatically applied during extraction " "of the source package. <placeholder type=\"footnote\" id=\"0\"/> The Debian " "modifications are simply stored in a <filename>debian.tar.gz</filename> " "archive containing all files under the <filename>debian</filename> " "directory. This new format supports inclusion of binary files such as PNG " "icons by the package maintainer without requiring tricks. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "В новом формате пакетов с исходным кодом <literal>3.0 (quilt)</literal> " "изменения записываются в виде серии заплат <command>quilt</command> в " "каталог <filename>debian/patches</filename>. Эти изменения автоматически " "накладываются в ходе распаковки пакета исходного кода <placeholder type=" "\"footnote\" id=\"0\"/>. Изменения Debian хранятся в архиве <filename>debian." "tar.gz</filename>, содержащем все файлы из каталога <filename>debian</" "filename>. Новый формат позволяет сопровождающему включать двоичные файлы, " "такие как значки в формате PNG, без дополнительных ухищрений <placeholder " "type=\"footnote\" id=\"1\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "When <command>dpkg-source</command> extracts a source package in " "<literal>3.0 (quilt)</literal> source format, it automatically applies all " "patches listed in <filename>debian/patches/series</filename>. You can avoid " "applying patches at the end of the extraction with the <literal>--skip-" "patches</literal> option." msgstr "" "Когда программа <command>dpkg-source</command> распаковывает пакет с " "исходным кодом в формате <literal>3.0 (quilt)</literal>, она автоматически " "накладывает все заплаты, перечисленные в файле <filename>debian/patches/" "series</filename>. Вы можете избежать наложения заплат в конце распаковки, " "указав параметр <literal>--skip-patches</literal>." #. type: Content of: <book><chapter><section><title> msgid "<filename>source/local-options</filename>" msgstr "Файл <filename>source/local-options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "When you want to manage Debian packaging activities under a VCS, you " "typically create one branch (e.g. <literal>upstream</literal>) tracking the " "upstream source and another branch (e.g. typically <literal>master</" "literal> for Git) tracking the Debian package. For the latter, you usually " "want to have unpatched upstream source with your <filename>debian/*</" "filename> files for the Debian packaging to ease merging of the new upstream " "source." msgstr "" "При ведении работы по пакетированию Debian в VCS, как правило, создаётся две " "ветви: одна (например, <literal>upstream</literal>) для отслеживания " "исходного кода программы и другая (обычно, <literal>master</literal> в Git) " "для отслеживания пакета Debian. В последней, обычно, хочется иметь " "неизменённый исходный код программы и свои файлы <filename>debian/*</" "filename> для пакетирования Debian, чтобы легко производить слияние с новой " "версией авторского исходного кода." #. type: Content of: <book><chapter><section><para> msgid "" "After you build a package, the source is normally left patched. You need to " "unpatch it manually by running <literal>dquilt pop -a</literal> before " "committing to the <literal>master</literal> branch. You can automate this " "by adding the optional <filename>debian/source/local-options</filename> file " "containing <literal>unapply-patches</literal>. This file is not included in " "the generated source package and changes the local build behavior only. " "This file may contain <literal>abort-on-upstream-changes</literal>, too (see " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." msgstr "" "После того, как вы собрали пакет, исходный код, обычно, остаётся изменённым. " "Вам необходимо вручную убрать изменения, внесённые заплатами, с помощью " "запуска <literal>dquilt pop -a</literal> перед сохранением в ветку " "<literal>master</literal>. Вы можете автоматизировать это, добавив " "дополнительный файл <filename>debian/source/local-options</filename>, " "содержащий <literal>unapply-patches</literal>. Этот файл не включается в " "генерируемый пакет с исходным кодом и изменяет только поведение локальной " "сборки. Также, он может содержать <literal>abort-on-upstream-changes</" "literal> (смотрите <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "unapply-patches\n" "abort-on-upstream-changes\n" msgstr "" "unapply-patches\n" "abort-on-upstream-changes\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/options</filename>" msgstr "Файл <filename>source/options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The autogenerated files in the source tree can be quite annoying for " "packaging since they generate meaningless large patch files. There are " "custom modules such as <command>dh_autoreconf</command> to ease this problem " "as described in <xref linkend=\"customrules\"/>." msgstr "" "Автоматически генерируемые файлы в дереве исходного кода могут немного " "раздражать при пакетировании, так как из-за них генерируются бесполезные " "большие файлы заплат. Для решения этой проблемы есть специальные модули, " "такие как <command>dh_autoreconf</command>, описанные в <xref linkend=" "\"customrules\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "You can provide a Perl regular expression to the <literal>--extend-diff-" "ignore</literal> option argument of <citerefentry> <refentrytitle>dpkg-" "source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> to ignore " "changes made to the autogenerated files while creating the source package." msgstr "" "При создании пакета с исходным кодом вы можете указать регулярное выражение " "Perl в параметре <literal>--extend-diff-ignore</literal> для <citerefentry> " "<refentrytitle>dpkg-source</refentrytitle><manvolnum>1</manvolnum> </" "citerefentry>, чтобы игнорировать изменения в автоматически генерируемых " "файлах." #. type: Content of: <book><chapter><section><para> msgid "" "As a general solution to address this problem of the autogenerated files, " "you can store such a <command>dpkg-source</command> option argument in the " "<filename>source/options</filename> file of the source package. The " "following will skip creating patch files for <filename>config.sub</" "filename>, <filename>config.guess</filename>, and <filename>Makefile</" "filename>." msgstr "" "Общим решением этой проблемы с автоматически создаваемыми файлами является " "сохранение аргумента <command>dpkg-source</command> в файле пакета с " "исходным кодом <filename>source/options</filename>. Благодаря следующим " "настройкам в файлы заплат не будут включены <filename>config.sub</filename>, " "<filename>config.guess</filename> и <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" msgstr "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>patches/*</filename>" msgstr "Файлы <filename>patches/*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The old <literal>1.0</literal> source format created a single large " "<filename>diff.gz</filename> file containing package maintenance files in " "<filename>debian</filename> and patch files for the source. Such a package " "is a bit cumbersome to inspect and understand for each source tree " "modification later. This is not so nice." msgstr "" "При использовании старого формата пакета с исходным кодом <literal>1.0</" "literal> создавался один большой файл <filename>diff.gz</filename>, который " "содержал файлы сопровождения в <filename>debian</filename> и заплаты к " "исходному коду. Такой пакет немного громоздок для проверки и понимания " "каждого изменения дерева исходного кода. Это не так уж хорошо." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Several methods of patch set maintenance have been proposed and are in use " "for Debian packages. The <command>quilt</command> system is the preferred " "maintenance system in use. Others include <command>dpatch</command>, " "<command>dbs</command>, and <command>cdbs</command>. Many of these keep " "such patches as <filename>debian/patches/*</filename> files." msgstr "" "Для управления набором заплат в пакетировании Debian были предложены и " "применяется несколько методов. Система <command>quilt</command> — " "предпочтительная система сопровождения. Также есть <command>dpatch</" "command>, <command>dbs</command>, <command>cdbs</command> и другие. Многие " "из них хранят заплаты в файлах <filename>debian/patches/*</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format stores patches in " "<filename>debian/patches/*</filename> files using the <command>quilt</" "command> command. These patches and other package data which are all " "contained under the <filename>debian</filename> directory are packaged as " "the <filename>debian.tar.gz</filename> file. Since the <command>dpkg-" "source</command> command can handle <command>quilt</command> formatted patch " "data in the <literal>3.0 (quilt)</literal> source without the <systemitem " "role=\"package\">quilt</systemitem> package, it does not need a " "<literal>Build-Depends</literal> on <systemitem role=\"package\">quilt</" "systemitem>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "В новом формате <literal>3.0 (quilt)</literal> заплаты хранятся в файлах " "<filename>debian/patches/*</filename>, для создания которых применяется " "команда <command>quilt</command>. Эти заплаты и другие данные пакета — всё " "содержимое каталога <filename>debian</filename> — упаковывается в файл " "<filename>debian.tar.gz</filename>. Так как команда <command>dpkg-source</" "command> может работать с данными <command>quilt</command> в формате " "<literal>3.0 (quilt)</literal> без пакета <systemitem role=\"package" "\">quilt</systemitem>, то его не нужно включать в зависимости <literal>Build-" "Depends</literal> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you are asking a sponsor to upload your package, this kind of clear " "separation and documentation of your changes is very important to expedite " "the package review by your sponsor." msgstr "" "Если вы просите поручителя загрузить ваш пакет, такое чёткое разделение и " "документирование ваших изменений очень важно для ускорения проверки пакета " "поручителем." #. type: Content of: <book><chapter><section><para> msgid "" "The <command>quilt</command> command is explained in <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. It records modifications to the source as a stack of " "<literal>-p1</literal> patch files in the <filename>debian/patches</" "filename> directory and the source tree is untouched outside of the " "<filename>debian</filename> directory. The order of these patches is " "recorded in the <filename>debian/patches/series</filename> file. You can " "apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Работа с командой <command>quilt</command> описана в <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. Она записывает изменения исходного кода в виде набора заплат " "<literal>-p1</literal> в каталоге <filename>debian/patches</filename>, а " "дерево исходного кода вне каталога <filename>debian</filename> остаётся " "нетронутым. Порядок применения этих заплат указывается в файле " "<filename>debian/patches/series</filename>. Вы можете легко наложить " "(=push), откатить (=pop) или обновить заплаты <placeholder type=\"footnote\" " "id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "For <xref linkend=\"modify\"/>, we created three patches in <filename>debian/" "patches</filename>." msgstr "" "В <xref linkend=\"modify\"/> мы создали 3 заплаты в <filename>debian/" "patches</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Since Debian patches are located in <filename>debian/patches</filename>, " "please make sure to set up the <command>dquilt</command> command properly as " "described in <xref linkend=\"quiltrc\"/>." msgstr "" "Поскольку заплаты Debian расположены в <filename>debian/patches</filename>, " "убедитесь, что программа <command>dquilt</command> настроена правильно, как " "было описано в <xref linkend=\"quiltrc\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "When anyone (including yourself) provides a patch " "<filename><replaceable>foo</replaceable>.patch</filename> to the source " "later, modifying a <literal>3.0 (quilt)</literal> source package is quite " "simple:" msgstr "" "Позднее, когда кто-то (включая вас самих) предоставляет заплату " "<filename><replaceable>foo</replaceable>.patch</filename> к исходному коду, " "изменить пакет исходного кода <literal>3.0 (quilt)</literal> очень просто:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... описание заплаты\n" #. type: Content of: <book><chapter><section><para> msgid "" "The patches stored in the newer <literal>3.0 (quilt)</literal> source format " "must be <emphasis>fuzz</emphasis> free. You can ensure this with " "<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." msgstr "" "Заплаты, хранимые в новом формате исходного кода <literal>3.0 (quilt)</" "literal>, должны быть <emphasis>без ненужного мусора</emphasis>. Вы должны " "убедиться в этом, запустив: <literal>dquilt pop -a; while dquilt push; do " "dquilt refresh; done</literal>." #. type: Content of: <book><chapter><title> msgid "Building the package" msgstr "Сборка пакета" #. type: Content of: <book><chapter><para> msgid "We should now be ready to build the package." msgstr "Теперь мы готовы собрать пакет." #. type: Content of: <book><chapter><section><title> msgid "Complete (re)build" msgstr "Полная (пере)сборка" #. type: Content of: <book><chapter><section><para> msgid "" "In order to perform a complete (re)build of a package properly, you need to " "make sure you have installed" msgstr "" "Для полной (пере)сборки пакета, необходимо убедиться в установке следующего:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <systemitem role=\"package\">build-essential</systemitem> package," msgstr "пакета <systemitem role=\"package\">build-essential</systemitem>," #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>), and" msgstr "" "пакетов, перечисленных в поле <literal>Build-Depends</literal> (смотрите " "<xref linkend=\"control\"/>) и" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends-indep</literal> field (see " "<xref linkend=\"control\"/>)." msgstr "" "пакетов, перечисленных в поле <literal>Build-Depends-indep</literal> " "(смотрите <xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><para> msgid "Then you issue the following command in the source directory:" msgstr "Затем выполните следующую команду в каталоге с исходным кодом:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage\n" msgstr "$ dpkg-buildpackage\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make full binary and source packages for you. It " "will:" msgstr "" "Она сделает всё, что необходимо для создания всех двоичных пакетов и пакета " "с исходным кодом. Она выполняет:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "clean the source tree (<literal>debian/rules clean</literal>)" msgstr "очистку дерева исходного кода (<literal>debian/rules clean</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the source package (<literal>dpkg-source -b</literal>)" msgstr "сборку пакета с исходным кодом (<literal>dpkg-source -b</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the program (<literal>debian/rules build</literal>)" msgstr "сборку программы (<literal>debian/rules build</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)" msgstr "" "сборку двоичных пакетов (<literal>fakeroot debian/rules binary</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "sign the source <filename>.dsc</filename> file, using <command>gpg</command>" msgstr "" "подпись файла исходного кода <filename>.dsc</filename> с помощью " "<command>gpg</command>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "create and sign the upload <filename>.changes</filename> file, using " "<command>dpkg-genchanges</command> and <command>gpg</command>" msgstr "" "создание и подпись загружаемого файла <filename>.changes</filename> с " "помощью <command>dpkg-genchanges</command> и <command>gpg</command>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This GPG key must be signed by a Debian developer to get connected to the " "web of trust and must be registered to <ulink url=\"&keyring;\">the Debian " "keyring</ulink>. This enables your uploaded packages to be accepted to the " "Debian archives. See <ulink url=\"&keycreate;\">Creating a new GPG key</" "ulink> and <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." msgstr "" "Для подключения к доверенному веб (web of trust) этот ключ GPG должен быть " "подписан разработчиком Debian и должен быть зарегистрирован в <ulink url=" "\"&keyring;\">связке ключей Debian</ulink>. Это позволяет закачивать пакеты " "для приёма в архивы Debian. Смотрите <ulink url=\"&keycreate;\">Создание " "нового ключа GPG</ulink> и <ulink url=\"&keysigning; \">вики Debian по " "подписыванию ключами</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The only input that will be required of you is your GPG secret pass phrase, " "twice. <placeholder type=\"footnote\" id=\"0\"/> If you are building Debian " "packages only for your own local use, you can skip promptings for the GPG " "signatures on the <filename>.dsc</filename> file and the <filename>.changes</" "filename> file like this:" msgstr "" "Здесь потребуется ввести дважды <placeholder type=\"footnote\" id=\"0\"/> " "вашу секретную фразу GPG. Если вы собираете пакеты Debian только для себя, " "то можете пропустить ввод подписи GPG для файла <filename>.dsc</filename> и " "<filename>.changes</filename> с помощью:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -us -uc\n" msgstr "$ dpkg-buildpackage -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "" "For a non-native Debian package, e.g., <systemitem role=\"package\">gentoo</" "systemitem>, you will see the following files in the parent directory " "(<filename>~/gentoo</filename>) after building packages:" msgstr "" "Для неродного пакета Debian, например, <systemitem role=\"package\">gentoo</" "systemitem>, после сборки пакетов вы увидите следующие файлы в родительском " "каталоге (<filename>~/gentoo</filename>):" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the original upstream source code tarball, merely renamed to the " "above so that it adheres to the Debian standard. Note that this was created " "initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgstr "" "Это оригинальный архив tar c исходным кодом, только переименованный для " "соответствия стандартам Debian. Обратите внимание, что первоначально он был " "создан с помощью <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code. The file is generated " "from your <filename>control</filename> file, and is used when unpacking the " "source with <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. This file is GPG signed, so that " "people can be sure that it's really yours." msgstr "" "Этот файл содержит информацию о содержимом исходного кода. Он файл " "генерируется из вашего файла <filename>control</filename> и используется при " "распаковке пакета с исходным кодом с помощью <citerefentry> " "<refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. Этот файл подписан с помощью GPG, что позволяет другим людям " "удостовериться, что именно вы создали его." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This compressed tarball contains your <filename>debian</filename> directory " "contents. Each and every addition you made to the original source code is " "stored as a <command>quilt</command> patch in <filename>debian/patches</" "filename>." msgstr "" "В этом сжатом архиве tar находится содержимое вашего каталога " "<filename>debian</filename>. Все дополнения, вносимые вами в исходный код, " "хранятся в виде заплат <command>quilt</command> в каталоге <filename>debian/" "patches</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can avoid applying <command>quilt</command> patches in the <literal>3.0 " "(quilt)</literal> source format at the end of the extraction with the " "<literal>--skip-patches</literal> option. Alternatively, you can run " "<literal>dquilt pop -a</literal> after normal operation." msgstr "" "Вы можете избежать наложения заплат <command>quilt</command> в формате " "исходного кода <literal>3.0 (quilt)</literal> в конце извлечения, указав " "параметр <literal>--skip-patches</literal>. Или же вы можете выполнить " "<literal>quilt pop -a</literal> после обычной распаковки." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If someone else wants to re-create your package from scratch, they can " "easily do so using the above three files. The extraction procedure is " "trivial: just copy the three files somewhere else and run <literal>dpkg-" "source -x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Если кто-либо захочет пересоздать ваш пакет с нуля, они легко смогут сделать " "это, используя перечисленные выше три файла. Процедура извлечения " "тривиальна: просто скопируйте куда-нибудь три файла и выполните " "<literal>dpkg-source -x gentoo_0.9.12-1.dsc</literal> <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package. You can use <command>dpkg</command> " "to install and remove this just like any other package." msgstr "" "Это ваш собранный двоичный пакет. Вы можете использовать <command>dpkg</" "command> для его установки и удаления, как любой другой пакет." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package revision; it " "is used by the Debian FTP archive maintenance programs to install the binary " "and source packages. It is partly generated from the <filename>changelog</" "filename> file and the <filename>.dsc</filename> file. This file is GPG " "signed, so that people can be sure that it's really yours." msgstr "" "В этом файле описываются все изменения, сделанные в данной редакции пакета, " "и он используется программами поддержки FTP-архива Debian для внесения " "пакетов (как двоичных, так и с исходным кодом) в архив. Он частично " "генерируется из файлов <filename>changelog</filename> и <filename>.dsc</" "filename>. Этот файл подписан с помощью GPG, что позволяет другим людям " "удостовериться, что именно вы создали его." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "As you keep working on the package, its behavior will change and new " "features will be added. People downloading your package can look at this " "file and quickly see what has changed. Debian archive maintenance programs " "will also post the contents of this file to the <ulink url=\"&debian-devel-" "changes-ldo;\">debian-devel-changes@lists.debian.org</ulink> mailing list." msgstr "" "По мере того, как вы будете работать над пакетом, будет меняться его " "поведение и будет добавляться новая функциональность. Люди, загружающие ваш " "пакет, могут посмотреть этот файл и сразу понять, что было изменено. " "Программы поддержки архива Debian будут также отправлять содержимое этого " "файла в список рассылки <ulink url=\"&debian-devel-changes-ldo;\">debian-" "devel-changes@lists.debian.org</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The long strings of numbers in the <filename>.dsc</filename> and <filename>." "changes</filename> files are SHA1/SHA256 checksums for the files mentioned. " "Anyone downloading your files can test them with <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> or <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> and if the numbers don't match, " "they'll know the file is corrupt or has been tampered with." msgstr "" "Длинные строки цифр в файлах <filename>.dsc</filename> и <filename>.changes</" "filename> — это контрольные суммы SHA1/SHA256 упомянутых файлов. Человек, " "загружающий ваши файлы, может проверить их с помощью <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> или <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> и, если числа не совпадают, он " "поймёт, что файл был повреждён или подделан." #. type: Content of: <book><chapter><section><para> msgid "" "For a native Debian package, e.g., <systemitem role=\"package\">mypackage</" "systemitem>, you will see the following files in the parent directory after " "building packages:" msgstr "" "Для родного пакета Debian, например, <systemitem role=\"package\">mypackage</" "systemitem>, после сборки пакетов вы увидите следующие файлы в родительском " "каталоге:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.tar.gz</filename>" msgstr "<filename>mypackage_1.0.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the source code tarball created from the <filename>mypackage-1.0</" "filename> directory by the <command>dpkg-source</command> command. (Its " "suffix is not <filename>orig.tar.gz</filename>.)" msgstr "" "Это сжатый архив tar с исходным кодом, созданный из каталога " "<filename>mypackage-1.0</filename> командой <command>dpkg-source</command> " "(его суффикс не <filename>orig.tar.gz</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.dsc</filename>" msgstr "<filename>mypackage_1.0.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code as in the non-native " "Debian package. (There is no Debian revision.)" msgstr "" "Содержит описание содержимого пакета с исходным кодом, такой же как для " "неродного пакета Debian (в имени нет редакции Debian)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.deb</filename>" msgstr "<filename>mypackage_1.0_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package as in the non-native Debian package. " "(There is no Debian revision.)" msgstr "" "Собранный двоичный пакет, такой же как для неродного пакета Debian (в имени " "нет редакции Debian)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.changes</filename>" msgstr "<filename>mypackage_1.0_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package version as " "in the non-native Debian package. (There is no Debian revision.)" msgstr "" "Содержит описание всех изменений, сделанных в текущей версии пакета, такой " "же как для неродного пакета Debian (в имени нет редакции Debian)." #. type: Content of: <book><chapter><section><title> msgid "Autobuilder" msgstr "Autobuilder" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The actual autobuilder system involves much more complicated schemes than " "the one documented here. Such details are beyond the scope of this document." msgstr "" "На самом деле, работа системы autobuilder гораздо сложнее, однако её " "детальное описание не для этого документа." #. type: Content of: <book><chapter><section><para> msgid "" "Debian supports many <ulink url=\"&ports;\">ports</ulink> with the <ulink " "url=\"&buildd;\">autobuilder network</ulink> running <command>buildd</" "command> daemons on computers of many different architectures. Although you " "do not need to do this yourself, you should be aware of what will happen to " "your packages. Let's look into roughly how they rebuild your packages for " "multiple architectures. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Debian поддерживает много <ulink url=\"&ports;\">переносов</ulink> с помощью " "<ulink url=\"&buildd;\">сети autobuilder</ulink>, в которой работает служба " "<command>buildd</command> на компьютерах различных архитектур. Хотя вам и не " "придётся этим заниматься, но всё же следует узнать, что будет происходить с " "вашими пакетами. Рассмотрим в общих чертах как ваш пакет пересобирается для " "различных архитектур <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "For <literal>Architecture: any</literal> packages, the autobuilder system " "performs a rebuild. It ensures the installation of" msgstr "" "Для пакетов с <literal>Architecture: any</literal> система autobuilder " "выполняет пересборку. Она убеждается, что установлен" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <systemitem role=\"package\">build-essential</systemitem> package, and" msgstr "пакет <systemitem role=\"package\">build-essential</systemitem> и" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>)." msgstr "" "пакеты, перечисленные в поле <literal>Build-Depends</literal> (смотрите " "<xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><para> msgid "Then it issues the following command in the source directory:" msgstr "Затем в каталоге с исходным кодом вызывается команда" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -B\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make architecture dependent binary packages on " "another architecture. It will:" msgstr "" "Она делает всё необходимое для сборки пакетов для данной архитектуры. А " "именно:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "build architecture dependent binary packages (<literal>fakeroot debian/rules " "binary-arch</literal>)" msgstr "" "сборку архитектурно-зависимых двоичных пакетов (<literal>fakeroot debian/" "rules binary-arch</literal>)" #. type: Content of: <book><chapter><section><para> msgid "This is why you see your package for other architectures." msgstr "Так ваш пакет собирается для различных архитектур." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> package, " "the <command>chroot</command> environment under the <systemitem role=" "\"package\">sbuild</systemitem> package used by the autobuilder system does " "not enforce the use of a minimal system and may have many leftover packages " "installed." msgstr "" "В отличие от пакета <systemitem role=\"package\">pbuilder</systemitem>," "окружение <command>chroot</command> из пакета <systemitem role=\"package" "\">sbuild</systemitem>, который используется системой autobuilder, не " "требует минимальной системы и допускает наличие установленных пакетов, не " "являющихся необходимыми." #. type: Content of: <book><chapter><section><para> msgid "" "Although packages listed in the <literal>Build-Depends-Indep</literal> field " "are required to be installed for our normal packaging work (see <xref " "linkend=\"completebuild\"/>), they are not required to be installed for the " "autobuilder system since it builds only architecture dependent binary " "packages. <placeholder type=\"footnote\" id=\"0\"/> This distinction " "between normal packaging and autobuilding procedures is what dictates " "whether you should record such required packages in the <literal>Build-" "Depends</literal> or <literal>Build-Depends-Indep</literal> fields of the " "<filename>debian/control</filename> file (see <xref linkend=\"control\"/>)." msgstr "" "Хотя пакеты, перечисленные в поле <literal>Build-Depends-indep</literal>, " "должны быть установлены при ручном пакетировании (смотрите <xref linkend=" "\"completebuild\"/>), их не нужно устанавливать при использовании системы " "autobuilder, так как она занимается исключительно архитектурно-зависимыми " "двоичными пакетами <placeholder type=\"footnote\" id=\"0\"/>. Это различие " "между обычным пакетированием и использованием autobuilder определяет, где " "должны быть перечислены необходимые пакеты: в поле <literal>Build-Depends</" "literal> или <literal>Build-Depends-indep</literal> файла <filename>debian/" "control</filename> (смотрите <xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><title> msgid "<command>debuild</command> command" msgstr "Команда <command>debuild</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can automate the <command>dpkg-buildpackage</command> command's package " "build process further with the <command>debuild</command> command. See " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." msgstr "" "Для дальнейшей автоматизации процесса сборки с помощью <command>dpkg-" "buildpackage</command> можно использовать команду <command>debuild</" "command>. Смотрите <citerefentry> <refentrytitle>debuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "Customization of the <command>debuild</command> command can be done through " "<filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</" "filename>. I would suggest at least the following items:" msgstr "" "Поведение команды <command>debuild</command> можно регулировать посредством " "правки файлов <filename>/etc/devscripts.conf</filename> или <filename>~/." "devscripts</filename>. Полезными могут оказаться следующие строки:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" msgstr "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "With these, packages are signed by your specified GPG key ID (good for " "sponsoring packages) and checked in detail by the <command>lintian</command> " "command." msgstr "" "Это позволит подписывать пакеты вашим идентификатором ключа GPG (полезно при " "поручительстве) и детально проверять их командой <command>lintian</command>." #. type: Content of: <book><chapter><section><para> msgid "" "Cleaning the source and rebuilding the package from your user account is as " "simple as:" msgstr "Для очистки каталога исходного кода и пересборки пакета выполните:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild\n" msgstr "$ debuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your own local use, you " "can skip promptings for the GPG signatures on the <filename>.dsc</filename> " "file and the <filename>.changes</filename> file like this:" msgstr "" "Если вы собираете пакеты Debian только для себя, то можете пропустить ввод " "подписи GPG для файла <filename>.dsc</filename> и <filename>.changes</" "filename> с помощью:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -us -uc\n" msgstr "$ debuild -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "You can clean the source tree as simply as:" msgstr "Для очистки древа исходного кода выполните:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild clean\n" msgstr "$ debuild clean\n" #. type: Content of: <book><chapter><section><title> msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgstr "Пакет <systemitem role=\"package\">pbuilder</systemitem>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Since the <systemitem role=\"package\">pbuilder</systemitem> package is " "still evolving, you should check the actual configuration situation by " "consulting the latest official documentation." msgstr "" "Так как пакет <systemitem role=\"package\">pbuilder</systemitem> всё ещё " "развивается, за подробностями настройки обратитесь к его официальной " "документации." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&buildd-do;\"/> for more on Debian package auto-building." msgstr "" "Более полная информация по автоматической сборке пакетов Debian приведена в " "<ulink url=\"&buildd-do;\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "For a clean room (<command>chroot</command>) build environment to verify the " "build dependencies, the <systemitem role=\"package\">pbuilder</systemitem> " "package is very useful. <placeholder type=\"footnote\" id=\"0\"/> This " "ensures a clean build from the source under the <literal>sid</literal> auto-" "builder for different architectures and avoids a severity serious FTBFS " "(Fails To Build From Source) bug which is always in the RC (release " "critical) category. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "В чистой среде сборки (<command>chroot</command>) для проверки пакетных " "зависимостей очень полезен пакет <systemitem role=\"package\">pbuilder</" "systemitem> <placeholder type=\"footnote\" id=\"0\"/>. Он поможет убедиться " "в чистоте сборки под управлением auto-builder из <literal>sid</literal> для " "различных архитектур и избежать опасной ошибки FTBFS (ошибка сборки из " "исходного кода), которая всегда относится к категории RC (критична для " "данного выпуска) <placeholder type=\"footnote\" id=\"1\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " "package as follows:" msgstr "" "Давайте настроим пакет <systemitem role=\"package\">pbuilder</systemitem> " "следующим образом:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "setting the <filename>/var/cache/pbuilder/result</filename> directory " "writable by your user account." msgstr "" "дадим пользователю право записи в каталог <filename>/var/cache/pbuilder/" "result</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable></filename>, writable by the user, to place hook scripts " "in." msgstr "" "создадим каталог для размещения сценариев, например, <filename><replaceable>/" "var/cache/pbuilder/hooks</replaceable></filename>, доступный пользователю " "для записи." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "configuring <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" "filename> to include the following." msgstr "" "добавим в файл <filename>~/.pbuilderrc</filename> или в <filename>/etc/" "pbuilderrc</filename> следующие строки:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgstr "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will allow you to sign generated packages with your secret GPG key in " "the <filename>~/.gnupg/</filename> directory." msgstr "" "Это позволит вам подписывать создаваемые пакеты вашим секретным ключом GPG, " "размещённым в каталоге <filename>~/.gnupg/</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "First let's initialize the local <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> system as follows." msgstr "" "Для начальной инициализации локальной системы <command>chroot</command> " "пакета <systemitem role=\"package\">pbuilder</systemitem> выполним:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo pbuilder create\n" msgstr "$ sudo pbuilder create\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you already have a completed source package, issue the following commands " "in the directory where the <filename><replaceable>foo</replaceable>.orig.tar." "gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</" "filename>, and <filename><replaceable>foo</replaceable>.dsc</filename> files " "exist to update the local <systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> system and to build binary packages in it." msgstr "" "Если у вас имеется готовый пакет исходного кода, то в каталоге, где " "расположены файлы <filename><replaceable>foo</replaceable>.orig.tar.gz</" "filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</filename> " "и <filename><replaceable>foo</replaceable>.dsc</filename>, для обновления " "локальной системы <command>chroot</command> пакета <systemitem role=\"package" "\">pbuilder</systemitem> и сборки соответствующих двоичных пакетов выполните " "следующие команды:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" msgstr "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_версия</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "The newly built packages without the GPG signatures will be located in " "<filename>/var/cache/pbuilder/result/</filename> with non-root ownership." msgstr "" "Свежесобранные пакеты без подписи GPG будут помещены в каталог <filename>/" "var/cache/pbuilder/result/</filename>, их владельцем будет обычный " "пользователь (не суперпользователь)." #. type: Content of: <book><chapter><section><para> msgid "" "The GPG signatures on the <filename>.dsc</filename> file and the <filename>." "changes</filename> file can be generated as:" msgstr "" "Подписи GPG для файлов <filename>.dsc</filename> и <filename>.changes</" "filename> можно сгенерировать следующим образом:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_version</replaceable>.dsc\n" "$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" msgstr "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_версия</replaceable>.dsc\n" "$ debsign <replaceable>foo_версия_архитектура</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have an updated source tree but have not generated the matching " "source package, issue the following commands in the source directory where " "the <filename>debian</filename> directory exists, instead." msgstr "" "Если у вас есть обновлённое древо исходного кода, но нет собранных пакетов с " "исходным кодом, выполните в каталоге, где размещён подкаталог " "<filename>debian</filename>, другие команды:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ pdebuild\n" msgstr "" "$ sudo pbuilder --update\n" "$ pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your local use, you can " "skip promptings for the GPG signatures on the <filename>.dsc</filename> file " "and the <filename>.changes</filename> file as:" msgstr "" "Если вы собираете пакеты Debian только для себя, то можете пропустить " "подписывание GPG для файла <filename>.dsc</filename> и <filename>.changes</" "filename> с помощью:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ AUTO_DEBSIGN=no pdebuild\n" msgstr "$ AUTO_DEBSIGN=no pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can log into its <command>chroot</command> environment with the " "<literal>pbuilder --login --save-after-login</literal> command and configure " "it as you wish. This environment can be saved by leaving its shell prompt " "with <literal>^D</literal> (Control-D)." msgstr "" "Вы можете войти внутрь окружения <command>chroot</command> и настроить его " "командой <literal>pbuilder --login --save-after-login</literal>. Изменения " "будут сохранены, когда вы покинете оболочку, нажав <literal>^D</literal> " "(Control-D)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You can " "find many examples of hook scripts in the <filename>/usr/share/doc/pbuilder/" "examples</filename> directory." msgstr "" "Здесь предполагается, что <literal>HOOKDIR=/var/cache/pbuilder/hooks</" "literal>. Примеры вызываемых (hook) сценариев можно найти в каталоге " "<filename>/usr/share/doc/pbuilder/examples</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The latest version of the <command>lintian</command> command can be executed " "in the <literal>chroot</literal> environment using the hook script " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> configured as follows. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Последняя версия команды <command>lintian</command> может быть вызвана в " "окружении <literal>chroot</literal>, используя сценарий " "<filename><replaceable>/var/cache/pbuilder/hooks/</replaceable>/B90lintian</" "filename>, настроенный следующим образом <placeholder type=\"footnote\" id=" "\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" msgstr "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "You need to have access to the latest <literal>sid</literal> environment to " "build packages properly for <literal>sid</literal>. In practice, " "<literal>sid</literal> may be experiencing issues which makes it undesirable " "for you to migrate your whole system. The <systemitem role=\"package" "\">pbuilder</systemitem> package can help you to cope with this kind of " "situation." msgstr "" "Для правильной сборки пакета для <literal>sid</literal> вам потребуется " "самое свежее окружение этой ветви, однако миграция на <literal>sid</literal> " "всей системы может быть нежелательна. Пакет <systemitem role=\"package" "\">pbuilder</systemitem> поможет вам в этой ситуации." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are some restrictions for such updates of your <literal>stable</" "literal> package." msgstr "" "Есть некоторые ограничения для такого обновления пакета из <literal>stable</" "literal>." #. type: Content of: <book><chapter><section><para> msgid "" "You may need to update your <literal>stable</literal> packages after their " "release for <literal>stable-proposed-updates</literal>, <literal>stable/" "updates</literal>, etc. <placeholder type=\"footnote\" id=\"0\"/> For such " "occasions, the fact you may be running a <literal>sid</literal> system is " "not a good enough excuse for failing to update them promptly. The " "<systemitem role=\"package\">pbuilder</systemitem> package can help you to " "access environments of almost any Debian derivative distribution of the same " "architecture." msgstr "" "Возможно, вам потребуется обновить ваши пакеты из ветви <literal>stable</" "literal> их версиями из архивов <literal>stable-proposed-updates</literal>, " "<literal>stable/updates</literal> и других <placeholder type=\"footnote\" id=" "\"0\"/>. В таких случаях утверждения «Я использовал окружение <literal>sid</" "literal>» недостаточно, если обновление не было проведено своевременно. " "Пакет <systemitem role=\"package\">pbuilder</systemitem> поможет вам " "получить доступ к окружению практически любого производного от Debian " "дистрибутива той же архитектуры." #. type: Content of: <book><chapter><section><para> msgid "" "See <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, and <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." msgstr "" "Смотрите <ulink url=\"&pbuilder;\"/>, <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>pbuilderrc</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> и <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<command>git-buildpackage</command> command and similars" msgstr "Команда <command>git-buildpackage</command> и подобные ей" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more." msgstr "" "Смотрите <ulink url=\"&debref-vcs;\">Системы управления версиями</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream uses a source code management system (VCS) <placeholder " "type=\"footnote\" id=\"0\"/> to maintain their code, you should consider " "using it as well. This makes merging and cherry-picking upstream patches " "much easier. There are several specialized wrapper script packages for " "Debian package building for each VCS." msgstr "" "Если автор программы применяет систему управления кодом <placeholder type=" "\"footnote\" id=\"0\"/>, то и вы можете использовать её возможности. Это " "упрощает слияние и выборку заплат для исходного кода. Для каждой VCS " "существуют специализированные инструменты, позволяющие производить сборку " "пакетов Debian:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git-buildpackage</systemitem>: a suite to help " "with Debian packages in Git repositories." msgstr "" "<systemitem role=\"package\">git-buildpackage</systemitem>: инструменты для " "пакетирования в репозиториях Git." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: helper programs " "to maintain Debian packages with Subversion." msgstr "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: вспомогательные " "программы для сопровождения пакетов Debian в Subversion." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: a set of Debian " "package scripts for CVS source trees." msgstr "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: набор сценариев " "для пакетирования в CVS." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documents how " "to use the <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> service." msgstr "" "В <ulink url=\"&debian-alioth-wiki;\">вики Debian Alioth</ulink> описано как " "использовать службу <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Use of <systemitem role=\"package\">git-buildpackage</systemitem> is " "becoming quite popular for Debian Developers to manage Debian packages with " "the Git server on <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>. " "<placeholder type=\"footnote\" id=\"0\"/> This package offers many commands " "to <emphasis>automate</emphasis> packaging activities." msgstr "" "Среди разработчиков Debian становится популярным использовать <systemitem " "role=\"package\">git-buildpackage</systemitem> для управления пакетами " "Debian на сервере Git <ulink url=\"&debian-alioth;\">alioth.debian.org</" "ulink>. <placeholder type=\"footnote\" id=\"0\"/> В этот пакет включено " "много команд для <emphasis>автоматизации</emphasis> процесса упаковки." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import previous Debian package to a Git " "repository." msgstr "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: импорт существующего пакета Debian в репозитории " "Git." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import new upstream tar to a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: импорт нового tar с исходным кодом в репозиторий " "Git." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: generate the Debian changelog from Git commit " "messages." msgstr "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: генерация changelog Debian на основе сообщений о " "записи в Git." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: сборка пакетов Debian из репозитория Git." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository " "using <command>pbuilder</command>/<command>cowbuilder</command>." msgstr "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: сборка пакетов Debian из репозитория Git с " "помощью <command>pbuilder</command>/<command>cowbuilder</command>." #. type: Content of: <book><chapter><section><para> msgid "These commands use 3 branches to track packaging activity." msgstr "Для ведения пакетирования в этих командах используются 3 ветви." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>main</literal> for Debian package source tree." msgstr "<literal>main</literal> — дерево родных пакетов Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>upstream</literal> for upstream source tree." msgstr "<literal>upstream</literal> — дерево авторского исходного кода." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "The <literal>--pristine-tar</literal> option invokes the <command>pristine-" "tar</command> command which can regenerate an exact copy of a pristine " "upstream tarball using only a small binary delta file and the contents of " "the tarball, which are typically kept in an <literal>upstream</literal> " "branch in the VCS." msgstr "" "При указании параметра <literal>--pristine-tar</literal> вызывается команда " "<command>pristine-tar</command>, которая может регенерировать точную копию " "первоначального авторского файла tar на основе только маленького двоичного " "файла различий и содержимого tar, который обычно хранится в ветви " "<literal>upstream</literal> в VCS." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>pristine-tar</literal> for upstream tarball generated by the " "<literal>--pristine-tar</literal> option.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<literal>pristine-tar</literal> для авторского tar, создаваемый при " "использовании параметра <literal>--pristine-tar</literal>.<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Here are some web resources available for advanced audiences." msgstr "Несколько веб-ресурсов для опытных пользователей:" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "Building Debian Packages with git-buildpackage (<filename>&git-buildpackage-" "doc;</filename>)" msgstr "" "Сборка пакетов Debian с помощью git-buildpackage (<filename>&git-" "buildpackage-doc;</filename>)" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgstr "<ulink url=\"&debian-packages-git;\">Пакеты debian в git</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" msgstr "" "<ulink url=\"&git-debian-packaging;\">Использование Git для пакетирования " "Debian</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgstr "<ulink url=\"&git-dpm;\">git-dpm: пакеты Debian в Git</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" msgstr "" "<ulink url=\"&topgit;\">Использование TopGit для генерации заплат quilt при " "пакетировании Debian</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "You can configure <systemitem role=\"package\">git-buildpackage</systemitem> " "with <filename>~/.gbp.conf</filename>. See <citerefentry> <refentrytitle>gbp." "conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Для настройки <systemitem role=\"package\">git-buildpackage</systemitem> " "используйте файл <filename>~/.gbp.conf</filename>. Смотрите <citerefentry> " "<refentrytitle>gbp.conf</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "Quick rebuild" msgstr "Быстрая пересборка" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Environment variables which are normally configured to proper values are not " "set by this method. Never create real packages to be uploaded using this " "<emphasis role=\"strong\">quick</emphasis> method." msgstr "" "В данном случае не выполняется настройка переменных окружения, как это " "происходит при обычной сборке. Никогда не загружайте в архив пакеты, " "собранные таким <emphasis role=\"strong\">быстрым</emphasis> способом." #. type: Content of: <book><chapter><section><para> msgid "" "With a large package, you may not want to rebuild from scratch every time " "while you're tuning details in <filename>debian/rules</filename>. For " "testing purposes, you can make a <filename>.deb</filename> file without " "rebuilding the upstream sources like this<placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "При работе над большим пакетом, возможно, вы не захотите каждый раз " "полностью пересобирать его из исходного кода при изменении настроек в файле " "<filename>debian/rules</filename>. Исключительно для тестовых целей вы " "можете создать deb-файл без пересборки кода следующим образом <placeholder " "type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules binary\n" msgstr "$ fakeroot debian/rules binary\n" #. type: Content of: <book><chapter><section><para> msgid "Or simply do the following to see if it builds or not:" msgstr "Или просто выполните для выяснения возможна ли сборка пакета:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules build\n" msgstr "$ fakeroot debian/rules build\n" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are finished with your tuning, remember to rebuild following the " "proper procedure. You may not be able to upload correctly if you try to " "upload <filename>.deb</filename> files built this way." msgstr "" "После выбора оптимальных настроек не забудьте пересобрать пакет стандартными " "средствами. Полученные таким способом файлы <filename>.deb</filename> могут " "быть загружены в архив некорректно, если вы попытаетесь это сделать." #. type: Content of: <book><chapter><title> msgid "Checking the package for errors" msgstr "Проверка пакета на наличие ошибок" #. type: Content of: <book><chapter><para> msgid "" "There are some techniques you should know for checking a package for errors " "before uploading it to the public archives." msgstr "" "Есть несколько стандартных процедур для самостоятельной проверки пакета на " "наличие ошибок перед его загрузкой в публичный архив, которые вам следует " "знать." #. type: Content of: <book><chapter><para> msgid "" "It's also a good idea to carry out testing on a machine other than your " "own. You must watch closely for any warnings or errors for all the tests " "described here." msgstr "" "Лучше проверять пакет на другой машине (не на той, на которой он собирался). " "Обращайте пристальное внимание на предупреждения и сообщения об ошибках, " "получаемые в результате описываемых тестов." #. type: Content of: <book><chapter><section><title> msgid "Suspicious changes" msgstr "Подозрительные изменения" #. type: Content of: <book><chapter><section><para> msgid "" "If you find a new autogenerated patch file such as <filename>debian-changes-" "*</filename> in the <filename>debian/patches</filename> directory after " "building your non-native Debian package in <literal>3.0 (quilt)</literal> " "format, chances are you changed some files by accident or the build script " "modified the upstream source. If it is your mistake, fix it. If it is " "caused by the build script, fix the root cause with <command>dh-autoreconf</" "command> as in <xref linkend=\"customrules\"/> or work around it with " "<filename>source/options</filename> as in <xref linkend=\"sourceopt\"/>." msgstr "" "Если вы обнаружите новые автоматически сгенерированные файлы заплат " "<filename>debian-changes-*</filename> в каталоге <filename>debian/patches</" "filename> после сборки своего неродного пакета Debian в формате <literal>3.0 " "(quilt)</literal>, то, вероятнее всего, вы неумышленно изменили какие-то " "файлы или это сделал авторский сценарий сборки. Если это ваша ошибка, " "исправьте её. Если это сценарий, то исправьте источник ошибки с помощью " "<command>dh-autoreconf</command>, как это описано в <xref linkend=" "\"customrules\"/>, или обойдите её с помощью <filename>source/options</" "filename>, который описан в <xref linkend=\"sourceopt\"/>." #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's installation" msgstr "Проверка установки пакета" #. type: Content of: <book><chapter><section><para> msgid "" "You must test your package for whether it installs without problem. The " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> command helps you to test installing all the generated " "binary packages." msgstr "" "Вы должны убедиться, что пакет устанавливается. Команда <citerefentry> " "<refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "поможет протестировать установку всех сгенерированных двоичных пакетов." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n" msgstr "$ sudo debi gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "To prevent installation problem on different systems, you must make sure " "that there are no filenames conflicting with other existing packages, using " "the <filename>Contents-<replaceable>i386</replaceable></filename> file " "downloaded from the Debian archive. The <command>apt-file</command> command " "may be handy for this task. If there are collisions, please take action to " "avoid this real problem, whether by renaming the file, moving a common file " "to a separate package that multiple packages can depend on, using the " "alternatives mechanism (see <citerefentry><refentrytitle>update-" "alternatives</refentrytitle> <manvolnum>1</manvolnum></citerefentry>) in " "coordination with the maintainers of other affected packages, or declaring a " "<literal>Conflicts</literal> relationship in the <filename>debian/control</" "filename> file." msgstr "" "Используя взятый из архива Debian файл <filename>Contents-<replaceable>i386</" "replaceable></filename>, убедитесь, что в собранном пакете нет файлов, " "которые существуют в других пакетах, что может приводить к проблемам " "установки. Для этой задачи может пригодиться команда <command>apt-file</" "command>. Если совпадения есть, то решите эту проблему либо переименовав " "файл в своём пакете, либо выделив общий файл в отдельный пакет, от которого " "будут зависеть конфликтующие пакеты, или воспользуйтесь механизмом " "альтернатив (смотрите <citerefentry><refentrytitle>update-alternatives</" "refentrytitle> <manvolnum>1</manvolnum></citerefentry>) совместно с другими " "сопровождающими других пакетов, либо объявите параметр <literal>Conflicts</" "literal> с нужным значением в файле <filename>debian/control</filename>." #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's maintainer scripts" msgstr "Проверка сценариев сопровождающего пакета" #. type: Content of: <book><chapter><section><para> msgid "" "All maintainer scripts (that is, <filename>preinst</filename>, " "<filename>prerm</filename>, <filename>postinst</filename>, and " "<filename>postrm</filename> files) are hard to write correctly unless they " "are auto-generated by the <systemitem role=\"package\">debhelper</" "systemitem> programs. So do not use them if you are a novice maintainer " "(see <xref linkend=\"maintscripts\"/>)." msgstr "" "Все сценарии сопровождающего (<filename>preinst</filename>, <filename>prerm</" "filename>, <filename>postinst</filename> и <filename>postrm</filename>) " "сложны в написании, если только для их автоматической генерации не " "применялись программы из пакета <systemitem role=\"package\">debhelper</" "systemitem>. Поэтому не пользуйтесь этими сценариями, если вы начинающий " "сопровождающий (смотрите <xref linkend=\"maintscripts\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "If the package makes use of these non-trivial maintainer scripts, be sure to " "test not only for install but also for remove, purge, and upgrade " "processes. Many maintainer script bugs show up when packages are removed or " "purged. Use the <command>dpkg</command> command as follows to test them." msgstr "" "Если ваш пакет использует эти нетривиальные сценарии сопровождающего, " "убедитесь, что не только установка, но и удаление, вычистка и обновление " "пакета также проходят успешно. Многие ошибки в таких сценариях проявляются " "при удалении или вычистке. Для проверки используйте команду <command>dpkg</" "command>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" msgstr "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>версия</replaceable>-<replaceable>редакция</replaceable>_<replaceable>i386</replaceable>.deb\n" #. type: Content of: <book><chapter><section><para> msgid "This should be done with sequences such as the following." msgstr "Следует выполнить следующие шаги:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the previous version (if needed)." msgstr "установите предыдущую версию (если необходимо)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "upgrade it from the previous version." msgstr "обновите пакет с предыдущей версии" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "downgrade it back to the previous version (optional)." msgstr "откатитесь на предыдущую версию (по желанию)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "purge it." msgstr "вычистите пакет" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the new package." msgstr "установите новый пакет" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "remove it." msgstr "удалите его" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install it again." msgstr "установите опять" #. type: Content of: <book><chapter><section><para> msgid "" "If this is your first package, you should create dummy packages with " "different versions to test your package in advance to prevent future " "problems." msgstr "" "Если это ваш первый пакет, то для тестирования вам понадобятся ещё пакеты-" "пустышки различных версий." #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that if your package has previously been released in Debian, " "people will often be upgrading to your package from the version that was in " "the last Debian release. Remember to test upgrades from that version too." msgstr "" "Не забудьте проверить наличие в Debian предыдущей версии программы, которую " "вы пакетируете. В этом случае пользователи, у которых установлена предыдущая " "версия, могут захотеть обновить пакет и вам следует убедиться в отсутствии " "проблем при таком обновлении. Также протестируйте обновления и с этой версии." #. type: Content of: <book><chapter><section><para> msgid "" "Although downgrading is not officially supported, supporting it is a " "friendly gesture." msgstr "" "Хотя откат к предыдущей версии официально не поддерживается, будет здорово " "обеспечить такую возможность." #. type: Content of: <book><chapter><section><title> msgid "Using <systemitem role=\"package\">lintian</systemitem>" msgstr "Использование <systemitem role=\"package\">lintian</systemitem>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You do not need to provide the <command>lintian</command> option <literal>-i " "-I --show-overrides</literal> if you customized <filename>/etc/devscripts." "conf</filename> or <filename>~/.devscripts</filename> as described in <xref " "linkend=\"debuild\"/>." msgstr "" "Вам не потребуется указывать параметр <command>lintian</command> <literal>-i " "-I --show-overrides</literal>, если вы настроили файл настройки <filename>/" "etc/devscripts.conf</filename> или <filename>~/.devscripts</filename>, как " "это было описано в <xref linkend=\"debuild\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Run <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> on your <filename>.changes</filename> file. The " "<command>lintian</command> command runs many test scripts to check for many " "common packaging errors. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Запустите <citerefentry> <refentrytitle>lintian</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, передав ей параметром файл " "<filename>.changes</filename>. Команда <command>lintian</command> выполняет " "множество тестовых сценариев, проверяющих наличие типичных ошибок " "пакетирования <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" msgstr "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of the <filename>.changes</" "filename> file generated for your package. The output of the " "<command>lintian</command> command uses the following flags." msgstr "" "Разумеется, следует заменить имя файла <filename>.changes</filename> на то, " "которое было сгенерировано для вашего пакета. В результатах команды " "<command>lintian</command> используются следующие метки:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>E:</literal> for error; a sure policy violation or packaging error." msgstr "" "<literal>E:</literal> — ошибка; нарушение политики или ошибка пакетирования." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>W:</literal> for warning; a possible policy violation or packaging " "error." msgstr "" "<literal>W:</literal> — предупреждение; возможное нарушение политики или " "ошибка пакетирования." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>I:</literal> for info; information on certain aspects of packaging." msgstr "" "<literal>I:</literal> — для информации; сведения о некоторых аспектах " "пакетирования." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>N:</literal> for note; a detailed message to help your debugging." msgstr "<literal>N:</literal> — замечание; уточнение, помогающее при отладке." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>O:</literal> for overridden; a message overridden by the " "<filename>lintian-overrides</filename> files but displayed by the <literal>--" "show-overrides</literal> option." msgstr "" "<literal>O:</literal> — скрытые сообщения; информация, скрываемая на основе " "файла <filename>lintian-overrides</filename>, но показываемая при указании " "параметра <literal>--show-overrides</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "When you see warnings, tune the package to avoid them or verify that the " "warnings are spurious. If spurious, set up <filename>lintian-overrides</" "filename> files as described in <xref linkend=\"lintian\"/>." msgstr "" "Если вы видите предупреждения — исправьте пакет, чтобы их не было или " "убедитесь, что это нормально. Если предупреждения излишни — настройте файл " "<filename>lintian-overrides</filename>, как описано в <xref linkend=\"lintian" "\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Note that you can build the package with <command>dpkg-buildpackage</" "command> and run <command>lintian</command> on it in one command, if you use " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> or <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "" "Заметим, что команда <citerefentry> <refentrytitle>debuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> или <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> позволяет собрать пакет с помощью <command>dpkg-buildpackage</" "command> и сразу проверить его <command>lintian</command>." #. type: Content of: <book><chapter><section><title> msgid "The <command>debc</command> command" msgstr "Команда <command>debc</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can list files in the binary Debian package with the <citerefentry> " "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "command." msgstr "" "Вы можете просмотреть список файлов в двоичном пакете Debian с помощью " "команды <citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debc <replaceable>package</replaceable>.changes\n" msgstr "$ debc <replaceable>пакет</replaceable>.changes\n" #. type: Content of: <book><chapter><section><title> msgid "The <command>debdiff</command> command" msgstr "Команда <command>debdiff</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare file contents in two source Debian packages with the " "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "Вы можете сравнить содержимое файлов двух пакетов исходного кода Debian с " "помощью команды <citerefentry> <refentrytitle>debdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgstr "$ debdiff <replaceable>старый-пакет</replaceable>.dsc <replaceable>новый-пакет</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also compare file lists in two sets of binary Debian packages with " "the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "Также с помощью команды <citerefentry> <refentrytitle>debdiff</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> вы можете сравнить " "списки файлов двух двоичных пакетов Debian." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgstr "$ debdiff <replaceable>старый-пакет</replaceable>.changes <replaceable>новый-пакет</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "These are useful to identify what has been changed in the source packages " "and to check for inadvertent changes made when updating binary packages, " "such as unintentionally misplacing or removing files." msgstr "" "Это полезно для определения того, что изменилось в пакетах исходного кода, и " "что не произошло никаких непреднамеренных изменений при обновлении двоичных " "пакетов, например неправильного перемещения или удаления файлов." #. type: Content of: <book><chapter><section><title> msgid "The <command>interdiff</command> command" msgstr "Команда <command>interdiff</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare two <filename>diff.gz</filename> files with the " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command. This is useful for verifying that no " "inadvertent changes were made to the source by the maintainer when updating " "packages in the old <literal>1.0</literal> source format." msgstr "" "Команда <citerefentry> <refentrytitle>interdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> позволяет сравнить два файла " "<filename>diff.gz</filename>. Это полезно для проверки отсутствия сделанных " "сопровождающим нечаянных правок исходного кода при обновлении пакетов в " "старом формате <literal>1.0</literal>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" msgstr "$ interdiff -z <replaceable>старый-пакет</replaceable>.diff.gz <replaceable>новый-пакет</replaceable>.diff.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "The new <literal>3.0</literal> source format stores changes in multiple " "patch files as described in <xref linkend=\"patches\"/>. You can trace " "changes of each <filename>debian/patches/*</filename> file using " "<command>interdiff</command>, too." msgstr "" "В новой версии формата пакетов с исходным кодом <literal>3.0</literal> " "изменения хранятся в нескольких файлах заплат (описано в <xref linkend=" "\"patches\"/>). Вы можете отследить изменения каждого файла <filename>debian/" "patches/*</filename> также с помощью <command>interdiff</command>." #. type: Content of: <book><chapter><section><title> msgid "The <command>mc</command> command" msgstr "Команда <command>mc</command>" #. type: Content of: <book><chapter><section><para> msgid "" "Many of these file inspection operations can be made into an intuitive " "process by using a file manager like <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> which will let you " "browse not only the contents of <filename>*.deb</filename> package files but " "also <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, " "<filename>*.diff.gz</filename>, and <filename>*.orig.tar.gz</filename> files." msgstr "" "Большинство этих файловых проверок могут быть сделаны интуитивно понятным " "образом с помощью файлового менеджера типа <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, который позволяет " "просматривать содержимое не только файлов пакетов <filename>*.deb</" "filename>, но и таких файлов как <filename>*.udeb</filename>, <filename>*." "debian.tar.gz</filename>, <filename>*.diff.gz</filename> и <filename>*.orig." "tar.gz</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Be on the lookout for extra unneeded files or zero length files, both in the " "binary and source package. Often cruft doesn't get cleaned up properly; " "adjust your <filename>rules</filename> file to compensate for this." msgstr "" "Внимательно следите за лишними ненужными файлами или файлами нулевой длины " "как в двоичном пакете, так и в пакете с исходным кодом. Зачастую, мусор не " "вычищается должным образом; подправьте ваш файл <filename>rules</filename>, " "чтобы исправить это." #. type: Content of: <book><chapter><title> msgid "Updating the package" msgstr "Обновление пакета" #. type: Content of: <book><chapter><para> msgid "After you release a package, you will soon need to update it." msgstr "Вскоре после выпуска пакета, вам понадобится его обновить." #. type: Content of: <book><chapter><section><title> msgid "New Debian revision" msgstr "Новая редакция Debian" #. type: Content of: <book><chapter><section><para> msgid "" "Let's say that a bug report was filed against your package as " "<literal>#654321</literal>, and it describes a problem that you can solve. " "Here's what you need to do to create a new Debian revision of the package." msgstr "" "Предположим, что в вашем пакете нашли ошибку (номер <literal>#654321</" "literal>), и описываемую там проблему вы можете решить. Для того, чтобы " "создать новую редакцию пакета, нужно:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to be recorded as a new patch, do the following." msgstr "" "Если исправление должно быть записано в виде новой заплаты, сделайте " "следующее:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> to " "set the patch name;" msgstr "" "запустите <literal>dquilt new <replaceable>название-ошибки.patch</" "replaceable></literal> для присвоения имени заплате;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> to " "declare the file to be modified;" msgstr "" "запустите <literal>dquilt add <replaceable>файл-с-ошибкой</replaceable></" "literal> для объявления файла, который должен быть изменён;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Correct the problem in the package source for the upstream bug;" msgstr "исправьте ошибку в пакете исходного кода;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to record it to " "<filename><replaceable>bugname.patch</replaceable></filename>;" msgstr "" "запустите <literal>dquilt refresh</literal> для записи исправления в файл " "<filename><replaceable>название-ошибки.patch</replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to add its description;" msgstr "" "запустите <literal>dquilt header -e</literal> для добавления её описания;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to update an existing patch, do the following." msgstr "" "Если для исправления требуется обновление существующей заплаты, сделайте " "следующее:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> to recall " "the existing <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "" "запустите <literal>dquilt pop <replaceable>foo.patch</replaceable></literal> " "для того, чтобы откатить наложенную заплату <filename><replaceable>foo." "patch</replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Correct the problem in the old <filename><replaceable>foo.patch</" "replaceable></filename>;" msgstr "" "исправьте проблему в старой заплате <filename><replaceable>foo.patch</" "replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to update <filename><replaceable>foo." "patch</replaceable></filename>;" msgstr "" "запустите <literal>dquilt refresh</literal> для обновления заплаты " "<filename><replaceable>foo.patch</replaceable></filename>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to update its description;" msgstr "" "запустите <literal>dquilt header -e</literal> для обновления её описания;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>;" msgstr "" "запустите <literal>while dquilt push; do dquilt refresh; done</literal> для " "применения всех заплат при удалении <emphasis>шероховатостей</emphasis>;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "To get the date in the required format, use <literal>LANG=C date -R</" "literal>." msgstr "" "Дату в нужном формате можно получить с помощью команды <literal>LANG=C date -" "R</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add a new revision at the top of the Debian <filename>changelog</filename> " "file, for example with <literal>dch -i</literal>, or explicitly with " "<literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal> and then insert the comments using your preferred " "editor. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Добавьте новую редакцию в начало файла Debian <filename>changelog</" "filename>, например, с помощью <literal>dch -i</literal> или вручную с " "помощью <literal>dch -v <replaceable>версия</replaceable>-" "<replaceable>редакция</replaceable></literal>, а затем добавьте комментарии " "с помощью текстового редактора <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Include a short description of the bug and the solution in the changelog " "entry, followed by <literal>Closes: #654321</literal>. That way, the bug " "report will be <emphasis>automagically</emphasis> closed by the archive " "maintenance software the moment your package gets accepted into the Debian " "archive." msgstr "" "Включите краткое описание ошибки и её решение в список изменений " "(changelog), сопроводив текстом <literal>Closes: #654321</literal>. Это " "позволит <emphasis>автомагически</emphasis> закрыть сообщение об ошибке с " "помощью программного обеспечения обслуживания архива в тот момент, когда ваш " "пакет будет принят в архив Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in the above to fix more bugs while updating the Debian " "<filename>changelog</filename> file with <literal>dch</literal> as needed." msgstr "" "Повторите то, что делали выше, для исправления других ошибок, обновляя файл " "Debian <filename>changelog</filename> с помощью <literal>dch</literal> по " "мере надобности." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in <xref linkend=\"completebuild\"/> and <xref linkend=" "\"checkit\"/>." msgstr "" "Повторите всё из <xref linkend=\"completebuild\"/> и <xref linkend=\"checkit" "\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Once you are satisfied, you should change the distribution value in " "<filename>changelog</filename> from <literal>UNRELEASED</literal> to the " "target distribution value <literal>unstable</literal> (or even " "<literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "После проверки правильности, измените в <filename>changelog</filename> имя " "выпуска с <literal>UNRELEASED</literal> на значение целевого дистрибутива " "<literal>unstable</literal> (или даже на <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Upload the package as <xref linkend=\"upload\"/>. The difference is that " "this time, the original source archive won't be included, as it hasn't been " "changed and it already exists in the Debian archive." msgstr "" "Закачайте пакет, следуя <xref linkend=\"upload\"/>. На этот раз разница в " "том, что не будет включён оригинальный архив исходного кода, поскольку он не " "изменён и уже присутствует в архиве Debian." #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case can occur when you make a local package to experiment with " "the packaging before uploading the normal version to the official archive, e." "g., <literal><replaceable>1.0.1</replaceable>-<replaceable>1</replaceable></" "literal>. For smoother upgrades, it is a good idea to create a " "<filename>changelog</filename> entry with a version string as " "<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" "literal>. You may unclutter <filename>changelog</filename> by consolidating " "such local change entries into a single entry for the official package. See " "<xref linkend=\"namever\"/> for the order of version strings." msgstr "" "Стоит упомянуть одну хитрость на случай, когда вы делаете локальный пакет " "для эксперимента с пакетированием и не отправляете эту версию в официальный " "архив, например, <literal><replaceable>1.0.1</replaceable>-<replaceable>1</" "replaceable></literal>. Для плавного обновления рекомендуется создать запись " "в <filename>changelog</filename> со строкой версии вида " "<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" "literal>. Вы можете не перегружать <filename>changelog</filename> записями о " "локальных изменениях, объединяя их в одну для официального пакета. Об " "упорядочивании версий строк смотрите <xref linkend=\"namever\"/>." #. type: Content of: <book><chapter><section><title> msgid "Inspection of the new upstream release" msgstr "Изучение нового авторского выпуска" #. type: Content of: <book><chapter><section><para> msgid "" "When preparing packages of a new upstream release for the Debian archive, " "you must check the new upstream release, first." msgstr "" "При подготовке пакетов нового авторского выпуска для архива Debian, вы " "должны сперва проверить новый авторский выпуск." #. type: Content of: <book><chapter><section><para> msgid "" "Start by reading the upstream <filename>changelog</filename>, " "<filename>NEWS</filename>, and whatever other documentation they may have " "released with the new version." msgstr "" "Начните с чтения файлов <filename>changelog</filename>, <filename>NEWS</" "filename> и всей остальной документации, которая может поставляться с новой " "версией." #. type: Content of: <book><chapter><section><para> msgid "" "You can then inspect changes between the old and new upstream sources as " "follows, watching out for anything suspicious." msgstr "" "Потом проверьте изменения между старым и новым исходным кодом программы, как " "описано ниже, чтобы найти что-нибудь подозрительное." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgstr "$ diff -urN <replaceable>foo</replaceable>-<replaceable>старая-версия</replaceable> <replaceable>foo</replaceable>-<replaceable>новая-версия</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "Changes to some auto-generated files by Autotools such as <filename>missing</" "filename>, <filename>aclocal.m4</filename>, <filename>config.guess</" "filename>, <filename>config.h.in</filename>, <filename>config.sub</" "filename>, <filename>configure</filename>, <filename>depcomp</filename>, " "<filename>install-sh</filename>, <filename>ltmain.sh</filename>, and " "<filename>Makefile.in</filename> may be ignored. You may delete them before " "running <command>diff</command> on the source for inspection." msgstr "" "На изменения в некоторых автоматически сгенерированных файлах Autotools, " "таких как <filename>missing</filename>, <filename>aclocal.m4</filename>, " "<filename>config.guess</filename>, <filename>config.h.in</filename>, " "<filename>config.sub</filename>, <filename>configure</filename>, " "<filename>depcomp</filename>, <filename>install-sh</filename>, " "<filename>ltmain.sh</filename> и <filename>Makefile.in</filename>, можно не " "обращать внимания. Вы можете удалить их перед запуском <command>diff</" "command> для проверки исходного кода." #. type: Content of: <book><chapter><section><title> msgid "New upstream release" msgstr "Новый авторский выпуск" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is packaged in the old <literal>1.0</literal> format, this can " "be done by running <literal>zcat /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" "literal> in the new extracted source, instead." msgstr "" "Если пакет <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> собран в старом формате <literal>1.0</literal>, то вместо этого " "можно запустить <literal>zcat /<replaceable>путь</replaceable>/" "<replaceable>к</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>старая-версия</replaceable>.diff.gz|patch -p1</" "literal> в каталоге с новым исходным кодом." #. type: Content of: <book><chapter><section><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is properly packaged in the newer <literal>3.0 (native)</" "literal> or <literal>3.0 (quilt)</literal> formats, packaging a new upstream " "version is essentially moving the old <filename>debian</filename> directory " "to the new source. This can be done by running <literal>tar xvzf /" "<replaceable>path</replaceable>/<replaceable>to</replaceable>/" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian." "tar.gz</literal> in the new extracted source. <placeholder type=\"footnote" "\" id=\"0\"/> Of course, you need to do some obvious chores." msgstr "" "Если пакет <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> правильно собран в новом формате <literal>3.0 (native)</literal> " "или <literal>3.0 (quilt)</literal>, то для подготовки пакета новой версии " "программы достаточно переместить старый каталог <filename>debian</filename> " "в новый исходный код. Это можно сделать запуском <literal>tar xvzf /" "<replaceable>путь</replaceable>/<replaceable>к</replaceable>/" "<replaceable>foo</replaceable>_<replaceable>старая-версия</replaceable>." "debian.tar.gz</literal> в каталоге с новым исходным кодом <placeholder type=" "\"footnote\" id=\"0\"/>. Конечно, потребуется сделать несколько очевидных " "рутинных операций." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a copy of the upstream source as the " "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename> " "file." msgstr "" "Скопируйте авторский исходный код в файл <filename>foo_<replaceable>новая-" "версия</replaceable>.orig.tar.gz</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Update the Debian <filename>changelog</filename> file with <literal>dch -v " "<replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." msgstr "" "Обновите файл Debian <filename>changelog</filename> с помощью <literal>dch -" "v <replaceable>новая-версия</replaceable>-<replaceable>1</replaceable></" "literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Add an entry with <literal>New upstream release</literal>." msgstr "Добавьте пометку <literal>New upstream release</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>in the new upstream release</" "emphasis> that fix reported bugs and close those bugs by adding " "<literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "Лаконично опишите изменения <emphasis>в новом авторском выпуске</emphasis>, " "которые исправляют найденные ошибки, и закройте эти ошибки, добавляя " "<literal>Closes: #<replaceable>номер_ошибки</replaceable></literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>to the new upstream release</" "emphasis> by the maintainer that fix reported bugs and close those bugs by " "adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "Лаконично опишите изменения <emphasis>в новом авторском выпуске</emphasis>, " "сделанные сопровождающим, которые исправляют найденные ошибки, и закройте " "эти ошибки, добавляя <literal>Closes: #<replaceable>номер_ошибки</" "replaceable></literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>." msgstr "" "запустите <literal>while dquilt push; do qduilt refresh; done</literal> для " "применения всех заплат при удалении <emphasis>шероховатостей</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "If the patch/merge did not apply cleanly, inspect the situation (clues are " "left in <filename>.rej</filename> files)." msgstr "" "Если наложение/слияние произошло с ошибками, изучите ситуацию (сведения есть " "в файлах <filename>.rej</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source was integrated into the upstream source," msgstr "" "Если применяемая заплата к исходному коду была интегрирована в авторский " "исходный код, то " #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt delete</literal> to remove it." msgstr "выполните <literal>dquilt delete</literal> для её удаления." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source conflicted with new changes in the " "upstream source," msgstr "" "Если применяемая заплата к исходному коду конфликтует с новыми изменениями в " "авторском исходном коде, то" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt push -f</literal> to apply old patches while forcing rejects " "as <filename><replaceable>baz</replaceable>.rej</filename>." msgstr "" "выполните <literal>dquilt push -f</literal> для наложения старых заплат с " "отбрасыванием конфликтующих <filename><replaceable>baz</replaceable>.rej</" "filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Edit the <filename><replaceable>baz</replaceable></filename> file manually " "to bring about the intended effect of <filename><replaceable>baz</" "replaceable>.rej</filename>." msgstr "" "Исправьте файл <filename><replaceable>baz</replaceable></filename> ручным " "копированием нужных строки из <filename><replaceable>baz</replaceable>.rej</" "filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt refresh</literal> to update the patch." msgstr "запустите <literal>dquilt refresh</literal> для обновления заплаты." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Continue as usual with <literal>while dquilt push; do dquilt refresh; done</" "literal>." msgstr "" "Продолжайте, как обычно, командой <literal>while dquilt push; do dquilt " "refresh; done</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "This process can be automated using the <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> command as follows:" msgstr "" "Это может быть автоматизировано с помощью команды <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" msgstr "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>старая-версия</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>старая-версия</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>старая-версия</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>старая-версия</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>старая-версия</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>старая-версия</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>старая-версия</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>новая-версия</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>старая-версия</replaceable>\n" "$ uupdate -v <replaceable>новая-версия</replaceable> ../<replaceable>foo</replaceable>-<replaceable>новая-версия</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>новая-версия</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... описание проведённых изменений\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the <command>uscan</command> command downloads the updated source but it " "does not run the <command>uupdate</command> command, you should correct the " "<filename>debian/watch</filename> file to have <literal>debian uupdate</" "literal> at the end of the URL." msgstr "" "Если команда <command>uscan</command> скачает обновлённый исходный код, но " "не запустит команду <command>uupdate</command>, исправьте файл " "<filename>debian/watch</filename> таким образом, чтобы упоминание " "<literal>debian uupdate</literal> было в конце URL." #. type: Content of: <book><chapter><section><para> msgid "" "If you set up a <filename>debian/watch</filename> file as described in <xref " "linkend=\"watch\"/>, you can skip the <command>wget</command> command. You " "simply run <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> in the <filename><replaceable>foo</replaceable>-" "<replaceable>oldversion</replaceable></filename> directory instead of the " "<command>uupdate</command> command. This will <emphasis>automagically</" "emphasis> look for the updated source, download it, and run the " "<command>uupdate</command> command. <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "Если вы настроили файл <filename>debian/watch</filename> по описанию из " "<xref linkend=\"watch\"/>, то можете пропустить команду <command>wget</" "command>. Просто запустите <citerefentry> <refentrytitle>uscan</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> в каталоге " "<filename><replaceable>foo</replaceable>-<replaceable>старая-версия</" "replaceable></filename> вместо команды <command>uupdate</command>. Она " "<emphasis>автомагически</emphasis> найдёт обновления исходного кода, скачает " "его и запустит команду <command>uupdate</command> <placeholder type=" "\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "You can release this updated source by repeating what you did in <xref " "linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref linkend=" "\"upload\"/>." msgstr "" "Вы можете выпустить этот обновлённый исходный код, повторив то, что делали в " "<xref linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/> и <xref " "linkend=\"upload\"/>." #. type: Content of: <book><chapter><section><title> msgid "Updating the packaging style" msgstr "Обновление стиля пакетирования" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If your sponsor or other maintainers object to updating the existing " "packaging style, don't bother arguing. There are more important things to " "do." msgstr "" "Не стоит беспокоиться или спорить, если ваш поручитель или другие " "сопровождающие возражают против обновления существующего стиля " "пакетирования. Есть более важные вещи." #. type: Content of: <book><chapter><section><para> msgid "" "Updating the package style is not a required activity for the update of a " "package. However, doing so lets you use the full capabilities of the modern " "<systemitem role=\"package\">debhelper</systemitem> system and the " "<literal>3.0</literal> source format. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "При обновлении пакета обновлять стиль пакетирования необязательно. Но сделав " "это, вы сможете полностью использовать возможности современной системы " "<systemitem role=\"package\">debhelper</systemitem> и формата исходного кода " "<literal>3.0</literal> <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you need to recreate deleted template files for any reason, you can run " "<command>dh_make</command> again in the same Debian package source tree with " "the <literal>--addmissing</literal> option. Then edit them appropriately." msgstr "" "Если по какой-то причине требуется пересоздать удалённые шаблоны файлов, вы " "можете ещё раз запустить <command>dh_make</command> с параметром <literal>--" "addmissing</literal> в том же дереве исходного кода пакета Debian, а затем " "отредактировать их должным образом." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If the package has not been updated to use the <systemitem role=\"package" "\">debhelper</systemitem> v7+ <command>dh</command> syntax for the " "<filename>debian/rules</filename> file, update it to use <command>dh</" "command>. Update the <filename>debian/control</filename> file accordingly." msgstr "" "Если в пакете файл <filename>debian/rules</filename> не переписан с " "использованием команды <command>dh</command> из пакета <systemitem role=" "\"package\">debhelper</systemitem> v7+, то сделайте это. Обновите файл " "<filename>debian/control</filename> соответствующим образом." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you want to update the <filename>rules</filename> file created with the " "<filename>Makefile</filename> inclusion mechanism of the Common Debian Build " "System (<systemitem role=\"package\">cdbs</systemitem>) to the <command>dh</" "command> syntax, see the following to understand its <literal>DEB_*</" "literal> configuration variables." msgstr "" "Если вы хотите переписать файл <filename>rules</filename> с использованием " "<command>dh</command>, в котором сейчас используется механизм включения " "<filename>Makefile</filename> из Common Debian Build System (<systemitem " "role=\"package\">cdbs</systemitem>), то для понимания его переменных " "настройки <literal>DEB_*</literal> смотрите следующие документы:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "local copy of <filename>&cdbs-doc;</filename>" msgstr "локальная копия <filename>&cdbs-doc;</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" msgstr "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package without the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (native)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(native)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied." msgstr "" "Если у вас есть пакет исходного кода формата <literal>1.0</literal> без " "файла <filename><replaceable>foo</replaceable>.diff.gz</filename>, вы можете " "обновить его до нового формата исходного кода <literal>3.0 (native)</" "literal>, создав файл <filename>debian/source/format</filename> с содержимым " "<literal>3.0 (native)</literal>. Остальные файлы <filename>debian/*</" "filename> могут быть просто скопированы." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can split <filename>big.diff</filename> into many small incremental " "patches using the <command>splitdiff</command> command." msgstr "" "Вы можете разделить файл <filename>big.diff</filename> на много маленьких " "приращиваемых заплат с помощью команды <command>splitdiff</command>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package with the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (quilt)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(quilt)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied. Import the <filename>big.diff</filename> file generated by " "the command <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" "replaceable>.diff.gz > big.diff</literal> to your <command>quilt</" "command> system, if needed. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Если у вас есть пакет с исходным кодом формата <literal>1.0</literal> с " "файлом <filename><replaceable>foo</replaceable>.diff.gz</filename>, вы " "можете обновить его до нового формата исходного кода <literal>3.0 (quilt)</" "literal>, создав файл <filename>debian/source/format</filename> с содержимым " "<literal>3.0 (quilt)</literal>. Остальные файлы <filename>debian/*</" "filename> могут быть просто скопированы. Если нужно, импортируйте файл " "<filename>big.diff</filename>, полученный командой <literal>filterdiff -z -x " "'*/debian/*' <replaceable>foo</replaceable>.diff.gz > big.diff</literal>, " "в вашу систему <command>quilt</command> <placeholder type=\"footnote\" id=" "\"0\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged using another patch system such as <systemitem role=" "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" "systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " "<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, " "convert it to the <systemitem role=\"package\">quilt</systemitem> command " "using <filename>deb3</filename> at <ulink url=\"&deb3;\"/>." msgstr "" "Если в пакете используется другая система заплат, например, <systemitem role=" "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" "systemitem> или <systemitem role=\"package\">cdbs</systemitem> с параметром " "<literal>-p0</literal>, <literal>-p1</literal> или <literal>-p2</literal>, " "перейдите на <systemitem role=\"package\">quilt</systemitem>, используя " "<filename>deb3</filename>, как описано в <ulink url=\"&deb3;\"/>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged with the <command>dh</command> command with the " "<literal>--with quilt</literal> option or with the <command>dh_quilt_patch</" "command> and <command>dh_quilt_unpatch</command> commands, remove these and " "make it use the newer <literal>3.0 (native)</literal> source format." msgstr "" "Если пакет был собран командой <command>dh</command> с параметром <literal>--" "with quilt</literal> или командами <command>dh_quilt_patch</command> и " "<command>dh_quilt_unpatch</command>, уберите их и перейдите на использование " "нового формата пакетов исходного кода <literal>3.0 (native)</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "You should check <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> and adopt ACCEPTED proposals." msgstr "" "Проверьте <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</ulink> и " "учтите ПРИНЯТЫЕ предложения." #. type: Content of: <book><chapter><section><para> msgid "" "You need to do the other tasks described in <xref linkend=\"newupstream\"/>, " "too." msgstr "" "Также вам нужно выполнить остальные задачи, описанные в <xref linkend=" "\"newupstream\"/>." #. type: Content of: <book><chapter><section><title> msgid "UTF-8 conversion" msgstr "Преобразование в UTF-8" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream documents are encoded in old encoding schemes, converting them " "to <ulink url=\"&utf8;\">UTF-8</ulink> is a good idea." msgstr "" "Если авторские документы поставляются в старых кодировках, лучше " "преобразовать их в <ulink url=\"&utf8;\">UTF-8</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert encodings of plain text files." msgstr "" "Для перекодирования простых файлов используйте <citerefentry> " "<refentrytitle>iconv</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert from HTML files to UTF-8 plain text " "files. When you do this, make sure to execute it under UTF-8 locale." msgstr "" "Для перекодирования файлов HTML в простой текст в кодировке UTF-8 " "используйте <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>. Выполнение данной операции должно проводиться " "при включённой локали UTF-8." #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" #. type: Content of: <book><chapter><section><title> msgid "Reminders for updating packages" msgstr "Замечания по обновлению пакетов" #. type: Content of: <book><chapter><section><para> msgid "Here are few reminders for updating packages." msgstr "Вот несколько замечаний по обновлению пакетов:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Preserve old <filename>changelog</filename> entries (sounds obvious, but " "there have been cases of people typing <literal>dch</literal> when they " "should have typed <literal>dch -i</literal>.)" msgstr "" "Не удаляйте старые записи из <filename>changelog</filename> (на первый " "взгляд это очевидно, но были случаи случайного набора <literal>dch</literal> " "вместо <literal>dch -i</literal>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Existing Debian changes need to be reevaluated; throw away stuff that " "upstream has incorporated (in one form or another) and remember to keep " "stuff that hasn't been incorporated by upstream, unless there is a " "compelling reason not to." msgstr "" "Существующие изменения Debian должны быть пересмотрены; выбросьте " "инструментарий, который включил автор (в той или иной форме) и не забудьте " "оставить инструментарий, который не был включён автором, пока не появится " "убедительной причины этого не делать." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If any changes were made to the build system (hopefully you'd know from " "inspecting upstream changes) then update the <filename>debian/rules</" "filename> and <filename>debian/control</filename> build dependencies if " "necessary." msgstr "" "Если в систему для сборки были внесены изменения (к счастью, вы узнаете об " "этом при изучении авторских изменений), то при необходимости обновите " "сборочные зависимости в файлах <filename>debian/rules</filename> и " "<filename>debian/control</filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> to " "see if someone has provided patches to bugs that are currently open." msgstr "" "Проверьте <ulink url=\"&bts;\">систему отслеживания ошибок (BTS)</ulink> на " "случай, если кто-нибудь предоставил заплаты для исправления незакрытых " "ошибок." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the contents of the <filename>.changes</filename> file to make sure " "you are uploading to the correct distribution, the proper bug closures are " "listed in the <literal>Closes</literal> field, the <literal>Maintainer</" "literal> and <literal>Changed-By</literal> fields match, the file is GPG-" "signed, etc." msgstr "" "Проверьте содержимое файла <filename>.changes</filename> и убедитесь, что вы " "выполняете отправку в правильный дистрибутив, закрываемые ошибки перечислены " "в поле <literal>Closes</literal>, поля <literal>Maintainer</literal> и " "<literal>Changed-By</literal> совпадают, файл подписан GPG и т. д." #. type: Content of: <book><chapter><title> msgid "Uploading the package" msgstr "Отправка пакета" #. type: Content of: <book><chapter><para> msgid "" "Now that you have tested your new package thoroughly, you want to release it " "to a public archive to share it." msgstr "" "Теперь, после тщательного тестирования вашего нового пакета, вы хотите " "отправить его в публичный архив для использования." #. type: Content of: <book><chapter><section><title> msgid "Uploading to the Debian archive" msgstr "Отправка в архив Debian" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <xref linkend=\"socialdynamics\"/>." msgstr "Смотрите <xref linkend=\"socialdynamics\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are publicly accessible archives such as <ulink url=\"&mentors-dn;\"/> " "which work almost the same way as the Debian archive and provide an upload " "area for non-DDs. You can set up an equivalent archive by yourself using " "the tools listed at <ulink url=\"&deb-archive;\"/>. So this section is " "useful for non-DDs, too." msgstr "" "Существуют публично доступные архивы, например <ulink url=\"&mentors-dn;\"/" ">, которые работают почти также как архив Debian и предоставляют зону для " "отправки людям, не имеющим статуса разработчика Debian. Вы можете создать " "свой архив с помощью инструментов, перечисленных в <ulink url=\"&deb-archive;" "\"/>. Поэтому данный раздел также будет полезен не только разработчикам " "Debian." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <systemitem role=\"package\">dput</systemitem> package seems to come " "with more features and to be becoming more popular than the <systemitem role=" "\"package\">dupload</systemitem> package. It uses the file <filename>/etc/" "dput</filename> for its global configuration and the file <filename>~/.dput." "cf</filename> for per-user configuration. It supports Ubuntu-related " "services out-of-the-box, too." msgstr "" "Сейчас, вероятно, пакет <systemitem role=\"package\">dput</systemitem> имеет " "больше возможностей и становится более популярным, чем <systemitem role=" "\"package\">dupload</systemitem>. Для его настройки используется системный " "файл <filename>/etc/dput</filename> и пользовательский <filename>~/.dput.cf</" "filename>. Также он поддерживается службами Ubuntu без дополнительной " "настройки." #. type: Content of: <book><chapter><section><para> msgid "" "Once you become an official developer, <placeholder type=\"footnote\" id=" "\"0\"/> you can upload the package to the Debian archive. <placeholder type=" "\"footnote\" id=\"1\"/> You can do this manually, but it's easier to use the " "existing automated tools, like <citerefentry> <refentrytitle>dupload</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. We'll describe how it's done with <command>dupload</" "command>. <placeholder type=\"footnote\" id=\"2\"/>" msgstr "" "После того, как вы станете официальным разработчиком <placeholder type=" "\"footnote\" id=\"0\"/>, то сможете отправлять пакеты в архив Debian " "<placeholder type=\"footnote\" id=\"1\"/>. Вы можете делать это вручную, но " "легче воспользоваться существующими инструментами автоматизации, такими как " "<citerefentry> <refentrytitle>dupload</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> или <citerefentry> <refentrytitle>dput</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. Здесь будет " "рассказано как это сделать с помощью <command>dupload</command> <placeholder " "type=\"footnote\" id=\"2\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "First you have to set up <command>dupload</command>'s config file. You can " "either edit the system-wide <filename>/etc/dupload.conf</filename> file, or " "have your own <filename>~/.dupload.conf</filename> file override the few " "things you want to change." msgstr "" "Сначала, вам нужно настроить конфигурационный файл для <command>dupload</" "command>. Вы можете отредактировать системный файл <filename>/etc/dupload." "conf</filename>, либо создать свой собственный файл <filename>~/.dupload." "conf</filename>, указав те настройки, которые нужно изменить." #. type: Content of: <book><chapter><section><para> msgid "" "You can read the <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> manual page to understand what each " "of these options means." msgstr "" "Описание каждого параметра приведено в справочной странице <citerefentry> " "<refentrytitle>dupload.conf</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. " "\"Uploading a package\"</ulink>." msgstr "" "Смотрите <ulink url=\"&devref-upload;\">Справочник разработчика Debian, 5.6. " "«Отправка пакета»</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>$default_host</literal> option determines which of the upload " "queues will be used by default. <literal>anonymous-ftp-master</literal> is " "the primary one, but it's possible that you will want to use another one. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Параметр <literal>$default_host</literal> определяет, какая из очередей " "отправки будет использована по умолчанию. Первичной является " "<literal>anonymous-ftp-master</literal>, но возможно, что вы захотите " "использовать другую <placeholder type=\"footnote\" id=\"0\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "While connected to the Internet, you can upload your package as follows:" msgstr "" "Соединившись с Интернетом, вы можете отправить свой пакет следующим образом:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dupload gentoo_0.9.12-1_i386.changes\n" msgstr "$ dupload gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dupload</command> checks that the SHA1/SHA256 file checksums match " "those listed in the <filename>.changes</filename> file. If they do not " "match, it will warn you to rebuild it as described in <xref linkend=" "\"completebuild\"/> so it can be properly uploaded." msgstr "" "Команда <command>dupload</command> проверяет, что контрольные суммы SHA1/" "SHA256 ваших файлов совпадают с указанным в файле <filename>.changes</" "filename>. Если они не совпадают, она предложит пересобрать пакет (о том, " "как это правильно делать, смотрите раздел <xref linkend=\"completebuild\"/>)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&uploadqueue-readme;\"/>. Alternatively, you can use the " "<command>dcut</command> command from the <systemitem role=\"package\">dput</" "systemitem> package." msgstr "" "Смотрите <ulink url=\"&uploadqueue-readme;\"/>. Или же вы можете " "использовать команду <command>dcut</command> из пакета <systemitem role=" "\"package\">dput</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "If you encounter an upload problem at <ulink url=\"&uploadqueue;\"/>, you " "can fix this by manually uploading a GPG-signed <filename>*.commands</" "filename> file to there with <command>ftp</command>. <placeholder type=" "\"footnote\" id=\"0\"/> For example, using <filename>hello.commands</" "filename>:" msgstr "" "Если при отправке в <ulink url=\"&uploadqueue;\"/> возникли проблемы, то вы " "можете исправить их вручную загрузив туда файл <filename>*.commands</" "filename>, подписанный GPG, с помощью <command>ftp</command> <placeholder " "type=\"footnote\" id=\"0\"/>. Например, используя <filename>hello.commands</" "filename>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" msgstr "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" #. type: Content of: <book><chapter><section><title> msgid "Including <filename>orig.tar.gz</filename> for upload" msgstr "Включение файла <filename>orig.tar.gz</filename> для отправки" #. type: Content of: <book><chapter><section><para> msgid "" "When you first upload the package to the archive, you need to include the " "original <filename>orig.tar.gz</filename> source, too. If the Debian " "revision number of this package is neither <literal>1</literal> nor " "<literal>0</literal>, you must provide the <command>dpkg-buildpackage</" "command> option <literal>-sa</literal>." msgstr "" "При самой первой отправке пакета в архив, вам также потребуется добавить к " "нему файл с исходным кодом <filename>orig.tar.gz</filename>. Если номер " "редакции Debian для данной версии программы не равен <literal>1</literal> " "или <literal>0</literal>, то вам следует указать команде <command>dpkg-" "buildpackage</command> параметр <literal>-sa</literal>." #. type: Content of: <book><chapter><section><para> msgid "For the <command>dpkg-buildpackage</command> command:" msgstr "Для команды <command>dpkg-buildpackage</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -sa\n" msgstr "$ dpkg-buildpackage -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>debuild</command> command:" msgstr "Для команды <command>debuild</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -sa\n" msgstr "$ debuild -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>pdebuild</command> command:" msgstr "Для команды <command>pdebuild</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts -sa\n" msgstr "$ pdebuild --debbuildopts -sa\n" #. type: Content of: <book><chapter><section><para> msgid "" "On the other hand, the <literal>-sd</literal> option will force the " "exclusion of the original <filename>orig.tar.gz</filename> source." msgstr "" "Противоположный по действию параметр <literal>-sd</literal> позволит " "исключить файл с исходным кодом <filename>orig.tar.gz</filename>." #. type: Content of: <book><chapter><section><title> msgid "Skipped uploads" msgstr "Пропущенные отправки" #. type: Content of: <book><chapter><section><para> msgid "" "If you created multiple entries in <filename>debian/changelog</filename> by " "skipping uploads, you must create a proper <filename>*_.changes</filename> " "file which includes all changes from the last upload. This can be done by " "specifying the <command>dpkg-buildpackage</command> option <literal>-v</" "literal> with the version, e.g., <literal><replaceable>1.2</replaceable></" "literal>." msgstr "" "Если вы сделали много изменений в <filename>debian/changelog</filename>, но " "не выполняли отправку соответствующих версий, то должны создать " "соответствующий файл <filename>*_.changes</filename>, в который войдут все " "изменения с последней отправки. Это можно сделать указанием команде " "<command>dpkg-buildpackage</command> параметра <literal>-v</literal> с " "номером версии, например, <literal><replaceable>1.2</replaceable></literal>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" msgstr "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -v<replaceable>1.2</replaceable>\n" msgstr "$ debuild -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" msgstr "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" #. type: Content of: <book><appendix><title> msgid "Advanced packaging" msgstr "Углублённое пакетирование" #. type: Content of: <book><appendix><para> msgid "" "Here are some hints and pointers for advanced packaging topics which you are " "most likely to deal with. You are strongly advised to read all the " "references suggested here." msgstr "" "Далее приводится подсказки и ссылки при сложных случаяхпакетирования. " "Настоятельно рекомендуется прочитать все предлагаемые материалы." #. type: Content of: <book><appendix><section><title> msgid "Shared libraries" msgstr "Общие библиотеки" #. type: Content of: <book><appendix><section><para> msgid "" "Before packaging shared <ulink url=\"&library;\">libraries</ulink>, you " "should read the following primary references in detail." msgstr "" "Перед пакетированием общих <ulink url=\"&library;\">библиотек</ulink> " "прочтите следующие основные документы:" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" msgstr "" "<ulink url=\"&policy-sharedlibraries;\">руководство по политике Debian, " "раздел 8 «Общие библиотеки»</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" msgstr "" "<ulink url=\"&policy-fhs;\">руководство по политике Debian, раздел 9.1.1 " "«Структура файловой системы</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" msgstr "" "<ulink url=\"&policy-libraries;\">руководство по политике Debian, раздел " "10.2 «Библиотеки»</ulink>" #. type: Content of: <book><appendix><section><para> msgid "Here are some oversimplified hints for you to get started." msgstr "Вот упрощённое представление, для начала." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are <ulink url=\"&elf;\">ELF</ulink> object files " "containing compiled code." msgstr "" "Общие библиотеки — это объектные файлы в формате <ulink url=\"&elf;\">ELF</" "ulink>, в которых содержится скомпилированный код." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are distributed as <filename>*.so</filename> files. " "(Neither <filename>*.a</filename> files nor <filename>*.la</filename> files)" msgstr "" "Общие библиотеки распространяются в виде файлов <filename>*.so</filename> " "(не в файлах <filename>*.a</filename> или <filename>*.la</filename>)." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are mainly used to share common codes among multiple " "executables with the <command>ld</command> mechanism." msgstr "" "Главным образом, общие библиотеки нужны для совместного использования общего " "кода в исполняемых файлах посредством механизма <command>ld</command>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are sometimes used to provide multiple plugins to an " "executable with the <command>dlopen</command> mechanism." msgstr "" "Иногда общие библиотеки используются в качестве подключаемых модулей " "исполняемых файлов посредством механизма <command>dlopen</command>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries export <ulink url=\"&symbol;\">symbols</ulink> which " "represent compiled objects such as variables, functions, and classes; and " "enables access to them from the linked executables." msgstr "" "Общие библиотеки экспортируют <ulink url=\"&symbol;\">символы</ulink> — " "скомпилированные объекты: переменные, функции и классы; и разрешают к ним " "доступ из скомпонованных исполняемых файлов." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" msgstr "" "Либо: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&soname;\">SONAME</ulink> of a shared library " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&soname;\">SONAME</ulink> общей библиотеки " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of a shared library usually matches the library file name (but " "not always)." msgstr "" "SONAME общей библиотеки обычно совпадает с именем файла библиотеки (но не " "всегда)." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" msgstr "" "Либо: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of shared libraries linked to <filename><replaceable>/usr/bin/" "foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/foo</" "replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "SONAME общих библиотек, которые скомпонованы с <filename><replaceable>/usr/" "bin/foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/" "foo</replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time " "shared libraries\"</ulink>." msgstr "" "Смотрите <ulink url=\"&policy-runtime;\">руководство по политике Debian, " "раздел 8.1 «Общие библиотеки времени выполнения»</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: the library package " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> with the SONAME ABI version " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: библиотечный пакет " "общей библиотеки <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> с ABI-версией SONAME, равной " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig" "\"</ulink>." msgstr "" "Смотрите <ulink url=\"&policy-ldconfig;\">руководство по политике Debian, " "раздел 8.1.1 «ldconfig»</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The package maintainer scripts of the library package must call " "<command>ldconfig</command> under the specific circumstances to create the " "necessary symbolic links for the SONAME.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Пакетные сценарии сопровождающего для библиотеки должны вызывать " "<command>ldconfig</command> для создания необходимых символьных ссылок для " "SONAME при определённых условиях.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: the debugging " "symbols package which contains the debugging symbols for the shared library " "package <systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>." msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: пакет с " "отладочными символами, который содержит символы для отладки пакета с общей " "библиотекой <systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> and <ulink url=\"&policy-dev;\">Debian Policy Manual, " "8.4 \"Development files\"</ulink>." msgstr "" "Смотрите <ulink url=\"&policy-static;\">руководство по политике Debian, " "раздел 8.3 «Статические библиотеки»</ulink> и <ulink url=\"&policy-dev;" "\">руководство по политике Debian, раздел 8.4 «Файлы для разработки»</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: the development package which contains the header files etc. " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: пакет для разработчика, который содержит заголовочные файлы и " "т .д. общей библиотек <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink>." msgstr "" "Смотрите <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</" "ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not contain <filename>*.la</filename> Libtool archive " "files in general.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Обычно, в пакете Debian не должно быть файлов архива Libtool <filename>*.la</" "filename>.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "See <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." msgstr "Смотрите <ulink url=\"&rpathissues;\">вики Debian RpathIssue</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not use RPATH in general.<placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Обычно, в пакете Debian не должен использоваться RPATH.<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Although it is somewhat outdated and is only a secondary reference, <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "may still be useful." msgstr "" "Несмотря на некоторое устаревание и статус вторичности, следующая ссылка " "тоже может быть полезна <ulink url=\"&debianlibrarypackagingguide;\">Debian " "Library Packaging Guide</ulink>." #. type: Content of: <book><appendix><section><title> msgid "" "Managing <filename>debian/<replaceable>package</replaceable>.symbols</" "filename>" msgstr "" "Управление <filename>debian/<replaceable>пакет</replaceable>.symbols</" "filename>" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Backward-incompatible ABI changes normally require you to update the SONAME " "of the library and the shared library package name to new ones." msgstr "" "При обратно несовместимых изменениях ABI обычно требуется обновить SONAME " "библиотеки и поменять имя пакета общей библиотеки на новое." #. type: Content of: <book><appendix><section><para> msgid "" "When you package a shared library, you should create <filename>debian/" "<replaceable>package</replaceable>.symbols</filename> file to manage the " "minimal version associated to each symbol for backward-compatible ABI " "changes under the same SONAME of the library for the same shared library " "package name.<placeholder type=\"footnote\" id=\"0\"/> You should read the " "following primary references in detail." msgstr "" "Если пакет содержит общую библиотеку, то вы должны создать файл " "<filename>debian/<replaceable>пакет</replaceable>.symbols</filename>, в " "котором отражена минимальная версия каждого символа обратно совместимых " "изменений ABI с единым SONAME библиотеки и единым именем пакета с " "библиотекой.<placeholder type=\"footnote\" id=\"0\"/> Подробная информация " "приведена в следующих документах:" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "For C++ libraries and other cases where tracking individual symbols is too " "difficult, follow <ulink url=\"&policy-library-shlibs;\">Debian Policy " "Manual, 8.6.4 \"The shlibs system\"</ulink>, instead." msgstr "" "Вместо указанного для библиотек C++ и в других случаях, где слежение за " "отдельными символами слишком сложно, прочтите <ulink url=\"&policy-library-" "shlibs;\">руководство по политике Debian, раздел 8.6.4 «Система shlibs»</" "ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Смотрите <ulink url=\"&policy-library-symbols;\">руководство по политике " "Debian, раздел 8.6.3 «Система символов»</ulink><placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><para> msgid "" "Here is a rough example to create the <systemitem role=\"package\">libfoo1</" "systemitem> package to the upstream version <literal>1.3</literal> with the " "proper <filename>debian/libfoo1.symbols</filename> file." msgstr "" "Вот примерный план создания пакета <systemitem role=\"package\">libfoo1</" "systemitem> для авторской версии <literal>1.3</literal> с подходящим файлом " "<filename>debian/libfoo1.symbols</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Prepare the skeleton debianized source tree using the upstream " "<filename>libfoo-1.3.tar.gz</filename> file." msgstr "" "Подготовьте основу исходного дерева из авторского файла <filename>libfoo-1.3." "tar.gz</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If this is the first packaging of the <systemitem role=\"package\">libfoo1</" "systemitem> package, create the <filename>debian/libfoo1.symbols</filename> " "file with empty content." msgstr "" "Если упаковка <systemitem role=\"package\">libfoo1</systemitem> производится " "впервые, создайте пустой файл <filename>debian/libfoo1.symbols</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was packaged as the " "<systemitem role=\"package\">libfoo1</systemitem> package with the proper " "<filename>debian/libfoo1.symbols</filename> in its source package, use it " "again." msgstr "" "Если была упакована предыдущая авторская версия <literal>1.2</literal> в " "пакет <systemitem role=\"package\">libfoo1</systemitem> с соответствующим " "файлом <filename>debian/libfoo1.symbols</filename> в пакете с исходным " "кодом, то используйте его и сейчас." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "All previous versions of Debian packages are available at <ulink url=" "\"&snapshot;\">http://snapshot.debian.org/</ulink>. The Debian revision is " "dropped from the version to make it easier to backport the package: " "<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " "<literal>1.1-1</literal> and <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" msgstr "" "Все предыдущие версии пакетов Debian доступны по <ulink url=\"&snapshot;" "\">http://snapshot.debian.org/</ulink>. Для облегчения переноса пакета в " "старые выпуски часть, отвечающая за версию Debian, отбрасывается: " "<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " "<literal>1.1-1</literal> и <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was not packaged " "with the <filename>debian/libfoo1.symbols</filename>, create it as the " "<filename>symbols</filename> file from all available binary packages of the " "same shared library package name containing the same SONAME of the library, " "for example, versions <literal>1.1-1</literal> and <literal>1.2-1</" "literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Если предыдущая авторская версия <literal>1.2</literal> не была упакована с " "<filename>debian/libfoo1.symbols</filename>, создайте его как файл " "<filename>symbols</filename> из всех доступных двоичных пакетов с единым " "именем пакета общей библиотеки, содержащих одинаковый SONAME библиотеки, " "например версии <literal>1.1-1</literal> и <literal>1.2-1</literal>. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" msgstr "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Make trial builds of the source tree with tools such as <command>debuild</" "command> and <command>pdebuild</command>. (If this fails due to missing " "symbols etc., there were some backward-incompatible ABI changes which " "require you to bump the shared library package name to something like " "<systemitem role=\"package\">libfoo1a</systemitem> and you should start over " "again.)" msgstr "" "Попробуйте выполнить сборку в исходном дереве с помощью таких инструментов " "как <command>debuild</command> и <command>pdebuild</command> (если возникли " "ошибки из-за отсутствующих символов и т. д., то это указывает на обратно " "несовместимые изменения ABI, для которых требуется изменить имя пакета общей " "библиотеки на что-нибудь вроде <systemitem role=\"package\">libfoo1a</" "systemitem> и повторить сборку)." #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" msgstr "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "The Debian revision is dropped from the version to make it easier to " "backport the package: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" msgstr "" "Для облегчения переноса пакета в старые выпуски часть, отвечающая за версию " "Debian, отбрасывается: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "If you see the diff printed by the <command>dpkg-gensymbols</command> as " "above, extract the updated proper <filename>symbols</filename> file from the " "generated binary package of the shared library. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Если вы видите различие, выдаваемое <command>dpkg-gensymbols</command>, как " "показано выше, то извлеките обновлённый правильный файл <filename>symbols</" "filename> из сгенерированного двоичного пакета общей библиотеки. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" msgstr "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Build release packages with tools such as <command>debuild</command> and " "<command>pdebuild</command>." msgstr "" "Соберите выпускаемые пакеты с помощью таких инструментов как " "<command>debuild</command> и <command>pdebuild</command>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" msgstr "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 \"Shared " "library ABI changes\"</ulink>." msgstr "" "Смотрите <ulink url=\"&policy-library-abi;\">руководство по политике Debian, " "раздел 8.6.2 «Изменения ABI общей библиотеки»</ulink>." #. type: Content of: <book><appendix><section><para> msgid "" "In addition to the above examples, we need to check the ABI compatibility " "further and bump versions for some symbols manually as needed. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "В дополнение к вышеупомянутым примерам мы должны проверить дальнейшую " "совместимость ABI и, если понадобится, увеличить версии некоторых символов " "вручную. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><para> msgid "" "Although it is only a secondary reference, <ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> and its linked web pages may be " "useful." msgstr "" "Несмотря на статус вторичности, <ulink url=\"&usingsymbolsfiles;\">вики " "Debian UsingSymbolsFiles</ulink> и содержащиеся на ней ссылки могут быть " "полезными." #. type: Content of: <book><appendix><section><title> msgid "Multiarch" msgstr "Мультиархитектурность" #. type: Content of: <book><appendix><section><para> msgid "" "The multiarch feature introduced to Debian wheezy integrates support for " "cross-architecture installation of binary packages (particularly " "<literal>i386</literal><-><literal>amd64</literal>, but also other " "combinations) in <systemitem role=\"package\">dpkg</systemitem> and " "<systemitem role=\"package\">apt</systemitem>. You should read the " "following references in detail." msgstr "" "Свойство мультиархитектурности, появившееся в Debian wheezy, встраивает " "поддержку кросс-платформенной установки двоичных пакетов (а именно " "<literal>i386</literal><-><literal>amd64</literal>, но есть и другие " "комбинации) в <systemitem role=\"package\">dpkg</systemitem> и <systemitem " "role=\"package\">apt</systemitem>. Подробная информация приведена в " "следующих документах:" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (upstream)" msgstr "" "<ulink url=\"&multiarchspec;\">вики Ubuntu MultiarchSpec</ulink> (авторский " "документ)" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian situation)" msgstr "" "<ulink url=\"&multiarchimplementation;\">вики Debian Multiarch/" "Implementation</ulink> (ситуация в Debian)" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Old special purpose library paths such as <filename>/lib32/</filename> and " "<filename>/lib64/</filename> are not used any more." msgstr "" "Старые пути к библиотекам, служащие для этих целей, такие как <filename>/" "lib32/</filename> и <filename>/lib64/</filename>, больше не используются." #. type: Content of: <book><appendix><section><para> msgid "" "It uses the triplet such as <literal>i386-linux-gnu</literal> and " "<literal>x86_64-linux-gnu</literal> for the install path of shared " "libraries. The actual triplet path is dynamically set into <literal>" "$(DEB_HOST_MULTIARCH)</literal> value by <citerefentry> <refentrytitle>dpkg-" "architecture</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for " "each build. For example, the path to install multiarch libraries are " "changed as follows.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "При установке общих библиотек в путях используются триплеты, например " "<literal>i386-linux-gnu</literal> и <literal>x86_64-linux-gnu</literal>. " "Актуальный триплет динамически задаётся в переменной <literal>" "$(DEB_HOST_MULTIARCH)</literal> с помощью <citerefentry> <refentrytitle>dpkg-" "architecture</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> при " "каждой сборке. Например, путь установки мультиархитектурных библиотек " "изменяется следующим образом:<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Old path" msgstr "Старый путь" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "i386 multiarch path" msgstr "мультиархитектурный путь для i386" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "amd64 multiarch path" msgstr "мультиархитектурный путь для amd64" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/</filename>" msgstr "<filename>/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/i386-linux-gnu/</filename>" msgstr "<filename>/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/</filename>" msgstr "<filename>/usr/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/i386-linux-gnu/</filename>" msgstr "<filename>/usr/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/usr/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><para> msgid "" "Here are some typical multiarch package split scenario examples for the " "followings:" msgstr "Вот несколько примеров разделения типично мультиархитектурных пакетов:" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a library source <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" msgstr "" "библиотека с исходным кодом <filename>lib<replaceable>foo</replaceable>-1." "tar.gz</filename>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>bar</replaceable>-1.tar.gz</filename> " "written in a compiled language" msgstr "" "инструмент с исходным кодом <filename><replaceable>bar</replaceable>-1.tar." "gz</filename>, написанный на компилируемом языке" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>baz</replaceable>-1.tar.gz</filename> " "written in an interpreted language" msgstr "" "инструмент с исходным кодом <filename><replaceable>baz</replaceable>-1.tar." "gz</filename>, написанный на интерпретируемом языке" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package" msgstr "Пакет" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Architecture:" msgstr "Архитектура:" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Multi-Arch:" msgstr "Мультиархитектурность:" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package content" msgstr "Содержимое пакета" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "any" msgstr "любая" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "same" msgstr "такая же" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library, co-installable" msgstr "общая библиотека, одновременная установка" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library debug symbols, co-installable" msgstr "отладочные символы общей библиотеки, одновременная установка" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library header files etc., co-installable" msgstr "заголовочные файлы общей библиотеки, одновременная установка" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "foreign" msgstr "сторонняя" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the run-time support programs, not co-installable" msgstr "программы поддержки времени выполнения, не одновременная установка" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "all" msgstr "все" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library documentation files" msgstr "файлы документации общей библиотеки" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the compiled program files, not co-installable" msgstr "скомпилированные файлы программы, одновременная установка" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the documentation files for the program" msgstr "файлы документации программы" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the interpreted program files" msgstr "интерпретируемые файлы программы" #. type: Content of: <book><appendix><section><para> msgid "" "Please note that the development package should contain a symlink for the " "associated shared library <emphasis role=\"strong\">without a version " "number</emphasis>. E.g.: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</" "filename> -> <filename>libfoo.so.1</filename>" msgstr "" "Заметим, что пакет для разработчика должен содержать символьную ссылку на " "соответствующую общую библиотеку <emphasis role=\"strong\">без номера " "версии</emphasis>. Пример: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</" "filename> -> <filename>libfoo.so.1</filename>" #. type: Content of: <book><appendix><section><title> msgid "Building a shared library package" msgstr "Сборка пакета с общей библиотекой" #. type: Content of: <book><appendix><section><para> msgid "" "You can build a Debian library package enabling the multiarch support using " "<citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> as follows." msgstr "" "Вы можете собрать пакет Debian с библиотекой, включающий поддержку " "мультиархитектурности с помощью команды <citerefentry> <refentrytitle>dh</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>:" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Update <filename>debian/control</filename>." msgstr "Обновите <filename>debian/control</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Build-Depends: debhelper (>=9)</literal> for the source package " "section." msgstr "" "Добавьте <literal>Build-Depends: debhelper (>=9)</literal> в раздел " "исходного кода пакета." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Pre-Depends: ${misc:Pre-Depends}</literal> for each shared " "library binary package." msgstr "" "Добавьте <literal>Pre-Depends: ${misc:Pre-Depends}</literal> для каждого " "двоичного пакета с общей библиотекой." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Multi-Arch:</literal> stanza for each binary package section." msgstr "" "Добавьте строку <literal>Multi-Arch:</literal> в раздел каждого двоичного " "пакета." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Set <filename>debian/compat</filename> to \"9\"." msgstr "Установите <filename>debian/compat</filename> равным «9»." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Adjust the path from the normal <literal>/usr/lib/</literal> to the " "multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> for all " "packaging scripts." msgstr "" "Измените путь с обычного <literal>/usr/lib/</literal> на мультиархитектурный " "<literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> во всех сценариях пакета." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Call <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> in <filename>debian/rules</filename> to set " "<literal>DEB_HOST_MULTIARCH</literal> variable, first." msgstr "" "Во-первых, вызовите <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture " "-qDEB_HOST_MULTIARCH)</literal> в <filename>debian/rules</filename> для " "настройки переменной <literal>DEB_HOST_MULTIARCH</literal>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace <literal>/usr/lib/</literal> with <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> in <filename>debian/rules</filename>." msgstr "" "Замените <literal>/usr/lib/</literal> на <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> в <filename>debian/rules</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively, you can add <literal>--libdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> and <literal>--libexecdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> arguments to <literal>./configure</" "literal>. Please note that <literal>--libexecdir</literal> specifies the " "default path to install executable programs run by other programs rather " "than by users. Its Autotools default is <filename>/usr/libexec/</filename> " "but its Debian default is <filename>/usr/lib/</filename>." msgstr "" "Или же вы можете добавить параметры <literal>--libdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> и <literal>--libexecdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> в <literal>./configure</literal>. Заметим, " "что в <literal>--libexecdir</literal> задаётся путь по умолчанию для " "установки исполняемых программ, запускаемых другими программами, а не " "пользователями. Значение Autotools по умолчанию равно <filename>/usr/libexec/" "</filename>, но значение Debian по умолчанию равно <filename>/usr/lib/</" "filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If <literal>./configure</literal> is used in the part of " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>, make sure to replace it with <literal>dh_auto_configure -- " "</literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Если <literal>./configure</literal> используется в части цели " "<literal>override_dh_auto_configure</literal> в <filename>debian/rules</" "filename>, замените её на <literal>dh_auto_configure -- </literal>. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace all occurrences of <literal>/usr/lib/</literal> with <literal>/usr/" "lib/*/</literal> in <filename>debian/<replaceable>foo</replaceable>.install</" "filename> files." msgstr "" "Замените все появления <literal>/usr/lib/</literal> на <literal>/usr/lib/*/</" "literal> в файлах <filename>debian/<replaceable>foo</replaceable>.install</" "filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Generate files like <filename>debian/<replaceable>foo</replaceable>.links</" "filename> from <filename>debian/<replaceable>foo</replaceable>.links.in</" "filename> dynamically by adding a script to " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>." msgstr "" "Сгенерируйте такие файлы как <filename>debian/<replaceable>foo</replaceable>." "links</filename> и <filename>debian/<replaceable>foo</replaceable>.links.in</" "filename> динамически, добавив сценарий в " "цель<literal>override_dh_auto_configure</literal> в <filename>debian/rules</" "filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" #. type: Content of: <book><appendix><section><para> msgid "" "Please make sure to verify that the shared library package contains only the " "expected files, and that your -dev package still works." msgstr "" "Проверьте, что пакет с общей библиотекой содержит только ожидаемые файлы и " "что ваши пакеты -dev ещё работают." #. type: Content of: <book><appendix><section><para> msgid "" "All files installed simultaneously as the multiarch package to the same file " "path should have exactly the same file content. You must be careful on " "differences generated by the data byte order and by the compression " "algorithm." msgstr "" "Все файлы, устанавливаемые одновременно из мультиархитектурного пакета по " "одному пути, должны иметь одинаковое содержимое. Внимательно следите за " "различиями при генерации данных с другим порядком байт и алгоритмом сжатия." ����������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/.gitattribute�����������������������������������������������������������������0000644�0000000�0000000�00000000040�12256550103�014007� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# *.po merge=git-merge-file-po ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/es.tex������������������������������������������������������������������������0000644�0000000�0000000�00000000017�12256550103�012434� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\hyphenation{} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/fr.po�������������������������������������������������������������������������0000644�0000000�0000000�00002102350�12262273531�012263� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# French translation of "Debian New Maintainers' Guide" # Copyright (C) 1999-2005, 2010-2013 Debian French l10n team <debian-l10n-french@lists.debian.org> # This file is distributed under the same license as the maint-guide package. # # Frédéric Dumont <frederic.dumont@easynet.be>, 1999-2005. # Mohammed Adnène Trojette <adn+deb@diwi.org>, 2005. # David Prévot <david@tilapin.org>, 2010-2013. msgid "" msgstr "" "Project-Id-Version: maint-guide\n" "POT-Creation-Date: 2014-01-06 00:00+0900\n" "PO-Revision-Date: 2013-12-24 14:09-0400\n" "Last-Translator: David Prévot <david@tilapin.org>\n" "Language-Team: French <debian-l10n-french@lists.debian.org>\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Lokalize 1.5\n" #. type: Attribute 'lang' of: <book> msgid "en" msgstr "fr" #. type: Content of: <book><title> msgid "Debian New Maintainers' Guide" msgstr "Guide du nouveau responsable Debian" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Josip Rodin" msgstr "Josip Rodin" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "joy-mg@debian.org" msgstr "joy-mg@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "original contents" msgstr "version initiale" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Osamu Aoki" msgstr "Osamu Aoki" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "osamu@debian.org" msgstr "osamu@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "updated contents" msgstr "version mise à jour" #. type: Content of: <book><bookinfo><releaseinfo> msgid "version &docversion;" msgstr "version &docversion;" #. type: Content of: <book><bookinfo> msgid "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" msgstr "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "" "This document may be used under the terms the GNU General Public License " "version 2 or higher." msgstr "" "Ce document peut être utilisé selon les termes de la Licence publique " "générale de GNU version 2 ou suivante." #. type: Content of: <book><bookinfo><legalnotice><para> msgid "This document was made using these two documents as examples:" msgstr "Ce document a été créé en se basant sur les deux suivants :" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." msgstr "" "Making a Debian Package (le manuel de debmake), copyright © 1997 Jaldhar " "Vyas." #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." msgstr "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." #. type: Content of: <book><chapter><title> msgid "Getting started The Right Way" msgstr "Partir du bon pied" #. type: Content of: <book><chapter><para> msgid "" "This document tries to describe the building of a Debian package to ordinary " "Debian users and prospective developers. It uses fairly non-technical " "language, and it's well covered with working examples. There is an old " "Latin saying: <emphasis>Longum iter est per praecepta, breve et efficax per " "exempla</emphasis> (It's a long way by the rules, but short and efficient " "with examples)." msgstr "" "Ce document essaie de décrire aux utilisateurs Debian moyens, et aux " "développeurs en devenir, la construction d'un paquet Debian. Il utilise un " "langage pas trop technique et est complété par des exemples, selon le vieux " "proverbe latin : « <emphasis>Longum iter est per praecepta, breve et efficax " "per exempla</emphasis> » (c'est long par la règle, court et efficace par " "l'exemple)." #. type: Content of: <book><chapter><para><footnote><para> msgid "" "The document assumes you are using a <literal>&base-release;</literal> or " "newer system. If you need to follow this text in an older system (including " "an older Ubuntu system etc.), you must install backported <systemitem role=" "\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</" "systemitem> packages, at least." msgstr "" "Ce document suppose que vous utilisez un système <literal>&Base-release;</" "literal> ou plus récent. Si vous avez l'intention de suivre ce texte avec un " "système plus ancien (y compris un ancien système Ubuntu par exemple), vous " "devez au moins installer les paquets <systemitem role=\"package\">dpkg</" "systemitem> et <systemitem role=\"package\">debhelper</systemitem> " "rétroportés." #. type: Content of: <book><chapter><para> msgid "" "This document has been updated for the Debian <literal>&base-release;</" "literal> release. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Ce document a été mis à jour pour la version <literal>&Base-release;</" "literal> de Debian. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "You can learn about the basic handling of a Debian system from the <ulink " "url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to " "learn about Unix programming, too." msgstr "" "Vous pouvez apprendre les bases du système Debian à partir de la <ulink url=" "\"&debref;\">Référence Debian</ulink>. Elle contient aussi quelques liens " "pour apprendre la programmation UNIX." #. type: Content of: <book><chapter><para> msgid "" "One of the things that makes Debian such a top-notch distribution is its " "package system. While there is a vast quantity of software already in the " "Debian format, sometimes you need to install software that isn't. You may " "be wondering how you can make your own packages; and perhaps you think it is " "a very difficult task. Well, if you are a real novice on Linux, it is hard, " "but if you were a rookie, you wouldn't be reading this document " "now :-) You do need to know a little about Unix programming but you " "certainly don't need to be a wizard. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Une des choses qui font de Debian une distribution de si haut niveau est son " "système de paquets. Bien qu'il existe une grande quantité de logiciels au " "format Debian, vous devrez parfois installer un logiciel qui ne l'est pas. " "Vous pouvez vous demander comment faire vos propres paquets et peut-être " "pensez-vous que c'est une tâche très difficile. Eh bien, si vous êtes " "vraiment un débutant sous Linux, c'est dur, mais si vous étiez un débutant, " "vous ne seriez pas en train de lire ce document. :-) Vous devez en savoir un " "peu sur la programmation UNIX, mais vous n'avez certainement pas besoin " "d'être un magicien. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para> msgid "" "One thing is certain, though: to properly create and maintain Debian " "packages takes many hours. Make no mistake, for our system to work the " "maintainers need to be both technically competent and diligent." msgstr "" "Une chose est sûre, cependant : créer et maintenir correctement des paquets " "Debian prend beaucoup de temps. Ne vous faites pas d'illusion, pour que " "votre système fonctionne, les responsables doivent à la fois être " "techniquement compétents et consciencieux." #. type: Content of: <book><chapter><para> msgid "" "If you need some help on packaging, please read <xref linkend=\"helpme\"/>." msgstr "" "Si vous avez besoin d'aide sur l'empaquetage, veuillez consulter <xref " "linkend=\"helpme\"/>." #. type: Content of: <book><chapter><para> msgid "" "Newer versions of this document should always be available online at <ulink " "url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</" "systemitem> package. The translations may be available in packages such as " "<systemitem role=\"package\">maint-guide-es</systemitem>. Please note that " "this documentation may be slightly outdated." msgstr "" "Les nouvelles versions de ce document devraient toujours être disponibles en " "ligne sur <ulink url=\"&maint-guide;\"/>. La version de référence en anglais " "est disponible sur <ulink url=\"&maint-guide;index.en.html\"/> et dans le " "paquet <package>maint-guide</package>. La traduction en français est " "également disponible dans le paquet <package>maint-guide-fr</package>." #. type: Content of: <book><chapter><para> msgid "" "Since this is a tutorial, I choose to explain each detailed step for some " "important topics. Some of them may look irrelevant to you. Please be " "patient. I have also intentionally skipped some corner cases and provided " "only pointers to keep this document simple." msgstr "" "Puisqu'il s'agit d'un tutoriel, il a été choisi d'expliquer de façon " "détaillée chaque étape pour certains sujets importants. Certains d'entre eux " "pourrait vous sembler hors-sujet. Veuillez être patient. Certains cas " "particuliers ont été sautés, et seuls des liens ont été fournis pour " "conserver la simplicité de ce document." #. type: Content of: <book><chapter><section><title> msgid "Social dynamics of Debian" msgstr "Dynamique sociale de Debian" #. type: Content of: <book><chapter><section><para> msgid "" "Here are some observations of Debian's social dynamics, presented in the " "hope that it will prepare you for interactions with Debian." msgstr "" "Voici quelques observations sur la dynamique sociale de Debian, en espérant " "qu'elles puissent vous préparer à interagir avec Debian." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "We all are volunteers." msgstr "Nous sommes tous bénévoles." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You cannot impose on others what to do." msgstr "Vous ne pouvez pas forcer les autres à faire quoi que ce soit." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be motivated to do things by yourself." msgstr "Vous devriez être motivé à faire des choses vous-même." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Friendly cooperation is the driving force." msgstr "La coopération amicale est la force motrice." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution should not overstrain others." msgstr "Vos contributions ne devraient pas surmener les autres." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution is valuable only when others appreciate it." msgstr "Vos contributions n'ont de sens que si les autres les apprécient." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Debian is not your school where you get automatic attention of teachers." msgstr "" "Debian n'est pas une école où vous attirez automatiquement l'attention des " "professeurs." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be able to learn many things by yourself." msgstr "" "Vous devriez être capable d'apprendre la plupart des choses par vous-même." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Attention from other volunteers is a very scarce resource." msgstr "L'attention des autres bénévoles est une ressource très rare." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Debian is constantly improving." msgstr "Debian s'améliore sans cesse." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You are expected to make high quality packages." msgstr "On s'attend à ce que vous fassiez des paquets de haute qualité." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should adapt yourself to change." msgstr "Vous devrez vous adapter vous-même aux modifications." #. type: Content of: <book><chapter><section><para> msgid "" "There are several types of people interacting around Debian with different " "roles." msgstr "" "Plusieurs sortes de personnes ont rapport à Debian avec différent rôles :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream author</emphasis>: the person who made " "the original program." msgstr "" "<emphasis role=\"strong\">auteur amont</emphasis> : la personne qui a créé " "le programme à l'origine ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who " "currently maintains the program." msgstr "" "<emphasis role=\"strong\">responsable amont</emphasis> : la personne qui " "maintient actuellement le programme ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">maintainer</emphasis>: the person making the " "Debian package of the program." msgstr "" "<emphasis role=\"strong\">responsable</emphasis> : la personne qui maintient " "le paquet Debian du programme ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">sponsor</emphasis>: a person who helps maintainers " "to upload packages to the official Debian package archive (after checking " "their contents)." msgstr "" "<emphasis role=\"strong\">parrain</emphasis> : une personne qui aide les " "responsables à envoyer des paquets dans l'archive officielle de paquets " "Debian (après en avoir vérifié le contenu) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">mentor</emphasis>: a person who helps novice " "maintainers with packaging etc." msgstr "" "<emphasis role=\"strong\">mentor</emphasis> : une personne qui aide les " "responsables débutants pour l'empaquetage, etc. ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): a member of the " "Debian project with full upload rights to the official Debian package " "archive." msgstr "" "<emphasis role=\"strong\">développeur Debian</emphasis> (DD) : un membre du " "projet Debian avec tous les droits d'envoi vers l'archive officielle de " "paquets Debian ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): a person with " "limited upload rights to the official Debian package archive." msgstr "" "<emphasis role=\"strong\">responsable Debian</emphasis> (DM) : une personne " "avec des droits d'envoi limités vers l'archive officielle de paquets Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you cannot become an official <emphasis role=\"strong" "\">Debian Developer</emphasis> (DD) overnight, because it takes more than " "technical skill. Please do not be discouraged by this. If it is useful to " "others, you can still upload your package either as a <emphasis role=\"strong" "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</" "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>." msgstr "" "Veuillez remarquer qu'il n'est pas possible de devenir <emphasis role=" "\"strong\">développeur Debian</emphasis> (DD) en une nuit car il ne suffit " "pas de compétences techniques. Veuillez ne pas vous décourager. Si c'est " "utile à d'autres, vous pouvez toujours envoyer vos paquets soit en tant que " "<emphasis role=\"strong\">responsable</emphasis> via un <emphasis role=" "\"strong\">parrain</emphasis> ou comme un <emphasis role=\"strong" "\">responsable Debian</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you do not need to create any new package to become an " "official Debian Developer. Contributing to the existing packages can " "provide a path to becoming an official Debian Developer too. There are many " "packages waiting for good maintainers (see <xref linkend=\"choose\"/>)." msgstr "" "Remarquez qu'il n'est pas nécessaire de créer de nouveau paquet pour devenir " "un développeur Debian officiel. Contribuer aux paquets existants peut aussi " "fournir une voie pour devenir un développeur Debian. Beaucoup de paquets " "sont en attente de bons responsables (consultez <xref linkend=\"choose\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "Since we focus only on technical aspects of packaging in this document, " "please refer to the following to learn how Debian functions and how you can " "get involved." msgstr "" "Puisque nous nous concentrons dans ce document exclusivement sur les aspects " "techniques de l'empaquetage, veuillez consulter les documents suivants pour " "apprendre comment Debian fonctionne et comment vous investir." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (Introductory slides)" msgstr "" "<ulink url=\"&logiciellibre;\">Debian : 17 ans de logiciel libre, « do-" "ocracy » et démocratie</ulink> (diapositives introductives en anglais au)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)" msgstr "" "<ulink url=\"&debianorghelp;\">Comment pouvez-vous aider Debian ?</ulink> " "(officiel)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "\"Contributing to the Debian Project\"</ulink> (semi-official)" msgstr "" "<ulink url=\"&debianfaqhelp;\">La FAQ Debian GNU/Linux, " "Chapitre 13 — Participer au projet Debian</ulink> (semi-officiel)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " "(supplemental)" msgstr "" "<ulink url=\"&debianwikihelp;\">Wiki Debian, HelpDebian</ulink> " "(supplémentaire)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (official)" msgstr "" "<ulink url=\"&nm-do;\">Site du nouveau membre Debian</ulink> (officiel)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)" msgstr "" "<ulink url=\"&debianmentorfaq;\">FAQ de Debian Mentors</ulink> " "(supplémentaire)" #. type: Content of: <book><chapter><section><title> msgid "Programs needed for development" msgstr "Programmes nécessaires au développement" #. type: Content of: <book><chapter><section><para> msgid "" "Before you start anything, you should make sure that you have properly " "installed some additional packages needed for development. Note that the " "list doesn't contain any packages marked <literal>essential</literal> or " "<literal>required</literal> - we expect that you have those installed " "already." msgstr "" "Avant de commencer quoi que ce soit, vous devriez vous assurer d'avoir " "correctement installé certains paquets nécessaires au développement. Notez " "que la liste ne contient aucun paquet marqué <literal>essential</literal> ou " "<literal>required</literal> (essentiel ou requis) — nous supposons que ceux-" "ci sont déjà installés." #. type: Content of: <book><chapter><section><para> msgid "" "The following packages come with the standard Debian installation, so you " "probably have them already (along with any additional packages they depend " "on). Still, you should check it with <literal>aptitude show " "<replaceable>package</replaceable></literal> or with <literal>dpkg -s " "<replaceable>package</replaceable></literal>." msgstr "" "Les paquets suivants sont fournis dans l'installation standard de Debian, de " "sorte que vous les avez probablement déjà (ainsi que les paquets " "supplémentaires dont ils dépendent). Néanmoins, vous devriez le vérifier " "avec <literal>aptitude show <replaceable>paquet</replaceable></literal> ou " "avec <literal>dpkg -s <replaceable>paquet</replaceable></literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The most important package to install on your development system is the " "<systemitem role=\"package\">build-essential</systemitem> package. Once you " "try to install that, it will <emphasis>pull in</emphasis> other packages " "required to have a basic build environment." msgstr "" "Le paquet le plus important à installer sur un système de développement est " "<systemitem role=\"package\">build-essential</systemitem>. Lors de son " "installation, il <emphasis>tirera</emphasis> avec lui d'autres paquets " "nécessaires à un environnement de compilation de base." #. type: Content of: <book><chapter><section><para> msgid "" "For some types of packages, that is all you will require; however, there is " "another set of packages that while not essential for all package builds are " "useful to have installed or may be required by your package:" msgstr "" "Pour certaines catégories de paquets, c'est tout ce dont vous aurez besoin. " "Cependant d'autres paquets, bien que non essentiels à toutes les " "constructions de paquet, sont utiles ou peuvent être nécessaires pour votre " "paquet :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem>, and <systemitem role=\"package" "\">autotools-dev</systemitem> - many newer programs use configure scripts " "and <filename>Makefile</filename> files preprocessed with the help of " "programs like these (see <literal>info autoconf</literal>, <literal>info " "automake</literal>). <systemitem role=\"package\">autotools-dev</" "systemitem> keeps up-to-date versions of certain auto files and has " "documentation about the best way to use those files." msgstr "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem> et <systemitem role=\"package\">autotools-" "dev</systemitem> — beaucoup de nouveaux programmes utilisent des scripts de " "configuration et des fichiers <filename>Makefile</filename> prétraités à " "l'aide de programmes comme ceux-ci (consultez <literal>info autoconf</" "literal> et <literal>info automake</literal>). <systemitem role=\"package" "\">autotools-dev</systemitem> conserve les versions à jour de certains de " "ses fichiers automatiques et fournit une documentation sur la meilleure " "façon d'utiliser ces fichiers ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "There are also some more specialized but similar packages such as " "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" "\"package\">dh-make-php</systemitem>, etc." msgstr "" "D'autres paquets spécialisés mais similaires existent aussi comme " "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" "\"package\">dh-make-php</systemitem>, etc." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debhelper</systemitem> and <systemitem role=" "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> is necessary to create the skeleton of our example package, and " "it will use some of the <systemitem role=\"package\">debhelper</systemitem> " "tools for creating packages. They are not essential for this purpose, but " "are <emphasis>highly</emphasis> recommended for new maintainers. It makes " "the whole process very much easier to start, and to control afterwards. " "(See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">debhelper</systemitem> et <systemitem role=" "\"package\">dh-make</systemitem> — <systemitem role=\"package\">dh-make</" "systemitem> est nécessaire pour créer le squelette de notre exemple de " "paquet et il utilise certains outils de <systemitem role=\"package" "\">debhelper</systemitem> pour créer les paquets. Ils ne sont pas " "indispensables pour la cela, mais sont <emphasis>fortement</emphasis> " "recommandés pour les nouveaux responsables. Ils rendent le processus complet " "bien plus facile à démarrer et à contrôler par la suite (consultez " "<citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry> et <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <placeholder type=" "\"footnote\" id=\"0\"/> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">devscripts</systemitem> - this package contains " "some useful scripts that can be helpful for maintainers, but they are also " "not necessary for building packages. Packages recommended and suggested by " "this package are worth looking into. (See <filename>&devscripts-readme;</" "filename>.)" msgstr "" "<systemitem role=\"package\">devscripts</systemitem> — ce paquet contient " "des scripts utiles pouvant aider les responsables, mais ils ne sont pas " "indispensables pour la création de paquets. Les paquets recommandés et " "suggérés par celui-ci valent le coup d'œil (consultez <filename>&devscripts-" "readme;</filename>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you " "emulate being root which is necessary for some parts of the build process. " "(See <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">fakeroot</systemitem> — cet utilitaire vous " "laisse prétendre être le superutilisateur, ce qui est nécessaire pour " "certaines parties du processus de construction (consultez <citerefentry> " "<refentrytitle>fakeroot</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">file</systemitem> - this handy program can " "determine what type a file is. (See <citerefentry> <refentrytitle>file</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">file</systemitem> — ce programme pratique peut " "déterminer la nature d'un fichier (consultez <citerefentry> " "<refentrytitle>file</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " "compiler, necessary if your program is written in Fortran. (See " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gfortran</systemitem> — le compilateur " "Fortran 95 de GNU, nécessaire si votre programme est écrit en Fortran " "(consultez <citerefentry> <refentrytitle>gfortran</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git</systemitem> - this package provides a " "popular version control system designed to handle very large projects with " "speed and efficiency; it is used for many high profile open source projects, " "most notably the Linux kernel. (See <citerefentry> <refentrytitle>git</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, git Manual " "(<filename>&git-doc;</filename>).)" msgstr "" "<systemitem role=\"package\">git</systemitem> — ce paquet fournit un système " "de gestion de version populaire conçu pour manipuler de très gros projets " "rapidement et efficacement ; il est utilisé pour des projets libres de " "grande envergure, en particulier le noyau Linux (consultez <citerefentry> " "<refentrytitle>git</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "et le manuel de Git, <filename>&git-doc;</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to " "digitally <emphasis>sign</emphasis> packages. This is especially important " "if you want to distribute it to other people, and you will certainly be " "doing that when your work gets included in the Debian distribution. (See " "<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">gnupg</systemitem> — un outil qui vous permet " "de <emphasis>signer</emphasis> numériquement les paquets. Ceci est " "spécialement important si vous comptez les distribuer à d'autres personnes, " "et c'est certainement ce que vous ferez quand votre travail sera inclus dans " "la distribution Debian (consultez <citerefentry> <refentrytitle>gpg</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " "necessary if your program is written in Pascal. Worthy of note here is " "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " "Compiler, which is also good at this task. (See <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gpc</systemitem> — le compilateur Pascal de " "GNU, nécessaire si votre programme est écrit en Pascal. Mérite d'être " "mentionné ici, <systemitem role=\"package\">fp-compiler</systemitem>, le " "compilateur pascal libre, convient également (consultez <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lintian</systemitem> - this is the Debian " "package checker, which can let you know of any common mistakes after you " "build the package, and explains the errors found. (See <citerefentry> " "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)" msgstr "" "<systemitem role=\"package\">lintian</systemitem> — c'est le vérificateur de " "paquet Debian, qui peut indiquer de nombreuses erreurs courantes après la " "construction du paquet et expliquer les erreurs trouvées (consultez " "<citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> et le <ulink url=\"&lintian-doc;\">manuel " "utilisateur de Lintian</ulink>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patch</systemitem> - this very useful utility " "will take a file containing a difference listing (produced by the " "<command>diff</command> program) and apply it to the original file, " "producing a patched version. (See <citerefentry> <refentrytitle>patch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">patch</systemitem> — ce programme très utile " "prend un fichier contenant une liste de différences (produite par le " "programme <command>diff</command>) et l'applique au fichier original, " "produisant une version modifiée (consultez <citerefentry> " "<refentrytitle>patch</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patchutils</systemitem> - this package contains " "some utilities to work with patches such as the <command>lsdiff</command>, " "<command>interdiff</command> and <command>filterdiff</command> commands." msgstr "" "<systemitem role=\"package\">patchutils</systemitem> — ce paquet contient " "certains utilitaires pour travailler avec les correctifs comme les commandes " "<command>lsdiff</command>, <command>interdiff</command> et " "<command>filterdiff</command> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">pbuilder</systemitem> - this package contains " "programs which are used for creating and maintaining <command>chroot</" "command> environment. Building Debian package in this <command>chroot</" "command> environment verifies the proper build dependency and avoid FTBFS " "(Fails To Build From Source) bugs. (see <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" msgstr "" "<systemitem role=\"package\">pbuilder</systemitem> — ce paquet contient des " "programmes utilisés pour créer et maintenir un environnement " "« <command>chroot</command>é ». Construire un paquet Debian dans cet " "environnement permet de vérifier les dépendances correctes de construction " "et évite les bogues FTBFS (« Fails To Build From Source » pour les échecs de " "construction à partir du paquet source) (consultez <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> et <citerefentry> <refentrytitle>pdebuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">perl</systemitem> - Perl is one of the most " "used interpreted scripting languages on today's Unix-like systems, often " "referred to as Unix's Swiss Army Chainsaw. (See <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">perl</systemitem> — Perl est un des langages de " "script les plus utilisés sur les systèmes modernes similaires à UNIX, " "souvent qualifié de « tronçonneuse suisse d'UNIX » (consultez <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">python</systemitem> - Python is another of the " "most used interpreted scripting languages on the Debian system, combining " "remarkable power with very clear syntax. (See <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">python</systemitem> — Python fait aussi partie " "des langages de script les plus utilisés sur le système Debian, combinant " "une remarquable puissance et une syntaxe très claire (consultez " "<citerefentry> <refentrytitle>python</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">quilt</systemitem> - this package helps you to " "manage large numbers of patches by keeping track of the changes each patch " "makes. Patches can be applied, un-applied, refreshed, and more. (See " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum></citerefentry>, and <filename>&quilt-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">quilt</systemitem> — ce paquet aide à gérer un " "grand nombre de correctifs en gardant une trace du rôle de chacun. Les " "correctifs peuvent être appliqués, enlevés, rafraîchis, etc. (consultez " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> et <filename>&quilt-pdf;</filename>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " "usually those made for X11, also use these programs to generate " "<filename>Makefile</filename> files from sets of macro functions. (See " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">xutils-dev</systemitem> — certains programmes, " "d'ordinaire ceux conçus pour X11, utilisent aussi ces programmes pour " "générer les fichiers <filename>Makefile</filename> à partir d'un ensemble de " "fonctions macros (consultez <citerefentry> <refentrytitle>imake</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>xmkmf</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>) ;" #. type: Content of: <book><chapter><section><para> msgid "" "The short descriptions that are given above only serve to introduce you to " "what each package does. Before continuing please read the documentation of " "each relevant program including ones installed through the package " "dependency such as <command>make</command>, at least, for the standard " "usage. It may seem like heavy going now, but later on you'll be " "<emphasis>very</emphasis> glad you read it. If you have specific questions " "later, I would suggest re-reading the documents mentioned above." msgstr "" "Les courtes descriptions données ci-dessus ne servent que d'introduction à " "ce que fait chaque paquet. Avant de continuer, veuillez lire la " "documentation de chaque programme pertinent y compris ceux installés par les " "dépendances du paquet comme <command>make</command>, au moins l'utilisation " "standard. Cela peut vous sembler fastidieux maintenant, mais plus tard vous " "serez <emphasis>très</emphasis> content de l'avoir fait. Si vous avez des " "questions particulières par la suite, vous devriez relire les document " "mentionnés ci-dessus." #. type: Content of: <book><chapter><section><title> msgid "Documentation needed for development" msgstr "Documentation nécessaire au développement" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>very important</emphasis> documentation which " "you should read along with this document:" msgstr "" "Les documents suivants sont <emphasis>très importants</emphasis> et doivent " "être lus en parallèle à ce document :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " "the structure and contents of the Debian archive, several OS design issues, " "the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which " "says where each file and directory should be), etc. For you, the most " "important thing is that it describes requirements that each package must " "satisfy to be included in the distribution. (See the local copies of " "<filename>&policy-pdf;</filename> and <filename>&fhs-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">debian-policy</systemitem> — la <ulink url=" "\"&debian-policy;\">Charte Debian</ulink> inclut des explications sur la " "structure et le contenu de l'archive Debian, plusieurs considérations sur " "l'architecture du système d'exploitation, la norme de hiérarchie des " "fichiers (« <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> » ou " "FHS, qui définit où chaque fichier et répertoire doit se trouver), etc. Le " "plus important pour vous est qu'elle décrive les critères que chaque paquet " "doit vérifier pour être inclus dans la distribution (consultez les copies " "locales de <filename>&policy-pdf;</filename> et <filename>&fhs-pdf;</" "filename>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">developers-reference</systemitem> - the <ulink " "url=\"&developers-reference;\">Debian Developer's Reference</ulink> " "describes all matters not specifically about the technical details of " "packaging, like the structure of the archive, how to rename, orphan, or " "adopt packages, how to do NMUs, how to manage bugs, best packaging " "practices, when and where to upload etc. (See the local copy of " "<filename>&developers-refpdf;</filename>.)" msgstr "" "<systemitem role=\"package\">developers-reference</systemitem> — la <ulink " "url=\"&developers-reference;\">Référence du développeur Debian</ulink> " "concerne tout ce qui n'est pas spécifique aux détails techniques de la " "création de paquets, comme la structure des archives, comment renommer, " "abandonner, adopter les paquets, faire une NMU (« Non-Maintainer Uploads » " "ou mise à jour indépendante), comment gérer les bogues, les meilleures " "pratiques d'empaquetage, où et quand faire des envois de paquets, etc. " "(consultez la copie locale de <filename>&developers-refpdf;</filename>) ;" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>important</emphasis> documentation which you " "should read along with this document:" msgstr "" "Les documents suivants sont <emphasis>importants</emphasis> et doivent être " "lus en parallèle à ce document :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides a " "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " "System known as the GNU Autotools</ulink> whose most important components " "are Autoconf, Automake, Libtool, and gettext." msgstr "" "Le <ulink url=\"&autotools-tutorial;\">tutoriel des Autotools</ulink> " "fournit un très bon tutoriel pour le <ulink url=\"http://fr.wikipedia.org/" "wiki/Autotools\">système de construction GNU connu comme les GNU Autotools</" "ulink> dont les composants les plus importants sont Autoconf, Automake, " "Libtool, et gettext ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnu-standards</systemitem> - this package " "contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-" "standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;" "\">Information for Maintainers of GNU Software</ulink>. Although Debian " "does not require these to be followed, these are still helpful as guidelines " "and common sense. (See the local copies of <filename>&gnu-standard-pdf;</" "filename> and <filename>&gnu-maintainer-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">gnu-standards</systemitem> — ce paquet contient " "deux documentations issues du projet GNU : les <ulink url=\"&gnu-standard;" "\">normes GNU de codage</ulink>, et les <ulink url=\"&gnu-maintainer;" "\">informations pour les responsables de programme GNU</ulink>. Bien que " "Debian n'exige pas que ces recommandations soient suivies, elles sont " "néanmoins utiles en tant que lignes directrices et bon sens (consultez les " "copies locales de <filename>&gnu-standard-pdf;</filename> et <filename>&gnu-" "maintainer-pdf;</filename>)." #. type: Content of: <book><chapter><section><para> msgid "" "If this document contradicts any of the documents mentioned above, they are " "correct. Please file a bug report on the <systemitem role=\"package\">maint-" "guide</systemitem> package using <command>reportbug</command>." msgstr "" "Si ce document entre en contradiction avec n'importe quelles documentations " "précédentes, elles sont prioritaires. Veuillez signaler un bogue sur le " "paquet <systemitem role=\"package\">maint-guide</systemitem> avec " "<command>reportbug</command>." #. type: Content of: <book><chapter><section><para> msgid "" "The following is an alternative tutorial documentation which you may read " "along with this document:" msgstr "" "Voici d'autres tutoriels qui peuvent être lus en parallèle à ce document :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" msgstr "" "<ulink url=\"&debpkg-tutorial0;\">tutoriel d'empaquetage Debian</ulink> ;" #. type: Content of: <book><chapter><section><title> msgid "Where to ask for help" msgstr "Où demander de l'aide" #. type: Content of: <book><chapter><section><para> msgid "" "Before you decide to ask your question in some public place, please read the " "fine documentation." msgstr "" "Avant de vous décider à poser publiquement une question, veuillez lire la " "documentation :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "files in <filename>/usr/share/doc/<replaceable>package</replaceable></" "filename> for all pertinent packages" msgstr "" "fichiers de <filename>/usr/share/doc/<replaceable>paquet</replaceable></" "filename> pour tous les paquets appropriés ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>man</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "contenu de <literal><command>man</command> <replaceable>commande</" "replaceable></literal> pour tous les paquets appropriées ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>info</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "contenu de <literal><command>info</command> <replaceable>commande</" "replaceable></literal> pour tous les paquets appropriées ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian." "org mailing list archive</ulink>" msgstr "" "contenu des <ulink url=\"&debian-mentors-ldo;\">archives de la liste de " "diffusion debian-mentors@lists.debian.org</ulink> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org " "mailing list archive</ulink>" msgstr "" "contenu des <ulink url=\"&debian-devel-ldo;\">archives de la liste de " "diffusion debian-devel@lists.debian.org</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "You can use web search engines more effectively by including search strings " "such as <literal>site:lists.debian.org</literal> to limit the domain." msgstr "" "Vous pouvez utiliser le moteur de recherche plus efficacement en indiquant " "des chaînes de recherche comme <literal>site:lists.debian.org</literal> pour " "limiter le domaine." #. type: Content of: <book><chapter><section><para> msgid "" "Making a small test package is a good way to learn details of packaging. " "Inspecting existing well maintained packages is the best way to learn how " "other people make packages." msgstr "" "Faire un petit paquet de test est une bonne façon d'apprendre les " "particularités de l'empaquetage. Examiner les paquets bien maintenus est le " "meilleur moyen d'apprendre comment les autres font leurs paquets." #. type: Content of: <book><chapter><section><para> msgid "" "If you still have questions about packaging that you couldn't find answers " "to in the available documentation and web resources, you can ask them " "interactively." msgstr "" "Si vous avez encore des questions sur la création de paquets pour lesquelles " "vous n'avez pas pu trouver de réponse dans la documentation disponible ou " "sur la toile, vous pouvez les poser de façon interactive :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (This mailing list is for the novice.)" msgstr "" "<ulink url=\"&debian-mentors-ldo;\">liste de diffusion debian-mentors@lists." "debian.org</ulink> (cette liste est pour les débutants) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " "list</ulink>. (This mailing list is for the expert.)" msgstr "" "<ulink url=\"&debian-devel-ldo;\">liste de diffusion debian-devel@lists." "debian.org</ulink> (cette liste est pour les spécialistes) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</" "literal>." msgstr "" "<ulink url=\"&irc-debian;\">IRC</ulink>, par exemple <literal>#debian-" "mentors</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The more experienced Debian developers will gladly help you, if you ask " "properly after making your required efforts." msgstr "" "Les responsables Debian les plus expérimentés seront heureux de vous aider, " "si vous demandez correctement après avoir fait les efforts nécessaires." #. type: Content of: <book><chapter><section><para> msgid "" "When you receive a bug report (yes, actual bug reports!), you will know that " "it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking " "System</ulink> and read the documentation there, to be able to deal with the " "reports efficiently. I highly recommend reading the <ulink url=\"&devref-" "bug-handling;\">Debian Developer's Reference, 5.8. \"Handling bugs\"</" "ulink>." msgstr "" "Quand vous recevrez un rapport de bogue (oui, un vrai rapport de bogue !), " "vous saurez qu'il est temps de vous plonger dans le <ulink url=\"&bts;" "\">système de suivi de bogues Debian</ulink> et de lire la documentation, " "pour être à même de gérer les rapports efficacement. La lecture de la <ulink " "url=\"&devref-bug-handling;\">référence du développeur Debian, chapitre " "5.8. « Manipulation des bogues »</ulink> est fortement recommandée." #. type: Content of: <book><chapter><section><para> msgid "" "Even if it all worked well, it's time to start praying. Why? Because in " "just a few hours (or days) users from all around the world will start to use " "your package, and if you made some critical error you'll get mailbombed by " "numerous angry Debian users... Just kidding. :-)" msgstr "" "Même si tout fonctionne bien, il est temps de commencer à prier. Pourquoi ? " "Parce que dans quelques heures (ou jours) les utilisateurs du monde entier " "vont commencer à utiliser votre paquet, et si vous avez fait des erreurs " "critiques, vous serez bombardé par les courriers électroniques " "d'utilisateurs Debian furieux… :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Relax and be ready for bug reports, because there is a lot more work to be " "done before your package will be fully in line with Debian policies and its " "best practice guidelines (once again, read the <emphasis>real documentation</" "emphasis> for details). Good luck!" msgstr "" "Relaxez-vous et soyez prêt pour les rapports de bogues, parce qu'il y aura " "beaucoup plus de travail à faire avant que votre paquet soit parfaitement " "conforme aux règles Debian (une fois encore, lisez la <emphasis>vraie " "documentation</emphasis> pour les détails). Bonne chance !" #. type: Content of: <book><chapter><title> msgid "First steps" msgstr "Premiers pas" #. type: Content of: <book><chapter><para> msgid "" "Let's start by creating a package of your own (or, even better, adopting an " "existing one)." msgstr "" "Commencez par créer votre propre paquet (ou, encore mieux, en adopter un)." #. type: Content of: <book><chapter><section><title> msgid "Debian package building workflow" msgstr "Processus de construction de paquet Debian" #. type: Content of: <book><chapter><section><para> msgid "" "If you are making a Debian package with an upstream program, the typical " "workflow of Debian package building involves generating several specifically " "named files for each step as follows." msgstr "" "Si vous faites un paquet Debian à partir d'un programme amont, le processus " "typique de construction de paquet Debian implique de créer plusieurs " "fichiers au nom spécifique pour chaque étape comme suit :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Get a copy of the upstream software, usually in a compressed tar format." msgstr "" "obtenir une copie du logiciel amont, généralement distribuée sous la forme " "d'un fichier au format tar compressé :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>paquet</replaceable>-<replaceable>version</replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add Debian-specific packaging modifications to the upstream program under " "the <filename>debian</filename> directory, and create a non-native source " "package (that is, the set of input files used for Debian package building) " "in <literal>3.0 (quilt)</literal> format." msgstr "" "ajouter les modifications spécifiques à Debian au programme amont dans le " "répertoire <filename>debian</filename>, et créer un paquet source non natif " "(c'est-à-dire, le jeu de fichiers d'entrée utilisés pour la construction du " "paquet Debian) au format <literal>3.0 (quilt)</literal> :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig." "tar.gz" msgstr "" "<replaceable>paquet</replaceable>_<replaceable>version</replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.debian.tar.gz" msgstr "" "<replaceable>paquet</replaceable>_<replaceable>version</replaceable>-" "<replaceable>révision</replaceable>.debian.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><footnote><para> msgid "" "For the older style of non-native Debian source packages in <literal>1.0</" "literal> format, <literal><replaceable>package</" "replaceable>_<replaceable>version</replaceable>-<replaceable>revision</" "replaceable>.diff.gz</literal> is used instead." msgstr "" "Les paquets source Debian non natifs au style plus ancien de format " "<literal>1.0</literal> utilisent à la place <literal><replaceable>paquet</" "replaceable>_<replaceable>version</replaceable>-<replaceable>révision</" "replaceable>.diff.gz</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.dsc" msgstr "" "<replaceable>paquet</replaceable>_<replaceable>version</replaceable>-" "<replaceable>révision</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Build Debian binary packages, which are ordinary installable package files " "in <literal>.deb</literal> format (or <literal>.udeb</literal> format, used " "by the Debian Installer) from the Debian source package." msgstr "" "construire les paquets binaires Debian, qui sont des fichiers de paquet " "installable classique au format <literal>.deb</literal> (ou <literal>.udeb</" "literal> pour l'installateur Debian) à partir du paquet source Debian :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>paquet</replaceable>_<replaceable>version</replaceable>-" "<replaceable>révision</replaceable>_<replaceable>arch</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the character separating <literal><replaceable>package</" "replaceable></literal> and <literal><replaceable>version</replaceable></" "literal> was changed from <literal>-</literal> (hyphen) in the tarball name " "to <literal>_</literal> (underscore) in the Debian package filenames." msgstr "" "Veuillez remarquer que le caractère séparant <literal><replaceable>paquet</" "replaceable></literal> de <literal><replaceable>version</replaceable></" "literal> a été modifié : le tiret (<literal>-</literal>) dans le nom de " "l'archive source à été remplacé par un tiret bas (<literal>_</literal>) dans " "les noms de fichier de paquet Debian." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. The <emphasis role=\"strong" "\">package architecture</emphasis> follows the <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> and is " "automatically assigned by the package build process." msgstr "" "Consultez <ulink url=\"&policy-source;\">5.6.1 « Source »</ulink>, <ulink " "url=\"&policy-package;\">5.6.7 « Paquet »</ulink> et <ulink url=\"&policy-" "version;\">5.6.12 « Version »</ulink>. L'<emphasis role=\"strong" "\">architecture du paquet</emphasis> doit suivre la <ulink url=\"&policy-" "architecture;\">Charte Debian, 5.6.8 « Architecture »</ulink> et être " "automatiquement attribuée par le processus de construction du paquet." #. type: Content of: <book><chapter><section><para> msgid "" "In the file names above, replace the <literal><replaceable>package</" "replaceable></literal> part with the <emphasis role=\"strong\">package name</" "emphasis>, the <literal><replaceable>version</replaceable></literal> part " "with the <emphasis role=\"strong\">upstream version</emphasis>, the " "<literal><replaceable>revision</replaceable></literal> part with the " "<emphasis role=\"strong\">Debian revision</emphasis>, and the " "<literal><replaceable>arch</replaceable></literal> part with the <emphasis " "role=\"strong\">package architecture</emphasis>, as defined in the Debian " "Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Dans les noms de fichier précédents, la partie <literal><replaceable>paquet</" "replaceable></literal> du nom de fichier est remplacé par le <emphasis role=" "\"strong\">nom du paquet</emphasis>, la partie " "<literal><replaceable>version</replaceable></literal> par la <emphasis role=" "\"strong\">version amont</emphasis>, la partie " "<literal><replaceable>révision</replaceable></literal> par la <emphasis role=" "\"strong\">révision Debian</emphasis> et la partie " "<literal><replaceable>arch</replaceable></literal> par l'<emphasis role=" "\"strong\">architecture du paquet</emphasis>, conformément à la Charte " "Debian. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "If instead you are making a Debian-specific package with no upstream, the " "typical workflow of Debian package building is simpler." msgstr "" "Si vous faites plutôt un paquet Debian spécifique sans programme amont, le " "processus typique de construction de paquet Debian est plus simple :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a native Debian source package in the <literal>3.0 (native)</literal> " "format using a single compressed tar file in which all files are included." msgstr "" "créer le paquet source Debian natif au format <literal>3.0 (native)</" "literal> en utilisant un seul fichier tar compressé où tous les fichiers " "sont intégrés :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>paquet</replaceable>_<replaceable>version</replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" msgstr "" "<replaceable>paquet</replaceable>_<replaceable>version</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Build Debian binary packages from the native Debian source package." msgstr "" "construire les paquets binaires Debian à partir du paquet source Debian " "natif :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>paquet</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Each step of this outline is explained with detailed examples in later " "sections." msgstr "" "Chaque étape de ces grandes lignes sera expliquée avec des exemples " "détaillés dans les sections suivantes." #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "Choix du programme" #. type: Content of: <book><chapter><section><para> msgid "" "You have probably chosen the package you want to create. The first thing " "you need to do is check if the package is in the distribution archive " "already by using the following." msgstr "" "Vous avez probablement choisi le paquet que vous voulez créer. La première " "chose à faire est de vérifier si le paquet ne se trouve pas déjà dans " "l'archive de la distribution en utilisant ce qui suit :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <command>aptitude</command> command" msgstr "la commande <command>aptitude</command> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page" msgstr "la page des <ulink url=\"&packages-do;\">paquets Debian</ulink> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> " "web page" msgstr "" "la page du <ulink url=\"&packages-qa-do;\">système de suivi de paquets " "Debian</ulink>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. " "\"Adopting a package\"</ulink>." msgstr "" "Consultez la <ulink url=\"&devref-adopt;\">référence du Développeur Debian " "5.9.5. « Adoption de paquet »</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If the package already exists, well, install it! :-) If it happens to be " "<emphasis role=\"strong\">orphaned</emphasis> (that is, if its maintainer is " "set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>), you may be able to " "pick it up if it's still available. You may also adopt a package whose " "maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</" "emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si le paquet existe déjà, et bien, installez-le :-). S'il se trouve qu'il " "est <emphasis role=\"strong\">orphelin</emphasis> (c'est à dire si son " "responsable est <ulink url=\"&qa-do;\">Debian QA Group</ulink>), vous " "devriez pouvoir le reprendre s'il est toujours disponible. Vous pouvez aussi " "adopter un paquet dont le responsable a rempli une demande d'adoption " "(« Request for Adoption » ou <emphasis role=\"strong\">RFA</emphasis>)." "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "There are several package ownership status resources." msgstr "Plusieurs ressources d'état de propriété de paquet Debian existent :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" msgstr "" "<ulink url=\"&wnpp-do;\">liste des paquets en souffrance et paquets " "souhaités</ulink> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" msgstr "" "<ulink url=\"&wnpp-bts;\">journal de rapports de bogue : bogues du pseudo-" "paquet <systemitem role=\"package\">wnpp</systemitem> dans " "<literal>unstable</literal></ulink> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgstr "<ulink url=\"&wnpp-dn;\">paquets Debian en manque d'amour</ulink> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" msgstr "" "<ulink url=\"&wnpp-debtags;\">naviguer parmi les bogues <systemitem role=" "\"package\">wnpp</systemitem> en fonction des debtags</ulink>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Having said that, there will of course always be new programs that are worth " "packaging." msgstr "" "Cela dit, il existera toujours des paquets qui vaudront la peine d'être " "empaquetés." #. type: Content of: <book><chapter><section><para> msgid "" "As a side note, it's important to point out that Debian already has packages " "for most kinds of programs, and the number of packages already in the Debian " "archive is much larger than that of contributors with upload rights. Thus, " "contributions to packages already in the archive are far more appreciated " "(and more likely to receive sponsorship) by other developers <placeholder " "type=\"footnote\" id=\"0\"/>. You can contribute in various ways." msgstr "" "En remarque, il est important de souligner que Debian possède déjà des " "paquets pour quasiment tous les types de programme, et que le nombre de " "paquets déjà dans l'archive Debian est bien plus important que le nombre de " "personnes ayant les droits suffisants pour envoyer les mises à jour. Par " "conséquent, contribuer aux paquets existants déjà dans l'archive est bien " "plus apprécié (avec plus de chances d'être parrainé) des autres développeurs " "<placeholder type=\"footnote\" id=\"0\"/>. Il est possible de contribuer de " "plusieurs façons comme suit :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "se charger de paquets orphelins, encore largement utilisés ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>" msgstr "rejoindre des <ulink url=\"&teams;\">équipes d'empaquetage</ulink> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "trier des bogues de paquets populaires ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" msgstr "" "préparer des <ulink url=\"&devref-nmu;\">envois de QA ou des NMU</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If you are able to adopt the package, get the sources (with something like " "<literal>apt-get source <replaceable>packagename</replaceable></literal>) " "and examine them. This document unfortunately doesn't include comprehensive " "information about adopting packages. Thankfully you shouldn't have a hard " "time figuring out how the package works since someone has already done the " "initial setup for you. Keep reading, though; a lot of the advice below will " "still be applicable for your case." msgstr "" "Si vous pouvez adopter le paquet, récupérez les sources (avec quelque chose " "comme <literal>apt-get source <replaceable>nomdepaquet</replaceable></" "literal>) et examinez-les. Malheureusement ce document n'inclut pas " "d'informations exhaustives sur l'adoption de paquets. Heureusement, vous ne " "devriez pas avoir de problèmes à comprendre comment le paquet fonctionne, " "puisque quelqu'un s'est déjà occupé de la configuration initiale pour vous. " "Continuez quand même à lire ce document, une bonne partie des conseils qui " "suivent seront applicables dans votre cas." #. type: Content of: <book><chapter><section><para> msgid "" "If the package is new, and you decide you'd like to see it in Debian, " "proceed as follows:" msgstr "" "Si le paquet est nouveau, et que vous aimeriez le voir dans Debian, procédez " "comme suit :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "First, you must know that the program works, and have tried it for some time " "to confirm its usefulness." msgstr "" "d'abord, assurez-vous que le programme fonctionne, et essayez-le pendant " "quelques temps pour confirmer son utilité ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "You must check that no one else is already working on the package on the " "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> " "site. If no one else is working on it, file an ITP (Intent To Package) bug " "report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " "using <command>reportbug</command>. If someone's already on it, contact " "them if you feel you need to. If not - find another interesting program " "that nobody is maintaining." msgstr "" "vérifiez que personne d'autre ne travaille déjà sur ce paquet en consultant " "la <ulink url=\"&wnpp-do;\">liste des paquets en souffrance et paquets " "souhaités</ulink>. Si personne ne travaille dessus, déclarez votre intention " "de l'empaqueter (« Intent To Package » ou ITP) avec un bogue ITP sur le " "pseudo-paquet <systemitem role=\"package\">wnpp</systemitem> en utilisant " "<command>reportbug</command>. Si quelqu'un travaille déjà dessus, contactez-" "le si vous voulez. Sinon, trouvez un autre programme intéressant dont " "personne ne s'occupe ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The software <emphasis role=\"strong\">must have a license</emphasis>." msgstr "" "le logiciel <emphasis role=\"strong\">doit</emphasis> avoir une licence :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>main</literal> section, Debian Policy requires it <emphasis " "role=\"strong\">to be fully compliant with the Debian Free Software " "Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis " "role=\"strong\">not to require a package outside of <literal>main</literal></" "emphasis> for compilation or execution. This is the desired case." msgstr "" "pour la section <literal>main</literal> (principale), la Charte Debian exige " "qu'il <emphasis role=\"strong\">soit totalement conforme aux principes du " "logiciel libre selon Debian</emphasis> (« Debian Free Software Guidelines » " "ou <ulink url=\"&dfsg;\">DFSG</ulink>) et <emphasis role=\"strong\">il ne " "dépende pas de paquets hors de <literal>main</literal></emphasis> pour la " "compilation ou l'exécution. C'est le cas idéal ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>contrib</literal> section, it must comply with the DFSG but " "it may require a package outside of <literal>main</literal> for compilation " "or execution." msgstr "" "pour la section <literal>contrib</literal> (contributions), il doit être " "conforme à tous les DFSG mais peut dépendre de paquets hors de " "<literal>main</literal> pour la compilation ou l'exécution ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>non-free</literal> section, it may be non-compliant with " "the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>." msgstr "" "pour la section <literal>non-free</literal> (non libre), il peut être non " "conforme aux DFSG mais <emphasis role=\"strong\">doit être distribuable</" "emphasis> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If you are unsure about where it should go, post the license text on <ulink " "url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for " "advice." msgstr "" "en cas de doute sur la section à laquelle il devrait appartenir, envoyez la " "licence sur <ulink url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</" "ulink> et demandez conseil ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The program should <emphasis role=\"strong\">not</emphasis> introduce " "security and maintenance concerns to the Debian system." msgstr "" "le programme ne devrait <emphasis role=\"strong\">pas</emphasis> introduire " "dans Debian de préoccupations relatives à la sécurité et à la maintenance :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should be well documented and its code needs to be " "understandable (i.e. not obfuscated)." msgstr "" "le programme devrait être bien documenté, et le code doit être " "compréhensible (c'est-à-dire, pas volontairement obscur) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "You should contact the program's author(s) to check if they agree with " "packaging it and are amicable to Debian. It is important to be able to " "consult with the author(s) in case of any problems with the program, so " "don't try to package unmaintained software." msgstr "" "vous devriez contacter les auteurs du programme pour vérifier qu'ils soient " "d'accord pour la création du paquet et bienveillants envers Debian. Il est " "important de pouvoir consulter les auteurs en cas de problèmes spécifiques " "au programme, n'essayez donc pas de créer un paquet à partir d'un logiciel " "non maintenu ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program certainly should <emphasis role=\"strong\">not</emphasis> run " "setuid root, or even better, it shouldn't need to be setuid or setgid to " "anything." msgstr "" "le programme ne devrait certainement <emphasis role=\"strong\">pas</" "emphasis> être exécuté setuid root, ou encore mieux, il ne devrait pas être " "setuid ou setgid quoi que ce soit ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should not be a daemon, or go in an <filename>*/sbin</filename> " "directory, or open a port as root." msgstr "" "le programme ne devrait ni être un démon, ni s'installer dans un répertoire " "<filename>*/sbin</filename>, ni ouvrir un port en tant que superutilisateur." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, the last one is just a safety measures, and intended to save you " "from enraging users if you do something wrong in some setuid daemon... When " "you gain more experience in packaging, you'll be able to package such " "software." msgstr "" "Bien sûr, cette dernière remarque n'est qu'une mesure de sécurité, et n'a " "pour but que de vous préserver d'utilisateurs fous de rage si vous faites " "une erreur dans un démon setuid… Quand vous aurez plus d'expérience dans la " "création de paquets, vous pourrez empaqueter un logiciel de ce type." #. type: Content of: <book><chapter><section><para> msgid "" "As a new maintainer, you are encouraged to get some experience in packaging " "with easier packages and discouraged from creating complicated packages." msgstr "" "En tant que nouveau responsable vous devriez obtenir de l'expérience dans " "l'empaquetage de paquets plus facile avant de créer des paquets compliqués :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Simple packages" msgstr "paquets simples :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (collection of data such as wallpaper " "graphics)" msgstr "" "paquet binaire unique, arch = all (collection de données comme par exemple " "des fonds d'écran) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (executables written in an interpreted " "language such as POSIX shell)" msgstr "" "paquet binaire unique, arch = all (exécutables écrits en langage interprété " "comme le shell POSIX) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Intermediate complexity packages" msgstr "paquet de complexité intermédiaire :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = any (ELF binary executables compiled from " "languages such as C and C++)" msgstr "" "paquet binaire unique, arch = any (exécutables binaires ELF provenant de " "langages comme C ou C++) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "multiple binary packages, arch = any + all (packages for ELF binary " "executables + documentation)" msgstr "" "plusieurs paquets binaires, arch = any + all (paquets pour exécutables " "binaires ELF et documentation) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "upstream source in a format other than <filename>tar.gz</filename> or " "<filename>tar.bz2</filename>" msgstr "" "sources amont dans un autre format que <filename>tar.gz</filename> ou " "<filename>tar.bz2</filename> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "upstream source containing undistributable contents" msgstr "sources amont contenant du contenu non distribuable ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "High complexity packages" msgstr "paquets plus compliqués :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter module package used by other packages" msgstr "paquet de module interpréteur utilisé par d'autres programmes ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "generic ELF library package used by other packages" msgstr "paquet de bibliothèque générique ELF utilisé par d'autres paquets ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "multiple binary packages including an ELF library package" msgstr "plusieurs paquets binaires dont un paquet de bibliothèque ELF ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "source package with multiple upstream sources" msgstr "paquet source avec plusieurs sources amont ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel module packages" msgstr "paquets de modules du noyau ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel patch packages" msgstr "paquets de correctifs du noyau ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "any package with non-trivial maintainer scripts" msgstr "paquets avec des scripts du responsable non triviaux." #. type: Content of: <book><chapter><section><para> msgid "" "Packaging high complexity packages is not too hard, but it requires a bit " "more knowledge. You should seek specific guidance for every complex feature. " "For example, some languages have their own sub-policy documents:" msgstr "" "Ce n'est pas si difficile d'empaqueter des paquets plus compliqués, mais " "cela exige un peu plus de connaissances. Vous devriez chercher de l'aide " "particulière pour chaque fonctionnalité compliquée. Par exemple, certains " "langages ont leur propre sous-charte :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>" msgstr "<ulink url=\"&policy-perl;\">charte Perl</ulink> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-python;\">Python policy</ulink>" msgstr "<ulink url=\"&policy-python;\">charte Python</ulink> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-java;\">Java policy</ulink>" msgstr "<ulink url=\"&policy-java;\">charte Java</ulink>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Do not worry about the missing <filename>Makefile</filename>. You can " "install the <command>hello</command> command by simply using " "<command>debhelper</command> as in <xref linkend=\"install\"/>, or by " "modifying the upstream source to add a new <filename>Makefile</filename> " "with the <literal>install</literal> target as in <xref linkend=\"modify\"/>." msgstr "" "Ne vous inquiétez pas du <filename>Makefile</filename> manquant. Vous pouvez " "installer la commande <command>hello</command> en utilisant simplement " "<command>debhelper</command> comme en <xref linkend=\"install\"/>, ou en " "modifiant le source amont pour ajouter un nouveau <filename>Makefile</" "filename> avec la cible <literal>install</literal> comme en <xref linkend=" "\"modify\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " "practice and experiment with all the steps of Debian packaging with simple " "packages while reading this tutorial. A trivial upstream tarball " "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a " "good starting point.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Un autre vieux proverbe latin s'applique : « <emphasis>fabricando fit faber</" "emphasis> » (c'est en forgeant que l'on devient forgeron). La pratique et " "l'expérience de toutes les étapes de l'empaquetage sont <emphasis>vivement</" "emphasis> recommandées avec des paquets simples lors de la lecture de ce " "tutoriel. Une archive source amont triviale comme <filename>hello-sh-1.0.tar." "gz</filename> créée comme suit peut servir de bon point de départ. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" msgstr "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Truc Bidule, GPL2+\n" "echo \"Bonjour !\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "Obtenir le programme, et l'essayer" #. type: Content of: <book><chapter><section><para> msgid "" "So the first thing to do is to find and download the original source code. " "Presumably you already have the source file that you picked up at the " "author's homepage. Sources for free Unix programs usually come in " "<command>tar</command>+<command>gzip</command> format with the extension " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> format with the extension <filename>.tar.bz2</filename>, or " "<command>tar</command>+<command>xz</command> format with the extension " "<filename>.tar.xz</filename>. These usually contain a directory called " "<filename><replaceable>package</replaceable>-<replaceable>version</" "replaceable></filename> with all the sources inside." msgstr "" "La première chose à faire est de trouver et télécharger le code source " "d'origine. Supposons que vous ayez déjà le fichier source pris sur la page " "web de l'auteur. Les sources pour les logiciels UNIX libres sont d'habitude " "distribués au format <command>tar</command>+<command>gzip</command> avec " "l'extension <filename>.tar.gz</filename>, ou au format <command>tar</command>" "+<command>bzip2</command> avec l'extension <filename>.tar.bz2</filename>. " "Elles contiennent normalement un sous-répertoire nommé " "<filename><replaceable>paquet</replaceable>-<replaceable>version</" "replaceable></filename> avec toutes les sources dedans." #. type: Content of: <book><chapter><section><para> msgid "" "If the latest version of the source is available through a VCS such as Git, " "Subversion, or CVS, you need to get it with <literal>git clone</literal>, " "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into " "<command>tar</command>+<command>gzip</command> format yourself by using the " "<literal>--exclude-vcs</literal> option." msgstr "" "Si la dernière version de la source est disponible dans un dépôt de gestion " "de version tel que Git, Subversion ou CVS, vous devez la prendre avec " "<literal>git clone</literal>, <literal>svn co</literal>, ou <literal>cvs co</" "literal> et la compresser vous-même au format <command>tar</command>" "+<command>gzip</command> avec l'option <literal>--exclude-vcs</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can identify the archive format using the <command>file</command> " "command when the file extension is not enough." msgstr "" "Vous pouvez identifier le format de l'archive en utilisant la commande " "<command>file</command> si l'extension du fichier ne suffit pas." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes as some other sort of archive (for instance, " "the filename ends in <filename>.Z</filename> or <filename>.zip</" "filename><placeholder type=\"footnote\" id=\"0\"/>), you should also unpack " "it with the appropriate tools and repack it." msgstr "" "Si les sources du programme sont disponibles dans un autre format d'archive " "(par exemple, le programme se termine par <filename>.Z</filename> ou " "<filename>.zip</filename> <placeholder type=\"footnote\" id=\"0\"/>), vous " "devriez le décompresser à l'aide des outils adéquats et le recompresser." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes with some contents which do not comply with " "DFSG, you should also unpack it to remove such contents and repack it with a " "modified upstream version containing <literal>dfsg</literal>." msgstr "" "Si le programme est distribué avec du contenu non compatible avec les " "principes du logiciel libre selon Debian, vous devriez aussi le décompresser " "pour enlever ce contenu et le recompresser avec une version amont modifiée " "contenant <literal>dfsg</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This program is already packaged. The <ulink url=\"&gentoo-package;" "\">current version</ulink> uses Autotools as its build structure and is " "substantially different from the following examples, which were based on " "version 0.9.12." msgstr "" "Ce programme est déjà empaqueté. La <ulink url=\"&gentoo-package;\">version " "actuelle</ulink> utilise Autotools comme structure de construction et est " "substantiellement différente des exemples suivants qui étaient basés sur la " "version 0.9.12." #. type: Content of: <book><chapter><section><para> msgid "" "As an example, I'll use a program called <command>gentoo</command>, a GTK+ " "file manager. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Comme exemple, le programme nommé <command>gentoo</command> (un gestionnaire " "de fichiers utilisant GTK+) sera utilisé. <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Create a subdirectory under your home directory named <filename>debian</" "filename> or <filename>deb</filename> or anything you find appropriate (e." "g. just <filename>~/gentoo</filename> would do fine in this case). Place " "the downloaded archive in it, and extract it (with <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " "tools may or may not ignore these anomalies, so they may have problems " "unpacking them. Your shell command line may look something like this:" msgstr "" "Créez un sous-répertoire dans votre répertoire personnel nommé " "<filename>debian</filename> ou <filename>deb</filename> ou quoi que ce soit " "d'adéquat (par exemple le nom du programme, <filename>~/gentoo</filename>, " "ferait l'affaire dans ce cas). Placez l'archive téléchargée dedans, et " "décompressez-la avec <literal>tar xzf gentoo-0.9.12.tar.gz</literal>. " "Assurez-vous qu'aucun message d'avertissement ne se produit, même " "<emphasis>sans importance</emphasis>, sinon les outils de décompression " "d'autres personnes pourraient ne pas gérer ces problèmes, et être incapables " "de les décompresser. La ligne de commande de votre interpréteur devrait " "ressembler à ceci :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Now you have another subdirectory, called <filename>gentoo-0.9.12</" "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " "read the provided documentation. Usually there are files named " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> or <filename>*.html</filename>. You must find instructions " "on how to compile and install the program (most probably they'll assume you " "want to install to the <filename>/usr/local/bin</filename> directory; you " "won't be doing that, but more on that later in <xref linkend=\"destdir\"/>)." msgstr "" "Maintenant vous avez un autre sous-répertoire, nommé " "<filename>gentoo-0.9.12</filename>. Allez dans ce répertoire et lisez " "<emphasis>attentivement</emphasis> la documentation fournie. Il s'agit " "généralement de fichiers nommés <filename>README*</filename>, " "<filename>INSTALL*</filename>, <filename>*.lsm</filename> ou <filename>*." "html</filename>. Vous devez trouver les instructions pour compiler et " "installer le programme (elles supposent très probablement que vous voulez " "l'installer dans le répertoire <filename>/usr/local/bin</filename> ; ce " "n'est pas le cas, mais ce point sera traité plus tard en <xref linkend=" "\"destdir\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "You should start packaging with a completely clean (pristine) source " "directory, or simply with freshly unpacked sources." msgstr "" "Vous devriez commencer la création du paquet avec un répertoire source " "complètement propre (originel), ou simplement avec les sources fraîchement " "décompressées." #. type: Content of: <book><chapter><section><title> msgid "Simple build systems" msgstr "Systèmes de construction simples" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Many modern programs come with a script <filename>configure</filename> which " "when executed creates a <filename>Makefile</filename> customized for your " "system." msgstr "" "Beaucoup de programmes récents sont livrés avec un script " "<filename>configure</filename> qui crée un fichier <filename>Makefile</" "filename> personnalisé pour le système au moment de son exécution." #. type: Content of: <book><chapter><section><para> msgid "" "Simple programs usually come with a <filename>Makefile</filename> and can be " "compiled just by invoking <literal>make</literal>.<placeholder type=" "\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, " "which runs included self-tests. Installation to the destination directories " "is usually done with <literal>make install</literal>." msgstr "" "Des programmes simples sont généralement fournis avec un fichier " "<filename>Makefile</filename> et peuvent être compilés en appelant " "simplement <literal>make</literal>. <placeholder type=\"footnote\" id=\"0\"/" "> Certains d'entre eux gèrent <literal>make check</literal>, qui exécute des " "vérifications internes. L'installation dans les répertoires de destination " "se fait normalement avec <literal>make install</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Now try to compile and run your program, to make sure it works properly and " "doesn't break something else while it's installing or running." msgstr "" "Maintenant, essayez de compiler et d'exécuter le programme, pour vous " "assurer qu'il fonctionne correctement et ne casse rien d'autre quand il est " "installé ou utilisé." #. type: Content of: <book><chapter><section><para> msgid "" "Also, you can usually run <literal>make clean</literal> (or better " "<literal>make distclean</literal>) to clean up the build directory. " "Sometimes there's even a <literal>make uninstall</literal> which can be used " "to remove all the installed files." msgstr "" "Sachez aussi que vous pouvez généralement utiliser <literal>make clean</" "literal> (ou mieux, <literal>make distclean</literal>) pour nettoyer le " "répertoire de compilation. Parfois, <literal>make uninstall</literal> peut " "être utilisé pour retirer tous les fichiers installés." #. type: Content of: <book><chapter><section><title> msgid "Popular portable build systems" msgstr "Systèmes de construction portables répandus" #. type: Content of: <book><chapter><section><para> msgid "" "A lot of free software programs are written in the <ulink url=\"&c-program;" "\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these " "use Autotools or CMake to make them portable across different platforms. " "These build tools need to be used to generate the <filename>Makefile</" "filename> and other required source files first. Then, such programs are " "built using the usual <literal>make; make install</literal>." msgstr "" "De nombreux logiciels libres sont écrits en <ulink url=\"&c-program;\">C</" "ulink> et <ulink url=\"&cxx;\">C++</ulink>. Beaucoup d'entre eux utilisent " "les Autotools ou CMake pour les rendre portables sur différentes " "architectures. Ces outils de construction doivent être utilisés pour créer " "les <filename>Makefile</filename> et d'autres fichiers sources nécessaires. " "Ensuite, de tels programmes sont construits en utilisant l'habituel " "<literal>make; make install</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Autotools is too big to deal in this small tutorial. This section is meant " "to provide keywords and references only. Please make sure to read the " "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and the local " "copy of <filename>&autotools-readme;</filename>, if you need to use it." msgstr "" "Les Autotools sont trop important pour être traités dans ce petit tutoriel. " "Cette section a seulement pour but de fournir les mot-clefs et les " "références. Veuillez vous assurer d'avoir lu le <ulink url=\"&autotools-" "tutorial;\">tutoriel des Autotools</ulink> et la copie locale de " "<filename>&autotools-readme;</filename> si vous avez besoin de les utiliser." #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> is the GNU build system " "comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, " "and <ulink url=\"&gettext;\">gettext</ulink>. You can recognize such " "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" "filename>, and <filename>Makefile.in</filename> files. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Les <ulink url=\"&gnu-build-system;\">Autotools</ulink> sont les outils de " "construction GNU. Ils comprennent <ulink url=\"&autoconf;\">Autoconf</" "ulink>, <ulink url=\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;" "\">Libtool</ulink> et <ulink url=\"&gettext;\">gettext</ulink>. Vous pouvez " "reconnaître de telles sources à l'aide des fichiers <filename>configure.ac</" "filename>, <filename>Makefile.am</filename> et <filename>Makefile.in</" "filename>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "The first step of the Autotools workflow is usually that upstream runs " "<literal>autoreconf -i -f</literal> in the source directory and distributes " "the generated files along with the source." msgstr "" "La première étape du travail des Autotools est généralement faite par les " "auteurs amont qui exécutent <literal>autoreconf -i -f</literal> dans le " "répertoire des sources et distribuent les fichiers créés avec les sources." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" msgstr "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" #. type: Content of: <book><chapter><section><para> msgid "" "Editing <filename>configure.ac</filename> and <filename>Makefile.am</" "filename> files requires some knowledge of <command>autoconf</command> and " "<command>automake</command>. See <literal>info autoconf</literal> and " "<literal>info automake</literal>." msgstr "" "Modifier les fichiers <filename>configure.ac</filename> et " "<filename>Makefile.am</filename> nécessite un peu de connaissance de " "<command>autoconf</command> et <command>automake</command>. Consultez " "<literal>info autoconf</literal> et <literal>info automake</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The second step of the Autotools workflow is usually that the user obtains " "this distributed source and runs <literal>./configure && make</" "literal> in the source directory to compile the program into an executable " "command <command><replaceable>binary</replaceable></command>." msgstr "" "La deuxième étape du travail des Autotools est habituellement que les " "utilisateurs se procurent ces sources et exécutent <literal>./configure &" "& make</literal> dans le répertoire des sources pour compiler le " "programme en une commande exécutable <command><replaceable>binaire</" "replaceable></command>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" msgstr "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binaire</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can change many things in the <filename>Makefile</filename>; for " "instance you can change the default location for file installation using the " "option <literal>./configure --prefix=/usr</literal>." msgstr "" "Vous pouvez modifier plein de choses dans le fichier <filename>Makefile</" "filename> ; vous pouvez par exemple modifier l'emplacement par défaut du " "répertoire d'installation en utilisant la commande <literal>./configure --" "prefix=/usr</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can automate this by using <systemitem role=\"package\">dh-autoreconf</" "systemitem> package. See <xref linkend=\"customrules\"/>." msgstr "" "Vous pouvez automatiser ce processus en utilisant le paquet <systemitem role=" "\"package\">dh-autoreconf</systemitem>. Consultez <xref linkend=\"customrules" "\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Although it is not required, updating the <filename>configure</filename> and " "other files with <literal>autoreconf -i -f</literal> may improve the " "compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Bien que ce ne soit pas nécessaire, mettre à jour <filename>configure</" "filename> et les autres fichiers avec <literal>autoreconf -i -f</literal> " "peut améliorer la compatibilité des sources. <placeholder type=\"footnote\" " "id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You " "can recognize such sources by the <filename>CMakeLists.txt</filename> file." msgstr "" "<ulink url=\"&cmake;\">CMake</ulink> est un système de construction " "alternatif. De telles sources peuvent être reconnues avec le fichier " "<filename>CMakeLists.txt</filename>." #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "Nom et version de paquet" #. type: Content of: <book><chapter><section><para> msgid "" "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " "you can take <literal>gentoo</literal> as the (source) <emphasis role=" "\"strong\">package name</emphasis> and <literal>0.9.12</literal> as the " "<emphasis role=\"strong\">upstream version</emphasis>. These are used in " "the <filename>debian/changelog</filename> file described later in <xref " "linkend=\"changelog\"/>, too." msgstr "" "Si le code source amont est distribué en tant que <filename>gentoo-0.9.12." "tar.gz</filename>, vous pouvez prendre <literal>gentoo</literal> comme " "<emphasis role=\"strong\">nom de paquet</emphasis> (source) et " "<literal>0.9.12</literal> comme <emphasis role=\"strong\">version amont</" "emphasis>. Ils seront aussi utilisés dans le fichier <filename>debian/" "changelog</filename> décrit plus loin en <xref linkend=\"changelog\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Although this simple approach works most of the times, you may need to " "adjust <emphasis role=\"strong\">package name</emphasis> and <emphasis role=" "\"strong\">upstream version</emphasis> by renaming the upstream source to " "follow Debian Policy and existing convention." msgstr "" "Même si cette simple approche fonctionne la plupart du temps, vous pourriez " "devoir remplacer <emphasis role=\"strong\">nom de paquet</emphasis> et " "<emphasis role=\"strong\">version amont</emphasis> en renommant les sources " "amont afin de suivre la Charte Debian et les conventions existantes." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default package name field length of <command>aptitude</command> is 30. " "For more than 90% of packages, the package name is less than 24 characters." msgstr "" "La longueur par défaut du champ de nom de paquet dans <command>aptitude</" "command> est de 30 caractères. Plus de 90 % des paquets ont leur nom de " "paquet inférieur à 24 caractères." #. type: Content of: <book><chapter><section><para> msgid "" "You must choose the <emphasis role=\"strong\">package name</emphasis> to " "consist only of lower case letters (<literal>a-z</literal>), digits " "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" "literal>) signs, and periods (<literal>.</literal>). It must be at least two " "characters long, must start with an alphanumeric character, and must not be " "the same as existing ones. It is a good idea to keep its length within 30 " "characters. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Le <emphasis role=\"strong\">nom de paquet</emphasis> ne soit contenir que " "des lettres minuscules (<literal>a-z</literal>), des chiffres (<literal>0-9</" "literal>), les signes plus (<literal>+</literal>) ou (<literal>-</literal>) " "et des points (<literal>.</literal>). Il doit comporter au moins deux " "caractères, commencer par un caractère alphanumérique et ne doit pas être " "déjà utilisé. Il est préférable de garder sa longueur inférieure à trente " "caractères. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you follow the <ulink url=\"&devref-newpackage;\">Debian Developer's " "Reference 5.1. \"New packages\"</ulink>, the ITP process will usually catch " "this kind of issues." msgstr "" "Si vous suivez la <ulink url=\"&devref-newpackage;\">référence du " "Développeur Debian 5.1. « Nouveaux paquets »</ulink>, le processus d'ITP " "devrait permettre de se rendre compte de ce genre de problèmes." #. type: Content of: <book><chapter><section><para> msgid "" "If upstream uses some generic term such as <literal>test-suite</literal> for " "its name, it is a good idea to rename it to identify its contents explicitly " "and avoid namespace pollution. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Si l'amont utilise quelques termes génériques comme <literal>test-suite</" "literal> comme nom, il vaut mieux les renommer pour identifier son contenu " "de façon explicite et éviter de polluer l'espace de nom. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This stricter rule should help you avoid confusing file names." msgstr "" "Cette règle plus stricte devrait permettre d'éviter toute confusion de noms " "de fichier." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default version field length of <command>aptitude</command> is 10. The " "Debian revision with preceding hyphen usually consumes 2. For more than 80% " "of packages, the upstream version is less than 8 characters and the Debian " "revision is less than 2 characters. For more than 90% of packages, the " "upstream version is less than 10 characters and the Debian revision is less " "than 3 characters." msgstr "" "La longueur par défaut du champ de version dans <command>aptitude</command> " "est de 10 caractères. La révision Debian précédée par un tiret en utilise au " "moins 2. Plus de 80 % des paquets ont la version amont inférieure à " "8 caractères et la révision Debian inférieure à 2 caractères. Plus de 90 % " "des paquets ont la version amont inférieure à 10 caractères et la révision " "Debian inférieure à 3 caractères. " #. type: Content of: <book><chapter><section><para> msgid "" "You should choose the <emphasis role=\"strong\">upstream version</emphasis> " "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>), and periods " "(<literal>.</literal>). It must start with a digit (<literal>0-9</" "literal>). <placeholder type=\"footnote\" id=\"0\"/> It is good idea to " "keep its length within 8 characters if possible. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "La <emphasis role=\"strong\">version amont</emphasis> ne devrait contenir " "que des caractères alphanumériques (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>) et points (<literal>.</" "literal>). Elle doit commencer par un chiffre (<literal>0-9</literal>). " "<placeholder type=\"footnote\" id=\"0\"/> Il est conseillé de garder sa " "longueur inférieure à huit caractères si possible. <placeholder type=" "\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream does not use a normal versioning scheme such as " "<literal>2.30.32</literal> but uses some kind of date such as " "<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " "part of the version, make sure to remove them from the <emphasis role=" "\"strong\">upstream version</emphasis>. Such information can be recorded in " "the <filename>debian/changelog</filename> file. If you need to invent a " "version string, use the <literal>YYYYMMDD</literal> format such as " "<literal>20110429</literal> as upstream version. This ensures that " "<command>dpkg</command> interprets later versions correctly as upgrades. If " "you need to ensure smooth transition to the normal version scheme such as " "<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format " "such as <literal>0~110429</literal> as upstream version, instead." msgstr "" "Si l'amont n'utilise pas un système d'affectation de version classique comme " "<literal>2.30.32</literal> mais utilise plutôt une sorte de date comme " "<literal>11Apr29</literal>, un nom de code aléatoire ou une somme de hachage " "d'un système de gestion de versions dans la version, assurez-vous d'enlever " "ces parties de la <emphasis role=\"strong\">version amont</emphasis>. Ces " "renseignements peuvent être enregistrés dans le fichier <filename>debian/" "changelog</filename>. Si vous devez inventer une version, utilisez le format " "<literal>AAAAMMJJ</literal>, par exemple <literal>20110429</literal>, comme " "numéro de version. Cela garantit que <command>dpkg</command> interprète " "correctement les futures versions comme des mises à niveau. Pour permettre " "des mises à niveau en douceur vers un schéma de version classique comme " "<literal>0.1</literal> dans l'avenir, utilisez plutôt la forme " "<literal>0~AAMMJJ</literal> comme <literal>0~110429</literal> pour la " "version amont." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Version strings may be <emphasis role=\"strong\">upstream version</emphasis> " "(<literal><replaceable>version</replaceable></literal>), <emphasis role=" "\"strong\">Debian revision</emphasis> (<literal><replaceable>revision</" "replaceable></literal>), or <emphasis role=\"strong\">version</emphasis> " "(<literal><replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal>). See <xref linkend=\"newrevision\"/> for how the " "<emphasis role=\"strong\">Debian revision</emphasis> is incremented." msgstr "" "Les chaînes de version peuvent être <emphasis role=\"strong\">version amont</" "emphasis> (<literal><replaceable>version</replaceable></literal>), <emphasis " "role=\"strong\">révision Debian</emphasis> (<literal><replaceable>révision</" "replaceable></literal>) ou <emphasis role=\"strong\">version</emphasis> " "(<literal><replaceable>version</replaceable></literal>-" "<literal><replaceable>révision</replaceable></literal>). Consultez <xref " "linkend=\"newrevision\"/> pour la façon dont la <emphasis role=\"strong" "\">révision Debian</emphasis> est incrémentée." #. type: Content of: <book><chapter><section><para> msgid "" "Version strings <placeholder type=\"footnote\" id=\"0\"/> can be compared " "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> as follows." msgstr "" "Les chaînes de version <placeholder type=\"footnote\" id=\"0\"/> peuvent " "être comparées en utilisant <citerefentry> <refentrytitle>dpkg</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> comme suit :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" msgstr "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "The version comparison rule can be summarized as:" msgstr "La règle de comparaison de version peut être résumée par :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Strings are compared from the head to the tail." msgstr "les chaînes sont comparées en commençant par le début ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are larger than digits." msgstr "les lettres sont plus grandes que les nombres ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Numbers are compared as integers." msgstr "les nombres sont comparés comme des entiers ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are compared in ASCII code order." msgstr "les lettres sont comparées dans l'ordre de leur code ASCII ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "There are special rules for period (<literal>.</literal>), plus (<literal>+</" "literal>), and tilde (<literal>~</literal>) characters, as follows." msgstr "" "des règles particulières sont appliquées pour les points (<literal>.</" "literal>), plus (<literal>+</literal>) et tildes (<literal>~</literal>) " "comme suit :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" msgstr "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case occurs when upstream releases <filename>gentoo-0.9.12-" "ReleaseCandidate-99.tar.gz</filename> as the pre-release of " "<filename>gentoo-0.9.12.tar.gz</filename>. You need to make sure that the " "upgrade works properly by renaming the upstream source to " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." msgstr "" "Un cas délicat se produit quand une version amont <filename>gentoo-0.9.12-" "ReleaseCandidate-99.tar.gz</filename> est publiée comme une préversion de " "<filename>gentoo-0.9.12.tar.gz</filename>. Vous devez vous assurer que la " "mise à niveau fonctionne correctement en renommant les sources amont en " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>dh_make</command>" msgstr "Configuration de <command>dh_make</command>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The following text assumes you are using Bash as your login shell. If you " "use some other login shell such as Z shell, use their corresponding " "configuration files instead of <filename>~/.bashrc</filename>." msgstr "" "Le texte qui suit présupposé que l'interpréteur de commandes que vous " "utilisez à la connexion est Bash. Si vous utilisez un autre interpréteur de " "commandes, par exemple zsh, il est nécessaire d'utiliser le fichier de " "configuration correspondant au lieu de <filename>~/.bashrc</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Set up the shell environment variables <literal>$DEBEMAIL</literal> and " "<literal>$DEBFULLNAME</literal> so that various Debian maintenance tools " "recognize your email address and name to use for packages. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Configurez les variables d'environnement de l'interpréteur de commandes " "<literal>$DEBEMAIL</literal> et <literal>$DEBFULLNAME</literal> de tel sorte " "que plusieurs outils de maintenance Debian identifient vos adresse " "électronique et nom à utiliser pour les paquets : <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" msgstr "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" #. type: Content of: <book><chapter><section><title> msgid "Initial non-native Debian package" msgstr "Paquet Debian non natif initial" #. type: Content of: <book><chapter><section><para> msgid "" "Normal Debian packages are non-native Debian packages made from upstream " "programs. If you wish to create a non-native Debian package of an upstream " "source <filename>gentoo-0.9.12.tar.gz</filename>, you can create an initial " "non-native Debian package for it by issuing the <command>dh_make</command> " "command as follows." msgstr "" "Les paquets Debian normaux sont des paquets Debian non natifs réalisés à " "partir de programmes amont. Pour créer un paquet Debian non natif à partir " "d'une source amont <filename>gentoo-0.9.12.tar.gz</filename>, vous pouvez " "lui créer un paquet Debian non natif initial en appelant la commande " "<command>dh_make</command> comme suit :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" msgstr "" "$ cd ~/gentoo\n" "$ wget http://www.example.org/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the upstream source provides the <filename>debian</filename> directory " "and its contents, run the <command>dh_make</command> command with the extra " "option <literal>--addmissing</literal>. The new source <literal>3.0 " "(quilt)</literal> format is robust enough not to break even for these " "packages. You may need to update the contents provided by the upstream for " "your Debian package." msgstr "" "Si les sources amont fournissent le répertoire <filename>debian</filename> " "et son contenu, exécutez la commande <command>dh_make</command> avec " "l'option supplémentaire <literal>--addmissing</literal>. Le nouveau format " "source <literal>3.0 (quilt)</literal> est suffisamment robuste pour ne pas " "casser même avec ces paquets. Vous pourriez avoir besoin de mettre à jour le " "contenu fourni en amont pour votre paquet Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of your original source " "archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> for details." msgstr "" "Bien sûr, remplacez le nom de fichier par celui de votre archive source " "d'origine. <placeholder type=\"footnote\" id=\"0\"/> Consultez " "<citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry> pour plus de précisions." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are several choices here: <literal>s</literal> for Single binary " "package, <literal>i</literal> for arch-Independent package, <literal>m</" "literal> for Multiple binary packages, <literal>l</literal> for Library " "package, <literal>k</literal> for Kernel module package, <literal>n</" "literal> for kernel patch package, and <literal>b</literal> for <systemitem " "role=\"package\">cdbs</systemitem> package. This document focuses on the " "use of the <command>dh</command> command (from the package <systemitem role=" "\"package\">debhelper</systemitem>) to create a single binary package, but " "also touches on how to use it for arch-independent or multiple binary " "packages. The package <systemitem role=\"package\">cdbs</systemitem> offers " "an alternative packaging script infrastructure to the <command>dh</command> " "command and is outside the scope of this document." msgstr "" "Il y a plusieurs choix à ce moment : <literal>s</literal> pour un seul " "paquet binaire, <literal>i</literal> pour paquet binaire indépendant de " "l'architecture, <literal>m</literal> pour plusieurs paquets binaires, " "<literal>l</literal> pour paquet de bibliothèque, <literal>k</literal> pour " "paquet de module du noyau, <literal>n</literal> pour paquet de correctif du " "noyau et <literal>b</literal> pour paquet <systemitem role=\"package\">cdbs</" "systemitem>. Ce document se concentre sur l'utilisation de la commande " "<command>dh</command> (du paquet <systemitem role=\"package\">debhelper</" "systemitem>) pour créer un seul paquet binaire, mais effleure aussi son " "utilisation pour les paquets binaires indépendants de l'architecture ou de " "plusieurs paquets binaires. Le paquet <systemitem role=\"package\">cdbs</" "systemitem> propose une autre infrastructure de scripts de paquets que la " "commande <command>dh</command> et sort du cadre de ce document." #. type: Content of: <book><chapter><section><para> msgid "" "You should see some output asking you what sort of package you want to " "create. Gentoo is a single binary package - it creates only one binary " "package, i.e, one <filename>.deb</filename> file - so we will select the " "first option (with the <literal>s</literal> key), check the information on " "the screen, and confirm by pressing <literal><replaceable>ENTER</" "replaceable></literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Vous devriez voir quelques questions sur le type de paquet vous voulez " "créer. Gentoo est un paquet binaire simple — il ne crée qu'un paquet " "binaire, c'est-à-dire un seul fichier <filename>.deb</filename> — donc la " "première option sera sélectionnée (avec la touche <literal>s</literal>). Une " "fois l'information vérifiée sur l'écran, confirmez en pressant " "<literal><replaceable>Entrée</replaceable></literal>. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "This execution of <command>dh_make</command> creates a copy of the upstream " "tarball as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent " "directory to accommodate the creation of the non-native Debian source " "package with the name <filename>debian.tar.gz</filename> later." msgstr "" "Cette exécution de <command>dh_make</command> crée une copie de l'archive " "amont en <filename>gentoo_0.9.12.orig.tar.gz</filename> dans le répertoire " "parent pour permettre ensuite la création d'un paquet source Debian non " "natif nommé <filename>debian.tar.gz</filename> plus tard." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" msgstr "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please note two key features of this filename <filename>gentoo_0.9.12.orig." "tar.gz</filename>:" msgstr "" "Veuillez remarquer deux caractéristiques de ce nom de fichier " "<filename>gentoo_0.9.12.orig.tar.gz</filename> :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Package name and version are separated by the character <literal>_</literal> " "(underscore)." msgstr "" "le nom de paquet et la version sont séparés par le caractère tiret bas " "(<literal>_</literal>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The string <filename>.orig</filename> is inserted before the <filename>.tar." "gz</filename>." msgstr "" "la chaîne <filename>.orig</filename> est insérée avant le <filename>.tar.gz</" "filename>." #. type: Content of: <book><chapter><section><para> msgid "" "You should also notice that many template files are created in the source " "under the <filename>debian</filename> directory. These will be explained in " "<xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should also " "understand that packaging cannot be a fully automated process. You will " "need to modify the upstream source for Debian (see <xref linkend=\"modify\"/" ">). After this, you need to use the proper methods for building Debian " "packages (<xref linkend=\"build\"/>), testing them (<xref linkend=\"checkit" "\"/>), and uploading them (<xref linkend=\"upload\"/>). All the steps will " "be explained." msgstr "" "Vous devriez aussi remarquer que de nombreux fichiers modèles sont créés " "dans les sources sous le répertoire <filename>debian</filename>. Ce sera " "expliqué en <xref linkend=\"dreq\"/> et <xref linkend=\"dother\"/>. Vous " "devriez aussi comprendre que l'empaquetage ne peut pas être un processus " "complètement automatisé. Vous aurez à modifier les sources amont pour Debian " "(consultez <xref linkend=\"modify\"/>). Après cela, vous devez utiliser les " "méthodes correctes pour construire les paquets Debian (<xref linkend=\"build" "\"/>), les vérifier (<xref linkend=\"checkit\"/>) et les envoyer (<xref " "linkend=\"upload\"/>). Toutes ces étapes seront expliquées." #. type: Content of: <book><chapter><section><para> msgid "" "If you accidentally erased some template files while working on them, you " "can recover them by running <command>dh_make</command> with the <literal>--" "addmissing</literal> option again in a Debian package source tree." msgstr "" "Si vous effacez par mégarde quelques fichiers modèles en travaillant dessus, " "vous pouvez les retrouver en exécutant de nouveau <command>dh_make</command> " "avec l'option <literal>--addmissing</literal> dans une arborescence de " "paquet Debian." #. type: Content of: <book><chapter><section><para> msgid "" "Updating an existing package may get complicated since it may be using older " "techniques. While learning the basics, please stick to creating a fresh " "package; further explanations are given in <xref linkend=\"update\"/>." msgstr "" "La mise à jour d'un paquet existant peut devenir compliquée puisqu'il " "pourrait utiliser d'anciennes techniques. Lors de l'apprentissage des bases, " "veuillez vous en tenir aux cas d'empaquetage récent ; des explications sont " "données plus loin en <xref linkend=\"update\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the source file does not need to contain any build system " "discussed in <xref linkend=\"simplemake\"/> and <xref linkend=\"portable\"/" ">. It could be just a collection of graphical data etc. Installation of " "files may be carried out using only <systemitem role=\"package\">debhelper</" "systemitem> configuration files such as <filename>debian/install</filename> " "(see <xref linkend=\"install\"/>)." msgstr "" "Veuillez noter que le fichier source ne doit pas forcément contenir de " "système de construction comme en <xref linkend=\"simplemake\"/> et <xref " "linkend=\"portable\"/>. Il pourrait simplement s'agir d'un ensemble de " "données graphiques par exemple. L'installation de fichiers peut être " "effectuée en utilisant juste les fichiers de configuration de <systemitem " "role=\"package\">debhelper</systemitem> comme <filename>debian/install</" "filename> (consultez <xref linkend=\"install\"/>)." #. type: Content of: <book><chapter><section><title> msgid "Initial native Debian package" msgstr "Paquet Debian natif initial" #. type: Content of: <book><chapter><section><para> msgid "" "If a package contains source files you are only maintaining for Debian, " "possibly only for local use, it may be simpler to create it as a Debian " "native package. If you have source files in <filename>~/mypackage-1.0</" "filename>, you can create an initial native Debian package for it by issuing " "the <command>dh_make</command> command as follows." msgstr "" "Si un paquet contient des fichiers sources que vous ne maintenez que pour " "Debian, éventuellement juste pour une utilisation locale, il peut être plus " "simple de créer un paquet Debian natif. Si les fichiers source sont dans " "<filename>~/monpaquet-1.0</filename>, vous pouvez lui créer un paquet Debian " "natif initial en appelant la commande <command>dh_make</command> comme suit :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" msgstr "" "$ cd ~/monpaquet-1.0\n" "$ dh_make --native\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then the <filename>debian</filename> directory and its contents are created " "just like <xref linkend=\"non-native-dh-make\"/>. This does not create a " "tarball since this is a native Debian package. But that is the only " "difference. The rest of the packaging activities are practically the same." msgstr "" "Alors le répertoire <filename>debian</filename> et son contenu sont créés " "comme en <xref linkend=\"non-native-dh-make\"/>. Aucune archive compressé " "n'est créée puisqu'il s'agit d'un paquet Debian natif, mais c'est la seule " "différence. La suite de l'empaquetage est à peu près similaire." #. type: Content of: <book><chapter><title> msgid "Modifying the source" msgstr "Modification du code source" #. type: Content of: <book><chapter><para> msgid "" "Please note that there isn't space here to go into <emphasis>all</emphasis> " "the details of fixing upstream sources, but here are some basic steps and " "problems people often run across." msgstr "" "La place manque pour entrer dans <emphasis>tous</emphasis> les détails de " "modification des sources amont, mais voici quelques étapes fondamentales et " "problèmes qui reviennent souvent." #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>quilt</command>" msgstr "Configuration de <command>quilt</command>" #. type: Content of: <book><chapter><section><para> msgid "" "The program <command>quilt</command> offers a basic method for recording " "modifications to the upstream source for Debian packaging. It's useful to " "have a slightly customized default, so let's create an alias " "<command>dquilt</command> for Debian packaging by adding the following lines " "to <filename>~/.bashrc</filename>. The second line provides the same shell " "completion feature of the <command>quilt</command> command to the " "<command>dquilt</command> command." msgstr "" "Le programme <command>quilt</command> fournit une méthode fondamentale pour " "enregistrer les modifications du code source amont pour l'empaquetage " "Debian. Il est utile d'avoir de légères personnalisations du paramétrage par " "défaut, configurez donc un alias <command>dquilt</command> pour " "l'empaquetage Debian en ajoutant les lignes suivantes à <filename>~/.bashrc</" "filename>. La deuxième ligne fournit les mêmes fonctionnalités de complétion " "de l’interpréteur pour la commande <command>dquilt</command> que pour la " "commande <command>quilt</command>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" msgstr "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" #. type: Content of: <book><chapter><section><para> msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows." msgstr "Ensuite créez <filename>~/.quiltrc-dpkg</filename> comme suit :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" msgstr "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # dans le cas d'une arborescence de paquet Debian avec $QUILT_PATCHES non configuré\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" #. type: Content of: <book><chapter><section><para> msgid "" "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <filename>&quilt-pdf;</filename> on how to " "use <command>quilt</command>." msgstr "" "Consultez <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> et <filename>&quilt-pdf;</filename> pour " "apprendre à utiliser <command>quilt</command>." #. type: Content of: <book><chapter><section><title> msgid "Fixing upstream bugs" msgstr "Correction de bogues amont" #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume you find an error in the upstream <filename>Makefile</filename> " "as follows where <literal>install: gentoo</literal> should have been " "<literal>install: gentoo-target</literal>." msgstr "" "Si vous trouvez une erreur dans le <filename>Makefile</filename> amont comme " "suit, où <literal>install: gentoo</literal> aurait dû être <literal>install: " "gentoo-target</literal> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <filename>debian/patches</filename> directory should exist now if you " "ran <command>dh_make</command> as described before. This example operation " "creates it just in case you are updating an existing package." msgstr "" "Le répertoire <filename>debian/patches</filename> devrait maintenant exister " "si vous avez exécuté <command>dh_make</command> comme décrit auparavant. " "Cet exemple de manipulation le créé seulement si vous mettez à jour un " "paquet existant." #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this and record it with the <command>dquilt</command> command as " "<filename>fix-gentoo-target.patch</filename>. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Corrigez l'erreur et enregistrez-la avec la commande <command>dquilt</" "command> sous <filename>fix-gentoo-target.patch</filename> : <placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "You change the <filename>Makefile</filename> file as follows." msgstr "Modifiez le fichier <filename>Makefile</filename> comme suit :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "Ask <command>dquilt</command> to generate the patch to create " "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " "description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</" "ulink>." msgstr "" "Demandez à <command>dquilt</command> de créer <filename>debian/patches/fix-" "gentoo-target.patch</filename> et ajoutez sa description conformément à " "<ulink url=\"&dep3;\">DEP-3 : Directives pour l'étiquetage des correctifs</" "ulink> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... description du correctif\n" #. type: Content of: <book><chapter><section><title> msgid "Installation of files to their destination" msgstr "Installation des fichiers à leur emplacement" #. type: Content of: <book><chapter><section><para> msgid "" "Most third-party software installs itself in the <filename>/usr/local</" "filename> directory hierarchy. On Debian this is reserved for private use " "by the system administrator, so packages must not use directories such as " "<filename>/usr/local/bin</filename> but should instead use system " "directories such as <filename>/usr/bin</filename>, obeying the <ulink url=" "\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)." msgstr "" "La plupart des logiciels tiers s'installent d'eux-mêmes dans le répertoire " "<filename>/usr/local</filename>. Dans Debian, il est réservé à l'usage privé " "de l'administrateur système, les paquets ne doivent donc pas utiliser de " "répertoires comme <filename>/usr/local/bin</filename>, mais devraient plutôt " "utiliser les répertoires système comme <filename>/usr/bin</filename>, " "conformément à la norme de hiérarchie des fichiers (<ulink url=\"&fhs;" "\">FHS</ulink>)." #. type: Content of: <book><chapter><section><para> msgid "" "Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> is used to automate building the program, and " "executing <literal>make install</literal> installs programs directly to the " "desired destination (following the <literal>install</literal> target in the " "<filename>Makefile</filename>). In order for Debian to provide pre-built " "installable packages, it modifies the build system to install programs into " "a file tree image created under a temporary directory instead of the actual " "destination." msgstr "" "Habituellement, <citerefentry> <refentrytitle>make</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> est utilisé pour automatiser la " "construction du programme et l'exécution de <literal>make install</literal> " "installe les programmes directement à l'endroit voulu (d'après la cible " "<literal>install</literal> du <filename>Makefile</filename>). Pour permettre " "à Debian de fournir des paquets installables préconstruits, il modifie le " "système de construction pour installer les programmes dans une image de " "l'arborescence de fichiers créé dans un répertoire temporaire plutôt que " "dans la destination réelle." #. type: Content of: <book><chapter><section><para> msgid "" "These two differences between normal program installation on one hand and " "the Debian packaging system on the other can be transparently addressed by " "the <systemitem role=\"package\">debhelper</systemitem> package through the " "<command>dh_auto_configure</command> and <command>dh_auto_install</command> " "commands if the following conditions are met." msgstr "" "Ces deux différences entre l'installation normale du programme d'un côté et " "le système d'empaquetage Debian de l'autre peuvent être abordées de façon " "transparente par le paquet <systemitem role=\"package\">debhelper</" "systemitem> à l'aide des commandes <command>dh_auto_configure</command> et " "<command>dh_auto_install</command> si les conditions suivantes sont " "vérifiées :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." msgstr "" "Consultez les <ulink url=\"&gnu-destdir;\">normes GNU de codage : " "7.2.4 DESTDIR : prise en charge des installations détournées</ulink> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <filename>Makefile</filename> must follow GNU conventions and support " "the <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" " "id=\"0\"/>" msgstr "" "le <filename>Makefile</filename> doit suivre les conventions GNU et gérer la " "variable <literal>$(DESTDIR)</literal> ; <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The source must follow the Filesystem Hierarchy Standard (FHS)." msgstr "" "les sources doivent suivre la norme de hiérarchie des fichiers (« Filesystem " "Hierarchy Standard » ou FHS)." #. type: Content of: <book><chapter><section><para> msgid "" "Programs that use GNU <command>autoconf</command> follow the GNU conventions " "automatically, so they can be trivial to package. On the basis of this and " "other heuristics, it is estimated that the <systemitem role=\"package" "\">debhelper</systemitem> package will work for about 90% of packages " "without making any intrusive changes to their build system. So packaging is " "not as complicated as it may seem." msgstr "" "Les programmes qui utilisent GNU <command>autoconf</command> suivent les " "conventions GNU automatiquement, de tel sorte qu'ils peuvent être facile à " "empaqueter. Sur cette base et d'autres paramètres, on estime que le paquet " "<systemitem role=\"package\">debhelper</systemitem> fonctionnera pour 90 % " "des paquets sans modification intrusive à leur système de construction. " "L'empaquetage n'est donc pas aussi compliqué qu'il y parait." #. type: Content of: <book><chapter><section><para> msgid "" "If you need to make changes in the <filename>Makefile</filename>, you should " "be careful to support the <literal>$(DESTDIR)</literal> variable. Although " "it is unset by default, the <literal>$(DESTDIR)</literal> variable is " "prepended to each file path used for the program installation. The " "packaging script will set <literal>$(DESTDIR)</literal> to the temporary " "directory." msgstr "" "Si vous devez modifier le <filename>Makefile</filename>, vous devriez vous " "assurer qu'il gère la variable <literal>$(DESTDIR)</literal>. Bien qu'elle " "ne soit pas configurée par défaut, la variable <literal>$(DESTDIR)</literal> " "précède chaque chemin de fichier utilisé par le programme d'installation. Le " "script d'empaquetage configurera <literal>$(DESTDIR)</literal> en tant que " "répertoire temporaire." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "For a source package generating multiple binary packages, the " "<command>dh_auto_install</command> command uses <filename>debian/tmp</" "filename> as the temporary directory while the <command>dh_install</command> " "command with the help of <filename>debian/<replaceable>package-1</" "replaceable>.install</filename> and <filename>debian/<replaceable>package-2</" "replaceable>.install</filename> files will split the contents of " "<filename>debian/tmp</filename> into <filename>debian/" "<replaceable>package-1</replaceable></filename> and <filename>debian/" "<replaceable>package-2</replaceable></filename> temporary directories, to " "create <filename><replaceable>package-1</replaceable>_*.deb</filename> and " "<filename><replaceable>package-2</replaceable>_*.deb</filename> binary " "packages." msgstr "" "Pour un paquet source créant plusieurs paquets binaires, la commande " "<command>dh_auto_install</command> utilise <filename>debian/tmp</filename> " "comme répertoire temporaire alors que la commande <command>dh_install</" "command>, à l'aide des fichiers <filename>debian/<replaceable>paquet-1</" "replaceable>.install</filename> et <filename>debian/<replaceable>paquet-2</" "replaceable>.install</filename>, séparera le contenu de <filename>debian/" "tmp</filename> dans les répertoires temporaires <filename>debian/" "<replaceable>paquet-1</replaceable></filename> et <filename>debian/" "<replaceable>paquet-2</replaceable></filename> pour créer les paquets " "binaires <filename><replaceable>paquet-1</replaceable>_*.deb</filename> et " "<filename><replaceable>paquet-2</replaceable>_*.deb</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "For a source package generating a single binary package, the temporary " "directory used by the <command>dh_auto_install</command> command will be set " "to <filename>debian/<replaceable>package</replaceable></filename>. " "<placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in " "the temporary directory will be installed on users' systems when they " "install your package; the only difference is that <command>dpkg</command> " "will be installing the files to paths relative to the root directory rather " "than your working directory." msgstr "" "Pour un paquet source créant un seul paquet binaire, le répertoire " "temporaire utilisé par la commande <command>dh_auto_install</command> sera " "configurée en <filename>debian/<replaceable>paquet</replaceable></filename>. " "<placeholder type=\"footnote\" id=\"0\"/> Le contenu du répertoire " "temporaire sera copié sur le système de l'utilisateur qui installera votre " "paquet, la seule différence est que <command>dpkg</command> placera ces " "fichiers dans les chemins relatifs au répertoire racine plutôt qu'au " "répertoire de travail." #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that even though your program installs in <filename>debian/" "<replaceable>package</replaceable></filename>, it still needs to behave " "correctly when installed from the <filename>.deb</filename> package under " "the root directory. So you must not allow the build system to hardcode " "strings like <literal>/home/me/deb/<replaceable>package</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>package</" "replaceable></literal> into files in the package." msgstr "" "Gardez à l'esprit que même si le programme s'installe dans <filename>debian/" "<replaceable>paquet</replaceable></filename>, il doit continuer à s'exécuter " "correctement quand il est installé à partir du paquet <filename>.deb</" "filename> sous le répertoire racine. Vous ne devez donc pas laisser le " "système de construction coder en dur des chaînes de caractères comme " "<literal>/home/moi/deb/<replaceable>paquet</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>paquet</" "replaceable></literal> dans les fichiers du paquet." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This is just an example to show what a <filename>Makefile</filename> should " "look like. If the <filename>Makefile</filename> is created by the " "<command>./configure</command> command, the correct way to fix this kind of " "<filename>Makefile</filename> is to execute <command>./configure</command> " "from the <command>dh_auto_configure</command> command with default options " "including <literal>--prefix=/usr</literal>." msgstr "" "Il s'agit simplement d'un exemple pour montrer à quoi le " "<filename>Makefile</filename> devrait ressembler. Si le <filename>Makefile</" "filename> est créé par la commande <command>./configure</command>, la bonne " "façon de modifier ce genre de <filename>Makefile</filename> est d'exécuter " "<command>./configure</command> à partir de la commande " "<command>dh_auto_configure</command> avec les options par défaut y compris " "<literal>--prefix=/usr</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Here's the relevant part of <systemitem role=\"package\">gentoo</" "systemitem>'s <filename>Makefile</filename><placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "Voici les parties concernées du <filename>Makefile</filename> de <systemitem " "role=\"package\">gentoo</systemitem> <placeholder type=\"footnote\" id=\"0\"/" "> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" msgstr "" "# Emplacement des commandes exécutables lors de « make install »\n" "BIN = /usr/local/bin\n" "# Emplacement des icônes lors de « make install »\n" "ICONS = /usr/local/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "We see that the files are set to install under <filename>/usr/local</" "filename>. As explained above, that directory hierarchy is reserved for " "local use on Debian, so change those paths to:" msgstr "" "Les fichiers sont configurés pour s'installer sous <filename>/usr/local/</" "filename>. Conformément aux explications précédentes, ce répertoire est " "réservé pour les utilisations locales de Debian, changez donc ces chemins " "en :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgstr "" "# Emplacement des commandes exécutables lors de « make install »\n" "BIN = $(DESTDIR)/usr/bin\n" "# Emplacement des icônes lors de « make install »\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The exact locations that should be used for binaries, icons, documentation, " "etc. are specified in the Filesystem Hierarchy Standard (FHS). You should " "browse through it and read the sections relevant to your package." msgstr "" "Les emplacements exacts qui devraient être utilisés pour les exécutables, " "icônes, documentation, etc., sont décrits dans la norme de hiérarchie des " "fichiers (FHS). Vous devriez la consulter et lire les sections relatives à " "votre paquet." #. type: Content of: <book><chapter><section><para> msgid "" "So, we should install executable commands in <filename>/usr/bin</filename> " "instead of <filename>/usr/local/bin</filename>, the manual page in " "<filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/" "man1</filename>, and so on. Notice how there's no manual page mentioned in " "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" "filename>, but since Debian Policy requires that every program has one, " "we'll make one later and install it in <filename>/usr/share/man/man1</" "filename>." msgstr "" "Dès lors, les commandes exécutables devrait être installé sous <filename>/" "usr/bin</filename> plutôt que sous <filename>/usr/local/bin</filename>, la " "page de manuel sous <filename>/usr/share/man/man1</filename> plutôt que sous " "<filename>/usr/local/man/man1</filename> et ainsi de suite. Remarquez qu'il " "n'y a pas de page de manuel mentionnée dans le fichier <filename>Makefile</" "filename> de <systemitem role=\"package\">gentoo</systemitem>, mais comme la " "Charte Debian exige que chaque programme en ait une, il faudra en créer une " "plus tard et l'installer dans <filename>/usr/share/man/man1</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Some programs don't use <filename>Makefile</filename> variables to define " "paths such as these. This means you might have to edit some real C sources " "in order to fix them to use the right locations. But where to search, and " "exactly what for? You can find this out by issuing:" msgstr "" "Certains programmes n'utilisent pas les variables des fichiers " "<filename>Makefile</filename> pour définir des chemins comme ceux-ci. Cela " "signifie que vous risquez de devoir modifier de vrais fichiers sources C " "pour qu'ils utilisent les emplacements corrects. Mais où, et que chercher " "exactement ? Vous pouvez le découvrir avec :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" msgstr "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>grep</command> will run recursively through the source tree and " "tell you the filename and the line number for all matches." msgstr "" "<command>grep</command> va parcourir récursivement l'arbre des sources et " "donner le nom des fichiers et le numéro des lignes où il trouve une " "occurrence." #. type: Content of: <book><chapter><section><para> msgid "" "Edit those files and in those lines replace <literal>usr/local/lib</literal> " "with <literal>usr/lib</literal>. This can be done automatically as follows:" msgstr "" "Modifiez ces fichiers et à ces lignes, remplacez <literal>usr/local/lib</" "literal> par <literal>usr/lib</literal>. Cela peut être automatisé comme " "suit :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you want to confirm each substitution instead, this can be done " "interactively as follows:" msgstr "" "Afin de confirmer toutes les substitutions, vous pouvez procéder de façon " "interactive comme suit :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "Next you should find the <literal>install</literal> target (searching for " "the line that starts with <literal>install:</literal> will usually work) and " "rename all references to directories other than ones defined at the top of " "the <filename>Makefile</filename>." msgstr "" "Ensuite, vous devriez trouver la cible <literal>install</literal> (chercher " "la ligne qui commence par <literal>install:</literal> fonctionne en général) " "et renommez toutes les références aux répertoires autres que ceux définis au " "début du <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Originally, <systemitem role=\"package\">gentoo</systemitem>'s " "<literal>install</literal> target said:" msgstr "" "À l'origine, la cible <literal>install</literal> de <systemitem role=" "\"package\">gentoo</systemitem> était de la forme :" #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this upstream bug and record it with the <command>dquilt</command> " "command as <filename>debian/patches/install.patch</filename>." msgstr "" "Corrigez ce bogue amont et enregistrez la modification avec la commande " "<command>dquilt</command> sous <filename>debian/patches/install.patch</" "filename> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "In your editor, change this for the Debian package as follows:" msgstr "Dans votre éditeur, modifiez cela pour le paquet Debian comme suit :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" msgstr "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You'll have noticed that there's now an <literal>install -d</literal> " "command before the other commands in the rule. The original " "<filename>Makefile</filename> didn't have it because usually <literal>/usr/" "local/bin</literal> and other directories already exist on the system where " "you are running <literal>make install</literal>. However, since we will be " "installing into a newly created private directory tree, we will have to " "create each and every one of those directories." msgstr "" "Vous aurez remarqué qu'il y a maintenant une commande <literal>install -d</" "literal> avant les autres dans la règle. Elle n'existait pas dans le " "<filename>Makefile</filename> d'origine parce qu'habituellement <literal>/" "usr/local/bin</literal> et les autres répertoires existent déjà sur le " "système dans lequel <literal>make install</literal> est exécuté. Cependant, " "puisque dans notre cas l'installation se fait dans une arborescence " "spécifique nouvellement créée, chacun de ces répertoires doit être créé." #. type: Content of: <book><chapter><section><para> msgid "" "We can also add in other things at the end of the rule, like the " "installation of additional documentation that the upstream authors sometimes " "omit:" msgstr "" "D'autres choses peuvent être ajoutés à la fin de la règle, comme " "l'installation de la documentation additionnelle que l'auteur amont oublie " "parfois :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" msgstr "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" #. type: Content of: <book><chapter><section><para> msgid "" "Check carefully, and if everything is okay, ask <command>dquilt</command> to " "generate the patch to create <filename>debian/patches/install.patch</" "filename> and add its description." msgstr "" "Vérifiez soigneusement, et si tout est bon, demandez à <command>dquilt</" "command> de créer le correctif <filename>debian/patches/install.patch</" "filename> et ajoutez sa description." #. type: Content of: <book><chapter><section><para> msgid "Now you have a series of patches." msgstr "Vous avez maintenant un ensemble de correctifs." #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>" msgstr "" "correction d'un bogue amont : <filename>debian/patches/fix-gentoo-target." "patch</filename> ;" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Debian specific packaging modification: <filename>debian/patches/install." "patch</filename>" msgstr "" "modification spécifique à l'empaquetage Debian : <filename>debian/patches/" "install.patch</filename> ;" #. type: Content of: <book><chapter><section><para> msgid "" "Whenever you make changes that are not specific to the Debian package such " "as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to " "send them to the upstream maintainer so they can be included in the next " "version of the program and be useful to everyone else. Also remember to " "avoid making your fixes specific to Debian or Linux - or even Unix! Make " "them portable. This will make your fixes much easier to apply." msgstr "" "Chaque fois que vous faites des modifications qui ne sont pas spécifiques à " "Debian comme <filename>debian/patches/fix-gentoo-target.patch</filename>, " "envoyez-les au responsable amont pour qu'elles puissent être intégrées dans " "la version suivante du programme et que tout le monde puisse en profiter. " "Évitez aussi de faire des corrections spécifiques à Debian ou Linux — ou " "même UNIX ! Faites-les portables. Cela rendra vos corrections beaucoup plus " "faciles à appliquer." #. type: Content of: <book><chapter><section><para> msgid "" "Note that you don't have to send the <filename>debian/*</filename> files " "upstream." msgstr "" "Remarquez que vous ne devez pas envoyer les fichiers <filename>debian/*</" "filename> en amont." #. type: Content of: <book><chapter><section><title> msgid "Differing libraries" msgstr "Bibliothèques différentes" #. type: Content of: <book><chapter><section><para> msgid "" "There is one other common problem: libraries are often different from " "platform to platform. For example, a <filename>Makefile</filename> can " "contain a reference to a library which doesn't exist on the Debian system. " "In that case, we need to change it to a library which does exist in Debian, " "and serves the same purpose." msgstr "" "Il y a un autre problème courant : des bibliothèques sont souvent " "différentes d'une plate-forme à l'autre. Par exemple, <filename>Makefile</" "filename> peut contenir une référence à une bibliothèque qui n'existe pas " "sur le système Debian. Dans ce cas, changez-la en une bibliothèque qui " "existe dans Debian, et qui sert à la même chose." #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume a line in your program's <filename>Makefile</filename> (or " "<filename>Makefile.in</filename>) as the following." msgstr "" "Supposons qu'une ligne de <filename>Makefile</filename> (ou " "<filename>Makefile.in</filename>) du programme comme suit :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "LIBS = -lfoo -lbar\n" msgstr "LIBS = -ltruc -lbidule\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If there are API changes from the <literal>foo</literal> library to the " "<literal>foo2</literal> library, required changes to the source code need to " "be made to match the new API." msgstr "" "Si des modifications de l'API existent entre les bibliothèques " "<literal>truc</literal> et <literal>truc2</literal>, les modifications " "exigées au code source doivent être faites pour correspondre à la nouvelle " "API." #. type: Content of: <book><chapter><section><para> msgid "" "If your program doesn't compile since the <literal>foo</literal> library " "doesn't exist and its equivalent is provided by the <literal>foo2</literal> " "library on the Debian system, you can fix this build problem as " "<filename>debian/patches/foo2.patch</filename> by changing <literal>foo</" "literal> into <literal>foo2</literal>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Si votre programme ne compile pas depuis que la bibliothèque <literal>truc</" "literal> n'existe plus et que son équivalent est fournie par la bibliothèque " "<literal>truc2</literal> sur le système Debian, vous pouvez corriger ce " "problème de construction en <filename>debian/patches/truc2.patch</filename> " "en modifiant <literal>truc</literal> en <literal>truc2</literal>. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt new truc2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-ltruc/-ltruc2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... description du correctif\n" #. type: Content of: <book><chapter><title> msgid "Required files under the <filename>debian</filename> directory" msgstr "Fichiers nécessaires dans le répertoire <filename>debian</filename>" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "In this chapter, files in the <filename>debian</filename> directory are " "referred to without the leading <filename>debian/</filename> for simplicity " "whenever the meaning is obvious." msgstr "" "Dans ce chapitre, <filename>debian/</filename> est omis pour simplifier " "l'écriture des fichiers du répertoire <filename>debian</filename> quand la " "signification n'est pas ambiguë." #. type: Content of: <book><chapter><para> msgid "" "There is a new subdirectory under the program's source directory, called " "<filename>debian</filename>. There are a number of files in this directory " "that we should edit in order to customize the behavior of the package. The " "most important of them are <filename>control</filename>, " "<filename>changelog</filename>, <filename>copyright</filename>, and " "<filename>rules</filename>, which are required for all packages. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Un nouveau sous-répertoire se trouve dans le répertoire des sources du " "programme, nommé <filename>debian</filename>. Certains fichiers de ce " "répertoire sont à modifier pour personnaliser le comportement du paquet. " "Les plus importants sont <filename>control</filename>, <filename>changelog</" "filename>, <filename>copyright</filename> et <filename>rules</filename>, ils " "sont nécessaires pour tous les paquets. <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "<filename>control</filename>" msgstr "<filename>control</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains various values which <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command>, and other package management tools " "will use to manage the package. It is defined by the <ulink url=\"&policy-" "control;\">Debian Policy Manual, 5 \"Control files and their fields\"</" "ulink>." msgstr "" "Ce fichier contient plusieurs valeurs utilisées par <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command> et d'autres outils de gestions de " "paquets pour gérer le paquet. Il est défini par la <ulink url=\"&policy-" "control;\">Charte Debian, 5 « Fichiers de contrôle et leurs champs »</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Here is the <filename>control</filename> file <command>dh_make</command> " "created for us:" msgstr "" "Le fichier <filename>control</filename> créé par <command>dh_make</command> " "ressemble à :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Prénom Nom <votre.adresse.mail@example.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <URL amont, si pertinente>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <description courte de 60 caractères au maximum>\n" "13 <description longue, indentée par des espaces>\n" #. type: Content of: <book><chapter><section><para> msgid "(I've added the line numbers.)" msgstr "(Les numéros de ligne ont été ajoutés.)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 1-7 are the control information for the source package. Lines 9-13 " "are the control information for the binary package." msgstr "" "Les lignes 1 à 7 sont les informations de contrôle pour le paquet source. " "Les lignes 9 à 13 sont les informations de contrôle pour le paquet binaire." #. type: Content of: <book><chapter><section><para> msgid "Line 1 is the name of the source package." msgstr "La ligne 1 est le nom du paquet source." #. type: Content of: <book><chapter><section><para> msgid "Line 2 is the section of the distribution the source package goes into." msgstr "" "La ligne 2 est la section de la distribution à laquelle ce paquet appartient." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections" "\"</ulink> and <ulink url=\"§ions-unstable;\">List of sections in " "<literal>sid</literal></ulink>." msgstr "" "Consultez la <ulink url=\"&policy-subsections;\">Charte Debian, " "2.4 « Sections »</ulink> et la <ulink url=\"§ions-unstable;\">liste des " "sections dans <literal>sid</literal></ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "As you may have noticed, the Debian archive is divided into multiple areas: " "<literal>main</literal> (the free software), <literal>non-free</literal> " "(the not really free software) and <literal>contrib</literal> (free software " "that depends on non-free software). Each of these is divided into sections " "that classify packages into rough categories. So we have <literal>admin</" "literal> for administrator-only programs, <literal>devel</literal> for " "programmer tools, <literal>doc</literal> for documentation, <literal>libs</" "literal> for libraries, <literal>mail</literal> for email readers and " "daemons, <literal>net</literal> for network apps and daemons, <literal>x11</" "literal> for X11 programs that don't fit anywhere else, and many more. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Comme vous avez pu le constater, l'archive Debian est divisée en plusieurs " "partie : <literal>main</literal> (logiciels libres), <literal>non-free</" "literal> (logiciels non libres), et <literal>contrib</literal> (logiciels " "libres qui dépendent de logiciels non libres). Chacune d'entre elle est " "divisée en sections qui classent les paquets en catégories grossières. Entre " "autres existent <literal>admin</literal> pour les programmes destinés aux " "administrateurs, <literal>devel</literal> pour les outils de programmation, " "<literal>doc</literal> pour la documentation, <literal>libs</literal> pour " "les bibliothèques, <literal>mail</literal> pour les lecteurs et les démons " "de courrier électronique, <literal>net</literal> pour les applications et " "démons de réseau, <literal>x11</literal> pour les programmes X11 qui ne " "conviennent pas mieux ailleurs, et bien d'autres. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Let's change it then to x11. (A <literal>main/</literal> prefix is implied " "so we can omit it.)" msgstr "" "Changez la section en x11 (le préfixe <literal>main/</literal> est " "implicite, et peut donc être omis)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities" "\"</ulink>." msgstr "" "Consultez la <ulink url=\"&policy-priorities;\">Charte Debian, " "2.5 « Priorités »</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 3 describes how important it is that the user installs this package. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La ligne 3 décrit l'importance pour l'utilisateur d'installer ce paquet : " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>optional</literal> priority will usually work for new packages " "that do not conflict with others claiming <literal>required</literal>, " "<literal>important</literal>, or <literal>standard</literal> priority." msgstr "" "la priorité <literal>optional</literal> fonctionne habituellement pour les " "nouveaux paquets qui ne sont pas en conflit avec d'autres se réclamant de " "priorité <literal>required</literal>, <literal>important</literal> ou " "<literal>standard</literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>extra</literal> priority will usually work for new packages " "that conflict with others with non-<literal>extra</literal> priorities." msgstr "" "la priorité <literal>extra</literal> fonctionne habituellement pour les " "nouveaux paquets qui sont en conflit avec d'autres de priorité non " "<literal>extra</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Section and priority are used by front-ends like <command>aptitude</command> " "when they sort packages and select defaults. Once you upload the package to " "Debian, the value of these two fields can be overridden by the archive " "maintainers, in which case you will be notified by email." msgstr "" "Les sections et les priorités sont utilisées par des interfaces comme " "<command>aptitude</command> quand elles trient les paquets et sélectionnent " "les valeurs par défaut. Quand vous enverrez le paquet dans Debian, les " "valeurs de ces deux champs peuvent être modifiées par les responsables des " "archives, auquel cas vous serez notifié par courrier." #. type: Content of: <book><chapter><section><para> msgid "" "As this is a normal priority package and doesn't conflict with anything " "else, we will change the priority to <literal>optional</literal>." msgstr "" "Comme c'est un paquet de priorité normale et qu'il n'entre pas en conflit " "avec quoi que ce soit, il suffit de laisser la priorité à <literal>optional</" "literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 4 is the name and email address of the maintainer. Make sure that this " "field includes a valid <literal>To</literal> header for email, because after " "you upload it, the bug tracking system will use it to deliver bug emails to " "you. Avoid using commas, ampersands, or parentheses." msgstr "" "La ligne 4 est le nom et l'adresse électronique du responsable. Assurez-vous " "que ce champ contient un en-tête <literal>To</literal> valable pour un " "courrier électronique, car après l'envoi du paquet, le système de suivi des " "bogues l'utilisera pour vous délivrer les courriers relatifs aux bogues. " "Évitez d'utiliser des virgules, esperluettes (<literal>&</literal>) ou " "parenthèses." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 \"Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</" "ulink>." msgstr "" "Consultez la <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Charte " "Debian, 7.7 « Relations entre paquets source et binaires — Build-Depends, " "Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep »</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "Line 5 includes the list of packages required to build your package as the " "<literal>Build-Depends</literal> field. You can also have the " "<literal>Build-Depends-Indep</literal> field as an additional line, here. " "<placeholder type=\"footnote\" id=\"0\"/> Some packages like <systemitem " "role=\"package\">gcc</systemitem> and <systemitem role=\"package\">make</" "systemitem> which are required by the <systemitem role=\"package\">build-" "essential</systemitem> package are implied. If you need to have other tools " "to build your package, you should add them to these fields. Multiple " "entries are separated with commas; read on for the explanation of binary " "package dependencies to find out more about the syntax of these lines." msgstr "" "La ligne 5 contient la liste des paquets nécessaires pour construire le " "paquet dans le champ <literal>Build-Depends</literal>. Le champ " "<literal>Build-Depends-Indep</literal> peut-être ajouté dans une ligne " "supplémentaire. <placeholder type=\"footnote\" id=\"0\"/> Certains paquets " "comme <systemitem role=\"package\">gcc</systemitem> ou <systemitem role=" "\"package\">make</systemitem> sont implicites, puisqu'ils dépendent de " "<systemitem role=\"package\">build-essential</systemitem>. Si d'autres " "outils sont nécessaires pour construire le paquet, vous devez les ajouter à " "ces champs. Les multiples éléments sont séparées par des virgules ; lisez ci-" "après les explications sur les dépendances entre paquets binaires pour mieux " "comprendre la syntaxe de ces lignes :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For all packages packaged with the <command>dh</command> command in the " "<filename>debian/rules</filename> file, you must have <literal>debhelper " "(>=9)</literal> in the <literal>Build-Depends</literal> field to satisfy " "the Debian Policy requirement for the <literal>clean</literal> target." msgstr "" "pour tous les paquets empaquetés avec la commande <command>dh</command> dans " "le fichier <filename>debian/rules</filename>, <literal>debhelper (>=9)</" "literal> doit faire partie du champ <literal>Build-Depends</literal> pour " "être conforme à la Charte Debian au sujet de la cible <literal>clean</" "literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Source packages which have binary packages with <literal>Architecture: any</" "literal> are rebuilt by the autobuilder. Since this autobuilder procedure " "installs only the packages listed in the <literal>Build-Depends</literal> " "field before running <literal>debian/rules build</literal> (see <xref " "linkend=\"autobuilder\"/>), the <literal>Build-Depends</literal> field needs " "to list practically all the required packages and <literal>Build-Depends-" "Indep</literal> is rarely used." msgstr "" "les paquets source de paquets binaires avec <literal>Architecture: any</" "literal> sont reconstruits par les empaqueteurs automatiques " "(« autobuilder »). Puisque la procédure des serveurs d'empaquetage " "automatique installe seulement les paquets indiqués dans le champ " "<literal>Build-Depends</literal> avant d'exécuter <literal>debian/rules " "build</literal> (consultez <xref linkend=\"autobuilder\"/>), ce champ " "<literal>Build-Depends</literal> doit indiquer pratiquement tous les paquets " "nécessaires et <literal>Build-Depends-Indep</literal> est rarement utilisé ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For source packages with binary packages all of which are " "<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" "literal> field may list all the required packages unless they are already " "listed in the <literal>Build-Depends</literal> field to satisfy the Debian " "Policy requirement for the <literal>clean</literal> target." msgstr "" "pour les paquets source de paquets binaires dont tous sont " "<literal>Architecture: all</literal>, le champ <literal>Build-Depends-Indep</" "literal> peut indiquer tous les paquets nécessaires à moins qu'ils ne soient " "déjà indiqués dans le champ <literal>Build-Depends</literal> pour être " "conforme à la Charte Debian au sujet de la cible <literal>clean</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This somewhat strange situation is a feature well documented in the <ulink " "url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 55</" "ulink>. This is not due to the use of the <command>dh</command> command in " "the <filename>debian/rules</filename> file but due to how the <command>dpkg-" "buildpackage</command> works. The same situation applies to the <ulink url=" "\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build " "system for Ubuntu</ulink>." msgstr "" "Cette situation quelque peu étrange est une fonctionnalité bien expliquée " "dans la <ulink url=\"&policy-build-depends-indep;\">Charte Debian, note de " "bas de page 55</ulink>. Ce n'est pas lié à l'utilisation de la commande " "<command>dh</command> dans le fichier <filename>debian/rules</filename> mais " "au fonctionnement de <command>dpkg-buildpackage</command>. La même " "situation s'applique au <ulink url=\"https://bugs.launchpad.net/launchpad-" "buildd/+bug/238141\">système de construction automatique pour Ubuntu</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If you are not sure which one should be used, use the <literal>Build-" "Depends</literal> field to be on the safe side. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "En cas de doute, utilisez le champ <literal>Build-Depends</literal> pour " "être sûr. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "To find out what packages your package needs to be built run the command:" msgstr "" "Pour déterminer les paquets nécessaires à la construction, exécutez la " "commande :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-depcheck -d ./configure\n" msgstr "$ dpkg-depcheck -d ./configure\n" #. type: Content of: <book><chapter><section><para> msgid "" "To manually find exact build dependencies for <command><replaceable>/usr/bin/" "foo</replaceable></command>, execute" msgstr "" "Pour déterminer manuellement les dépendances de construction exactes pour " "<command><replaceable>/usr/bin/toto</replaceable></command>, exécutez :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" msgstr "$ objdump -p <replaceable>/usr/bin/toto</replaceable> | grep NEEDED\n" #. type: Content of: <book><chapter><section><para> msgid "" "and for each library listed, e.g., <command>libfoo.so.6</command>, execute" msgstr "" "et pour chaque bibliothèque affichée, par exemple <command>libtoto.so.6</" "command>, exécutez" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg -S libfoo.so.6\n" msgstr "$ dpkg -S libtoto.so.6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then just take the <literal>-dev</literal> version of every package as a " "<literal>Build-Depends</literal> entry. If you use <command>ldd</command> " "for this purpose, it will report indirect lib dependencies as well, " "resulting in the problem of excessive build dependencies." msgstr "" "Ajoutez ensuite simplement la version <literal>-dev</literal> de chaque " "paquet dans le champ <literal>Build-Depends</literal>. Si vous utilisez " "<command>ldd</command> à cet effet, des dépendances de bibliothèque " "indirectes seront indiquées, introduisant un problème de dépendances de " "construction excessives." #. type: Content of: <book><chapter><section><para> msgid "" "<systemitem role=\"package\">gentoo</systemitem> also happens to require " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> and <systemitem role=\"package" "\">libglib1.2-dev</systemitem> to build, so we'll add them here next to " "<systemitem role=\"package\">debhelper</systemitem>." msgstr "" "<systemitem role=\"package\">gentoo</systemitem> a aussi besoin de " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> et <systemitem role=\"package" "\">libgl1.2-dev</systemitem> pour être construit, ils doivent donc être " "ajoutés à côté de <systemitem role=\"package\">debhelper</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 6 is the version of the <ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink> standards this package follows, the one you read while making " "your package." msgstr "" "La ligne 6 est la version de la <ulink url=\"&debian-policy;\">Charte " "Debian</ulink> que ce paquet respecte, celle que vous lisez quand vous créez " "le paquet." #. type: Content of: <book><chapter><section><para> msgid "On line 7 you can put the URL of the software's upstream homepage." msgstr "" "En ligne 7 vous pouvez indiquer l'URL de la page d'accueil du programme " "amont." #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the name of the binary package. This is usually the same as the " "name of the source package, but it doesn't necessarily have to be that way." msgstr "" "La ligne 9 est le nom du paquet binaire. C'est d'ordinaire le même que le " "nom du paquet source, mais ce n'est pas nécessairement le cas." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " "\"Architecture\"</ulink> for exact details." msgstr "" "Consultez la <ulink url=\"&policy-architecture;\">Charte Debian, " "5.6.8 « Architecture »</ulink> pour de plus amples précisions." #. type: Content of: <book><chapter><section><para> msgid "" "Line 10 describes the architectures the binary package can be compiled for. " "This value is usually one of the following depending on the type of the " "binary package. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La ligne 10 décrit les architectures pour lesquelles le paquet binaire peut " "être compilé. Cette valeur est en général un des suivantes en fonction du " "type de paquet binaire : <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: any</literal>" msgstr "<literal>Architecture: any</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture dependent one usually in a " "compiled language." msgstr "" "le paquet binaire créé dépend de l'architecture, en général dans un langage " "compilé ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: all</literal>" msgstr "<literal>Architecture: all</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture independent one usually " "consisting of text, images, or scripts in an interpreted language." msgstr "" "le paquet binaire créé est indépendant de l'architecture, en général du " "texte, des images ou des scripts en langage interprété." #. type: Content of: <book><chapter><section><para> msgid "" "We leave line 10 as is since this is written in C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> will fill in the appropriate architecture value " "for any machine this source package gets compiled on." msgstr "" "La ligne 10 est laissée telle quelle car c'est écrit en C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> indiquera la valeur d'architecture appropriée pour " "chaque machine sur laquelle ce paquet source sera compilé." #. type: Content of: <book><chapter><section><para> msgid "" "If your package is architecture independent (for example, a shell or Perl " "script, or a document), change this to <literal>all</literal>, and read " "later in <xref linkend=\"rules\"/> about using the <literal>binary-indep</" "literal> rule instead of <literal>binary-arch</literal> for building the " "package." msgstr "" "Si le paquet est indépendant d'une architecture (par exemple, un script " "shell ou Perl, ou un document), changez ce paramètre en <literal>all</" "literal>, et lisez plus loin en <xref linkend=\"rules\"/> comment utiliser " "la règle <literal>binary-indep</literal> au lieu de <literal>binary-arch</" "literal> pour construire le paquet." #. type: Content of: <book><chapter><section><para> msgid "" "Line 11 shows one of the most powerful features of the Debian packaging " "system. Packages can relate to each other in various ways. Apart from " "<literal>Depends</literal>, other relationship fields are " "<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" "Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " "<literal>Provides</literal>, and <literal>Replaces</literal>." msgstr "" "La ligne 11 montre une des caractéristiques les plus puissantes du système " "de paquet Debian. Les paquets peuvent être liés entre eux de plusieurs " "façons. Hormis <literal>Depends</literal>, les autres champs décrivant ces " "relations sont <literal>Recommends</literal>, <literal>Suggests</literal>, " "<literal>Pre-Depends</literal>, <literal>Breaks</literal>, " "<literal>Conflicts</literal>, <literal>Provides</literal> et " "<literal>Replaces</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The package management tools usually behave the same way when dealing with " "these relations; if not, it will be explained. (See <citerefentry> " "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, etc.)" msgstr "" "Les outils de gestion de paquets se comportent d'ordinaire de la même " "manière quand ils gèrent ces relations ; sinon, ce sera précisé (consultez " "<citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> " "</citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, etc.)" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " "\"Declaring relationships between packages\"</ulink>." msgstr "" "Consultez la <ulink url=\"&policy-priorities;\">Charte Debian, " "7 « Déclaration de relations entre paquets »</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Here is a simplified description of package relationships. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Voici une description simplifiée des relations entre paquets : <placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Depends</literal>" msgstr "<literal>Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed unless the packages it depends on are " "installed. Use this if your program absolutely will not run (or will cause " "severe breakage) unless a particular package is present." msgstr "" "le paquet ne sera pas installé sans que les paquets dont il dépend ne soient " "installés. Utilisez-le si le programme ne s'exécute absolument pas (ou " "cause des dégâts sérieux) si un paquet particulier n'est pas présent ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Recommends</literal>" msgstr "<literal>Recommends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages that are not strictly necessary but are typically used " "with your program. When a user installs your program, all front-ends will " "probably prompt them to install the recommended packages. " "<command>aptitude</command> and <command>apt-get</command> install " "recommended packages along with your package by default (but the user can " "disable this behavior). <command>dpkg</command> will ignore this field." msgstr "" "à utiliser pour les paquets qui ne sont pas vraiment indispensables mais qui " "sont typiquement utilisés avec le programme. Lorsqu'un utilisateur installe " "le paquet, toutes les interfaces devraient proposer d'installer les paquets " "recommandés. <command>aptitude</command> et <command>apt-get</command> " "installent par défaut les paquets recommandés avec le paquet (mais " "l'utilisateur peut désactiver ce comportement). <command>dpkg</command> " "ignorera ce champ ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Suggests</literal>" msgstr "<literal>Suggests</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages which will work nicely with your program but are not " "at all necessary. When a user installs your program, they will probably not " "be prompted to install suggested packages. <command>aptitude</command> can " "be configured to install suggested packages along with your package but this " "is not its default. <command>dpkg</command> and <command>apt-get</command> " "will ignore this field." msgstr "" "à utiliser pour les paquets qui fonctionnent bien avec le programme mais qui " "ne sont pas du tout indispensables. Lorsqu'un utilisateur installe le " "programme, il ne lui sera probablement pas proposé d'installer les paquets " "suggérés. <command>aptitude</command> peut être configuré pour installer les " "paquets suggérés avec le paquet mais ce n'est pas le comportement par " "défaut. <command>dpkg</command> et <command>apt-get</command> ignoreront ce " "champ ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Pre-Depends</literal>" msgstr "<literal>Pre-Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is stronger than <literal>Depends</literal>. The package will not be " "installed unless the packages it pre-depends on are installed and " "<emphasis>correctly configured</emphasis>. Use this <emphasis>very</" "emphasis> sparingly and only after discussing it on the <ulink url=\"&debian-" "devel-ldo;\">debian-devel@lists.debian.org</ulink> mailing list. Read: " "don't use it at all. :-)" msgstr "" "ceci est plus fort que <literal>Depends</literal>. Le paquet ne sera pas " "installé avant que les paquets dont il pré-dépend ne soient installés et " "<emphasis>correctement configurés</emphasis>. Utilisez-le <emphasis>très</" "emphasis> rarement et seulement après en avoir discuté sur la liste de " "discussion <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org</" "ulink>. Autrement dit : ne l'utilisez pas du tout ; :-)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Conflicts</literal>" msgstr "<literal>Conflicts</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed until all the packages it conflicts with " "have been removed. Use this if your program absolutely will not run or will " "cause severe problems if a particular package is present." msgstr "" "le paquet ne sera pas installé tant que les paquets avec lesquels il est en " "conflit n'aient été retirés. À utiliser si le programme ne peut absolument " "pas fonctionner ou s'il cause d'énormes problèmes quand un paquet " "particulier est présent ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Breaks</literal>" msgstr "<literal>Breaks</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "When installed the package will break all the listed packages. Normally a " "<literal>Breaks</literal> entry specifies that it applies to versions " "earlier than a certain value. The resolution is generally to use higher-" "level package management tools to upgrade the listed packages." msgstr "" "les paquets énumérés seront cassés une fois le paquet sera installé. En " "général, une entrée de <literal>Breaks</literal> indique qu'elle s'applique " "aux versions antérieures à une certaine valeur. La résolution de conflits " "des gestionnaires de paquets de haut niveau conduit généralement à mettre à " "niveau les paquets énumérés ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Provides</literal>" msgstr "<literal>Provides</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For some types of packages where there are multiple alternatives virtual " "names have been defined. You can get the full list in the <ulink url=" "\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> file. Use " "this if your program provides a function of an existing virtual package." msgstr "" "quand il y a plusieurs alternatives pour certains types de paquets, des noms " "virtuels ont été définis. La liste complète est disponible dans le fichier " "<ulink url=\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink>. " "À utiliser si le programme fournit une fonction d'un paquet virtuel " "existant ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Replaces</literal>" msgstr "<literal>Replaces</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this when your program replaces files from another package, or " "completely replaces another package (used in conjunction with " "<literal>Conflicts</literal>). Files from the named packages will be " "overwritten with the files from your package." msgstr "" "à utiliser quand le programme remplace des fichiers d'un autre paquet, ou " "remplace complètement un autre paquet (utilisé en conjonction avec " "<literal>Conflicts</literal>). Les fichiers du paquet nommé seront écrasés " "par les fichiers de votre paquet." #. type: Content of: <book><chapter><section><para> msgid "" "All these fields have uniform syntax. They are a list of package names " "separated by commas. These package names may also be lists of alternative " "package names, separated by vertical bar symbols <literal>|</literal> (pipe " "symbols)." msgstr "" "Tous ces champs ont une syntaxe uniforme. Il s'agit d'une liste de paquets " "séparés par des virgules. Ces noms de paquets peuvent aussi être une liste " "d'alternatives, séparés par des barres verticales <literal>|</literal> " "(symbole tube ou « pipe »)." #. type: Content of: <book><chapter><section><para> msgid "" "The fields may restrict their applicability to particular versions of each " "named package. The restriction of each individual package is listed in " "parentheses after its name, and should contain a relation from the list " "below followed by a version number value. The relations allowed are: " "<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " "<literal>>=</literal>, and <literal>>></literal> for strictly " "lower, lower or equal, exactly equal, greater or equal, and strictly " "greater, respectively. For example," msgstr "" "Le domaine d'application des champs peut être restreint à des versions " "particulières de chaque paquet nommé. La restriction de chaque paquet " "particulier est indiqué entre parenthèses après son nom, et devraient " "contenir une relation de la liste suivante suivie par une valeur de numéro " "de version. Les relations autorisées sont <literal><<</literal>, " "<literal><=</literal>, <literal>=</literal>, <literal>>=</literal> et " "<literal>>></literal> (respectivement : strictement plus petit, plus " "petit ou égal, exactement égal, plus grand ou égal et strictement plus " "grand). Par exemple :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" msgstr "" "Depends: toto (>= 1.2), libbidule1 (= 1.3.4)\n" "Conflicts: machin\n" "Recommends: libmachin4 (>> 4.0.7)\n" "Suggests: truc\n" "Replaces: truc (<< 5), truc-toto (<= 7.6)\n" #. type: Content of: <book><chapter><section><para> msgid "" "The last feature you need to know about is <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." msgstr "" "La dernière fonctionnalité à connaître est <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates shared library dependencies for binary " "packages. It generates a list of <ulink url=\"&elf;\">ELF</ulink> " "executables and shared libraries it has found for each binary package. This " "list is used for substituting <literal>${shlibs:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calcule les dépendances en bibliothèques " "partagées pour les paquets binaires. Il crée une liste d'exécutables <ulink " "url=\"&elf;\">ELF</ulink> et de bibliothèques partagées trouvées pour chaque " "paquet binaire. Cette liste est utilisée en remplacement de <literal>" "${shlibs:Depends}</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates Perl dependencies. It generates a " "list of a dependencies on <literal>perl</literal> or <literal>perlapi</" "literal> for each binary package. This list is used for substituting " "<literal>${perl:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calcule les dépendances de Perl. Il crée une " "liste de dépendances vers <literal>perl</literal> ou <literal>perlapi</" "literal> pour chaque paquet binaire. Cette liste est utilisée en " "remplacement de <literal>${perl:Depends}</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Some <systemitem role=\"package\">debhelper</systemitem> commands may cause " "the generated package to depend on some additional packages. All such " "commands generate a list of required packages for each binary package. This " "list is used for substituting <literal>${misc:Depends}</literal>." msgstr "" "Certaines commandes de <systemitem role=\"package\">debhelper</systemitem> " "peuvent rendre le paquet créé dépendant de paquets supplémentaires. Toutes " "ces commandes créent une liste de paquets nécessaires pour chaque paquet " "binaire. Cette liste est utilisée en remplacement de <literal>${misc:Depends}" "</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> generates <filename>DEBIAN/control</filename> for " "each binary package while substituting <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." msgstr "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> crée <filename>DEBIAN/control</filename> pour " "chaque paquet binaire en substituant <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." #. type: Content of: <book><chapter><section><para> msgid "" "Having said all that, we can leave the <literal>Depends</literal> field " "exactly as it is now, and insert another line after it saying " "<literal>Suggests: file</literal>, because <systemitem role=\"package" "\">gentoo</systemitem> can use some features provided by the <systemitem " "role=\"package\">file</systemitem> package." msgstr "" "Cela dit, le champ <literal>Depends</literal> peut rester exactement comme " "il est maintenant, et une autre ligne avec <literal>Suggests: file</literal> " "peut être ajoutée, car <systemitem role=\"package\">gentoo</systemitem> peut " "utiliser certaines fonctionnalités fournies par le paquet <systemitem role=" "\"package\">file</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the Homepage URL. Let's assume this to be at <ulink url=\"&gentoo;" "\"/>." msgstr "" "La ligne 9 est l'URL de la page d'accueil. Supposons qu'il s'agisse de " "<ulink url=\"&gentoo;\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 12 is the short description. Terminals are conventionally 80 columns " "wide so this shouldn't be longer than about 60 characters. I'll change it " "to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgstr "" "La ligne 12 est la description courte. Les terminaux sont larges de " "80 colonnes par convention, aussi cela ne devrait pas dépasser les " "60 caractères. <literal>fully GUI-configurable, two-pane X file manager</" "literal> convient ici." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "These descriptions are in English. Translations of these descriptions are " "provided by <ulink url=\"&ddtp;\">The Debian Description Translation Project " "- DDTP</ulink>." msgstr "" "Ces descriptions sont en anglais. Les traductions de ces descriptions sont " "fournies par <ulink url=\"&ddtp;\">Le projet de traduction de descriptions " "de Debian — DDTP</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 13 is where the long description goes. This should be a paragraph " "which gives more details about the package. Column 1 of each line should be " "empty. There must be no blank lines, but you can put a single <literal>.</" "literal> (dot) in a column to simulate that. Also, there must be no more " "than one blank line after the long description. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "À la ligne 13 commence la description longue. Celle-ci devrait être un " "paragraphe qui donne plus de détails sur le paquet. La colonne 1 de chaque " "ligne doit être vide. Il ne peut y avoir de ligne vide, mais vous pouvez " "mettre un seul <literal>.</literal> (point) dans la colonne 2 pour simuler " "une ligne vide. De plus, il ne peut pas y avoir plus d'une ligne vide après " "la description longue. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-bpp-vcs;\">Debian Developer's Reference, 6.2.5. " "\"Version Control System location\"</ulink>." msgstr "" "Consultez la <ulink url=\"&devref-bpp-vcs;\">référence du Développeur " "Debian, 6.2.5. « Emplacement du système de gestion de versions »</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "We can insert <literal>Vcs-*</literal> fields to document the Version " "Control System (VCS) location between lines 6 and 7. <placeholder type=" "\"footnote\" id=\"0\"/> Let's assume that the <systemitem role=\"package" "\">gentoo</systemitem> package has its VCS located in the Debian Alioth Git " "Service at <literal>git://git.debian.org/git/collab-maint/gentoo.git</" "literal>." msgstr "" "Le champ <literal>Vcs-*</literal> pour documenter le système de gestion de " "versions (VCS) peut être inséré entre les lignes 6 et 7. <placeholder type=" "\"footnote\" id=\"0\"/> Considérons que le paquet <systemitem role=\"package" "\">gentoo</systemitem> a son VCS localisé sur le service Git d'Alioth en " "<literal>git://git.debian.org/git/collab-maint/gentoo.git</literal>." #. type: Content of: <book><chapter><section><para> msgid "Finally, here is the updated <filename>control</filename> file:" msgstr "Finalement, voici le fichier <filename>control</filename> mis à jour :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Prénom Nom <votre.adresse.mail@example.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>copyright</filename>" msgstr "<filename>copyright</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains information about the copyright and license of the " "upstream sources. <ulink url=\"&policy-copyright;\">Debian Policy Manual, " "12.5 \"Copyright information\"</ulink> dictates its content and <ulink url=" "\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</filename></" "ulink> provides guidelines for its format." msgstr "" "Ce fichier contient des renseignements sur le copyright et la licence les " "sources amont. La <ulink url=\"&policy-copyright;\">Charte Debian, " "12.5 « Informations sur le copyright »</ulink> impose son contenu et la " "<ulink url=\"&dep5;\">DEP-5 : <filename>debian/copyright</filename> " "analysable automatiquement</ulink> fournit des directives pour son format." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> can give you a template <filename>copyright</" "filename> file. Let's use the <literal>--copyright gpl2</literal> option " "here to get a template file for the <systemitem role=\"package\">gentoo</" "systemitem> package released under GPL-2." msgstr "" "<command>dh_make</command> peut proposer un modèle de fichier " "<filename>copyright</filename>. L'option <literal>--copyright gpl2</literal> " "peut être utilisée ici pour obtenir un modèle de fichier pour le paquet " "<systemitem role=\"package\">gentoo</systemitem> publié sous GPL-2." #. type: Content of: <book><chapter><section><para> msgid "" "You must fill in missing information to complete this file, such as the " "place you got the package from, the actual copyright notice, and the " "license. For certain common free software licenses (GNU GPL-1, GNU GPL-2, " "GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0, " "or the Artistic license), you can just refer to the appropriate file in the " "<filename>/usr/share/common-licenses/</filename> directory that exists on " "every Debian system. Otherwise, you must include the complete license." msgstr "" "Les choses à ajouter obligatoirement à ce fichier sont l'endroit où vous " "avez trouvé ce paquet, ainsi que le copyright et la licence d'exploitation " "réelle. Si la licence est une des licences de logiciel libre populaires (GNU " "GPL-1, GNU GPL-2, GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU " "FDL-1.3, Apache ou Artistic), vous pouvez juste faire référence au fichier " "approprié dans le répertoire <filename>/usr/share/common-licenses/</" "filename>, qui existe sur chaque système Debian. Sinon, vous devez inclure " "la licence en entier." #. type: Content of: <book><chapter><section><para> msgid "" "In short, here's what <systemitem role=\"package\">gentoo</systemitem>'s " "<filename>copyright</filename> file should look like:" msgstr "" "En bref, voici ce à quoi le fichier <filename>copyright</filename> de " "<systemitem role=\"package\">gentoo</systemitem> devrait ressembler :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" msgstr "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Prénom Nom <votre.adresse.mail@example.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 2010 Prénom Nom <votre.adresse.mail@example.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please follow the HOWTO provided by the ftpmasters and sent to debian-devel-" "announce: <ulink url=\"&howto-copyright;\"/>." msgstr "" "Veuillez suivre les indications fournies par les responsables de l'archive " "et envoyées sur la liste debian-devel-announce : <ulink url=\"&howto-" "copyright;\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>changelog</filename>" msgstr "<filename>changelog</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This is a required file, which has a special format described in <ulink url=" "\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</" "ulink>. This format is used by <command>dpkg</command> and other programs " "to obtain the version number, revision, distribution, and urgency of your " "package." msgstr "" "C'est un fichier obligatoire, avec un format spécifique décrit dans la " "<ulink url=\"&policy-dpkgchangelog;\">Charte Debian, 4.4 « debian/" "changelog »</ulink>. Ce format est utilisé par <command>dpkg</command> et " "d'autres programmes pour obtenir le numéro de version, de révision, de " "distribution et l'urgence de votre paquet." #. type: Content of: <book><chapter><section><para> msgid "" "For you, it is also important, since it is good to have documented all " "changes you have done. It will help people downloading your package to see " "whether there are issues with the package that they should know about. It " "will be saved as <filename>/usr/share/doc/gentoo/changelog.Debian.gz</" "filename> in the binary package." msgstr "" "Pour vous, il est également important, puisqu'il est bon de documenter " "toutes les modifications effectuées. Cela permettra aux personnes qui " "téléchargent le paquet de voir s'il y a des problèmes à connaître. Il sera " "conservé en <filename>/usr/share/doc/gentoo/changelog.Debian.gz</filename> " "dans le paquet binaire." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one, and this is what it looks " "like:" msgstr "" "<command>dh_make</command> en crée un par défaut, et il ressemble à ceci :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> est le numéro de bogue de votre ITP>\n" "4\n" "5 -- Prénom Nom <votre.adresse.mail@example.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Line 1 is the package name, version, distribution, and urgency. The name " "must match the source package name; distribution should be " "<literal>unstable</literal>, and urgency shouldn't be changed to anything " "higher than <literal>low</literal>. :-)" msgstr "" "La ligne 1 contient le nom du paquet, la version, la distribution et " "l'urgence. Le nom doit correspondre au nom du paquet source, la distribution " "devrait être <literal>unstable</literal>, et l'urgence ne devrait pas être " "changée en quoi que ce soit de supérieur à <literal>low</literal>. :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 3-5 are a log entry, where you document changes made in this package " "revision (not the upstream changes - there is a special file for that " "purpose, created by the upstream authors, which you will later install as " "<filename>/usr/share/doc/gentoo/changelog.gz</filename>). Let's assume your " "ITP (Intent To Package) bug report number was <literal>12345</literal>. New " "lines must be inserted just below the uppermost line that begins with " "<literal>*</literal> (asterisk). You can do it with <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "or manually with a text editor." msgstr "" "Les lignes 3 à 5 composent l'entrée de journal, où vous documentez les " "modifications effectuées dans la révision du paquet (pas les modifications " "amont — il y a un fichier spécial pour cela, créé par les auteurs amont, que " "vous installerez comme <filename>/usr/share/doc/gentoo/changelog.gz</" "filename>). Supposons que votre rapport de bogue ITP (« Intent To Package » " "ou intention d'empaqueter) avait pour numéro <literal>12345</literal>. Les " "nouvelles lignes doivent être insérées juste en dessous de la première ligne " "qui commence avec une astérisque (<literal>*</literal>). Vous pouvez " "utiliser <citerefentry> <refentrytitle>dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> pour le modifier." #. type: Content of: <book><chapter><section><para> msgid "" "In order to prevent a package being accidentally uploaded before completing " "the package, it is good idea to change the distribution value to an invalid " "distribution value <literal>UNRELEASED</literal>." msgstr "" "Pour éviter d'envoyer un paquet accidentellement avant qu'il ne soit " "terminé, il vaut mieux modifier la valeur de distribution à " "<literal>UNRELEASED</literal> qui n'est pas valable." #. type: Content of: <book><chapter><section><para> msgid "You will end up with something like this:" msgstr "Vous obtiendrez quelque chose comme :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" msgstr "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Prénom Nom <votre.adresse.mail@example.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "If you use the <literal>dch -r</literal> command to make this last change, " "please make sure to save the <filename>changelog</filename> file explicitly " "by the editor." msgstr "" "Si vous utilisez la commande <literal>dch -r</literal> pour faire cette " "dernière modification, n'oublier pas de sauver le fichier " "<filename>changelog</filename> explicitement dans l'éditeur." #. type: Content of: <book><chapter><section><para> msgid "" "Once you are satisfied with all the changes and documented them in " "<filename>changelog</filename>, you should change the distribution value " "from <literal>UNRELEASED</literal> to the target distribution value " "<literal>unstable</literal> (or even <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Une fois satisfait de toutes les modifications, correctement documentées " "dans <filename>changelog</filename>, vous devriez modifier la valeur de " "distribution d'<literal>UNRELEASED</literal> à la valeur de distribution " "cible <literal>unstable</literal> (ou même <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can read more about updating the <filename>changelog</filename> file " "later in <xref linkend=\"update\"/>." msgstr "" "Vous pouvez en apprendre plus sur la mise à jour du fichier " "<filename>changelog</filename> plus loin en <xref linkend=\"update\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>rules</filename>" msgstr "<filename>rules</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Now we need to take a look at the exact rules which <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> will use to actually create the package. This file is in fact " "another <filename>Makefile</filename>, but different from the one(s) in the " "upstream source. Unlike other files in <filename>debian</filename>, this " "one is marked as executable." msgstr "" "Il faut maintenant examiner les règles utilisées par <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> pour créer vraiment le paquet. Ce fichier est en fait un autre " "<filename>Makefile</filename>, mais différent de ceux des sources amont. " "Contrairement aux autres fichiers de <filename>debian</filename>, celui-ci " "est marqué comme exécutable." #. type: Content of: <book><chapter><section><section><title> msgid "Targets of the <filename>rules</filename> file" msgstr "Cibles du fichier <filename>rules</filename>" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can start learning how to write <filename>Makefile</filename> from " "<ulink url=\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. The " "full documentation is available as <ulink url=\"&gnu-make;\"></ulink> or as " "the <systemitem role=\"package\">make-doc</systemitem> package in the " "<literal>non-free</literal> archive area." msgstr "" "Vous pouvez apprendre les bases pour écrire un <filename>Makefile</filename> " "dans la <ulink url=\"&debref-make;\">référence Debian, 12.2. « Make »</" "ulink>. La documentation complète est disponible en <ulink url=\"&gnu-make;" "\"></ulink> et dans le paquet <systemitem role=\"package\">make-doc</" "systemitem> de la partie <literal>non-free</literal> de l'archive." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> explains the details." msgstr "" "La <ulink url=\"&policy-debianrules;\">Charte Debian, 4.9 « Script de " "construction principal : debian/rules »</ulink> explique les détails." #. type: Content of: <book><chapter><section><section><para> msgid "" "Every <filename>rules</filename> file, like any other <filename>Makefile</" "filename>, consists of several rules, each of which defines a target and how " "it is carried out. <placeholder type=\"footnote\" id=\"0\"/> A new rule " "begins with its target declaration in the first column. The following lines " "beginning with the TAB code (ASCII 9) specify the recipe for carrying out " "that target. Empty lines and lines beginning with <literal>#</literal> " "(hash) are treated as comments and ignored. <placeholder type=\"footnote\" " "id=\"1\"/>" msgstr "" "Tous les fichiers <filename>rules</filename>, comme n'importe quel " "<filename>Makefile</filename>, sont constitués de plusieurs règles, chacune " "d'entre elle définissant une cible et comment la réaliser. <placeholder type=" "\"footnote\" id=\"0\"/> Une nouvelle règle commence avec la déclaration de " "sa cible en première colonne. Les lignes suivantes commençant par une " "tabulation (caractère ASCII 9 : TAB) indiquent ce qui doit être réalisé pour " "cette cible. Les lignes vides et celles qui commencent par dièse " "(<literal>#</literal>) sont traitées comme des commentaires et sont " "ignorées. <placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><para> msgid "" "A rule that you want to execute is invoked by its target name as a command " "line argument. For example, <literal>debian/rules <replaceable>build</" "replaceable></literal> and <literal>fakeroot make -f debian/rules " "<replaceable>binary</replaceable></literal> execute rules for " "<literal><replaceable>build</replaceable></literal> and " "<literal><replaceable>binary</replaceable></literal> targets respectively." msgstr "" "Une règle que vous voulez exécuter est appelée par le nom de sa cible comme " "un argument de la ligne de commande. Par exemple <literal>debian/rules " "<replaceable>build</replaceable></literal> et <literal>fakeroot make -f " "debian/rules <replaceable>binary</replaceable></literal> exécutent " "respectivement les règles pour les cibles <literal><replaceable>build</" "replaceable></literal> et <literal><replaceable>binary</replaceable></" "literal>." #. type: Content of: <book><chapter><section><section><para> msgid "Here is a simplified explanation of the targets:" msgstr "Voici une explication simplifiée des cibles :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>clean</literal> target: to clean all compiled, generated, and " "useless files in the build-tree. (Required)" msgstr "" "<literal>clean</literal> (obligatoire) : pour nettoyer tous les fichiers " "compilés, créés, et inutiles de l'arborescence de construction ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build</literal> target: to build the source into compiled programs " "and formatted documents in the build-tree. (Required)" msgstr "" "<literal>build</literal> (obligatoire) : pour construire les programmes " "compilés et les documents formatés à partir des sources dans l'arborescence " "de construction ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-arch</literal> target: to build the source into arch-" "dependent compiled programs in the build-tree. (Required)" msgstr "" "<literal>build-arch</literal> (obligatoire) : pour construire les programmes " "compilés dépendants de l'architecture à partir des sources dans " "l'arborescence de construction ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-indep</literal> target: to build the source into arch-" "independent formatted documents in the build-tree. (Required)" msgstr "" "<literal>build-indep</literal> (obligatoire) : pour construire les documents " "formatés indépendants de l'architecture à partir des sources dans " "l'arborescence de construction ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>install</literal> target: to install files into a file tree for " "each binary package under the <filename>debian</filename> directory. If " "defined, <literal>binary*</literal> targets effectively depend on this " "target. (Optional)" msgstr "" "<literal>install</literal> (optionnelle) : pour installer les fichiers dans " "l'arborescence de chaque paquet binaire dans le répertoire <filename>debian</" "filename>. Si elles existent, les cibles <literal>binary*</literal> " "dépendent en réalité de cette cible." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage</literal> as in <xref " "linkend=\"completebuild\"/>." msgstr "" "Cette cible est utilisée par <literal>dpkg-buildpackage</literal> comme en " "<xref linkend=\"completebuild\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary</literal> target: to create all binary packages (effectively " "a combination of <literal>binary-arch</literal> and <literal>binary-indep</" "literal> targets). (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary</literal> (obligatoire) : pour créer tous les paquets " "binaires (en réalité, une combinaison des cibles <literal>binary-arch</" "literal> et <literal>binary-indep</literal>) ; <placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage -B</literal> as in <xref " "linkend=\"autobuilder\"/>." msgstr "" "Cette cible est utilisée par <literal>dpkg-buildpackage -B</literal> comme " "en <xref linkend=\"autobuilder\"/>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-arch</literal> target: to create arch-dependent " "(<literal>Architecture: any</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-arch</literal> (obligatoire) : pour créer tous les paquets " "binaires dépendants de l'architecture (<literal>Architecture: any</" "literal>) dans le répertoire parent ;<placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage -A</literal>." msgstr "Cette cible est utilisée par <literal>dpkg-buildpackage -A</literal>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-indep</literal> target: to create arch-independent " "(<literal>Architecture: all</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-indep</literal> (obligatoire) : pour créer tous les paquets " "binaires indépendants de l'architecture (<literal>Architecture: all</" "literal>) dans le répertoire parent ;<placeholder type=\"footnote\" id=\"0\"/" ">" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>get-orig-source</literal> target: to obtain the most recent version " "of the original source package from an upstream archive. (Optional)" msgstr "" "<literal>get-orig-source</literal> (optionnelle) : pour obtenir la dernière " "version du paquet source d'origine à partir d'une archive amont." #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably overwhelmed by now, but things are much simpler upon " "examination of the <filename>rules</filename> file that <command>dh_make</" "command> gives us as a default." msgstr "" "Vous vous sentez sans doute submergé pour l'instant, mais les choses vont " "vraiment se simplifier à l'examen du fichier <filename>rules</filename> que " "<command>dh_make</command> donne par défaut." #. type: Content of: <book><chapter><section><section><title> msgid "Default <filename>rules</filename> file" msgstr "Fichier <filename>rules</filename> par défaut" #. type: Content of: <book><chapter><section><section><para> msgid "" "Newer <command>dh_make</command> generates a very simple but powerful " "default <filename>rules</filename> file using the <command>dh</command> " "command:" msgstr "" "Les versions récentes de <command>dh_make</command> créent un fichier " "<filename>rules</filename> par défaut très simple mais aussi très puissant " "en utilisant la commande <command>dh</command> :" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" msgstr "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Exemple de debian/rules utilisant debhelper.\n" " 4 # Ce fichier a initialement été écrit par Joey Hess et Craig Small.\n" " 5 # En tant qu'exception particulière, lorsque ce fichier est copié\n" " 6 # par dh-make dans un fichier de sortie dh-make, vous pouvez\n" " 7 # utiliser ce fichier sans restriction. Cette exception particulière\n" " 8 # a été ajoutée par Craig Small dans la version 0.37 de dh-make.\n" " 9\n" "10 # Décommentez la ligne suivante pour le mode volubile.\n" "11 #export DH_VERBOSE=1\n" "12\n" "13 %:\n" "14 dh $@\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "(I've added the line numbers. In the actual <filename>rules</filename> " "file, the leading spaces are a TAB code.)" msgstr "" "(Les numéros de ligne ont été ajoutés. Dans le vrai fichier <filename>rules</" "filename>, le grand espace est une tabulation.)" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably familiar with lines like line 1 from shell and Perl " "scripts. It tells the operating system that this file is to be processed " "with <filename>/usr/bin/make</filename>." msgstr "" "Vous avez probablement l'habitude de la ligne 1 avec les scripts shell et " "Perl. Cela signifie que ce fichier doit être exécuté par <filename>/usr/bin/" "make</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Line 10 can be uncommented to set the <literal>DH_VERBOSE</literal> variable " "to 1, so that the <command>dh</command> command outputs which <command>dh_*</" "command> commands it is executing. You can also add a line <literal>export " "DH_OPTIONS=-v</literal> here, so that each <command>dh_*</command> command " "outputs which commands it is executing. This helps you to understand " "exactly what is going on behind this simple <filename>rules</filename> file " "and to debug its problems. This new <command>dh</command> is designed to " "form a core part of the <systemitem role=\"package\">debhelper</systemitem> " "tools, and not to hide anything from you." msgstr "" "La ligne 11 peut être décommentée pour configurer la variable " "<literal>DH_VERBOSE</literal> à 1, afin que la commande <command>dh</" "command> affiche les commandes <command>dh_*</command> qu'elle exécute. Vous " "pouvez également ajouter ici une ligne <literal>export DH_OPTIONS=-v</" "literal>, afin que chaque commande <command>dh_*</command> affiche les " "commandes qu'elle exécute. Ceci permet de comprendre ce qui se passe " "exactement derrière ce simple fichier <filename>rules</filename>, et de " "déboguer ses problèmes. Ce nouveau <command>dh</command> est conçu pour " "constituer un élément essentiel des outils <systemitem role=\"package" "\">debhelper</systemitem> sans rien vous cacher." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "This uses the new <systemitem role=\"package\">debhelper</systemitem> v7+ " "features. Its design concepts are explained in <ulink url=\"&debhelper-" "slides;\">Not Your Grandpa's Debhelper</ulink> presented at DebConf9 by the " "<systemitem role=\"package\">debhelper</systemitem> upstream. Under " "<literal>lenny</literal>, <command>dh_make</command> created a much more " "complicated <filename>rules</filename> file with explicit rules and many " "<command>dh_*</command> scripts listed for each one, most of which are now " "unnecessary (and show the package's age). The new <command>dh</command> " "command is simpler and frees us from doing the routine work \"manually\". " "You still have full power to customize the process with " "<literal>override_dh_*</literal> targets. See <xref linkend=\"customrules\"/" ">. It is based only on the <systemitem role=\"package\">debhelper</" "systemitem> package and does not obfuscate the package building process as " "the <systemitem role=\"package\">cdbs</systemitem> package tends to." msgstr "" "Ceci utilise les fonctionnalités du nouveau <systemitem role=\"package" "\">debhelper</systemitem> v7+. Ses concepts fondateurs sont expliqués dans " "la présentation <ulink url=\"&debhelper-slides;\">Pas le debhelper de papy</" "ulink> réalisé lors de la dixième conférence Debian par l'auteur de " "<systemitem role=\"package\">debhelper</systemitem>. Sous <literal>Lenny</" "literal>, <command>dh_make</command> créait un fichier <filename>rules</" "filename> beaucoup plus compliqué avec des règles explicites et de nombreux " "scripts <command>dh_*</command> énumérés pour chacune, la plupart n'étant " "plus nécessaires maintenant (et montre l'age du paquet). La nouvelle " "commande <command>dh</command> plus simple libère le responsable de ce " "travail de routine « manuel ». Vous gardez les pleins pouvoirs de " "personnalisation du processus avec les cibles <literal>override_dh_*</" "literal>. Consultez <xref linkend=\"customrules\"/>. Il se base uniquement " "sur le paquet <systemitem role=\"package\">debhelper</systemitem> et ne rend " "pas obscur le processus de construction comme le paquet <systemitem role=" "\"package\">cdbs</systemitem> à tendance à le faire." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can verify the actual sequences of <command>dh_*</command> programs " "invoked for a given <literal><replaceable>target</replaceable></literal> " "without really running them by invoking <literal>dh --no-act " "<replaceable>target</replaceable></literal> or <literal>debian/rules -- '--" "no-act <replaceable>target</replaceable>'</literal>." msgstr "" "Vous pouvez vérifier les réelles séquences des programmes <command>dh_*</" "command> pour une <literal><replaceable>cible</replaceable></literal> donnée " "sans vraiment les exécuter en appelant <literal>dh --no-act " "<replaceable>cible</replaceable></literal> ou <literal>debian/rules -- '--no-" "act <replaceable>cible</replaceable>'</literal>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Lines 12 and 13 are where all the work is done with an implicit rule using " "the pattern rule. The percent sign means \"any targets\", which then call a " "single program, <command>dh</command>, with the target name. <placeholder " "type=\"footnote\" id=\"0\"/> The <command>dh</command> command is a wrapper " "script which runs appropriate sequences of <command>dh_*</command> programs " "depending on its argument. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "Tout le travail est réalisé aux lignes 13 et 14 avec une règle implicite " "utilisant la règle de motif. Le caractère pourcent (<literal>%</literal>) " "représente « toutes les cibles » qui appelle alors un seul programme, " "<command>dh</command>, avec le nom de la cible. <placeholder type=\"footnote" "\" id=\"0\"/> La commande <command>dh</command> est un script d'emballage " "qui exécute les séquences opportunes de programmes <command>dh_*</command> " "dépendant de ses paramètres : <placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>, " "which in turn runs the following:" msgstr "" "<literal>debian/rules clean</literal> exécute <literal>dh clean</literal>, " "qui exécute à son tour :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" msgstr "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules build</literal> runs <literal>dh build</literal>; " "which in turn runs the following:" msgstr "" "<literal>debian/rules build</literal> exécute <literal>dh build</literal>, " "qui exécute à son tour :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" msgstr "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "The following example assumes your <filename>debian/compat</filename> has a " "value equal or more than 9 to avoid invoking any python support commands " "automatically." msgstr "" "L'exemple suivant suppose que <filename>debian/compat</filename> a une " "valeur au moins égale à 9 pour éviter d'invoquer une commande d'assistance " "Python automatiquement." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " "binary</literal>; which in turn runs the following<placeholder type=" "\"footnote\" id=\"0\"/>:" msgstr "" "<literal>fakeroot debian/rules binary</literal> exécute <literal>fakeroot dh " "binary</literal>, qui exécute à son tour : <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" msgstr "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-arch</literal> runs <literal>fakeroot " "dh binary-arch</literal>; which in turn runs the same sequence as " "<literal>fakeroot dh binary</literal> but with the <literal>-a</literal> " "option appended for each command." msgstr "" "<literal>fakeroot debian/rules binary-arch</literal> exécute " "<literal>fakeroot dh binary-arch</literal>, qui exécute à son tour la même " "séquence que <literal>fakeroot dh binary</literal> mais avec l'option " "<literal>-a</literal> ajoutée à chaque commande ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-indep</literal> runs <literal>fakeroot " "dh binary-indep</literal>; which in turn runs almost the same sequence as " "<literal>fakeroot dh binary</literal> but excluding <command>dh_strip</" "command>, <command>dh_makeshlibs</command>, and <command>dh_shlibdeps</" "command> with the <literal>-i</literal> option appended for each remaining " "command." msgstr "" "<literal>fakeroot debian/rules binary-indep</literal> exécute " "<literal>fakeroot dh binary-indep</literal>, qui exécute à son tour à peu " "près la même séquence que <literal>fakeroot dh binary</literal> à " "l'exception de <command>dh_strip</command>, <command>dh_makeshlibs</command> " "et <command>dh_shlibdeps</command>, et avec l'option <literal>-i</literal> " "ajoutée à chaque commande restante." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "For complete information on what all these <command>dh_*</command> scripts " "do exactly, and what their other options are, please read their respective " "manual pages and the <systemitem role=\"package\">debhelper</systemitem> " "documentation." msgstr "" "Pour obtenir des renseignements complets sur le rôle exact de tout ces " "scripts <command>dh_*</command> et sur leurs options, veuillez lire leur " "page de manuel respective et la documentation de <systemitem role=\"package" "\">debhelper</systemitem>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "These commands support other build environments such as <filename>setup.py</" "filename> which can be listed by executing <literal>dh_auto_build --list</" "literal> in a package source directory." msgstr "" "Ces commandes gèrent d'autres environnements, comme <filename>setup.py</" "filename>, qui peuvent être énumérés en exécutant <literal>dh_auto_build --" "list</literal> dans le répertoire d'un paquet source." #. type: Content of: <book><chapter><section><section><para> msgid "" "The functions of <command>dh_*</command> commands are largely self-evident " "from their names. <placeholder type=\"footnote\" id=\"0\"/> There are a few " "notable ones that are worth giving (over)simplified explanations here " "assuming a typical build environment based on a <filename>Makefile</" "filename>. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "Le rôle des commandes <command>dh_*</command> est presque évident d'après " "leur nom. <placeholder type=\"footnote\" id=\"0\"/> Les plus remarquables " "d'entre elles valent la peine d'être (très) brièvement présentées de façon " "simplifiée, dans l'hypothèse d'un environnement de construction basé sur un " "<filename>Makefile</filename> : <placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>distclean</literal>, <literal>realclean</literal>, " "or <literal>clean</literal>, and executes that." msgstr "" "En fait il recherche la première cible disponible dans le " "<filename>Makefile</filename> parmi <literal>distclean</literal>, " "<literal>realclean</literal> et <literal>clean</literal> et l'exécute." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_clean</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>distclean</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_clean</command> exécute normalement ce qui suit si un " "<filename>Makefile</filename> fournit la cible <literal>distclean</" "literal> : <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make distclean\n" msgstr "make distclean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_configure</command> usually executes the following if " "<filename>./configure</filename> exists (arguments abbreviated for " "readability)." msgstr "" "<command>dh_auto_configure</command> exécute normalement ce qui suit si " "<filename>./configure</filename> existe (les paramètres sont abrégés pour la " "lisibilité) :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" msgstr "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_build</command> usually executes the following to execute " "the first target of <filename>Makefile</filename> if it exists." msgstr "" "<command>dh_auto_build</command> exécute normalement ce qui suit pour " "exécuter la première cible de <filename>Makefile</filename> si elle existe :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make\n" msgstr "make\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>test</literal> or <literal>check</literal>, and " "executes that." msgstr "" "En fait il recherche dans le <filename>Makefile</filename> la première cible " "disponible parmi <literal>test</literal> et <literal>check</literal> et " "l'exécute." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_test</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>test</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_test</command> exécute normalement ce qui suit si un " "<filename>Makefile</filename> fournit la cible <literal>test</literal> : " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make test\n" msgstr "make test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_install</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>install</literal> " "target (line folded for readability)." msgstr "" "<command>dh_auto_install</command> exécute normalement ce qui suit si un " "<filename>Makefile</filename> fournit la cible <literal>install</literal> " "(la ligne est coupée pour la lisibilité) :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" msgstr "" "make install \\\n" " DESTDIR=<replaceable>/chemin/vers</replaceable>/<replaceable>paquet</replaceable>_<replaceable>version</replaceable>-<replaceable>révision</replaceable>/debian/<replaceable>paquet</replaceable>\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "All targets which require the <command>fakeroot</command> command will " "contain <command>dh_testroot</command>, which exits with an error if you are " "not using this command to pretend to be root." msgstr "" "Toutes les cibles ayant besoin de la commande <command>fakeroot</command> " "contiendront <command>dh_testroot</command>, qui se terminera en erreur si " "vous ne vous n'utilisez pas cette commande afin de vous faire passer pour le " "superutilisateur." #. type: Content of: <book><chapter><section><section><para> msgid "" "The important part to know about the <filename>rules</filename> file created " "by <command>dh_make</command> is that it is just a suggestion. It will work " "for most packages but for more complicated ones, don't be afraid to " "customize it to fit your needs." msgstr "" "Le plus important à propos du fichier <filename>rules</filename> créé par " "<command>dh_make</command>, c'est qu'il ne s'agit que d'une suggestion. Il " "fonctionnera pour la plupart des paquets, mais pour les plus compliqués, " "vous ne devez pas hésiter à le modifier pour le faire correspondre à vos " "besoins." #. type: Content of: <book><chapter><section><section><para> msgid "" "Although <literal>install</literal> is not a required target, it is " "supported. <literal>fakeroot dh install</literal> behaves like " "<literal>fakeroot dh binary</literal> but stops after <command>dh_fixperms</" "command>." msgstr "" "Bien que la cible <literal>install</literal> ne soit pas obligatoire, elle " "est prise en charge. <literal>fakeroot dh install</literal> se comporte " "comme <literal>fakeroot dh binary</literal> mais s'arrête après " "<command>dh_fixperms</command>." #. type: Content of: <book><chapter><section><section><title> msgid "Customization of <filename>rules</filename> file" msgstr "Personnalisation du fichier <filename>rules</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are many ways to customize the <filename>rules</filename> file created " "with the new <command>dh</command> command." msgstr "" "Il existe plusieurs façons de personnaliser le fichier <filename>rules</" "filename> créé avec la nouvelle commande <command>dh</command>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " "should activate its customization function by <literal>dh $@ --with " "<replaceable>custom-name</replaceable></literal>." msgstr "" "Si un paquet installe le fichier <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>nom_personnalise</replaceable>.pm</filename>, vous " "devriez déclencher sa fonction de personnalisation avec <literal>dh $@ --" "with <replaceable>nom-personnalise</replaceable></literal>." #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>dh $@</literal> command can be customized as follows. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La commande <literal>dh $@</literal> peut être personnalisée comme suit : " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "Use of the <command>dh_python2</command> command is preferred over use of " "<command>dh_pysupport</command> or <command>dh_pycentral</command> " "commands. Do not use the <command>dh_python</command> command." msgstr "" "L'utilisation de la commande <command>dh_python2</command> est préférable à " "<command>dh_pysupport</command> ou <command>dh_pycentral</command>. " "N'utilisez pas la commande <command>dh_python</command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_python2</command> command. (The best choice " "for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "ajout de l'assistance pour la commande <command>dh_python2</command> (la " "meilleure solution pour Python) : <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "ajout de <systemitem role=\"package\">python</systemitem> à <literal>Build-" "Depends</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python2</literal>." msgstr "utilisation de <literal>dh $@ --with python2</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python</" "systemitem> framework." msgstr "" "conséquence : gestion des modules Python avec la structure <systemitem role=" "\"package\">python</systemitem> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pysupport</command> command. (deprecated)" msgstr "" "ajout de l'assistance pour la commande <command>dh_pysupport</command> " "(obsolète) :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-support</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "ajout de <systemitem role=\"package\">python-support</systemitem> à " "<literal>Build-Depends</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with pysupport</literal>." msgstr "utilisation de <literal>dh $@ --with pysupport</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "support</systemitem> framework." msgstr "" "conséquence : gestion des modules Python avec la structure <systemitem role=" "\"package\">python-support</systemitem> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pycentral</command> command. (deprecated)" msgstr "" "ajout de l'assistance pour la commande <command>dh_pycentral</command> " "(obsolète) :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-central</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "ajout de <systemitem role=\"package\">python-central</systemitem> à " "<literal>Build-Depends</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python-central</literal> instead." msgstr "" "utilisation de <literal>dh $@ --with python-central</literal> à la place ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This also deactivates the <command>dh_pysupport</command> command." msgstr "" "conséquence : désactivation de la commande <command>dh_pysupport</command> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "central</systemitem> framework." msgstr "" "conséquence : gestion des modules Python avec la structure <systemitem role=" "\"package\">python-central</systemitem> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_installtex</command> command." msgstr "" "ajout de l'assistance pour la commande <command>dh_installtex</command> :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">tex-common</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "ajout de <systemitem role=\"package\">tex-common</systemitem> à " "<literal>Build-Depends</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with tex</literal> instead." msgstr "utilisation de <literal>dh $@ --with tex</literal> à la place ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This registers Type 1 fonts, hyphenation patterns, and formats with TeX." msgstr "" "conséquence : enregistrement des fontes de Type 1, des modèles de césure et " "des formats avec TeX ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_quilt_patch</command> and " "<command>dh_quilt_unpatch</command> commands." msgstr "" "ajout de l'assistance pour les commandes <command>dh_quilt_patch</command> " "et <command>dh_quilt_unpatch</command> :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">quilt</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "ajout de <systemitem role=\"package\">quilt</systemitem> à <literal>Build-" "Depends</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with quilt</literal> instead." msgstr "utilisation de <literal>dh $@ --with quilt</literal> à la place ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This applies and un-applies patches to the upstream source from files in the " "<filename>debian/patches</filename> directory for a source package in the " "<literal>1.0</literal> format." msgstr "" "conséquence : application et retrait des correctifs au code source amont à " "partir des fichiers du répertoire <filename>debian/patches</filename> pour " "les paquets source au format <literal>1.0</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This is not needed if you use the new <literal>3.0 (quilt)</literal> source " "package format." msgstr "" "inutile pour les paquets source au format <literal>3.0 (quilt)</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_dkms</command> command." msgstr "ajout de l'assistance pour la commande <command>dh_dkms</command> :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dkms</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "ajout de <systemitem role=\"package\">dkms</systemitem> à <literal>Build-" "Depends</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with dkms</literal> instead." msgstr "utilisation de <literal>dh $@ --with dkms</literal> à la place ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This correctly handles DKMS usage by kernel module packages." msgstr "" "conséquence : gestion correcte de l'utilisation de DKMS par les paquets de " "modules du noyau ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autotools-dev_updateconfig</command> and " "<command>dh_autotools-dev_restoreconfig</command> commands." msgstr "" "ajout de l'assistance pour les commandes <command>dh_autotools-" "dev_updateconfig</command> et <command>dh_autotools-dev_restoreconfig</" "command> :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">autotools-dev</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "ajout de <systemitem role=\"package\">autotools-dev</systemitem> à " "<literal>Build-Depends</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autotools-dev</literal> instead." msgstr "" "utilisation de <literal>dh $@ --with autotools-dev</literal> à la place ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates and restores <filename>config.sub</filename> and " "<filename>config.guess</filename>." msgstr "" "conséquence : mise à jour et restauration de <filename>config.sub</filename> " "et <filename>config.guess</filename> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autoreconf</command> and " "<command>dh_autoreconf_clean</command> commands." msgstr "" "ajout de l'assistance pour les commandes <command>dh_autoreconf</command> et " "<command>dh_autoreconf_clean</command> :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dh-autoreconf</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "ajout de <systemitem role=\"package\">dh-autoreconf</systemitem> à " "<literal>Build-Depends</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autoreconf</literal> instead." msgstr "utilisation de <literal>dh $@ --with autoreconf</literal> à la place ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates the GNU Build System files and restores them after the build." msgstr "" "conséquence : mise à jour des fichiers du système de construction GNU et " "restauration de ceux-ci après la construction ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_girepository</command> command." msgstr "" "ajout de l'assistance pour la commande <command>dh_girepository</command> :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">gobject-introspection</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "ajout de <systemitem role=\"package\">gobject-introspection</systemitem> à " "<literal>Build-Depends</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with gir</literal> instead." msgstr "utilisation de <literal>dh $@ --with gir</literal> à la place ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This computes dependencies for packages shipping GObject introspection data " "and generates the <literal>${gir:Depends}</literal> substitution variable " "for the package dependency." msgstr "" "conséquence : calcul des dépendances pour les paquets embarquant des données " "d'introspection GObject et génération de la variable de substitution " "<literal>${gir:Depends}</literal> pour les dépendances du paquet ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>bash</command> completion feature." msgstr "" "ajout de l'assistance pour la fonctionnalité de complétion de <command>bash</" "command> :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">bash-completion</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "ajout de <systemitem role=\"package\">bash-completion</systemitem> à " "<literal>Build-Depends</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with bash-completion</literal> instead." msgstr "" "utilisation de <literal>dh $@ --with bash-completion</literal> à la place ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This installs <command>bash</command> completions using a configuration file " "at <filename>debian/<replaceable>package</replaceable>.bash-completion</" "filename>." msgstr "" "conséquence : installation des complétions de <command>bash</command> en " "utilisant un fichier de configuration <filename>debian/<replaceable>paquet</" "replaceable>.bash-completion</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "Many <command>dh_*</command> commands invoked by the new <command>dh</" "command> command can be customized by the corresponding configuration files " "in the <filename>debian</filename> directory. See <xref linkend=\"dother\"/" "> and the manpage of each command for the customization of such features." msgstr "" "De nombreuses commandes <command>dh_*</command> invoquées par la nouvelle " "commande <command>dh</command> peuvent être personnalisées par les fichiers " "de configuration correspondants dans le répertoire <filename>debian</" "filename>. Consultez <xref linkend=\"dother\"/> et la page de manuel de " "chaque commande pour la personnalisation de telles fonctionnalités." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Under <literal>lenny</literal>, if you wanted to change the behavior of a " "<command>dh_*</command> script you found the relevant line in the " "<filename>rules</filename> file and adjusted it." msgstr "" "Avec <literal>Lenny</literal>, pour modifier le comportement d'un script " "<command>dh_*</command> il fallait trouver et adapter la ligne pertinente du " "fichier <filename>rules</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "You may need to run <command>dh_*</command> commands invoked via the new " "<command>dh</command> with added arguments, or to run additional commands " "with them, or to skip them. For such cases, you create an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target with " "its rule in the <filename>rules</filename> file defining an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target for the " "<command>dh_<replaceable>foo</replaceable></command> command you want to " "change. It basically says <emphasis>run me instead</emphasis>. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Certaines commandes <command>dh_*</command>, invoquées à l'aide de la " "nouvelle commande <command>dh</command>, doivent parfois être exécutées avec " "des arguments supplémentaires, exécuter d'autres commandes avec elles ou " "être ignorées. Pour cela, créez une cible " "<literal>override_dh_<replaceable>toto</replaceable></literal> avec sa règle " "dans le fichier <filename>rules</filename> définissant une cible " "<literal>override_dh_<replaceable>toto</replaceable></literal> pour " "remplacer la commande <command>dh_<replaceable>toto</replaceable></command>. " "Son rôle est fondamentalement de dire <emphasis>exécute-moi à la place</" "emphasis>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note that the <command>dh_auto_*</command> commands tend to do more " "than what has been discussed in this (over)simplified explanation to take " "care of all the corner cases. It is a bad idea to use " "<literal>override_dh_*</literal> targets to substitute simplified equivalent " "commands (except for the <literal>override_dh_auto_clean</literal> target) " "since it may bypass such smart <systemitem role=\"package\">debhelper</" "systemitem> features." msgstr "" "Les commandes <command>dh_auto_*</command> ont tendance à en faire plus que " "ce qui a été présenté ici (très) simplement, pour prendre en compte toutes " "les situations délicates. Évitez d'utiliser les cibles " "<literal>override_dh_*</literal> pour remplacer <literal>dh_*</literal> par " "des commandes équivalentes simplifiées (à part pour la cible " "<literal>override_dh_auto_clean</literal>) car elles pourraient contourner " "des fonctionnalités intelligentes de <systemitem role=\"package\">debhelper</" "systemitem>." #. type: Content of: <book><chapter><section><section><para> msgid "" "So, for instance, if you want to store system configuration data in the " "<filename>/etc/gentoo</filename> directory instead of the usual <filename>/" "etc</filename> directory for the recent <systemitem role=\"package\">gentoo</" "systemitem> package using Autotools, you can override the default <literal>--" "sysconfig=/etc</literal> argument given by the <command>dh_auto_configure</" "command> command to the <command>./configure</command> command by the " "following." msgstr "" "Ainsi, par exemple pour conserver les données de configuration dans le " "répertoire <filename>/etc/gentoo</filename> au lieu du répertoire consacré " "<filename>/etc</filename> du dernier paquet <systemitem role=\"package" "\">gentoo</systemitem> utilisant Autotools, il suffit de remplacer l'option " "<literal>--sysconfig=/etc</literal> donnée par la commande " "<command>dh_auto_configure</command> à la commande <command>./configure</" "command> avec :" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "The arguments given after <literal>--</literal> are appended to the default " "arguments of the auto-executed program to override them. Using the " "<command>dh_auto_configure</command> command is better than directly " "invoking the <command>./configure</command> command here since it will only " "override the <literal>--sysconfig</literal> argument and retains any other, " "benign arguments to the <command>./configure</command> command." msgstr "" "Les options données après <literal>--</literal> sont ajoutées aux options " "par défaut du programme exécuté automatiquement dans le but de les " "remplacer. L'utilisation de la commande <command>dh_auto_configure</command> " "est ici préférable à l'appel de la commande <command>./configure</command> " "puisqu'elle remplacera seulement l'option <literal>--sysconfig</literal> et " "conservera toutes les autres options à propos de la commande <command>./" "configure</command>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<command>dh_auto_build</command> without any arguments will execute the " "first target in the <filename>Makefile</filename>." msgstr "" "<command>dh_auto_build</command> sans autre option exécutera la première " "cible du <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify <literal>build</" "literal> as its target to build it <placeholder type=\"footnote\" id=\"0\"/" ">, you create an <literal>override_dh_auto_build</literal> target to enable " "this." msgstr "" "Si le <filename>Makefile</filename> des sources de <systemitem role=\"package" "\">gentoo</systemitem> nécessite de préciser <literal>build</literal> comme " "cible pour la construction <placeholder type=\"footnote\" id=\"0\"/>, vous " "pouvez créer une cible <literal>override_dh_auto_build</literal> pour cela." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" msgstr "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "This ensures <literal>$(MAKE)</literal> is run with all the default " "arguments given by the <command>dh_auto_build</command> command plus the " "<literal>build</literal> argument." msgstr "" "Ceci garanti l'exécution de <literal>$(MAKE)</literal> avec toutes les " "options par défaut données à la commande <command>dh_auto_build</command> " "avec en plus le paramètre <literal>build</literal>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify the " "<literal>packageclean</literal> target to clean it for the Debian package " "instead of using <literal>distclean</literal> or <literal>clean</literal> " "targets, you can create an <literal>override_dh_auto_clean</literal> target " "to enable thit." msgstr "" "Si le <filename>Makefile</filename> des sources de <systemitem role=\"package" "\">gentoo</systemitem> oblige à préciser la cible <literal>packageclean</" "literal> pour nettoyer le paquet Debian au lieu d'utiliser les cibles " "<literal>distclean</literal> ou <literal>clean</literal>, vous pouvez créer " "une cible <literal>override_dh_auto_clean</literal> pour l'activer." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" msgstr "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> contains a <literal>test</literal> target " "which you do not want to run for the Debian package building process, you " "can use an empty <literal>override_dh_auto_test</literal> target to skip it." msgstr "" "Si le <filename>Makefile</filename> des sources pour <systemitem role=" "\"package\">gentoo</systemitem> contient une cible <literal>test</literal> " "dont vous ne voulez pas pour exécuter le processus de construction du paquet " "Debian, vous pouvez utiliser une cible <literal>override_dh_auto_test</" "literal> vide pour l'omettre." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "override_dh_auto_test:\n" msgstr "override_dh_auto_test:\n" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "The <filename>debian/changelog</filename> and <filename>debian/NEWS</" "filename> files are always automatically installed. The upstream changelog " "is found by converting filenames to lower case and matching them against " "<filename>changelog</filename>, <filename>changes</filename>, " "<filename>changelog.txt</filename>, and <filename>changes.txt</filename>." msgstr "" "Les fichiers <filename>debian/changelog</filename> et <filename>debian/NEWS</" "filename> sont toujours installés automatiquement. Le journal de " "modification amont est trouvé en convertissant les noms de fichiers en " "minuscule puis en vérifiant l'existence de <filename>changelog</filename>, " "<filename>changes</filename>, <filename>changelog.txt</filename> et " "<filename>changes.txt</filename>." #. type: Content of: <book><chapter><section><section><para> msgid "" "If <systemitem role=\"package\">gentoo</systemitem> has an unusual upstream " "changelog file called <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> will not install that file by " "default. The <command>dh_installchangelogs</command> command requires " "<filename>FIXES</filename> as its argument to install it. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Si <systemitem role=\"package\">gentoo</systemitem> possède un fichier " "journal de modification inhabituel appelé <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> ne l'installera pas par défaut. La " "commande <command>dh_installchangelogs</command> a besoin de " "<filename>FIXES</filename> en option pour l'installer. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" msgstr "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you use the new <command>dh</command> command, use of explicit targets " "such as the ones listed in <xref linkend=\"targets\"/>, other than the " "<literal>get-orig-source</literal> target, may make it difficult to " "understand their exact effects. Please limit explicit targets to " "<literal>override_dh_*</literal> targets and completely independent ones, if " "possible." msgstr "" "Lors de l'utilisation de la nouvelle commande <command>dh</command>, la " "compréhension des effets exacts des cibles explicites comme celles énumérées " "en <xref linkend=\"targets\"/> (à part <literal>get-orig-source</literal>) " "peut être rendue difficile. Veuillez limiter les cibles explicites aux " "cibles <literal>override_dh_*</literal>, et à celle complètement " "indépendantes, si possible." #. type: Content of: <book><chapter><title> msgid "Other files under the <filename>debian</filename> directory" msgstr "Autres fichiers dans le répertoire <filename>debian</filename>" #. type: Content of: <book><chapter><para> msgid "" "To control most of what <systemitem role=\"package\">debhelper</systemitem> " "does while building the package, you put optional configuration files under " "the <filename>debian</filename> directory. This chapter will provide an " "overview of what each of these does and its format. Please read the <ulink " "url=\"&debian-policy;\">Debian Policy Manual</ulink> and <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> for " "guidelines for packaging." msgstr "" "Pour contrôler la plupart des actions de <systemitem role=\"package" "\">debhelper</systemitem> lors de la construction du paquet, placez des " "fichiers de configuration optionnels dans le répertoire <filename>debian</" "filename>. Ce chapitre présentera globalement le rôle de ces fichiers et " "leur format. Veuillez consulter la <ulink url=\"&debian-policy;\">Charte " "Debian</ulink> et la <ulink url=\"&developers-reference;\">référence du " "développeur Debian</ulink> pour les principes d'empaquetage." #. type: Content of: <book><chapter><para> msgid "" "The <command>dh_make</command> command will create some template " "configuration files under the <filename>debian</filename> directory. Most " "of them come with filenames suffixed by <literal>.ex</literal>. Some of " "them come with filenames prefixed by the binary package name such as " "<literal><replaceable>package</replaceable></literal>. Take a look at all " "of them. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La commande <command>dh_make</command> crée quelques modèles de fichiers de " "configuration dans le répertoire <filename>debian</filename>. La plupart " "d'entre eux ont une extension <literal>.ex</literal>. Certains d'entre eux " "ont le nom du paquet binaire comme préfixe : <literal><replaceable>paquet</" "replaceable></literal>. Regardez-les tous. <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><para> msgid "" "Some template configuration files for <systemitem role=\"package" "\">debhelper</systemitem> may not be created by the <command>dh_make</" "command> command. In such cases, you need to create them with an editor." msgstr "" "Certains modèles de fichiers de configuration de <systemitem role=\"package" "\">debhelper</systemitem> risquent de ne pas être créés par la commande " "<command>dh_make</command>. Dans ce cas, vous devez les créer avec un " "éditeur." #. type: Content of: <book><chapter><para> msgid "If you wish or need to activate any of these, please do the following:" msgstr "" "Pour activer certains d'entre eux, veuillez suivre les instructions " "suivantes :" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename template files by removing the <literal>.ex</literal> or <literal>." "EX</literal> suffix if they have one;" msgstr "" "renommer les fichiers modèles en enlevant l'extension <literal>.ex</literal> " "ou <literal>.EX</literal> si elle existe ;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename the configuration files to use the actual binary package name in " "place of <literal><replaceable>package</replaceable></literal>;" msgstr "" "renommer les fichiers de configuration pour utiliser le véritable nom du " "paquet binaire à la place de <literal><replaceable>paquet</replaceable></" "literal> ;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "modify template file contents to suit your needs;" msgstr "modifiez le contenu des fichiers modèles selon vos besoins ;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "remove template files which you do not need;" msgstr "enlevez les fichiers modèles dont vous n'avez pas besoin ;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>control</filename> file (see <xref linkend=\"control\"/" ">), if necessary;" msgstr "" "si nécessaire, modifiez le fichier <filename>control</filename> (consultez " "<xref linkend=\"control\"/>) ;" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/>), " "if necessary." msgstr "" "si nécessaire, modifiez le fichier <filename>rules</filename> (consultez " "<xref linkend=\"rules\"/>)." #. type: Content of: <book><chapter><para> msgid "" "Any <systemitem role=\"package\">debhelper</systemitem> configuration files " "without a <filename><replaceable>package</replaceable></filename> prefix, " "such as <filename>install</filename>, apply to the first binary package. " "When there are many binary packages, their configurations can be specified " "by prefixing their name to their configuration filenames such as " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "Les fichiers de configuration de <systemitem role=\"package\">debhelper</" "systemitem> sans préfixe <filename><replaceable>paquet</replaceable></" "filename> comme <filename>install</filename> sont relatifs au premier paquet " "binaire. Lorsqu'il y a plusieurs paquets binaires, leur configuration " "respective peut être précisée en ajoutant leur nom en préfixe du nom de " "fichier de configuration : <filename><replaceable>paquet-1</replaceable>." "install</filename>, <filename><replaceable>paquet-2</replaceable>.install</" "filename>, etc." #. type: Content of: <book><chapter><section><title> msgid "<filename>README.Debian</filename>" msgstr "<filename>README.Debian</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Any extra details or discrepancies between the original package and your " "Debian version should be documented here." msgstr "" "Tous les détails ou différences entre le paquet original et votre version " "Debian devraient être documentés ici." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one; this is what it looks like:" msgstr "" "<command>dh_make</command> en crée un par défaut, qui ressemble à ceci :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" msgstr "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have nothing to be documented, remove this file. See <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Si vous n'avez rien à documenter, effacez ce fichier, consultez " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<filename>compat</filename>" msgstr "<filename>compat</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>compat</filename> file defines the <systemitem role=\"package" "\">debhelper</systemitem> compatibility level. Currently, you should set it " "to the <systemitem role=\"package\">debhelper</systemitem> v9 as follows:" msgstr "" "Le fichier <filename>compat</filename> définit le niveau de compatibilité de " "<systemitem role=\"package\">debhelper</systemitem>. Actuellement, vous " "devriez le définir à <systemitem role=\"package\">debhelper</systemitem> v9 " "comme suit :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ echo 9 > debian/compat\n" msgstr "$ echo 9 > debian/compat\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>conffiles</filename>" msgstr "<filename>conffiles</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian " "Policy Manual, \"D.2.5 Conffiles\"</ulink>." msgstr "" "Consultez <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> et la <ulink url=\"&policy-conffiles;\">Charte " "Debian, D.2.5 « Conffiles »</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "One of the most annoying things about software is when you spend a great " "deal of time and effort customizing a program, only to have an upgrade stomp " "all over your changes. Debian solves this problem by marking such " "configuration files as conffiles. <placeholder type=\"footnote\" id=\"0\"/> " "When you upgrade a package, you'll be asked whether you want to keep your " "old configuration files or not." msgstr "" "Une des choses les plus irritantes à propos des logiciels est de consacrer " "beaucoup de temps et d'efforts pour configurer un programme, et de voir une " "seule mise à jour détruire tous ses changements. Debian résout ce problème " "en marquant ces fichiers de configuration comme des conffiles. <placeholder " "type=\"footnote\" id=\"0\"/> Lors de la mise à jour d'un paquet, une " "question sera posée, permettant de garder les anciens fichiers de " "configuration ou non." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry><refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> <emphasis>automatically</emphasis> flags any " "files under the <filename>/etc</filename> directory as conffiles, so if your " "program only has conffiles there you do not need to specify them in this " "file. For most package types, the only place conffiles should ever be is " "under <filename>/etc</filename>, and so this file doesn't need to exist." msgstr "" "<citerefentry> <refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> considère <emphasis>automatiquement</emphasis> " "tous les fichiers du répertoire <filename>/etc</filename> comme des " "conffiles, donc si tous les fichiers de configuration de votre programme " "sont dans ce répertoire, il n'est pas nécessaire de les indiquer dans ce " "fichier. Pour la plupart des paquets, le seul endroit devant contenir des " "conffiles est <filename>/etc</filename>, donc ce fichier ne devrait pas " "exister." #. type: Content of: <book><chapter><section><para> msgid "" "If your program uses configuration files but also rewrites them on its own, " "it's best not to make them conffiles because <command>dpkg</command> will " "then prompt users to verify the changes all the time." msgstr "" "Si votre programme utilise des fichiers de configuration, mais les réécrit " "aussi de son côté, il vaut mieux ne pas les marquer comme conffiles, parce " "que <command>dpkg</command> va alors interroger les utilisateurs pour " "vérifier les modifications tout le temps." #. type: Content of: <book><chapter><section><para> msgid "" "If the program you're packaging requires every user to modify the " "configuration files in the <filename>/etc</filename> directory, there are " "two popular ways to arrange for them to not be conffiles, keeping " "<command>dpkg</command> quiet." msgstr "" "Si le programme que vous empaquetez force tous les utilisateurs à modifier " "les fichiers de configuration du répertoire <filename>/etc</filename>, il y " "a deux façons classiques de ne pas les marquer comme conffiles, et garder " "<command>dpkg</command> silencieux :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a symlink under the <filename>/etc</filename> directory pointing to a " "file under the <filename>/var</filename> directory generated by the " "maintainer scripts." msgstr "" "créer un lien symbolique dans le répertoire <filename>/etc</filename> vers " "un fichier du répertoire <filename>/var</filename> créé par les scripts du " "responsable ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a file generated by the maintainer scripts under the <filename>/etc</" "filename> directory." msgstr "" "créer un fichier dans le répertoire <filename>/etc</filename> par les " "scripts du responsable." #. type: Content of: <book><chapter><section><para> msgid "" "For information on maintainer scripts, see <xref linkend=\"maintscripts\"/>." msgstr "" "Pour obtenir des renseignements sur les scripts du responsable, consultez " "<xref linkend=\"maintscripts\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.cron.*</filename>" msgstr "<filename><replaceable>paquet</replaceable>.cron.*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package requires regularly scheduled tasks to operate properly, you " "can use these files to set that up. You can set up regular tasks that " "either happen hourly, daily, weekly, or monthly, or alternatively happen at " "any other time that you wish. The filenames are:" msgstr "" "Si le paquet a besoin d'exécuter des tâches régulièrement pour fonctionner " "correctement, vous pouvez utiliser ces fichiers pour les configurer. Vous " "pouvez programmer des tâches régulières horaires, quotidiennes, mensuelles " "ou qui se produiront au moment que vous préférez. Les noms de fichiers sont :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.hourly</filename> - " "Installed as <filename>/etc/cron.hourly/<replaceable>package</replaceable></" "filename>; run once an hour." msgstr "" "<filename><replaceable>paquet</replaceable>.cron.hourly</filename> — " "installé comme <filename>/etc/cron.hourly/<replaceable>paquet</replaceable></" "filename> et exécuté une fois par heure ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.daily</filename> - " "Installed as <filename>/etc/cron.daily/<replaceable>package</replaceable></" "filename>; run once a day." msgstr "" "<filename><replaceable>paquet</replaceable>.cron.daily</filename> — installé " "comme <filename>/etc/cron.daily/<replaceable>paquet</replaceable></" "filename> et exécuté une fois par jour ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.weekly</filename> - " "Installed as <filename>/etc/cron.weekly/<replaceable>package</replaceable></" "filename>; run once a week." msgstr "" "<filename><replaceable>paquet</replaceable>.cron.weekly</filename> — " "installé comme <filename>/etc/cron.weekly/<replaceable>paquet</replaceable></" "filename> et exécuté une fois par semaine ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.monthly</filename> - " "Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></" "filename>: run once a month." msgstr "" "<filename><replaceable>paquet</replaceable>.cron.monthly</filename> — " "installé comme <filename>/etc/cron.monthly/<replaceable>paquet</" "replaceable></filename> et exécuté une fois par mois ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.d</filename> - Installed " "as <filename>/etc/cron.d/<replaceable>package</replaceable></filename>: for " "any other time." msgstr "" "<filename><replaceable>paquet</replaceable>.cron.d</filename> — installé " "comme <filename>/etc/cron.d/<replaceable>paquet</replaceable></filename> et " "exécuté à tout autre moment." #. type: Content of: <book><chapter><section><para> msgid "" "Most of these files are shell scripts, with the exception of " "<filename><replaceable>package</replaceable>.cron.d</filename> which follows " "the format of <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." msgstr "" "La plupart de ces fichiers sont des scripts shell, à l'exception de " "<filename><replaceable>paquet</replaceable>.cron.d</filename> dont le format " "est celui de <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "No explicit <filename>cron.*</filename> file is needed to set up log " "rotation; for that, see <citerefentry><refentrytitle>dh_installlogrotate</" "refentrytitle> <manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>logrotate</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" "Aucun fichier <filename>cron.*</filename> n'est nécessaire pour configurer " "la rotation des journaux ; pour cela, voyez <citerefentry> " "<refentrytitle>dh_installlogrotate</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> et <citerefentry> <refentrytitle>logrotate</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<filename>dirs</filename>" msgstr "<filename>dirs</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies any directories which we need but which are not created " "by the normal installation procedure (<literal>make install DESTDIR=...</" "literal> invoked by <literal>dh_auto_install</literal>). This generally " "means there is a problem with the <filename>Makefile</filename>." msgstr "" "Ce fichier indique les répertoires nécessaires mais qui ne sont pas créés " "par la procédure d'installation normale (<literal>make install DESTDIR=...</" "literal> invoquée par <literal>dh_auto_install</literal>). C'est souvent dû " "à un problème avec le <filename>Makefile</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Files listed in an <filename>install</filename> file don't need their " "directories created first. See <xref linkend=\"install\"/>." msgstr "" "Les fichiers énumérés dans un fichier <filename>install</filename> n'ont pas " "besoin que leurs répertoires soient créés avant, consultez <xref linkend=" "\"install\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "It is best to try to run the installation first and only use this if you run " "into trouble. There is no preceding slash on the directory names listed in " "the <filename>dirs</filename> file." msgstr "" "Il est préférable d'essayer d'exécuter l'installation, et d'utiliser " "seulement ce recours si vous avez des problèmes. Il n'y a pas de barre " "oblique (<literal>/</literal>) au début des noms de répertoire dans la liste " "du fichier <filename>dirs</filename>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.doc-base</filename>" msgstr "<filename><replaceable>paquet</replaceable>.doc-base</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has documentation other than manual and info pages, you " "should use the <systemitem role=\"package\">doc-base</systemitem> file to " "register it, so the user can find it with e.g. <citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, or <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Si votre paquet est fournit avec une autre documentation que des pages de " "manuel et d'information, vous devriez utiliser le fichier <systemitem role=" "\"package\">doc-base</systemitem> pour l'enregistrer, de sorte que " "l'utilisateur puisse la trouver avec par exemple <citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> ou <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "This usually includes HTML, PS and PDF files, shipped in <filename>/usr/" "share/doc/<replaceable>packagename</replaceable>/</filename>." msgstr "" "Cela inclut normalement les fichiers HTML, PS et PDF, inclus dans <filename>/" "usr/share/doc/<replaceable>nomdepaquet</replaceable>/</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "This is what <systemitem role=\"package\">gentoo</systemitem>'s doc-base " "file <filename>gentoo.doc-base</filename> looks like:" msgstr "" "Voici ce à quoi le fichier <filename>gentoo.doc-base</filename> de " "<systemitem role=\"package\">gentoo</systemitem> ressemble :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" msgstr "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" #. type: Content of: <book><chapter><section><para> msgid "" "For information on the file format, see <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and the Debian <systemitem role=\"package\">doc-base</" "systemitem> Manual at the local copy <filename>&doc-base;</filename> " "provided by the <systemitem role=\"package\">doc-base</systemitem> package." msgstr "" "Pour obtenir plus de renseignements sur le format de ce fichier, consultez " "<citerefentry> <refentrytitle>install-docs</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry> et la copie locale <filename>&doc-base;</" "filename> du manuel Debian de <systemitem role=\"package\">doc-base</" "systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "For more details on installing additional documentation, look in <xref " "linkend=\"destdir\"/>." msgstr "" "Pour obtenir plus de renseignements sur l'installation de documentation " "supplémentaire, consultez <xref linkend=\"destdir\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>docs</filename>" msgstr "<filename>docs</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies the file names of documentation files we can have " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> install into the temporary directory for us." msgstr "" "Ce fichier spécifie les noms des fichiers de documentation que " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> peut installer pour vous dans le répertoire " "temporaire." #. type: Content of: <book><chapter><section><para> msgid "" "By default, it will include all existing files in the top-level source " "directory that are called <filename>BUGS</filename>, <filename>README*</" "filename>, <filename>TODO</filename> etc." msgstr "" "Par défaut, il inclut tous les fichiers, existant dans le répertoire racine " "des sources, qui sont nommés <filename>BUGS</filename>, <filename>README*</" "filename>, <filename>TODO</filename>, etc." #. type: Content of: <book><chapter><section><para> msgid "" "For <systemitem role=\"package\">gentoo</systemitem>, some other files are " "also included:" msgstr "" "Pour <systemitem role=\"package\">gentoo</systemitem>, d'autres fichiers " "sont aussi inclus :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" msgstr "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>emacsen-*</filename>" msgstr "<filename>emacsen-*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package supplies Emacs files that can be bytecompiled at package " "installation time, you can use these files to set it up." msgstr "" "Si votre paquet fournit des fichiers Emacs qui peuvent être byte-compilés au " "moment de l'installation, vous pouvez utiliser ces fichiers pour les " "configurer." #. type: Content of: <book><chapter><section><para> msgid "" "They are installed into the temporary directory by <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Ils sont installés dans le répertoire temporaire par <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "If you don't need these, remove them." msgstr "Si vous n'en avez pas besoin, effacez-les." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.examples</filename>" msgstr "<filename><replaceable>paquet</replaceable>.examples</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs files and " "directories listed in this file as example files." msgstr "" "La commande <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> installe les fichiers et " "répertoires énumérés ici comme des fichiers d'exemple." #. type: Content of: <book><chapter><section><title> msgid "" "<filename><replaceable>package</replaceable>.init</filename> and " "<filename><replaceable>package</replaceable>.default</filename>" msgstr "" "<filename><replaceable>paquet</replaceable>.init</filename> et " "<filename><replaceable>paquet</replaceable>.default</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package is a daemon that needs to be run at system start-up, you've " "obviously disregarded my initial recommendation, haven't you? :-)" msgstr "" "Si votre paquet est un démon qui doit être exécuté au démarrage du système, " "vous avez de toute évidence ignoré les recommandations initiales, n'est-ce-" "pas ? :-)" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.init</filename> file is " "installed as the <filename>/etc/init.d/<replaceable>package</replaceable></" "filename> script which starts and stops the daemon. Its fairly generic " "skeleton template is provided by the <command>dh_make</command> command as " "<filename>init.d.ex</filename>. You'll likely have to rename and edit it, a " "lot, while making sure to provide <ulink url=\"&lsb;\">Linux Standard Base</" "ulink> (LSB) compliant headers. It gets installed into the temporary " "directory by <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." msgstr "" "Le fichier <filename><replaceable>paquet</replaceable>.init</filename> est " "installé comme un script qui sert à démarrer et arrêter le démon en " "<filename>/etc/init.d/<replaceable>paquet</replaceable></filename>. Un " "squelette de modèle générique est fournit par la commande <command>dh_make</" "command> en <filename>init.d.ex</filename>. Vous devrez sans doute le " "renommer et le modifier, beaucoup, en vous assurant que les en-têtes " "respectent la <ulink url=\"&lsb;\">Linux Standard Base</ulink> (LSB). Il est " "installé dans le répertoire temporaire par <citerefentry> " "<refentrytitle>dh_installinit</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.default</filename> file " "will be installed as <filename>/etc/default/<replaceable>package</" "replaceable></filename>. This file sets defaults that are sourced by the " "init script. This <filename><replaceable>package</replaceable>.default</" "filename> file is most often used to disable running a daemon, or to set " "some default flags or timeouts. If your init script has certain " "configurable features, you can set them in the " "<filename><replaceable>package</replaceable>.default</filename> file, " "instead of in the init script itself." msgstr "" "Le fichier <filename><replaceable>paquet</replaceable>.default</filename> " "est installé en tant que <filename>/etc/default/<replaceable>paquet</" "replaceable></filename>. Ce fichier définit les valeurs par défaut des " "variables utilisées par le script d'initialisation. Ce fichier est le plus " "souvent utilisé pour désactiver le démarrage d'un démon ou pour paramétrer " "quelques options ou temps limites. Si le script d'initialisation contient " "certaines fonctionnalités <emphasis>paramétrables</emphasis>, elles ont leur " "place dans ce fichier <filename><replaceable>paquet</replaceable>.default</" "filename> au lieu du le script d'initialisation lui-même." #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream program provides a file for the init script, you can either " "use it or not. If you don't use their init script then create a new one in " "<filename><replaceable>package</replaceable>.init</filename>. However if " "the upstream init script looks fine and installs in the right place you " "still need to set up the <filename>rc*</filename> symlinks. To do this you " "will need to override <command>dh_installinit</command> in the " "<filename>rules</filename> file with the following lines:" msgstr "" "Si le programme amont fournit un fichier pour le script d'initialisation, " "vous avez le choix de l'utiliser ou non. Si vous n'utilisez pas leur script " "d'initialisation, créez-en un nouveau en <filename><replaceable>paquet</" "replaceable>.init</filename>. Cependant, si le script d'initialisation amont " "semble fonctionnel et s'installe au bon endroit, il vous faudra tout de même " "configurer le lien symbolique <filename>rc*</filename>. Pour cela, il faut " "remplacer <command>dh_installinit</command> dans le fichier <filename>rules</" "filename> avec les lignes suivantes :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" msgstr "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" #. type: Content of: <book><chapter><section><para> msgid "If you don't need this, remove the files." msgstr "Si vous n'en avez pas besoin, effacez ces fichiers." #. type: Content of: <book><chapter><section><title> msgid "<filename>install</filename>" msgstr "<filename>install</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This replaces the deprecated <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command which is " "configured by the <filename>files</filename> file." msgstr "" "Cela remplace la commande obsolète <citerefentry> " "<refentrytitle>dh_movefiles</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> configurée par le fichier <filename>files</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "If there are files that need to be installed into your package but your " "standard <literal>make install</literal> won't do it, put the filenames and " "destinations into this <filename>install</filename> file. They are " "installed by <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=" "\"0\"/> You should first check there is not a more specific tool to use. " "For example, documents should be in the <filename>docs</filename> file and " "not in this one." msgstr "" "Si des fichiers doivent être installés dans le paquet mais que <literal>make " "install</literal> normal ne le fait pas, il faut ajouter les noms de " "fichiers et leur destination dans ce fichier <filename>install</filename>. " "Ils sont installés par <citerefentry> <refentrytitle>dh_install</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.<placeholder type=" "\"footnote\" id=\"0\"/> Vous devriez d'abord vérifier s'il n'y a pas un " "outil plus approprié à utiliser. Par exemple, les documents devraient être " "dans le fichier <filename>docs</filename> et non dans celui-ci." #. type: Content of: <book><chapter><section><para> msgid "" "This <filename>install</filename> file has one line per file installed, with " "the name of the file (relative to the top build directory) then a space then " "the installation directory (relative to the install directory). One example " "of where this is used is if a binary <filename>src/<replaceable>bar</" "replaceable></filename> is left uninstalled; the <filename>install</" "filename> file might look like:" msgstr "" "Ce fichier <filename>install</filename> possède une ligne par fichier " "installé, avec le nom du fichier (par rapport au répertoire de construction " "principal) suivi d'un espace puis du répertoire d'installation (par rapport " "au répertoire d'installation). Par exemple, si un binaire <filename>src/" "<replaceable>truc</replaceable></filename> n'est pas installé, le fichier " "<filename>install</filename> pourrait ressembler à :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "src/<replaceable>bar</replaceable> usr/bin\n" msgstr "src/<replaceable>truc</replaceable> usr/bin\n" #. type: Content of: <book><chapter><section><para> msgid "" "This means when this package is installed, there will be an executable " "command <filename>/usr/bin/<replaceable>bar</replaceable></filename>." msgstr "" "Cela signifie que lors de l'installation du paquet, il y aura une commande " "exécutable <filename>/usr/bin/<replaceable>truc</replaceable></filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Alternatively, this <filename>install</filename> can have the name of the " "file only without the installation directory when the relative directory " "path does not change. This format is usually used for a large package that " "splits the output of its build into multiple binary packages using " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "Ce fichier <filename>install</filename> peut renseigner seulement le nom du " "fichier sans le répertoire d'installation quand le chemin relatif n'est pas " "modifié. Ce format est normalement utilisé pour un gros paquet qui découpe " "le résultat de la construction en plusieurs paquets binaires à l'aide de " "<filename><replaceable>paquet-1</replaceable>.install</filename>, " "<filename><replaceable>paquet-2</replaceable>.install</filename>, etc." #. type: Content of: <book><chapter><section><para> msgid "" "The <command>dh_install</command> command will fall back to looking in " "<filename>debian/tmp</filename> for files, if it doesn't find them in the " "current directory (or wherever you've told it to look using <literal>--" "sourcedir</literal>)." msgstr "" "La commande <command>dh_install</command> finira par chercher les fichiers " "dans <filename>debian/tmp</filename>, s'il ne les trouve pas dans le " "répertoire courant (ou quelque soit l'endroit où il lui a été demandé de " "chercher avec <literal>--sourcedir</literal>)." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.info</filename>" msgstr "<filename><replaceable>paquet</replaceable>.info</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has info pages, you should install them using <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing them in a <filename><replaceable>package</" "replaceable>.info</filename> file." msgstr "" "Si le paquet possède des pages d'information, vous devriez les installer " "avec <citerefentry> <refentrytitle>dh_installinfo</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> en les énumérant dans un fichier " "<filename><replaceable>paquet</replaceable>.info</filename>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.links</filename>" msgstr "<filename><replaceable>paquet</replaceable>.links</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If you need to create additional symlinks in package build directories as " "package maintainer, you should install them using <citerefentry> " "<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing their full paths of source and destination files in " "a <filename><replaceable>package</replaceable>.links</filename> file." msgstr "" "Pour créer des liens symboliques supplémentaires dans les répertoires de " "construction du paquet en tant que responsable du paquet, vous devriez les " "installer avec <citerefentry> <refentrytitle>dh_link</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> en énumérant leurs chemins complets " "de fichiers source et destination dans un fichier " "<filename><replaceable>paquet</replaceable>.links</filename>." #. type: Content of: <book><chapter><section><title> msgid "" "<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</" "filename>" msgstr "" "<filename>{<replaceable>paquet</replaceable>.,source/}lintian-overrides</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " "diagnostic for a case where Debian policy allows exceptions to some rule, " "you can use <filename><replaceable>package</replaceable>.lintian-overrides</" "filename> or <filename>source/lintian-overrides</filename> to quieten it. " "Please read Lintian User's Manual (<filename>&lintian-doc;</filename>) and " "refrain from abusing this." msgstr "" "Si <systemitem role=\"package\">lintian</systemitem> signale des erreurs " "dans son diagnostic alors que la Charte accepte des exceptions à certaines " "règles, vous pouvez utiliser <filename><replaceable>paquet</replaceable>." "lintian-overrides</filename> ou <filename>source/lintian-overrides</" "filename> pour le rendre silencieux. Veuillez lire le manuel utilisateur de " "Lintian (<filename>&lintian-doc;</filename>) et vous abstenir d'en abuser." #. type: Content of: <book><chapter><section><para> msgid "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> is " "for the binary package named <systemitem role=\"package" "\"><replaceable>package</replaceable></systemitem> and is installed into " "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" "filename> by the <command>dh_lintian</command> command." msgstr "" "<filename><replaceable>paquet</replaceable>.lintian-overrides</filename> " "concerne le paquet binaire appelé <systemitem role=\"package" "\"><replaceable>paquet</replaceable></systemitem>, il est installé en " "<filename>usr/share/lintian/overrides/<replaceable>paquet</replaceable></" "filename> par la commande <command>dh_lintian</command>." #. type: Content of: <book><chapter><section><para> msgid "" "<filename>source/lintian-overrides</filename> is for the source package. " "This is not installed." msgstr "" "<filename>source/lintian-overrides</filename> concerne le paquet source. Il " "n'est pas installé." #. type: Content of: <book><chapter><section><title> msgid "<filename>manpage.*</filename>" msgstr "<filename>manpage.*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Your program(s) should have a manual page. If they don't, you should create " "them. The <command>dh_make</command> command creates some template files " "for manual pages. These need to be copied and edited for each command " "missing its manual page. Please make sure to remove unused templates." msgstr "" "Le programme devrait être livré avec une page de manuel. Sinon, vous " "devriez en créer au moins une. La commande <command>dh_make</command> crée " "quelques modèles de fichiers pour pages de manuel. Ils doivent être copiés " "et modifiés pour chaque commande à laquelle il manque une page de manuel. " "Veuillez vous assurer d'avoir effacé les modèles non utilisés." #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.1.ex</filename>" msgstr "<filename>manpage.1.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Manual pages are normally written in <citerefentry> <refentrytitle>nroff</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. The " "<filename>manpage.1.ex</filename> template is written in <command>nroff</" "command>, too. See the <citerefentry> <refentrytitle>man</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> manual page for a brief description " "of how to edit such a file." msgstr "" "Les pages de manuel sont normalement écrites en <citerefentry> " "<refentrytitle>nroff</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. L'exemple <filename>manpage.1.ex</filename> est aussi écrit " "en <command>nroff</command>. Lisez la page de manuel <citerefentry> " "<refentrytitle>man</refentrytitle> <manvolnum>7</manvolnum> </citerefentry> " "pour une brève description sur la façon d'éditer ce genre de fichiers." #. type: Content of: <book><chapter><section><section><para> msgid "" "The final manual page file name should give the name of the program it is " "documenting, so we will rename it from <literal>manpage</literal> to " "<literal>gentoo</literal>. The file name also includes <literal>.1</" "literal> as the first suffix, which means it's a manual page for a user " "command. Be sure to verify that this section is indeed the correct one. " "Here's a short list of manual page sections:" msgstr "" "Le nom de fichier de la page de manuel devrait donner le nom du programme " "qu'elle documente, donc <literal>manpage</literal> doit être renommé en " "<literal>gentoo</literal>. Le nom de fichier inclut aussi <literal>.1</" "literal> comme premier suffixe, qui signifie que c'est une page de manuel " "pour une commande utilisateur. Assurez-vous de vérifier que cette section " "est effectivement la bonne. Voici une courte liste des sections de pages de " "manuel :" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Section" msgstr "Section" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Description" msgstr "Description" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Notes" msgstr "Remarques" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "1" msgstr "1" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "User command" msgstr "Commandes utilisateur" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Executable commands or scripts" msgstr "Commandes ou scripts exécutables" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "2" msgstr "2" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System calls" msgstr "Appels système" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions provided by the kernel" msgstr "Fonctions fournies par le noyau" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "3" msgstr "3" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Library calls" msgstr "Appels de bibliothèque" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions within system libraries" msgstr "Fonctions des bibliothèques système" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "4" msgstr "4" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Special files" msgstr "Fichiers spéciaux" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Usually found in <filename>/dev</filename>" msgstr "Situés généralement dans <filename>/dev</filename>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "5" msgstr "5" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "File formats" msgstr "Formats de fichier" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "E.g. <filename>/etc/passwd</filename>'s format" msgstr "Par exemple le format de <filename>/etc/passwd</filename>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "6" msgstr "6" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games" msgstr "Jeux" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games or other frivolous programs" msgstr "Jeux ou autres programmes frivoles" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "7" msgstr "7" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Macro packages" msgstr "Macropaquets" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Such as <command>man</command> macros" msgstr "Comme les macros de <command>man</command>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "8" msgstr "8" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System administration" msgstr "Administration système" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Programs typically only run by root" msgstr "Programmes normalement exécutés par le superutilisateur" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "9" msgstr "9" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Kernel routines" msgstr "Sous-programmes du noyau" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Non-standard calls and internals" msgstr "Appels non standards et routines internes" #. type: Content of: <book><chapter><section><section><para> msgid "" "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " "called <filename>gentoo.1</filename>. If there was no <filename>gentoo.1</" "filename> man page in the original source, you should create it by renaming " "the <filename>manpage.1.ex</filename> template to <filename>gentoo.1</" "filename> and editing it using information from the example and from the " "upstream docs." msgstr "" "Ainsi, la page de manuel de <systemitem role=\"package\">gentoo</systemitem> " "devrait être appelée <filename>gentoo.1</filename>. S'il n'y avait pas de " "page de manuel <filename>gentoo.1</filename> dans les sources originales, il " "aurait fallu renommer le modèle <filename>manpage.1.ex</filename> en " "<filename>gentoo.1</filename> puis le modifier à partir des informations de " "l'exemple et de la documentation amont." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Note that <command>help2man</command>'s placeholder man page will claim that " "more detailed documentation is available in the info system. If the command " "is missing an <command>info</command> page, you should manually edit the man " "page created by the <command>help2man</command> command." msgstr "" "Remarquez que la page de manuel initiale créée par <command>help2man</" "command> prétendra que des renseignements supplémentaires sont disponibles " "dans le système d'information. Si la commande n'a pas non plus de page " "<command>info</command>, vous devriez modifier manuellement la page créée " "par la commande <command>help2man</command>." #. type: Content of: <book><chapter><section><section><para> msgid "" "You can use the <command>help2man</command> command to generate a man page " "out of the <literal>--help</literal> and <literal>--version</literal> output " "of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La commande <command>help2man</command> peut aussi être utilisée pour créer " "une page de manuel à partir de la sortie de <literal>--help</literal> et " "<literal>--version</literal> pour chaque programme. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.sgml.ex</filename>" msgstr "<filename>manpage.sgml.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "If on the other hand you prefer writing SGML instead of <command>nroff</" "command>, you can use the <filename>manpage.sgml.ex</filename> template. If " "you do this, you have to:" msgstr "" "D'un autre côté, si vous préférez écrire du SGML plutôt que du " "<command>nroff</command>, vous pouvez utiliser le modèle <filename>manpage." "sgml.ex</filename>. Si vous le faites, vous devez :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "rename the file to something like <filename>gentoo.sgml</filename>." msgstr "" "renommer le fichier en quelque chose comme <filename>gentoo.sgml</filename> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-to-man</systemitem> package" msgstr "" "installer le paquet <systemitem role=\"package\">docbook-to-man</" "systemitem> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add <literal>docbook-to-man</literal> to the <literal>Build-Depends</" "literal> line in the <filename>control</filename> file" msgstr "" "ajouter <literal>docbook-to-man</literal> à la ligne <literal>Build-Depends</" "literal> dans le fichier <filename>control</filename> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add an <literal>override_dh_auto_build</literal> target to your " "<filename>rules</filename> file:" msgstr "" "ajouter une cible <literal>override_dh_auto_build</literal> au fichier " "<filename>rules</filename> :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.xml.ex</filename>" msgstr "<filename>manpage.xml.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you prefer XML over SGML, you can use the <literal>manpage.xml.ex</" "literal> template. If you do this, you have to:" msgstr "" "Si vous préférez XML à SGML, vous pouvez utiliser le modèle <literal>manpage." "xml.ex</literal>. Si vous le faites, vous devez :" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "rename the source file to something like <literal>gentoo.1.xml</literal>" msgstr "" "renommer le fichier en quelque chose comme <literal>gentoo.xml</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-xsl</systemitem> package " "and an XSLT processor like <systemitem role=\"package\">xsltproc</" "systemitem> (recommended)" msgstr "" "installer le paquet <systemitem role=\"package\">docbook-xsl</systemitem> et " "un processeur XSLT comme <systemitem role=\"package\">xsltproc</systemitem> " "(recommandé) ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add the <literal>docbook-xsl</literal>, <literal>docbook-xml</literal>, and " "<literal>xsltproc</literal> packages to the <literal>Build-Depends</literal> " "line in the <literal>control</literal> file" msgstr "" "ajouter <literal>docbook-xsl</literal>, <literal>docbook-xml</literal> et " "<literal>xsltproc</literal> à la ligne <literal>Build-Depends</literal> dans " "le fichier <literal>control</literal> ;" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" " http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.manpages</filename>" msgstr "<filename><replaceable>paquet</replaceable>.manpages</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has manual pages, you should install them using " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> by listing them in a " "<filename><replaceable>package</replaceable>.manpages</filename> file." msgstr "" "Si le paquet possède des pages de manuel, vous devriez les installer avec " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> en les énumérant dans un fichier " "<filename><replaceable>paquet</replaceable>.manpages</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "To install <filename>docs/gentoo.1</filename> as a manpage for the " "<systemitem role=\"package\">gentoo</systemitem> package, create a " "<filename>gentoo.manpages</filename> file as follows." msgstr "" "Pour installer <filename>docs/gentoo.1</filename> en tant que page de manuel " "du le paquet <systemitem role=\"package\">gentoo</systemitem>, créez le " "fichier <filename>gentoo.manpages</filename> contenant :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "docs/gentoo.1\n" msgstr "docs/gentoo.1\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>menu</filename>" msgstr "<filename>menu</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "X Window System users usually have a window manager with a menu that can be " "customized to launch programs. If they have installed the Debian " "<systemitem role=\"package\">menu</systemitem> package, a set of menus for " "every program on the system will be created for them." msgstr "" "Les utilisateurs de X Window ont un gestionnaire de fenêtres avec un menu " "qui peut être configuré pour lancer des programmes. S'ils ont installé le " "paquet <systemitem role=\"package\">menu</systemitem> de Debian, un ensemble " "de menus pour chaque programme sur le système sera créé pour eux." #. type: Content of: <book><chapter><section><para> msgid "" "Here's the default <filename>menu.ex</filename> file that <command>dh_make</" "command> created." msgstr "" "Voici le fichier <filename>menu.ex</filename> créé par défaut par " "<command>dh_make</command> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" msgstr "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The first field after the colon character is <literal>needs</literal>, and " "it specifies what kind of interface the program needs. Change this to one " "of the listed alternatives, e.g. <literal>text</literal> or <literal>X11</" "literal>." msgstr "" "Le premier champ après les deux points est <literal>needs</literal>, il " "indique le genre d'interface dont a besoin le programme. Changez ceci en une " "des alternatives énumérées, par exemple <literal>text</literal> ou " "<literal>X11</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The current list of sections is in <ulink url=\"&menu-structure;\">The " "Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>. There was " "a major reorganization of menu structure for <literal>squeeze</literal>." msgstr "" "La liste actuelle des sections est dans la <ulink url=\"&menu-structure;" "\">sous-charte de menu Debian 2.1 « structure de menu conseillée »</ulink>. " "Une réorganisation majeure de la structure du menu a été réalisée pour " "<literal>Squeeze</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The next is the <literal>section</literal> that the menu and submenu entry " "should appear in. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Le suivant est la <literal>section</literal> où l'entrée de menu et de sous-" "menu devrait apparaître. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>title</literal> field is the name of the program. You can " "start this one in uppercase if you like. Just keep it short." msgstr "" "Le champ <literal>title</literal> est le nom du programme. Vous pouvez le " "commencer par une majuscule si vous le souhaitez. Mais gardez-le court." #. type: Content of: <book><chapter><section><para> msgid "" "Finally, the <literal>command</literal> field is the command that runs the " "program." msgstr "" "Enfin, le champ <literal>command</literal> est la commande qui exécute le " "programme." #. type: Content of: <book><chapter><section><para> msgid "" "Let's change the file name to <filename>menu</filename> and change the menu " "entry to this:" msgstr "" "Une fois le fichier renommé en <filename>menu</filename>, l'entrée de menu " "peut être modifiée comme ceci :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" msgstr "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also add other fields like <literal>longtitle</literal>, " "<literal>icon</literal>, <literal>hints</literal> etc. See <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, and <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> for more information." msgstr "" "Vous pouvez aussi ajouter d'autres champs comme <literal>longtitle</" "literal>, <literal>icon</literal>, <literal>hints</literal>, etc. Consultez " "<citerefentry> <refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>menufile</" "refentrytitle> <manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> et la <ulink url=\"&policy-menu;\">sous-charte de menu Debian</" "ulink> pour obtenir plus de renseignements." #. type: Content of: <book><chapter><section><title> msgid "<filename>NEWS</filename>" msgstr "<filename>NEWS</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "La commande <citerefentry> <refentrytitle>dh_installchangelogs</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> l'installe." #. type: Content of: <book><chapter><section><title> msgid "<filename>{pre,post}{inst,rm}</filename>" msgstr "<filename>{post,pre}{inst,rm}</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Despite this use of the <command>bash</command> shorthand expression " "<filename>{pre,post}{inst,rm}</filename> to indicate these filenames, you " "should use pure POSIX syntax for these maintainer scripts for compatibility " "with <command>dash</command> as the system shell." msgstr "" "Malgré l'utilisation de raccourcis <command>bash</command> pour présenter " "les noms des fichiers <filename>{pre,post}{inst,rm}</filename>, vous devriez " "utiliser une syntaxe pure POSIX pour ces scripts du responsable pour être " "compatible avec <command>dash</command> comme interpréteur de commande " "système." #. type: Content of: <book><chapter><section><para> msgid "" "These <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename>, and <filename>prerm</filename> files " "<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " "scripts</emphasis>. They are scripts which are put in the control area of " "the package and run by <command>dpkg</command> when your package is " "installed, upgraded, or removed." msgstr "" "Ces fichiers <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename>, et <filename>prerm</filename> <placeholder type=" "\"footnote\" id=\"0\"/> sont nommés <emphasis>scripts du responsable</" "emphasis>. Ces scripts sont placés dans la zone de contrôle du paquet et " "sont exécutés par <command>dpkg</command> lorsque le paquet est installé, " "mis à jour ou supprimé." #. type: Content of: <book><chapter><section><para> msgid "" "As a novice maintainer, you should avoid any manual editing of maintainer " "scripts because they are problematic. For more information refer to the " "<ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 \"Package " "maintainer scripts and installation procedure\"</ulink>, and take a look at " "the example files provided by <command>dh_make</command>." msgstr "" "En tant que responsable débutant, vous devriez éviter de modifier " "manuellement les scripts du responsable parce qu'ils ont tendance à être " "complexes. Pour obtenir plus de renseignements, consultez dans la <ulink url=" "\"&policy-mantainerscripts;\">Charte Debian, chapitre 6 « scripts du " "responsable et procédure d'installation »</ulink> et examinez les fichiers " "d'exemple fournis par <command>dh_make</command>." #. type: Content of: <book><chapter><section><para> msgid "" "If you did not listen to me and have created custom maintainer scripts for a " "package, you should make sure to test them not only for <emphasis role=" "\"strong\">install</emphasis> and <emphasis role=\"strong\">upgrade</" "emphasis> but also for <emphasis role=\"strong\">remove</emphasis> and " "<emphasis role=\"strong\">purge</emphasis>." msgstr "" "Si vous préférez n'en faire qu'à votre tête en personnalisant vos scripts du " "responsable pour un paquet, vous devriez les essayer non seulement lors de " "l'<emphasis role=\"strong\">installation</emphasis> et la <emphasis role=" "\"strong\">mise à jour</emphasis>, mais aussi pour la <emphasis role=\"strong" "\">désinstallation</emphasis> et la <emphasis role=\"strong\">purge</" "emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Upgrades to the new version should be silent and non-intrusive (existing " "users should not notice the upgrade except by discovering that old bugs have " "been fixed and perhaps that there are new features)." msgstr "" "Les mises à jour devraient être silencieuses et non intrusives (les " "utilisateurs existants ne devraient pas remarquer la mise à jour à part en " "constatant la résolution de vieux bogues et peut-être l'arrivée de nouvelles " "fonctionnalités)." #. type: Content of: <book><chapter><section><para> msgid "" "When the upgrade is necessarily intrusive (eg., config files scattered " "through various home directories with totally different structure), you may " "consider as the last resort switching the package to a safe fallback state " "(e.g., disabling a service) and providing the proper documentation required " "by policy (<filename>README.Debian</filename> and <filename>NEWS.Debian</" "filename>). Don't bother the user with <command>debconf</command> notes " "invoked from these maintainer scripts for upgrades." msgstr "" "Lorsque la mise à niveau est forcément intrusive (par exemple des fichiers " "de configuration dispersés dans plusieurs répertoires personnels avec des " "structures complètement différentes), vous pouvez envisager en dernier " "recours de basculer le paquet vers un état de repli sûr (par exemple en " "désactivant un service) et en fournissant la documentation adéquate " "conformément à la Charte Debian (<filename>README.Debian</filename> et " "<filename>NEWS.Debian</filename>). N'embêtez pas l'utilisateur avec des " "notes <command>debconf</command> déclenchées par ces scripts du responsable " "lors des mises à niveau." #. type: Content of: <book><chapter><section><para> msgid "" "The <systemitem role=\"package\">ucf</systemitem> package provides a " "<emphasis>conffile-like</emphasis> handling infrastructure to preserve user " "changes for files that may not be labeled as <emphasis>conffiles</emphasis> " "such as those managed by the maintainer scripts. This should minimize " "issues associated with them." msgstr "" "Le paquet <systemitem role=\"package\">ucf</systemitem> fournit un " "dispositif <emphasis>à la conffile</emphasis> pour conserver les " "modifications des utilisateurs pour les fichiers qui n'ont pas été marqués " "comme <emphasis>conffiles</emphasis> comme ceux gérés par les scripts du " "responsable. Cela permet de réduire les problèmes associés à ces fichiers." #. type: Content of: <book><chapter><section><para> msgid "" "These maintainer scripts are among the Debian enhancements that explain " "<emphasis role=\"strong\">why people choose Debian</emphasis>. You must be " "very careful not to turn them into a source of annoyance." msgstr "" "Ces scripts du responsable font partie des améliorations de Debian qui " "expliquent <emphasis role=\"strong\">pourquoi les gens choisissent Debian</" "emphasis>. Prenez garde de ne pas les transformer en source d'agacement." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.symbols</filename>" msgstr "<filename><replaceable>paquet</replaceable>.symbols</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging of library is not easy for a novice maintainer and should be " "avoided. Having said it, if your package has libraries, you should have " "<filename>debian/<replaceable>package</replaceable>.symbols</filename> " "files. See <xref linkend=\"librarysymbols\"/>." msgstr "" "L'empaquetage de bibliothèque n'est pas facile pour un mainteneur débutant, " "et devrait être évité. Cela dit, si le paquet fournit des bibliothèques, des " "fichiers <filename>debian/<replaceable>paquet</replaceable>.symbols</" "filename> devraient exister. Consultez <xref linkend=\"librarysymbols\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>TODO</filename>" msgstr "<filename>TODO</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "La commande <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> l'installe." #. type: Content of: <book><chapter><section><title> msgid "<filename>watch</filename>" msgstr "<filename>watch</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>watch</filename> file format is documented in the " "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> manpage. The <filename>watch</filename> file configures the " "<command>uscan</command> program (in the <systemitem role=\"package" "\">devscripts</systemitem> package) to watch the site where you originally " "got the source from. This is also used by the <ulink url=\"&dehs;\">Debian " "External Health Status (DEHS)</ulink> service." msgstr "" "Le format du fichier <filename>watch</filename> est documenté dans la page " "de manuel <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>. Le fichier <filename>watch</filename> configure " "le programme <command>uscan</command> (dans le paquet <systemitem role=" "\"package\">devscripts</systemitem>) pour surveiller le site sur lequel vous " "avez obtenu les sources. C'est également utilisé par le service d'<ulink url=" "\"&dehs;\">état de santé extérieur à Debian ou « Debian External Health " "Status » (DEHS)</ulink>." #. type: Content of: <book><chapter><section><para> msgid "Here are its contents:" msgstr "Voici ce qu'il contient :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" msgstr "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" #. type: Content of: <book><chapter><section><para> msgid "" "Normally with a <filename>watch</filename> file, the URL at <literal>&sf-" "net;/gentoo</literal> is downloaded and searched for links of the form " "<literal><a href=...></literal>. The basename (just the part after " "the final <literal>/</literal>) of each linked URL is compared against the " "Perl regular expression pattern (see <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Out of the files that match, the one with the " "greatest version number is downloaded and the <command>uupdate</command> " "program is run to create an updated source tree." msgstr "" "Normalement, avec un fichier <filename>watch</filename>, la page servie à " "l'URL <literal>&sf-net;/gentoo</literal> est téléchargée pour chercher des " "liens sous la forme <literal><a href=...></literal>. Le nom de base " "(juste après la dernière <literal>/</literal>) de chaque URL liée est " "comparé au motif de l'expression rationnelle Perl <literal>gentoo-(.+)\\.tar" "\\.gz</literal> (consultez <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>). Parmi les fichiers " "correspondants, celui avec le plus grand numéro de version est téléchargé " "puis le programme <command>uupdate</command> est exécuté pour créer une " "arborescence source mise à jour." #. type: Content of: <book><chapter><section><para> msgid "" "Although this is true for other sites, the SourceForge download service at " "<ulink url=\"&sf-net;\"/> is an exception. When the <filename>watch</" "filename> file has an URL matching the Perl regexp <literal>^http://sf\\.net/" "</literal>, the <command>uscan</command> program replaces it with " "<literal>&qa-do;watch/sf.php/</literal> and then applies this rule. The URL " "redirector service at <ulink url=\"&qa-do;\"/> is designed to offer a stable " "redirect service to the desired file for any <filename>watch</filename> " "pattern of the form <literal>&sf-net;/<replaceable>project</replaceable>/" "<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This solves " "issues related to periodically changing SourceForge URLs." msgstr "" "Bien que ce soit vrai pour les autres sites, le service de téléchargement de " "SourceForge en <ulink url=\"&sf-net;\"/> est une exception. Quand le fichier " "<filename>watch</filename> comporte une URL correspondant au motif " "d'expression rationnelle <literal>^http://sf\\.net/</literal>, le programme " "<command>uscan</command> le remplace par <literal>&qa-do;watch/sf.php/</" "literal> et applique ensuite cette règle. Le service de redirection en " "<ulink url=\"&qa-do;\"/> est conçu pour offrir un service stable vers le " "fichier voulu pour les motifs <filename>watch</filename> de la forme " "<literal>&sf-net;/<replaceable>projet</replaceable>/<replaceable>nom-d-" "archive</replaceable>-(.+)\\.tar\\.gz</literal>. Le but est de résoudre le " "problème lié au fréquent changement d'URL SourceForge." #. type: Content of: <book><chapter><section><title> msgid "<filename>source/format</filename>" msgstr "<filename>source/format</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "In the <filename>debian/source/format</filename> file, there should be a " "single line indicating the desired format for the source package (check " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> for an exhaustive list). After <literal>squeeze</" "literal>, it should say either:" msgstr "" "Dans le fichier <filename>debian/source/format</filename>, il devrait y " "avoir une seule ligne indiquant le format voulu du paquet source (vérifier " "en <citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> pour une liste exhaustive). Après " "<literal>Squeeze</literal>, il devrait contenir selon les cas :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgstr "<literal>3.0 (native)</literal> pour les paquets Debian natifs ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (quilt)</literal> for everything else." msgstr "<literal>3.0 (quilt)</literal> pour tout le reste." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for a summary on the switch " "to the new <literal>3.0 (quilt)</literal> and <literal>3.0 (native)</" "literal> source formats." msgstr "" "Consulter <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> pour un résumé de la " "conversion des sources au formats source <literal>3.0 (quilt)</literal> et " "<literal>3.0 (native)</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Actually, this new format also supports multiple upstream tarballs and more " "compression methods. These are beyond the scope of this document." msgstr "" "En fait, ce nouveau format permet de gérer des archives amont multiples et " "plusieurs méthodes de compression. Ces considérations sortent du cadre de " "ce document." #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format records modifications " "in a <command>quilt</command> patch series within <filename>debian/patches</" "filename>. Those changes are then automatically applied during extraction " "of the source package. <placeholder type=\"footnote\" id=\"0\"/> The Debian " "modifications are simply stored in a <filename>debian.tar.gz</filename> " "archive containing all files under the <filename>debian</filename> " "directory. This new format supports inclusion of binary files such as PNG " "icons by the package maintainer without requiring tricks. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "Le récent format source <literal>3.0 (quilt)</literal> enregistre les " "modifications dans un ensemble de correctifs <command>quilt</command> dans " "<filename>debian/patches</filename>. Ces changements sont alors appliqués " "automatiquement lors de l'extraction du paquet source. <placeholder type=" "\"footnote\" id=\"0\"/> Les modifications Debian sont simplement conservées " "dans une archive <filename>debian.tar.gz</filename> contenant tous les " "fichiers du répertoire <filename>debian</filename>. Ce nouveau format " "permet d'inclure des fichiers binaires comme des icônes PNG sans " "bidouillage. <placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "When <command>dpkg-source</command> extracts a source package in " "<literal>3.0 (quilt)</literal> source format, it automatically applies all " "patches listed in <filename>debian/patches/series</filename>. You can avoid " "applying patches at the end of the extraction with the <literal>--skip-" "patches</literal> option." msgstr "" "Quand <command>dpkg-source</command> extrait un paquet source au format " "<literal>3.0 (quilt)</literal>, il applique automatiquement tous les " "correctifs énumérés dans <filename>debian/patches/series</filename>. Vous " "pouvez éviter que les correctifs soient appliqués à la fin de l'extraction " "avec l'option <literal>--skip-patches</literal>." #. type: Content of: <book><chapter><section><title> msgid "<filename>source/local-options</filename>" msgstr "<filename>source/local-options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "When you want to manage Debian packaging activities under a VCS, you " "typically create one branch (e.g. <literal>upstream</literal>) tracking the " "upstream source and another branch (e.g. typically <literal>master</" "literal> for Git) tracking the Debian package. For the latter, you usually " "want to have unpatched upstream source with your <filename>debian/*</" "filename> files for the Debian packaging to ease merging of the new upstream " "source." msgstr "" "Lors de la maintenance de paquet Debian avec un système de gestion de " "version, il faut typiquement créer une branche (par exemple " "<literal>upstream</literal>) pour suivre les sources amont, et une autre " "branche (typiquement <literal>master</literal> avec Git) pour suivre le " "paquet Debian. Pour cette dernière, il est préférable de garder les sources " "amont non modifiés aux côtés des fichiers <filename>debian/*</filename> du " "paquet Debian pour faciliter la fusion avec les nouveaux sources amonts." #. type: Content of: <book><chapter><section><para> msgid "" "After you build a package, the source is normally left patched. You need to " "unpatch it manually by running <literal>dquilt pop -a</literal> before " "committing to the <literal>master</literal> branch. You can automate this " "by adding the optional <filename>debian/source/local-options</filename> file " "containing <literal>unapply-patches</literal>. This file is not included in " "the generated source package and changes the local build behavior only. " "This file may contain <literal>abort-on-upstream-changes</literal>, too (see " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." msgstr "" "Après la construction d'un paquet, les sources sont normalement laissés " "modifiés (« patched »). <literal>dquilt pop -a</literal> doit être exécuté " "avant d'envoyer vers la branche <literal>master</literal>. Créer un fichier " "optionnel <filename>debian/source/local-options</filename> contenant " "<literal>unapply-patches</literal> permet d'automatiser cela. Ce fichier " "n'est pas inclus dans le paquet source créé et modifie seulement le " "comportement de construction local. Ce fichier peut aussi contenir " "<literal>abort-on-upstream-changes</literal> (consultez <citerefentry> " "<refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "unapply-patches\n" "abort-on-upstream-changes\n" msgstr "" "unapply-patches\n" "abort-on-upstream-changes\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/options</filename>" msgstr "<filename>source/options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The autogenerated files in the source tree can be quite annoying for " "packaging since they generate meaningless large patch files. There are " "custom modules such as <command>dh_autoreconf</command> to ease this problem " "as described in <xref linkend=\"customrules\"/>." msgstr "" "Les fichiers créés automatiquement dans l'arborescence source peuvent être " "assez agaçants pour l'empaquetage puisqu'ils sont à l'origine de grands " "fichiers de correctif sans signification. Des modules personnalisés comme " "<command>dh_autoreconf</command> permettent d'atténuer ce problème comme " "décrit en <xref linkend=\"customrules\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "You can provide a Perl regular expression to the <literal>--extend-diff-" "ignore</literal> option argument of <citerefentry> <refentrytitle>dpkg-" "source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> to ignore " "changes made to the autogenerated files while creating the source package." msgstr "" "Vous pouvez fournir une expression rationnelle Perl en argument de l'option " "<literal>--extend-diff-ignore</literal> de <citerefentry> " "<refentrytitle>dpkg-source</refentrytitle><manvolnum>1</manvolnum> </" "citerefentry> pour ignorer les modifications faites aux fichiers créés " "automatiquement lors de la création du paquet source." #. type: Content of: <book><chapter><section><para> msgid "" "As a general solution to address this problem of the autogenerated files, " "you can store such a <command>dpkg-source</command> option argument in the " "<filename>source/options</filename> file of the source package. The " "following will skip creating patch files for <filename>config.sub</" "filename>, <filename>config.guess</filename>, and <filename>Makefile</" "filename>." msgstr "" "Comme solution générique pour aborder ce problème de fichiers créés " "automatiquement, vous pouvez enregistrer ces arguments d'option de " "<command>dpkg-source</command> dans le fichier <filename>source/options</" "filename> du paquet source. L'exemple suivant permet de sauter la création " "de fichiers de correctif pour <filename>config.sub</filename>, " "<filename>config.guess</filename> et <filename>Makefile</filename> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" msgstr "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>patches/*</filename>" msgstr "<filename>patches/*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The old <literal>1.0</literal> source format created a single large " "<filename>diff.gz</filename> file containing package maintenance files in " "<filename>debian</filename> and patch files for the source. Such a package " "is a bit cumbersome to inspect and understand for each source tree " "modification later. This is not so nice." msgstr "" "L'ancien format source <literal>1.0</literal> créait un unique et gros " "fichier <filename>diff.gz</filename> contenant les fichiers de maintenance " "du paquet dans <filename>debian</filename> et les correctifs aux sources. Un " "tel paquet est un peu délicat à inspecter et à comprendre pour chaque " "modification de l'arbre source par la suite. Ce n'est pas conseillé." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Several methods of patch set maintenance have been proposed and are in use " "for Debian packages. The <command>quilt</command> system is the preferred " "maintenance system in use. Others include <command>dpatch</command>, " "<command>dbs</command>, and <command>cdbs</command>. Many of these keep " "such patches as <filename>debian/patches/*</filename> files." msgstr "" "Plusieurs méthodes de maintenance des ensembles de correctifs ont été " "proposés et sont utilisés dans les paquets Debian. Le système " "<command>quilt</command> est le système de maintenance conseillé. Parmi " "d'autres, <command>dpatch</command>, <command>dbs</command> et " "<command>cdbs</command> existent. La plupart d'entre eux conservent aussi " "les correctifs dans des fichiers <filename>debian/patches/*</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format stores patches in " "<filename>debian/patches/*</filename> files using the <command>quilt</" "command> command. These patches and other package data which are all " "contained under the <filename>debian</filename> directory are packaged as " "the <filename>debian.tar.gz</filename> file. Since the <command>dpkg-" "source</command> command can handle <command>quilt</command> formatted patch " "data in the <literal>3.0 (quilt)</literal> source without the <systemitem " "role=\"package\">quilt</systemitem> package, it does not need a " "<literal>Build-Depends</literal> on <systemitem role=\"package\">quilt</" "systemitem>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Le nouveau format source <literal>3.0 (quilt)</literal> conserve les " "correctifs dans les fichiers <filename>debian/patches/*</filename> en " "utilisant la commande <command>quilt</command>. Ces correctifs et les autres " "données de paquet qui sont toutes contenues dans le répertoire " "<filename>debian</filename> sont empaquetées dans le fichier " "<filename>debian.tar.gz</filename>. Puisque la commande <command>dpkg-" "source</command> peut gérer les correctifs au format <command>quilt</" "command> des sources <literal>3.0 (quilt)</literal> sans le paquet " "<systemitem role=\"package\">quilt</systemitem>, il n'est pas nécessaire " "d'ajouter <systemitem role=\"package\">quilt</systemitem> en <literal>Build-" "Depends</literal>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you are asking a sponsor to upload your package, this kind of clear " "separation and documentation of your changes is very important to expedite " "the package review by your sponsor." msgstr "" "Si vous demandez à un parrain d'envoyer le paquet, cette séparation plutôt " "claire et cette documentation de vos modifications est très importantes pour " "accélérer l'examen du paquet." #. type: Content of: <book><chapter><section><para> msgid "" "The <command>quilt</command> command is explained in <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. It records modifications to the source as a stack of " "<literal>-p1</literal> patch files in the <filename>debian/patches</" "filename> directory and the source tree is untouched outside of the " "<filename>debian</filename> directory. The order of these patches is " "recorded in the <filename>debian/patches/series</filename> file. You can " "apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "La commande <command>quilt</command> est expliquée en <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. Elle enregistre les modifications des sources comme une pile " "de fichiers correctifs <literal>-p1</literal> dans le répertoire " "<filename>debian/patches</filename> et l'arborescence source n'est pas " "modifiée en dehors du répertoire <filename>debian</filename>. L'ordre " "d'application de ces correctifs est enregistré dans le fichier " "<filename>debian/patches/series</filename>. Vous pouvez appliquer " "(« <literal>push</literal> »), enlever (« <literal>pop</literal> »), et " "rafraîchir (« <literal>refresh</literal> ») les correctifs facilement. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "For <xref linkend=\"modify\"/>, we created three patches in <filename>debian/" "patches</filename>." msgstr "" "En <xref linkend=\"modify\"/>, trois correctifs ont été créés dans " "<filename>debian/patches</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Since Debian patches are located in <filename>debian/patches</filename>, " "please make sure to set up the <command>dquilt</command> command properly as " "described in <xref linkend=\"quiltrc\"/>." msgstr "" "Puisque les correctifs Debian sont localisés en <filename>debian/patches</" "filename>, veuillez vous assurer d'avoir configuré correctement la commande " "<command>dquilt</command> conformément à la description en <xref linkend=" "\"quiltrc\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "When anyone (including yourself) provides a patch " "<filename><replaceable>foo</replaceable>.patch</filename> to the source " "later, modifying a <literal>3.0 (quilt)</literal> source package is quite " "simple:" msgstr "" "Quand quelqu'un (éventuellement vous-même) fournit un correctif " "<filename><replaceable>toto</replaceable>.patch</filename> par la suite, la " "modification d'un paquet source <literal>3.0 (quilt)</literal> est assez " "simple :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>toto</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... description du correctif\n" #. type: Content of: <book><chapter><section><para> msgid "" "The patches stored in the newer <literal>3.0 (quilt)</literal> source format " "must be <emphasis>fuzz</emphasis> free. You can ensure this with " "<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." msgstr "" "Les correctifs conservés au nouveau format source <literal>3.0 (quilt)</" "literal> doivent être sans approximation (« <emphasis>fuzz</emphasis> »). " "Vous pouvez vous en assurer avec <literal>dquilt pop -a; while dquilt push; " "do dquilt refresh; done</literal>." #. type: Content of: <book><chapter><title> msgid "Building the package" msgstr "Construction du paquet" #. type: Content of: <book><chapter><para> msgid "We should now be ready to build the package." msgstr "Tout devrait maintenant être prêt pour construire le paquet." #. type: Content of: <book><chapter><section><title> msgid "Complete (re)build" msgstr "Reconstruction complète" #. type: Content of: <book><chapter><section><para> msgid "" "In order to perform a complete (re)build of a package properly, you need to " "make sure you have installed" msgstr "" "Pour réaliser correctement la reconstruction complète d'un paquet, doivent " "être installés :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <systemitem role=\"package\">build-essential</systemitem> package," msgstr "le paquet <systemitem role=\"package\">build-essential</systemitem> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>), and" msgstr "" "les paquets énumérés dans le champ <literal>Build-Depends</literal> " "(consultez <xref linkend=\"control\"/>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends-indep</literal> field (see " "<xref linkend=\"control\"/>)." msgstr "" "les paquets énumérés dans le champ <literal>Build-Depends-indep</literal> " "(consultez <xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><para> msgid "Then you issue the following command in the source directory:" msgstr "" "Ensuite, exécutez la commande suivante dans le répertoire des sources :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage\n" msgstr "$ dpkg-buildpackage\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make full binary and source packages for you. It " "will:" msgstr "" "Ceci fera tout le nécessaire pour créer entièrement les paquets binaires et " "source à votre place :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "clean the source tree (<literal>debian/rules clean</literal>)" msgstr "" "nettoyage de l'arbre des sources (<literal>debian/rules clean</literal>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the source package (<literal>dpkg-source -b</literal>)" msgstr "construction du paquet source (<literal>dpkg-source -b</literal>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the program (<literal>debian/rules build</literal>)" msgstr "construction du programme (<literal>debian/rules build</literal>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)" msgstr "" "construction des paquets binaires (<literal>fakeroot debian/rules binary</" "literal>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "sign the source <filename>.dsc</filename> file, using <command>gpg</command>" msgstr "" "signature du fichier source <filename>.dsc</filename>, en utilisant " "<command>gpg</command> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "create and sign the upload <filename>.changes</filename> file, using " "<command>dpkg-genchanges</command> and <command>gpg</command>" msgstr "" "création et signature du fichier de téléchargement <filename>.changes</" "filename>, en utilisant <command>dpkg-genchanges</command> et <command>gpg</" "command>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This GPG key must be signed by a Debian developer to get connected to the " "web of trust and must be registered to <ulink url=\"&keyring;\">the Debian " "keyring</ulink>. This enables your uploaded packages to be accepted to the " "Debian archives. See <ulink url=\"&keycreate;\">Creating a new GPG key</" "ulink> and <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." msgstr "" "Cette clef GPG doit être signée par un développeur Debian pour être connecté " "au réseau de confiance et doit être enregistrée dans le <ulink url=" "\"&keyring;\">trousseau Debian</ulink>. Cela permet à vos paquets d'être " "acceptés dans l'archive Debian. Consultez la page de <ulink url=\"&keycreate;" "\">création d'une nouvelle clef GPG</ulink> et le <ulink url=\"&keysigning;" "\">wiki Debian à propos de la signature de clef</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The only input that will be required of you is your GPG secret pass phrase, " "twice. <placeholder type=\"footnote\" id=\"0\"/> If you are building Debian " "packages only for your own local use, you can skip promptings for the GPG " "signatures on the <filename>.dsc</filename> file and the <filename>.changes</" "filename> file like this:" msgstr "" "La seule entrée nécessaire de votre part sera votre phrase secrète GPG, deux " "fois. <placeholder type=\"footnote\" id=\"0\"/> Si vous ne construisez des " "paquets Debian que pour votre utilisation locale, vous pouvez passer les " "demandes de signatures GPG des fichiers <filename>.dsc</filename> et " "<filename>.changes</filename> comme ceci :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -us -uc\n" msgstr "$ dpkg-buildpackage -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "" "For a non-native Debian package, e.g., <systemitem role=\"package\">gentoo</" "systemitem>, you will see the following files in the parent directory " "(<filename>~/gentoo</filename>) after building packages:" msgstr "" "Pour un paquet Debian non natif, par exemple <systemitem role=\"package" "\">gentoo</systemitem>, vous verrez les fichiers suivants dans le répertoire " "parent (<filename>~/gentoo</filename>) après la construction des paquets : " #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the original upstream source code tarball, merely renamed to the " "above so that it adheres to the Debian standard. Note that this was created " "initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgstr "" "c'est le code source amont d'origine, simplement renommé pour être conforme " "aux normes Debian. Il a été créé au début avec <literal>dh_make -f ../" "gentoo-0.9.12.tar.gz</literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code. The file is generated " "from your <filename>control</filename> file, and is used when unpacking the " "source with <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. This file is GPG signed, so that " "people can be sure that it's really yours." msgstr "" "c'est un résumé du contenu du code source. Il est créé à partir du fichier " "<filename>control</filename>, et est utilisé pour décompresser les sources " "avec <citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>. C'est un fichier signé avec GPG, de sorte que " "les gens peuvent être sûrs qu'il s'agit bien du vôtre ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This compressed tarball contains your <filename>debian</filename> directory " "contents. Each and every addition you made to the original source code is " "stored as a <command>quilt</command> patch in <filename>debian/patches</" "filename>." msgstr "" "cette archive compressée contient le répertoire <filename>debian</filename>. " "Tous les ajouts et modifications au code source d'origine sont conservés en " "tant que correctif <command>quilt</command> dans <filename>debian/patches</" "filename>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can avoid applying <command>quilt</command> patches in the <literal>3.0 " "(quilt)</literal> source format at the end of the extraction with the " "<literal>--skip-patches</literal> option. Alternatively, you can run " "<literal>dquilt pop -a</literal> after normal operation." msgstr "" "Il est possible de ne pas appliquer les correctifs <command>quilt</command> " "du format source <literal>3.0 (quilt)</literal> à la fin de l'extraction " "avec l'option <literal>--skip-patches</literal>. Sinon, il est aussi " "possible d'exécuter <literal>dquilt pop -a</literal> après l'extraction " "normale." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If someone else wants to re-create your package from scratch, they can " "easily do so using the above three files. The extraction procedure is " "trivial: just copy the three files somewhere else and run <literal>dpkg-" "source -x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Si quelqu'un d'autre veut recréer le paquet depuis le début, il peut " "facilement le faire en utilisant ces trois fichiers. La procédure " "d'extraction est facile : copier simplement ces trois fichiers quelque part " "et exécuter <literal>dpkg-source -x gentoo_0.9.12-1.dsc</literal> ; " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package. You can use <command>dpkg</command> " "to install and remove this just like any other package." msgstr "" "c'est le paquet binaire terminé. Vous pouvez utiliser <command>dpkg</" "command> pour l'installer ou le retirer comme n'importe quel autre paquet ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package revision; it " "is used by the Debian FTP archive maintenance programs to install the binary " "and source packages. It is partly generated from the <filename>changelog</" "filename> file and the <filename>.dsc</filename> file. This file is GPG " "signed, so that people can be sure that it's really yours." msgstr "" "ce fichier décrit toutes les modifications effectuées dans la révision " "actuelle du paquet, et est utilisé par les programmes de maintenance des " "archives FTP Debian pour y installer les paquets binaires et sources. Il est " "partiellement créé à partir des fichiers <filename>changelog</filename> et " "<filename>.dsc</filename>. Ce fichier est signé avec GPG, de sorte que les " "gens peuvent être sûrs qu'il s'agit bien du vôtre." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "As you keep working on the package, its behavior will change and new " "features will be added. People downloading your package can look at this " "file and quickly see what has changed. Debian archive maintenance programs " "will also post the contents of this file to the <ulink url=\"&debian-devel-" "changes-ldo;\">debian-devel-changes@lists.debian.org</ulink> mailing list." msgstr "" "Au fur et à mesure que vous travaillez sur le paquet, son comportement va " "évoluer et de nouvelles fonctionnalités seront ajoutées. Les gens qui " "téléchargent votre paquet peuvent lire ce fichier et voir rapidement ce qui " "a changé. Les programmes de maintenance des archives Debian vont aussi " "poster le contenu de ce fichier sur la liste de diffusion <ulink url=" "\"&debian-devel-changes-ldo;\">debian-devel-changes@lists.debian.org</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The long strings of numbers in the <filename>.dsc</filename> and <filename>." "changes</filename> files are SHA1/SHA256 checksums for the files mentioned. " "Anyone downloading your files can test them with <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> or <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> and if the numbers don't match, " "they'll know the file is corrupt or has been tampered with." msgstr "" "Les longues chaînes de chiffres dans les fichiers <filename>.dsc</filename> " "et <filename>.changes</filename> sont les sommes SHA1 et SHA256 des fichiers " "indiqués. Les personnes téléchargeant vos fichiers peuvent les vérifier avec " "<citerefentry> <refentrytitle>sha1sum</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> ou <citerefentry> <refentrytitle>sha256sum</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, et si les fichiers " "ne correspondent pas, elles sauront que le fichier a été corrompu ou " "falsifié." #. type: Content of: <book><chapter><section><para> msgid "" "For a native Debian package, e.g., <systemitem role=\"package\">mypackage</" "systemitem>, you will see the following files in the parent directory after " "building packages:" msgstr "" "Pour un paquet Debian natif, par exemple <systemitem role=\"package" "\">monpaquet</systemitem>, vous verrez les fichiers suivants dans le " "répertoire parent après la construction des paquets : " #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.tar.gz</filename>" msgstr "<filename>monpaquet_1.0.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the source code tarball created from the <filename>mypackage-1.0</" "filename> directory by the <command>dpkg-source</command> command. (Its " "suffix is not <filename>orig.tar.gz</filename>.)" msgstr "" "c'est l'archive compressée du code source créé à partir du répertoire " "<filename>monpaquet-1.0</filename> par la commande <command>dpkg-source</" "command> (il ne se termine pas par <filename>orig.tar.gz</filename>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.dsc</filename>" msgstr "<filename>monpaquet_1.0.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code as in the non-native " "Debian package. (There is no Debian revision.)" msgstr "" "c'est un résumé du contenu du code source comme dans un paquet Debian non " "natif (il n'y a pas de révision Debian) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.deb</filename>" msgstr "<filename>monpaquet_1.0_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package as in the non-native Debian package. " "(There is no Debian revision.)" msgstr "" "c'est le paquet binaire terminé comme dans un paquet Debian non natif (il " "n'y a pas de révision Debian) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.changes</filename>" msgstr "<filename>monpaquet_1.0_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package version as " "in the non-native Debian package. (There is no Debian revision.)" msgstr "" "ce fichier décrit toutes les modifications effectuées dans la version " "actuelle du paquet comme dans un paquet Debian non natif (il n'y a pas de " "révision Debian)." #. type: Content of: <book><chapter><section><title> msgid "Autobuilder" msgstr "Serveurs d'empaquetage automatique (« autobuilder »)" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The actual autobuilder system involves much more complicated schemes than " "the one documented here. Such details are beyond the scope of this document." msgstr "" "Le véritable réseau de serveurs d'empaquetage automatique a un " "fonctionnement autrement plus compliqué que celui présenté ici. De tels " "détails sortent du cadre de ce document." #. type: Content of: <book><chapter><section><para> msgid "" "Debian supports many <ulink url=\"&ports;\">ports</ulink> with the <ulink " "url=\"&buildd;\">autobuilder network</ulink> running <command>buildd</" "command> daemons on computers of many different architectures. Although you " "do not need to do this yourself, you should be aware of what will happen to " "your packages. Let's look into roughly how they rebuild your packages for " "multiple architectures. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Debian gère de nombreux <ulink url=\"&ports;\">portages</ulink> avec le " "<ulink url=\"&buildd;\">réseau de serveurs d'empaquetage automatique</ulink> " "faisant fonctionner des démons <command>buildd</command> sur de nombreux " "ordinateurs d'architectures différentes. Même si vous n'avez pas besoin de " "le faire vous-même, vous devriez être au courant de ce qui va arriver à vos " "paquets. La suite présente brièvement comment les paquets sont reconstruits " "sur plusieurs architectures. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "For <literal>Architecture: any</literal> packages, the autobuilder system " "performs a rebuild. It ensures the installation of" msgstr "" "Les paquets <literal>Architecture: any</literal> sont reconstruits par les " "serveurs d'empaquetage automatique. Seront installés :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <systemitem role=\"package\">build-essential</systemitem> package, and" msgstr "le paquet <systemitem role=\"package\">build-essential</systemitem> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>)." msgstr "" "les paquets énumérés dans le champ <literal>Build-Depends</literal>, " "(consultez <xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><para> msgid "Then it issues the following command in the source directory:" msgstr "" "Ensuite, la commande suivante est exécutée dans le répertoire des sources :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -B\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make architecture dependent binary packages on " "another architecture. It will:" msgstr "" "Ceci fera tout le nécessaire pour créer entièrement les paquets binaires " "dépendants de l'architecture sur l'architecture concernée :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "build architecture dependent binary packages (<literal>fakeroot debian/rules " "binary-arch</literal>)" msgstr "" "construction des paquets binaires dépendants de l'architecture " "(<literal>fakeroot debian/rules binary-arch</literal>) ;" #. type: Content of: <book><chapter><section><para> msgid "This is why you see your package for other architectures." msgstr "" "C'est pourquoi votre paquet est disponible sur plusieurs architectures." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> package, " "the <command>chroot</command> environment under the <systemitem role=" "\"package\">sbuild</systemitem> package used by the autobuilder system does " "not enforce the use of a minimal system and may have many leftover packages " "installed." msgstr "" "contrairement à celui du paquet <systemitem role=\"package\">pbuilder</" "systemitem>, l'environnement <command>chroot</command> du paquet <systemitem " "role=\"package\">sbuild</systemitem> utilisé par les serveurs d'empaquetage " "automatique n'est pas forcément minimal et plusieurs paquets peuvent rester " "installés." #. type: Content of: <book><chapter><section><para> msgid "" "Although packages listed in the <literal>Build-Depends-Indep</literal> field " "are required to be installed for our normal packaging work (see <xref " "linkend=\"completebuild\"/>), they are not required to be installed for the " "autobuilder system since it builds only architecture dependent binary " "packages. <placeholder type=\"footnote\" id=\"0\"/> This distinction " "between normal packaging and autobuilding procedures is what dictates " "whether you should record such required packages in the <literal>Build-" "Depends</literal> or <literal>Build-Depends-Indep</literal> fields of the " "<filename>debian/control</filename> file (see <xref linkend=\"control\"/>)." msgstr "" "Bien qu'il soit nécessaire d'installer les paquets énumérés dans le champ " "<literal>Build-Depends-Indep</literal> pour l'empaquetage normal (consultez " "<xref linkend=\"completebuild\"/>), il n'est pas nécessaire de les installer " "sur le serveur d'empaquetage automatique puisqu'il ne construit que les " "paquets binaires dépendants de l'architecture. <placeholder type=\"footnote" "\" id=\"0\"/> Cette distinction entre l'empaquetage normal et celui des " "serveurs d'empaquetage automatique permet de déterminer si les paquets " "doivent être énumérés dans le champ <literal>Build-Depends</literal> ou " "<literal>Build-Depends-Indep</literal> du fichier <filename>debian/control</" "filename> (consultez <xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><title> msgid "<command>debuild</command> command" msgstr "Commande <command>debuild</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can automate the <command>dpkg-buildpackage</command> command's package " "build process further with the <command>debuild</command> command. See " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." msgstr "" "Vous pouvez automatiser encore plus le processus de construction de la " "commande <command>dpkg-buildpackage</command> avec la commande " "<command>debuild</command>, consultez <citerefentry> <refentrytitle>debuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "Customization of the <command>debuild</command> command can be done through " "<filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</" "filename>. I would suggest at least the following items:" msgstr "" "La configuration de la commande <command>debuild</command> peut être faite " "via <filename>/etc/devscript.conf</filename> ou <filename>~/.devscript</" "filename>. Les entrées suivantes sont suggérées :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" msgstr "" "DEBSIGN_KEYID=Votre_ID_cle_GPG\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "With these, packages are signed by your specified GPG key ID (good for " "sponsoring packages) and checked in detail by the <command>lintian</command> " "command." msgstr "" "Ainsi, les paquets seront signés avec votre identifiant de clé GPG (bon pour " "les paquets parrainés) et vérifiés en détail avec la commande " "<command>lintian</command>." #. type: Content of: <book><chapter><section><para> msgid "" "Cleaning the source and rebuilding the package from your user account is as " "simple as:" msgstr "" "Le nettoyage des sources et la reconstruction du paquet avec un compte " "utilisateur est aussi simple que :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild\n" msgstr "$ debuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your own local use, you " "can skip promptings for the GPG signatures on the <filename>.dsc</filename> " "file and the <filename>.changes</filename> file like this:" msgstr "" "Ici, si vous ne construisez des paquets Debian que pour votre utilisation " "locale, vous pouvez passer les demandes de signatures GPG des fichiers " "<filename>.dsc</filename> et <filename>.changes</filename> comme ceci :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -us -uc\n" msgstr "$ debuild -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "You can clean the source tree as simply as:" msgstr "Le nettoyage de l'arborescence des sources est aussi simple que :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild clean\n" msgstr "$ debuild clean\n" #. type: Content of: <book><chapter><section><title> msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgstr "Paquet <systemitem role=\"package\">pbuilder</systemitem>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Since the <systemitem role=\"package\">pbuilder</systemitem> package is " "still evolving, you should check the actual configuration situation by " "consulting the latest official documentation." msgstr "" "Comme le paquet <systemitem role=\"package\">pbuilder</systemitem> est en " "constante évolution, vous devriez vérifier les possibilités réelles de la " "configuration en consultant la dernière documentation officielle." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&buildd-do;\"/> for more on Debian package auto-building." msgstr "" "Consultez <ulink url=\"&buildd-do;\"/> pour obtenir plus de renseignements " "sur le service de construction automatique de paquets Debian." #. type: Content of: <book><chapter><section><para> msgid "" "For a clean room (<command>chroot</command>) build environment to verify the " "build dependencies, the <systemitem role=\"package\">pbuilder</systemitem> " "package is very useful. <placeholder type=\"footnote\" id=\"0\"/> This " "ensures a clean build from the source under the <literal>sid</literal> auto-" "builder for different architectures and avoids a severity serious FTBFS " "(Fails To Build From Source) bug which is always in the RC (release " "critical) category. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "Pour un environnement de construction propre (<command>chroot</command>) " "permettant de vérifier les dépendances de construction, <systemitem role=" "\"package\">pbuilder</systemitem> est très utile. <placeholder type=" "\"footnote\" id=\"0\"/> Cela garantit une construction propre des sources en " "construction automatique sous <literal>sid</literal> pour différentes " "architectures et évite un erreur sérieuse FTBFS (« Fails To Build From " "Source » pour les échecs de construction à partir du paquet source), qui est " "toujours en catégorie RC (« Release Critical », bloquant la publication). " "<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " "package as follows:" msgstr "" "Le paquet <systemitem role=\"package\">pbuilder</systemitem> est " "personnalisable de la manière suivante :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "setting the <filename>/var/cache/pbuilder/result</filename> directory " "writable by your user account." msgstr "" "configuration du répertoire <filename>/var/cache/pbuilder/result</filename> " "accessible en écriture pour l'utilisateur ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable></filename>, writable by the user, to place hook scripts " "in." msgstr "" "création d'un répertoire, par exemple <filename><replaceable>/var/cache/" "pbuilder/hooks</replaceable></filename>, accessible en écriture pour " "l'utilisateur pour y placer ses scripts hook ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "configuring <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" "filename> to include the following." msgstr "" "configuration de <filename>~/.pbuilderrc</filename> ou <filename>/etc/" "pbuilderrc</filename> pour intégrer :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgstr "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will allow you to sign generated packages with your secret GPG key in " "the <filename>~/.gnupg/</filename> directory." msgstr "" "Les paquets créés seront alors signés avec votre clé GPG du répertoire " "<filename>~/.gnupg/</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "First let's initialize the local <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> system as follows." msgstr "" "D'abord, le système <command>chroot</command> local de <systemitem role=" "\"package\">pbuilder</systemitem> doit être initialisé :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo pbuilder create\n" msgstr "$ sudo pbuilder create\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you already have a completed source package, issue the following commands " "in the directory where the <filename><replaceable>foo</replaceable>.orig.tar." "gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</" "filename>, and <filename><replaceable>foo</replaceable>.dsc</filename> files " "exist to update the local <systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> system and to build binary packages in it." msgstr "" "Si vous possédez déjà le paquet source terminé, exécutez les commandes " "suivantes dans le répertoire contenant les fichiers " "<filename><replaceable>toto</replaceable>.orig.tar.gz</filename>, " "<filename><replaceable>toto</replaceable>.debian.tar.gz</filename>, et " "<filename><replaceable>toto</replaceable>.dsc</filename> pour mettre à jour " "le système <command>chroot</command> de <systemitem role=\"package" "\">pbuilder</systemitem> et y construire les paquets binaires :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" msgstr "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>toto_version</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "The newly built packages without the GPG signatures will be located in " "<filename>/var/cache/pbuilder/result/</filename> with non-root ownership." msgstr "" "Les paquets nouvellement créés sans signatures GPG sont accessibles en " "<filename>/var/cache/pbuilder/result/</filename> et n'appartiennent pas au " "superutilisateur." #. type: Content of: <book><chapter><section><para> msgid "" "The GPG signatures on the <filename>.dsc</filename> file and the <filename>." "changes</filename> file can be generated as:" msgstr "" "Les signatures GPG des fichiers <filename>.dsc</filename> et <filename>." "changes</filename> peuvent être créés avec :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_version</replaceable>.dsc\n" "$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" msgstr "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>toto_version</replaceable>.dsc\n" "$ debsign <replaceable>toto_version_arch</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have an updated source tree but have not generated the matching " "source package, issue the following commands in the source directory where " "the <filename>debian</filename> directory exists, instead." msgstr "" "Si vous possédez une arborescence des sources à jour, mais n'avez pas créé " "le paquet source correspondant, exécutez plutôt les commandes suivantes dans " "le répertoire des sources avec le répertoire <filename>debian</filename> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ pdebuild\n" msgstr "" "$ sudo pbuilder --update\n" "$ pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your local use, you can " "skip promptings for the GPG signatures on the <filename>.dsc</filename> file " "and the <filename>.changes</filename> file as:" msgstr "" "Ici, si vous ne construisez des paquets Debian que pour votre utilisation " "locale, vous pouvez passer les demandes de signatures GPG des fichiers " "<filename>.dsc</filename> et <filename>.changes</filename> comme ceci :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ AUTO_DEBSIGN=no pdebuild\n" msgstr "$ AUTO_DEBSIGN=no pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can log into its <command>chroot</command> environment with the " "<literal>pbuilder --login --save-after-login</literal> command and configure " "it as you wish. This environment can be saved by leaving its shell prompt " "with <literal>^D</literal> (Control-D)." msgstr "" "Vous pouvez vous connecter à l'environnement <command>chroot</command> avec " "la commande <literal>pbuilder --login --save-after-login</literal> et le " "configurer à votre convenance. Cet environnement peut être sauvegardé en " "quittant l'invite de commande avec <literal>^D</literal> (Contrôle-D)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You can " "find many examples of hook scripts in the <filename>/usr/share/doc/pbuilder/" "examples</filename> directory." msgstr "" "Cela suppose que <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal> est " "déjà configuré. De nombreux exemples de scripts hook sont disponibles dans " "le répertoire <filename>/usr/share/doc/pbuilder/examples</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The latest version of the <command>lintian</command> command can be executed " "in the <literal>chroot</literal> environment using the hook script " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> configured as follows. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "La dernière version de la commande <command>lintian</command> peut être " "exécutée dans l'environnement <literal>chroot</literal> en utilisant le " "script hook <filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/" "B90lintian</filename> configuré comme suit : <placeholder type=\"footnote\" " "id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" msgstr "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ début de lintian +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# utilisez ceci si vous ne voulez pas que lintian arrête la construction\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ fin de lintian +++\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "You need to have access to the latest <literal>sid</literal> environment to " "build packages properly for <literal>sid</literal>. In practice, " "<literal>sid</literal> may be experiencing issues which makes it undesirable " "for you to migrate your whole system. The <systemitem role=\"package" "\">pbuilder</systemitem> package can help you to cope with this kind of " "situation." msgstr "" "Un environnement <literal>sid</literal> à jour est nécessaire pour " "construire correctement les paquets destinés à <literal>sid</literal>. En " "pratique, <literal>sid</literal> peut parfois être victime de problèmes qui " "peuvent rendre non souhaitable la migration de votre système complet. Le " "paquet <systemitem role=\"package\">pbuilder</systemitem> peut vous aider à " "faire face à ce genre de situation." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are some restrictions for such updates of your <literal>stable</" "literal> package." msgstr "" "Il existe des restrictions pour de telles mises à jour de paquet " "<literal>stable</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "You may need to update your <literal>stable</literal> packages after their " "release for <literal>stable-proposed-updates</literal>, <literal>stable/" "updates</literal>, etc. <placeholder type=\"footnote\" id=\"0\"/> For such " "occasions, the fact you may be running a <literal>sid</literal> system is " "not a good enough excuse for failing to update them promptly. The " "<systemitem role=\"package\">pbuilder</systemitem> package can help you to " "access environments of almost any Debian derivative distribution of the same " "architecture." msgstr "" "Vous pouvez avoir besoin de mettre à jour vos paquets <literal>stable</" "literal> après sa publication à destination de <literal>stable-proposed-" "updates</literal>, <literal>stable/updates</literal>, etc. <placeholder type=" "\"footnote\" id=\"0\"/> Dans ces cas-là, le fait d'utiliser <literal>sid</" "literal> est une mauvaise excuse pour ne pas les mettre à jour au plus tôt. " "Le paquet <systemitem role=\"package\">pbuilder</systemitem> vous permet " "d'accéder à la plupart des distributions dérivées de Debian pour la même " "architecture." #. type: Content of: <book><chapter><section><para> msgid "" "See <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, and <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." msgstr "" "Consultez <ulink url=\"&pbuilder;\"/>, <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>pbuilderrc</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, et <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<command>git-buildpackage</command> command and similars" msgstr "Commande <command>git-buildpackage</command> et similaires" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more." msgstr "" "Consultez <ulink url=\"&debref-vcs;\">Systèmes de contrôle de version</" "ulink> pour obtenir plus de renseignements." #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream uses a source code management system (VCS) <placeholder " "type=\"footnote\" id=\"0\"/> to maintain their code, you should consider " "using it as well. This makes merging and cherry-picking upstream patches " "much easier. There are several specialized wrapper script packages for " "Debian package building for each VCS." msgstr "" "Si les développeurs amont utilisent un système de gestion de version (VCS) " "<placeholder type=\"footnote\" id=\"0\"/> pour maintenir leur code source, " "vous devriez envisager de l'utiliser. Cela rend la fusion et la sélection " "(« cherry-picking ») des correctifs amont plus facile. De nombreux paquets " "de scripts d'enrobage sont disponibles pour la construction de paquets " "Debian pour chaque système de gestion de version :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git-buildpackage</systemitem>: a suite to help " "with Debian packages in Git repositories." msgstr "" "<systemitem role=\"package\">git-buildpackage</systemitem> : assistants pour " "les paquets Debian en dépôts Git ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: helper programs " "to maintain Debian packages with Subversion." msgstr "" "<systemitem role=\"package\">svn-buildpackage</systemitem> : assistants pour " "la maintenance de paquets Debian en dépôt Subversion ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: a set of Debian " "package scripts for CVS source trees." msgstr "" "<systemitem role=\"package\">cvs-buildpackage</systemitem> : scripts pour " "paquets Debian en dépôt CVS." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documents how " "to use the <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> service." msgstr "" "Le <ulink url=\"&debian-alioth-wiki;\">wiki Debian sur Alioth</ulink> " "documente la façon d'utiliser le service <ulink url=\"&debian-alioth;" "\">alioth.debian.org</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Use of <systemitem role=\"package\">git-buildpackage</systemitem> is " "becoming quite popular for Debian Developers to manage Debian packages with " "the Git server on <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>. " "<placeholder type=\"footnote\" id=\"0\"/> This package offers many commands " "to <emphasis>automate</emphasis> packaging activities." msgstr "" "L'utilisation de <systemitem role=\"package\">git-buildpackage</systemitem> " "devient assez populaire parmi les développeurs Debian pour gérer les paquets " "Debian avec le serveur Git sur <ulink url=\"&debian-alioth;\">alioth.debian." "org</ulink>. <placeholder type=\"footnote\" id=\"0\"/> Ce paquet fournit " "plusieurs commandes pour <emphasis>automatiser</emphasis> les activités " "d'empaquetage :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import previous Debian package to a Git " "repository." msgstr "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> : importer un paquet Debian existant dans un " "dépôt Git ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import new upstream tar to a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum></" "manvolnum> </citerefentry> : importer une nouvelle archive amont dans un " "dépôt Git ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: generate the Debian changelog from Git commit " "messages." msgstr "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> : générer le journal des modifications Debian à " "partir des messages de commit Git ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> : construire des paquets Debian à partir d'un " "dépôt Git ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository " "using <command>pbuilder</command>/<command>cowbuilder</command>." msgstr "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum></" "manvolnum> </citerefentry> : construire des paquets Debian à partir d'un " "dépôt Git en utilisant <command>pbuilder</command> ou <command>cowbuilder</" "command>." #. type: Content of: <book><chapter><section><para> msgid "These commands use 3 branches to track packaging activity." msgstr "" "Ces commandes utilisent trois branches pour suivre les activités " "d'empaquetage :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>main</literal> for Debian package source tree." msgstr "<literal>main</literal> pour l'arborescence de paquet Debian ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>upstream</literal> for upstream source tree." msgstr "<literal>upstream</literal> pour l'arborescence source amont ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "The <literal>--pristine-tar</literal> option invokes the <command>pristine-" "tar</command> command which can regenerate an exact copy of a pristine " "upstream tarball using only a small binary delta file and the contents of " "the tarball, which are typically kept in an <literal>upstream</literal> " "branch in the VCS." msgstr "" "L'option <literal>--pristine-tar</literal> invoque la commande " "<command>pristine-tar</command> qui peut générer une copie exacte de " "l'archive amont d'origine en n'utilisant qu'un petit fichier de delta " "binaire et le contenu de l'archive amont, qui est normalement gardé dans une " "branche <literal>upstream</literal> du système de gestion de version." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>pristine-tar</literal> for upstream tarball generated by the " "<literal>--pristine-tar</literal> option.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<literal>pristine-tar</literal> pour l'archive amont générée par l'option " "<literal>--pristine-tar</literal>.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Here are some web resources available for advanced audiences." msgstr "" "Voici quelques ressources disponibles sur la toile pour les utilisateurs " "avancés :" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "Building Debian Packages with git-buildpackage (<filename>&git-buildpackage-" "doc;</filename>)" msgstr "" "Construction de paquets Debian avec git-buildpackage (<filename>&git-" "buildpackage-doc;</filename>) ;" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgstr "<ulink url=\"&debian-packages-git;\">Paquets Debian avec Git</ulink> ;" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" msgstr "" "<ulink url=\"&git-debian-packaging;\">Utilisation de Git pour l'empaquetage " "Debian</ulink> ;" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgstr "" "<ulink url=\"&git-dpm;\">git-dpm : paquets Debian en gestionnaire Git</" "ulink> ;" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" msgstr "" "<ulink url=\"&topgit;\">Utilisation de TopGit pour créer un ensemble quilt " "pour l'empaquetage Debian</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "You can configure <systemitem role=\"package\">git-buildpackage</systemitem> " "with <filename>~/.gbp.conf</filename>. See <citerefentry> <refentrytitle>gbp." "conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">git-buildpackage</systemitem> peut être " "configuré dans <filename>~/.gbp.conf</filename>. Consultez <citerefentry> " "<refentrytitle>gbp.conf</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "Quick rebuild" msgstr "Reconstruction rapide" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Environment variables which are normally configured to proper values are not " "set by this method. Never create real packages to be uploaded using this " "<emphasis role=\"strong\">quick</emphasis> method." msgstr "" "Les variables d'environnement qui devraient normalement être configurées " "correctement à cette étape ne sont pas configurées par cette méthode. Ne " "créez jamais de vrai paquets pour l'envoi avec cette méthode <emphasis role=" "\"strong\">rapide</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "With a large package, you may not want to rebuild from scratch every time " "while you're tuning details in <filename>debian/rules</filename>. For " "testing purposes, you can make a <filename>.deb</filename> file without " "rebuilding the upstream sources like this<placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "Avec un paquet imposant, vous ne voudrez sans doute pas reconstruire depuis " "le début chaque fois que vous faites une petite modification à " "<filename>debian/rules</filename>. Pour tester, vous pouvez faire un fichier " "<filename>.deb</filename> sans reconstruire les sources amont comme ceci " "<placeholder type=\"footnote\" id=\"0\"/> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules binary\n" msgstr "$ fakeroot debian/rules binary\n" #. type: Content of: <book><chapter><section><para> msgid "Or simply do the following to see if it builds or not:" msgstr "" "Ou faites simplement comme suit pour voir s'il y a construction ou non :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules build\n" msgstr "$ fakeroot debian/rules build\n" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are finished with your tuning, remember to rebuild following the " "proper procedure. You may not be able to upload correctly if you try to " "upload <filename>.deb</filename> files built this way." msgstr "" "Une fois terminés vos ajustements, souvenez-vous de reconstruire en suivant " "la procédure correcte ci-dessus. Vous pouvez être incapable d'envoyer " "proprement si vous essayez d'envoyer des fichiers <filename>.deb</filename> " "construits de cette façon." #. type: Content of: <book><chapter><title> msgid "Checking the package for errors" msgstr "Contrôle des erreurs du paquet" #. type: Content of: <book><chapter><para> msgid "" "There are some techniques you should know for checking a package for errors " "before uploading it to the public archives." msgstr "" "Quelques techniques sont à connaître pour rechercher des erreurs sur le " "paquet avant de l'envoyer sur les archives publiques." #. type: Content of: <book><chapter><para> msgid "" "It's also a good idea to carry out testing on a machine other than your " "own. You must watch closely for any warnings or errors for all the tests " "described here." msgstr "" "Il est aussi conseillé d'effectuer des essais sur une machine différente de " "la vôtre. Vous devez observer de près chaque alerte ou erreur pour tous les " "tests décrits ici." #. type: Content of: <book><chapter><section><title> msgid "Suspicious changes" msgstr "Modifications suspectes" #. type: Content of: <book><chapter><section><para> msgid "" "If you find a new autogenerated patch file such as <filename>debian-changes-" "*</filename> in the <filename>debian/patches</filename> directory after " "building your non-native Debian package in <literal>3.0 (quilt)</literal> " "format, chances are you changed some files by accident or the build script " "modified the upstream source. If it is your mistake, fix it. If it is " "caused by the build script, fix the root cause with <command>dh-autoreconf</" "command> as in <xref linkend=\"customrules\"/> or work around it with " "<filename>source/options</filename> as in <xref linkend=\"sourceopt\"/>." msgstr "" "Si vous trouvez un nouveau fichier de correctif autocréé comme " "<filename>debian-changes-*</filename> dans le répertoire <filename>debian/" "patches</filename> après la construction de votre paquet Debian non natif au " "format <literal>3.0 (quilt)</literal>, il y a des chances que vous ayez " "accidentellement modifié quelques fichiers ou que le script de construction " "ait modifié les sources amont. Si c'est de votre faute, corrigez votre " "erreur. Si c'est provoqué par le script de construction, corrigez l'erreur à " "la racine avec <command>dh-autoreconf</command> comme en <xref linkend=" "\"customrules\"/> ou contournez-la avec <filename>source/options</filename> " "comme en <xref linkend=\"sourceopt\"/>." #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's installation" msgstr "Vérification de l'installation d'un paquet" #. type: Content of: <book><chapter><section><para> msgid "" "You must test your package for whether it installs without problem. The " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> command helps you to test installing all the generated " "binary packages." msgstr "" "Vous devez essayer votre paquet pour vérifier qu'il s'installe sans " "problème. La commande <citerefentry> <refentrytitle>debi</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> vous permet d'essayer " "l'installation de tout paquet binaire créé." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n" msgstr "$ sudo debi gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "To prevent installation problem on different systems, you must make sure " "that there are no filenames conflicting with other existing packages, using " "the <filename>Contents-<replaceable>i386</replaceable></filename> file " "downloaded from the Debian archive. The <command>apt-file</command> command " "may be handy for this task. If there are collisions, please take action to " "avoid this real problem, whether by renaming the file, moving a common file " "to a separate package that multiple packages can depend on, using the " "alternatives mechanism (see <citerefentry><refentrytitle>update-" "alternatives</refentrytitle> <manvolnum>1</manvolnum></citerefentry>) in " "coordination with the maintainers of other affected packages, or declaring a " "<literal>Conflicts</literal> relationship in the <filename>debian/control</" "filename> file." msgstr "" "Pour éviter les problèmes d'installation sur différents systèmes, vous devez " "vérifier qu'il n'y a pas de nom de fichier en conflit avec ceux existants " "dans d'autres paquets à l'aide du fichier <filename>Contents-" "<replaceable>i386</replaceable></filename> téléchargé depuis l'archive " "Debian. La commande <command>apt-file</command> peut être pratique pour " "cela. S'il existe des collisions, veuillez prendre les mesures nécessaires " "pour éviter ces vrais problèmes : en renommant le fichier, en déplaçant le " "fichier commun dans un paquet différent dont plusieurs paquets peuvent " "dépendre, en utilisant le mécanisme d'alternatives (consultez <citerefentry> " "<refentrytitle>update-alternatives</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>) en coordination avec les responsables de l'autre paquet " "concerné, ou encore en déclarant une relation de <literal>Conflicts</" "literal> dans le fichier <filename>debian/control</filename>." #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's maintainer scripts" msgstr "Vérification des scripts du responsable d'un paquet" #. type: Content of: <book><chapter><section><para> msgid "" "All maintainer scripts (that is, <filename>preinst</filename>, " "<filename>prerm</filename>, <filename>postinst</filename>, and " "<filename>postrm</filename> files) are hard to write correctly unless they " "are auto-generated by the <systemitem role=\"package\">debhelper</" "systemitem> programs. So do not use them if you are a novice maintainer " "(see <xref linkend=\"maintscripts\"/>)." msgstr "" "Tous les scripts du responsable, (c'est-à-dire les fichiers " "<filename>preinst</filename>, <filename>prerm</filename>, " "<filename>postinst</filename> et <filename>postrm</filename>), sont " "difficiles à écrire correctement, à moins qu'ils n'aient été générés " "automatiquement par les programmes <systemitem role=\"package\">debhelper</" "systemitem>. Ne les utilisez donc pas si vous êtes un responsable débutant " "(consultez <xref linkend=\"maintscripts\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "If the package makes use of these non-trivial maintainer scripts, be sure to " "test not only for install but also for remove, purge, and upgrade " "processes. Many maintainer script bugs show up when packages are removed or " "purged. Use the <command>dpkg</command> command as follows to test them." msgstr "" "Si le paquet utilise des scripts du responsable non triviaux, veuillez les " "essayer non seulement pour le processus d'installation, mais aussi les " "processus de suppression, purge et mise à niveau. De nombreux bogues dans " "les scripts du responsable surviennent lors de la suppression et de la " "purge. Utilisez la commande <command>dpkg</command> comme ceci pour les " "essayer :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" msgstr "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>révision</replaceable>_<replaceable>i386</replaceable>.deb\n" #. type: Content of: <book><chapter><section><para> msgid "This should be done with sequences such as the following." msgstr "Les séquences suivantes devraient être essayées :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the previous version (if needed)." msgstr "installation de la version précédente (si elle existe) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "upgrade it from the previous version." msgstr "mise à niveau depuis la version précédente ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "downgrade it back to the previous version (optional)." msgstr "dégradation (« downgrade ») à la version précédente (optionnel) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "purge it." msgstr "purge ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the new package." msgstr "installation du nouveau paquet ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "remove it." msgstr "suppression (« remove ») du paquet ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install it again." msgstr "installation du paquet, encore ;" #. type: Content of: <book><chapter><section><para> msgid "" "If this is your first package, you should create dummy packages with " "different versions to test your package in advance to prevent future " "problems." msgstr "" "Pour votre premier paquet, vous devriez créer des paquets factices avec " "différentes versions pour essayer votre paquet à l'avance et éviter des " "problèmes par la suite." #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that if your package has previously been released in Debian, " "people will often be upgrading to your package from the version that was in " "the last Debian release. Remember to test upgrades from that version too." msgstr "" "Gardez à l'esprit que si votre paquet a déjà été publié avec Debian, des " "gens vont mettre à jour ce paquet à partir de la version qui était dans la " "publication Debian précédente. Souvenez-vous d'essayer aussi les mises à " "jour à partir de cette version." #. type: Content of: <book><chapter><section><para> msgid "" "Although downgrading is not officially supported, supporting it is a " "friendly gesture." msgstr "" "Même si la réinstallation vers une version antérieure n'est pas " "officiellement gérée, il est préférable de la permettre." #. type: Content of: <book><chapter><section><title> msgid "Using <systemitem role=\"package\">lintian</systemitem>" msgstr "Utilisation de <systemitem role=\"package\">lintian</systemitem>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You do not need to provide the <command>lintian</command> option <literal>-i " "-I --show-overrides</literal> if you customized <filename>/etc/devscripts." "conf</filename> or <filename>~/.devscripts</filename> as described in <xref " "linkend=\"debuild\"/>." msgstr "" "Il n'est pas nécessaire d'ajouter le paramètre <literal>-i -I --show-" "overrides</literal> à <command>lintian</command> si vous avez personnalisé " "<filename>/etc/devscripts.conf</filename> ou <filename>~/.devscripts</" "filename> comme décrit en <xref linkend=\"debuild\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Run <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> on your <filename>.changes</filename> file. The " "<command>lintian</command> command runs many test scripts to check for many " "common packaging errors. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Exécutez <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> sur le fichier <filename>.changes</filename>. La " "commande <command>lintian</command> exécute de nombreux scripts de tests " "pour vérifier la plupart des erreurs habituelles d'empaquetage. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" msgstr "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of the <filename>.changes</" "filename> file generated for your package. The output of the " "<command>lintian</command> command uses the following flags." msgstr "" "Bien sûr, remplacez le nom de fichier par celui du fichier <filename>." "changes</filename> créé pour votre paquet. La sortie de la commande " "<command>lintian</command> utilise les balises suivants :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>E:</literal> for error; a sure policy violation or packaging error." msgstr "" "<literal>E:</literal> pour erreur ; une violation certaine de la Charte ou " "erreur d'empaquetage ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>W:</literal> for warning; a possible policy violation or packaging " "error." msgstr "" "<literal>W:</literal> pour avertissement ; une violation possible de la " "Charte ou erreur d'empaquetage ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>I:</literal> for info; information on certain aspects of packaging." msgstr "" "<literal>I:</literal> pour information ; une information sur certains " "aspects d'empaquetage ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>N:</literal> for note; a detailed message to help your debugging." msgstr "" "<literal>N:</literal> pour note ; un message détaillé pour vous aider à " "déboguer ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>O:</literal> for overridden; a message overridden by the " "<filename>lintian-overrides</filename> files but displayed by the <literal>--" "show-overrides</literal> option." msgstr "" "<literal>O:</literal> pour ignoré ; un message ignoré par le fichier " "<filename>lintian-overrides</filename> mais affiché avec le paramètre " "<literal>--show-overrides</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "When you see warnings, tune the package to avoid them or verify that the " "warnings are spurious. If spurious, set up <filename>lintian-overrides</" "filename> files as described in <xref linkend=\"lintian\"/>." msgstr "" "En cas d'avertissements, mettez au point le paquet pour les éviter ou " "vérifiez qu'ils sont infondés. S'ils sont infondés, configurez les fichiers " "<filename>lintian-overrides</filename> comme décrit en <xref linkend=" "\"lintian\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Note that you can build the package with <command>dpkg-buildpackage</" "command> and run <command>lintian</command> on it in one command, if you use " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> or <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "" "Vous pouvez reconstruire le paquet avec <command>dpkg-buildpackage</command> " "et lancer <command>lintian</command> en une seule commande, si vous utilisez " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> ou <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "The <command>debc</command> command" msgstr "Commande <command>debc</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can list files in the binary Debian package with the <citerefentry> " "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "command." msgstr "" "La commande <citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> permet d'énumérer les fichiers du paquet Debian " "binaire." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debc <replaceable>package</replaceable>.changes\n" msgstr "$ debc <replaceable>paquet</replaceable>.changes\n" #. type: Content of: <book><chapter><section><title> msgid "The <command>debdiff</command> command" msgstr "Commande <command>debdiff</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare file contents in two source Debian packages with the " "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "La commande <citerefentry> <refentrytitle>debdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> peut comparer les contenus de " "fichiers entre deux paquets Debian sources." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgstr "$ debdiff <replaceable>ancien-paquet</replaceable>.dsc <replaceable>nouveau-paquet</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also compare file lists in two sets of binary Debian packages with " "the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "La commande <citerefentry> <refentrytitle>debdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> permet aussi de comparer les listes " "de fichiers entre deux ensembles de paquets Debian binaires." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgstr "$ debdiff <replaceable>ancien-paquet</replaceable>.changes <replaceable>nouveau-paquet</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "These are useful to identify what has been changed in the source packages " "and to check for inadvertent changes made when updating binary packages, " "such as unintentionally misplacing or removing files." msgstr "" "Ces commandes sont utiles pour identifier ce qui a été modifié dans les " "paquets source et pour vérifier d'éventuelles modifications faites par " "inadvertance lors de la mise à jour des paquets binaires, comme par exemple " "des fichiers déplacés ou enlevés involontairement." #. type: Content of: <book><chapter><section><title> msgid "The <command>interdiff</command> command" msgstr "Commande <command>interdiff</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare two <filename>diff.gz</filename> files with the " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command. This is useful for verifying that no " "inadvertent changes were made to the source by the maintainer when updating " "packages in the old <literal>1.0</literal> source format." msgstr "" "Vous pouvez comparer deux fichiers <filename>diff.gz</filename> avec la " "commande <citerefentry> <refentrytitle>interdiff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. C'est utile pour vérifier " "qu'aucune modification involontaire n'a été effectuée sur les sources par le " "responsable en mettant à jour les paquets à l'ancien format source " "<literal>1.0</literal>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" msgstr "$ interdiff -z <replaceable>ancien-paquet</replaceable>.diff.gz <replaceable>nouveau-paquet</replaceable>.diff.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "The new <literal>3.0</literal> source format stores changes in multiple " "patch files as described in <xref linkend=\"patches\"/>. You can trace " "changes of each <filename>debian/patches/*</filename> file using " "<command>interdiff</command>, too." msgstr "" "Le nouveau format source <literal>3.0</literal> garde les modifications dans " "plusieurs fichiers de correctifs comme décrit en <xref linkend=\"patches\"/" ">. Vous pouvez aussi suivre les modifications de tous les fichiers " "<filename>debian/patches/*</filename> en utilisant <command>interdiff</" "command>." #. type: Content of: <book><chapter><section><title> msgid "The <command>mc</command> command" msgstr "Commande <command>mc</command>" #. type: Content of: <book><chapter><section><para> msgid "" "Many of these file inspection operations can be made into an intuitive " "process by using a file manager like <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> which will let you " "browse not only the contents of <filename>*.deb</filename> package files but " "also <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, " "<filename>*.diff.gz</filename>, and <filename>*.orig.tar.gz</filename> files." msgstr "" "Toutes ces opérations d'inspection de fichier peuvent être transformées en " "un processus intuitif avec un gestionnaire de fichiers comme <citerefentry> " "<refentrytitle>mc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "qui vous permet de consulter non seulement le contenu des fichiers paquet " "<filename>*.deb</filename>, mais aussi les fichiers <filename>*.udeb</" "filename>, <filename>*.debian.tar.gz</filename>, <filename>*.diff.gz</" "filename> et <filename>*.orig.tar.gz</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Be on the lookout for extra unneeded files or zero length files, both in the " "binary and source package. Often cruft doesn't get cleaned up properly; " "adjust your <filename>rules</filename> file to compensate for this." msgstr "" "Soyez attentif aux fichiers inutiles ou de taille nulle, dans les paquets " "binaires et source. Souvent les fichiers inutiles ne sont pas nettoyés " "correctement ; adaptez le fichier <filename>rules</filename> pour compenser." #. type: Content of: <book><chapter><title> msgid "Updating the package" msgstr "Mise à jour de paquet" #. type: Content of: <book><chapter><para> msgid "After you release a package, you will soon need to update it." msgstr "" "Après la publication d'un paquet, il sera rapidement nécessaire de le mettre " "à jour." #. type: Content of: <book><chapter><section><title> msgid "New Debian revision" msgstr "Nouvelle révision Debian" #. type: Content of: <book><chapter><section><para> msgid "" "Let's say that a bug report was filed against your package as " "<literal>#654321</literal>, and it describes a problem that you can solve. " "Here's what you need to do to create a new Debian revision of the package." msgstr "" "Soit un rapport de bogue numéroté <literal>#654321</literal>, concernant " "votre paquet et décrivant un problème que vous pouvez résoudre. Voici ce que " "vous devez faire pour créer une nouvelle révision du paquet :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to be recorded as a new patch, do the following." msgstr "pour un nouveau correctif :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> to " "set the patch name;" msgstr "" "configurer le nom du correctif : <literal>dquilt new <replaceable>nomdubogue." "patch</replaceable></literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> to " "declare the file to be modified;" msgstr "" "déclarer le fichier à modifier : <literal>dquilt add <replaceable>fichier-" "bogué</replaceable></literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Correct the problem in the package source for the upstream bug;" msgstr "corriger le problème dans le paquet source pour le bogue amont ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to record it to " "<filename><replaceable>bugname.patch</replaceable></filename>;" msgstr "" "l'enregistrer en <filename><replaceable>nomdubogue.patch</replaceable></" "filename> : <literal>dquilt refresh</literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to add its description;" msgstr "ajouter sa description : <literal>dquilt header -e</literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to update an existing patch, do the following." msgstr "pour la mise à jour d'un correctif :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> to recall " "the existing <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "" "rappeler le correctif <filename><replaceable>toto.patch</replaceable></" "filename> existant : <literal>dquilt pop <replaceable>toto.patch</" "replaceable></literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Correct the problem in the old <filename><replaceable>foo.patch</" "replaceable></filename>;" msgstr "" "corriger le problème dans l'ancien <filename><replaceable>toto.patch</" "replaceable></filename> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to update <filename><replaceable>foo." "patch</replaceable></filename>;" msgstr "" "mettre à jour <filename><replaceable>toto.patch</replaceable></filename> : " "<literal>dquilt refresh</literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to update its description;" msgstr "mettre à jour sa description : <literal>dquilt header -e</literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>;" msgstr "" "appliquer tous les correctifs en enlevant les approximations " "(<emphasis>fuzz</emphasis>) : <literal>while dquilt push; do dquilt refresh; " "done</literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "To get the date in the required format, use <literal>LANG=C date -R</" "literal>." msgstr "" "Pour obtenir la date au format voulu, utilisez <literal>LANG=C date -R</" "literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add a new revision at the top of the Debian <filename>changelog</filename> " "file, for example with <literal>dch -i</literal>, or explicitly with " "<literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal> and then insert the comments using your preferred " "editor. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "ajouter une nouvelle révision au début du fichier <filename>changelog</" "filename> Debian, par exemple avec <literal>dch -i</literal>, ou " "explicitement avec <literal>dch -v <replaceable>version</replaceable>-" "<replaceable>révision</replaceable></literal>, et ajoutez ensuite les " "commentaires en utilisant votre éditeur favori ;<placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Include a short description of the bug and the solution in the changelog " "entry, followed by <literal>Closes: #654321</literal>. That way, the bug " "report will be <emphasis>automagically</emphasis> closed by the archive " "maintenance software the moment your package gets accepted into the Debian " "archive." msgstr "" "ajouter une courte description du bogue et de la solution dans l'entrée du " "changelog, suivie par <literal>Closes: #654321</literal>. De cette manière, " "le rapport de bogue sera <emphasis>automagiquement</emphasis> fermé par le " "logiciel de maintenance des archives une fois le paquet accepté dans " "l'archive Debian ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in the above to fix more bugs while updating the Debian " "<filename>changelog</filename> file with <literal>dch</literal> as needed." msgstr "" "répéter les opérations précédentes pour corriger plus de bogues tout en " "mettant à jour le fichier <filename>changelog</filename> avec <literal>dch</" "literal> selon votre besoin ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in <xref linkend=\"completebuild\"/> and <xref linkend=" "\"checkit\"/>." msgstr "" "recommencer ce qui a été fait en <xref linkend=\"completebuild\"/> et <xref " "linkend=\"checkit\"/> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Once you are satisfied, you should change the distribution value in " "<filename>changelog</filename> from <literal>UNRELEASED</literal> to the " "target distribution value <literal>unstable</literal> (or even " "<literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "une fois satisfait, modifier la valeur de distribution dans " "<filename>changelog</filename> d'<literal>UNRELEASED</literal> à la valeur " "de distribution cible <literal>unstable</literal> (ou même " "<literal>experimental</literal>). <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Upload the package as <xref linkend=\"upload\"/>. The difference is that " "this time, the original source archive won't be included, as it hasn't been " "changed and it already exists in the Debian archive." msgstr "" "envoyer le paquet comme en <xref linkend=\"upload\"/>. La différence est que " "cette fois, l'archive source originale ne sera pas incluse, car elle n'a pas " "été modifiée et est déjà dans l'archive Debian." #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case can occur when you make a local package to experiment with " "the packaging before uploading the normal version to the official archive, e." "g., <literal><replaceable>1.0.1</replaceable>-<replaceable>1</replaceable></" "literal>. For smoother upgrades, it is a good idea to create a " "<filename>changelog</filename> entry with a version string as " "<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" "literal>. You may unclutter <filename>changelog</filename> by consolidating " "such local change entries into a single entry for the official package. See " "<xref linkend=\"namever\"/> for the order of version strings." msgstr "" "Un cas délicat peut se produire quand vous faites un paquet local pour " "expérimenter l'empaquetage avant d'envoyer la version normale vers l'archive " "officielle, par exemple <literal><replaceable>1.0.1</replaceable>-" "<replaceable>1</replaceable></literal>. Pour des mises à niveau plus en " "douceur, il vaut mieux créer une entrée de <filename>changelog</filename> " "avec une chaîne de version comme <literal><replaceable>1.0.1</replaceable>-" "<replaceable>1~rc1</replaceable></literal>. Vous pouvez nettoyer le " "<filename>changelog</filename> en fusionnant ces entrées de modification en " "une unique entrée pour le paquet officiel. Consultez <xref linkend=\"namever" "\"/> pour l'ordre des chaînes de version." #. type: Content of: <book><chapter><section><title> msgid "Inspection of the new upstream release" msgstr "Examen d'une nouvelle version amont" #. type: Content of: <book><chapter><section><para> msgid "" "When preparing packages of a new upstream release for the Debian archive, " "you must check the new upstream release, first." msgstr "" "Lors de la préparation de paquets d'une nouvelle version amont pour " "l'archive Debian, vous devez commencer par vérifier la nouvelle version " "amont." #. type: Content of: <book><chapter><section><para> msgid "" "Start by reading the upstream <filename>changelog</filename>, " "<filename>NEWS</filename>, and whatever other documentation they may have " "released with the new version." msgstr "" "Commencez par lire les <filename>changelog</filename> et <filename>NEWS</" "filename> amonts, ainsi que toute autre documentation distribuée avec la " "nouvelle version." #. type: Content of: <book><chapter><section><para> msgid "" "You can then inspect changes between the old and new upstream sources as " "follows, watching out for anything suspicious." msgstr "" "Examinez ensuite les modifications entre les anciennes et nouvelles sources " "amont, pour guetter tout changement suspect :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgstr "$ diff -urN <replaceable>toto</replaceable>-<replaceable>ancienneversion</replaceable> <replaceable>toto</replaceable>-<replaceable>nouvelleversion</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "Changes to some auto-generated files by Autotools such as <filename>missing</" "filename>, <filename>aclocal.m4</filename>, <filename>config.guess</" "filename>, <filename>config.h.in</filename>, <filename>config.sub</" "filename>, <filename>configure</filename>, <filename>depcomp</filename>, " "<filename>install-sh</filename>, <filename>ltmain.sh</filename>, and " "<filename>Makefile.in</filename> may be ignored. You may delete them before " "running <command>diff</command> on the source for inspection." msgstr "" "Les modifications de certains fichiers automatiquement créés par Autotools " "comme <filename>missing</filename>, <filename>aclocal.m4</filename>, " "<filename>config.guess</filename>, <filename>config.h.in</filename>, " "<filename>config.sub</filename>, <filename>configure</filename>, " "<filename>depcomp</filename>, <filename>install-sh</filename>, " "<filename>ltmain.sh</filename> et <filename>Makefile.in</filename> peuvent " "être ignorées. Vous pouvez les effacer avant d'exécuter <command>diff</" "command> pour examiner les sources." #. type: Content of: <book><chapter><section><title> msgid "New upstream release" msgstr "Nouvelle version amont" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is packaged in the old <literal>1.0</literal> format, this can " "be done by running <literal>zcat /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" "literal> in the new extracted source, instead." msgstr "" "Si un paquet <systemitem role=\"package\"><replaceable>toto</replaceable></" "systemitem> est empaqueté avec l'ancien format <literal>1.0</literal>, ce " "peut plutôt être réalisé en exécutant <literal>zcat /<replaceable>chemin</" "replaceable>/<replaceable>vers</replaceable>/<replaceable>toto</" "replaceable>_<replaceable>ancienneversion</replaceable>.diff.gz|patch -p1</" "literal> depuis la nouvelle arborescence source décompressée." #. type: Content of: <book><chapter><section><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is properly packaged in the newer <literal>3.0 (native)</" "literal> or <literal>3.0 (quilt)</literal> formats, packaging a new upstream " "version is essentially moving the old <filename>debian</filename> directory " "to the new source. This can be done by running <literal>tar xvzf /" "<replaceable>path</replaceable>/<replaceable>to</replaceable>/" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian." "tar.gz</literal> in the new extracted source. <placeholder type=\"footnote" "\" id=\"0\"/> Of course, you need to do some obvious chores." msgstr "" "Si un paquet <systemitem role=\"package\"><replaceable>toto</replaceable></" "systemitem> est correctement empaqueté au nouveau format " "<literal>3.0 (native)</literal> ou <literal>3.0 (quilt)</literal>, " "empaqueter une nouvelle version amont consiste essentiellement à déplacer " "l'ancien répertoire <filename>debian</filename> dans les nouvelles sources. " "Ce peut être réalisé en exécutant <literal>tar xvzf /<replaceable>chemin</" "replaceable>/<replaceable>vers</replaceable>/<replaceable>toto</" "replaceable>_<replaceable>ancienneversion</replaceable>.debian.tar.gz</" "literal> depuis la nouvelle arborescence source décompressée. <placeholder " "type=\"footnote\" id=\"0\"/> Bien sûr, vous devez vous occuper de quelques " "routines évidentes :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a copy of the upstream source as the " "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename> " "file." msgstr "" "création d'une copie des sources amont dans un fichier " "<filename>toto_<replaceable>nouvelleversion</replaceable>.orig.tar.gz</" "filename> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Update the Debian <filename>changelog</filename> file with <literal>dch -v " "<replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." msgstr "" "mise à jour du ficher <filename>changelog</filename> Debian avec " "<literal>dch -v <replaceable>nouvelleversion</replaceable>-<replaceable>1</" "replaceable></literal> :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Add an entry with <literal>New upstream release</literal>." msgstr "" "ajout d'une entrée avec <literal>New upstream release.</literal> (nouvelle " "version amont) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>in the new upstream release</" "emphasis> that fix reported bugs and close those bugs by adding " "<literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "description succincte des modifications <emphasis>dans la nouvelle version " "amont</emphasis> qui corrigent des bogues et ferment les rapports associés " "en ajoutant <literal>Closes: #<replaceable>numéro_de_bogue</replaceable></" "literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>to the new upstream release</" "emphasis> by the maintainer that fix reported bugs and close those bugs by " "adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "description succincte des modifications <emphasis>à la nouvelle version " "amont</emphasis> par le responsable qui corrigent des bogues et ferment les " "rapports associés en ajoutant <literal>Closes: " "#<replaceable>numéro_de_bogue</replaceable></literal> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>." msgstr "" "application de tous les correctifs en enlevant les approximations " "(« <emphasis>fuzz</emphasis> ») : <literal>while dquilt push; do dquilt " "refresh; done</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "If the patch/merge did not apply cleanly, inspect the situation (clues are " "left in <filename>.rej</filename> files)." msgstr "" "Si la fusion des correctifs ne s'applique pas proprement, examinez la " "situation (des indices sont laissés dans les fichiers <filename>.rej</" "filename>) :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source was integrated into the upstream source," msgstr "si un correctif appliqué aux sources a été intégré aux sources amont :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt delete</literal> to remove it." msgstr "<literal>dquilt delete</literal> pour l'enlever ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source conflicted with new changes in the " "upstream source," msgstr "" "si un correctif appliqué aux sources entre en confit avec les nouvelles " "modifications des sources amont :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt push -f</literal> to apply old patches while forcing rejects " "as <filename><replaceable>baz</replaceable>.rej</filename>." msgstr "" "<literal>dquilt push -f</literal> pour appliquer les anciens correctifs tout " "en forçant les rejets comme <filename><replaceable>truc</replaceable>.rej</" "filename> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Edit the <filename><replaceable>baz</replaceable></filename> file manually " "to bring about the intended effect of <filename><replaceable>baz</" "replaceable>.rej</filename>." msgstr "" "édition manuelle du fichier <filename><replaceable>truc</replaceable></" "filename> pour obtenir le résultat attendu de <filename><replaceable>truc</" "replaceable>.rej</filename> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt refresh</literal> to update the patch." msgstr "<literal>dquilt refresh</literal> pour mettre à jour le correctif ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Continue as usual with <literal>while dquilt push; do dquilt refresh; done</" "literal>." msgstr "" "continuer comme d'habitude avec <literal>while dquilt push; do dquilt " "refresh; done</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "This process can be automated using the <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> command as follows:" msgstr "" "Cette méthode peut être automatisé avec <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" msgstr "" "$ apt-get source <replaceable>toto</replaceable>\n" "...\n" "dpkg-source: info: extraction de <replaceable>toto</replaceable> dans <replaceable>toto</replaceable>-<replaceable>ancienneversion</replaceable>\n" "dpkg-source: info: extraction de <replaceable>toto</replaceable>_<replaceable>ancienneversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: extraction de <replaceable>toto</replaceable>_<replaceable>ancienneversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>toto</replaceable>-<replaceable>ancienneversion</replaceable>/\n" "<replaceable>toto</replaceable>_<replaceable>ancienneversion</replaceable>-1.debian.tar.gz\n" "<replaceable>toto</replaceable>_<replaceable>ancienneversion</replaceable>-1.dsc\n" "<replaceable>toto</replaceable>_<replaceable>ancienneversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>toto</replaceable>/<replaceable>toto</replaceable>-<replaceable>nouvelleversion</replaceable>.tar.gz\n" "$ cd <replaceable>toto</replaceable>-<replaceable>ancienneversion</replaceable>\n" "$ uupdate -v <replaceable>nouvelleversion</replaceable> ../<replaceable>toto</replaceable>-<replaceable>nouvelleversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>toto</replaceable>-<replaceable>nouvelleversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... documentation des modifications réalisées\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the <command>uscan</command> command downloads the updated source but it " "does not run the <command>uupdate</command> command, you should correct the " "<filename>debian/watch</filename> file to have <literal>debian uupdate</" "literal> at the end of the URL." msgstr "" "Si la commande <command>uscan</command> télécharge les sources mises à jour " "mais n'exécute pas la commande <command>uupdate</command>, vous devriez " "corriger le fichier <filename>debian/watch</filename> pour avoir " "<literal>debian uupdate</literal> après l'URL." #. type: Content of: <book><chapter><section><para> msgid "" "If you set up a <filename>debian/watch</filename> file as described in <xref " "linkend=\"watch\"/>, you can skip the <command>wget</command> command. You " "simply run <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> in the <filename><replaceable>foo</replaceable>-" "<replaceable>oldversion</replaceable></filename> directory instead of the " "<command>uupdate</command> command. This will <emphasis>automagically</" "emphasis> look for the updated source, download it, and run the " "<command>uupdate</command> command. <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "Si le fichier <filename>debian/watch</filename> est configuré comme décrit " "en <xref linkend=\"watch\"/>, la commande <command>wget</command> est " "inutile. Exécutez simplement <citerefentry> <refentrytitle>uscan</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> dans le répertoire " "<filename><replaceable>toto</replaceable>-<replaceable>ancienneversion</" "replaceable></filename> à la place de la commande <command>uupdate</command> " "suffit. Les sources mises à jour seront <emphasis>automagiquement</emphasis> " "recherchées, téléchargées, et la commande <command>uupdate</command> sera " "exécutée. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can release this updated source by repeating what you did in <xref " "linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref linkend=" "\"upload\"/>." msgstr "" "Vous pouvez publier ces sources mises à jour en recommençant ce qui a été " "fait en <xref linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/> et " "<xref linkend=\"upload\"/>." #. type: Content of: <book><chapter><section><title> msgid "Updating the packaging style" msgstr "Mise à jour du style d'empaquetage" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If your sponsor or other maintainers object to updating the existing " "packaging style, don't bother arguing. There are more important things to " "do." msgstr "" "Si votre parrain ou d'autres responsables s'opposent à la mise à jour du " "style d'empaquetage existant, ne vous embêtez pas à argumenter. Il y a des " "choses plus importantes à faire." #. type: Content of: <book><chapter><section><para> msgid "" "Updating the package style is not a required activity for the update of a " "package. However, doing so lets you use the full capabilities of the modern " "<systemitem role=\"package\">debhelper</systemitem> system and the " "<literal>3.0</literal> source format. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "La mise à jour du style d'empaquetage n'est pas nécessaire lors de la mise à " "jour d'un paquet. Néanmoins, le faire permet de profiter de tout le " "potentiel du système <systemitem role=\"package\">debhelper</systemitem> " "moderne et du format source <literal>3.0</literal> : <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you need to recreate deleted template files for any reason, you can run " "<command>dh_make</command> again in the same Debian package source tree with " "the <literal>--addmissing</literal> option. Then edit them appropriately." msgstr "" "si vous devez, pour quelque raison que ce soit, recréer des fichiers modèles " "qui avaient été effacés, vous pouvez exécuter <command>dh_make</command> à " "nouveau depuis le répertoire des sources Debian, avec l'option <literal>--" "addmissing</literal>. Puis modifiez-les de façon adéquate ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If the package has not been updated to use the <systemitem role=\"package" "\">debhelper</systemitem> v7+ <command>dh</command> syntax for the " "<filename>debian/rules</filename> file, update it to use <command>dh</" "command>. Update the <filename>debian/control</filename> file accordingly." msgstr "" "si le paquet n'a pas été mis à jour pour utiliser la syntaxe <command>dh</" "command> de <systemitem role=\"package\">debhelper</systemitem> v7+ dans le " "fichier <filename>debian/rules</filename>, mettez-le à jour pour utiliser " "<command>dh</command>. Mettez à jour le fichier <filename>debian/control</" "filename> en conséquence ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you want to update the <filename>rules</filename> file created with the " "<filename>Makefile</filename> inclusion mechanism of the Common Debian Build " "System (<systemitem role=\"package\">cdbs</systemitem>) to the <command>dh</" "command> syntax, see the following to understand its <literal>DEB_*</" "literal> configuration variables." msgstr "" "si vous voulez mettre à jour le fichier <filename>rules</filename> créé avec " "le mécanisme d'héritage <filename>Makefile</filename> du système de " "compilation usuel Debian (<systemitem role=\"package\">cdbs</systemitem>) " "vers la syntaxe <command>dh</command>, consultez les documents suivants pour " "comprendre ses variables de configuration <literal>DEB_*</literal> :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "local copy of <filename>&cdbs-doc;</filename>" msgstr "copie locale de <filename>&cdbs-doc;</filename> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" msgstr "" "<ulink url=\"&cdbs-tutorial;\">Le système de compilation usuel Debian " "(CDBS), FOSDEM 2009</ulink> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package without the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (native)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(native)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied." msgstr "" "si vous avez un paquet source <literal>1.0</literal> sans fichier " "<filename><replaceable>toto</replaceable>.diff.gz</filename>, vous pouvez le " "mettre à jour au récent format source <literal>3.0 (native)</literal> en " "créant <filename>debian/source/format</filename> contenant " "<literal>3.0 (native)</literal>. Le reste des fichiers <filename>debian/*</" "filename> peut être simplement copié ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can split <filename>big.diff</filename> into many small incremental " "patches using the <command>splitdiff</command> command." msgstr "" "vous pouvez découper <filename>gros.diff</filename> en plusieurs petits " "correctifs incrémentaux avec la commande <command>splitdiff</command>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package with the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (quilt)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(quilt)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied. Import the <filename>big.diff</filename> file generated by " "the command <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" "replaceable>.diff.gz > big.diff</literal> to your <command>quilt</" "command> system, if needed. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "si vous avez un paquet source <literal>1.0</literal> avec fichier " "<filename><replaceable>toto</replaceable>.diff.gz</filename>, vous pouvez le " "mettre à jour au récent format source <literal>3.0 (quilt)</literal> en " "créant <filename>debian/source/format</filename> contenant " "<literal>3.0 (quilt)</literal>. Le reste des fichiers <filename>debian/*</" "filename> peut être simplement copié. Importez le fichier <filename>gros." "diff</filename> créé par la commande <literal>filterdiff -z -x '*/debian/*' " "<replaceable>toto</replaceable>.diff.gz > gros.diff</literal> dans votre " "système <command>quilt</command>, au besoin ; <placeholder type=\"footnote\" " "id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged using another patch system such as <systemitem role=" "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" "systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " "<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, " "convert it to the <systemitem role=\"package\">quilt</systemitem> command " "using <filename>deb3</filename> at <ulink url=\"&deb3;\"/>." msgstr "" "si l'empaquetage a été créé en utilisant un autre système de correctif comme " "<systemitem role=\"package\">dpatch</systemitem>, <systemitem role=\"package" "\">dbs</systemitem> ou <systemitem role=\"package\">cdbs</systemitem> avec " "<literal>-p0</literal>, <literal>-p1</literal> ou <literal>-p2</literal>, " "convertissez-le à la commande <systemitem role=\"package\">quilt</" "systemitem> avec <filename>deb3</filename> disponible en <ulink url=\"&deb3;" "\"/> ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged with the <command>dh</command> command with the " "<literal>--with quilt</literal> option or with the <command>dh_quilt_patch</" "command> and <command>dh_quilt_unpatch</command> commands, remove these and " "make it use the newer <literal>3.0 (native)</literal> source format." msgstr "" "si l'empaquetage a été créé avec la commande <command>dh</command> et le " "paramètre <literal>--with quilt</literal> ou les commandes " "<command>dh_quilt_patch</command> et <command>dh_quilt_unpatch</command>, " "enlevez les et utilisez le nouveau format source <literal>3.0 (native)</" "literal>." #. type: Content of: <book><chapter><section><para> msgid "" "You should check <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> and adopt ACCEPTED proposals." msgstr "" "Vous devriez consulter les <ulink url=\"&dep;\">propositions d'améliorations " "Debian (DEP - Debian Enhancement Proposals)</ulink> et adopter les " "propositions marquées « ACCEPTED »." #. type: Content of: <book><chapter><section><para> msgid "" "You need to do the other tasks described in <xref linkend=\"newupstream\"/>, " "too." msgstr "" "Les autres tâches décrites en <xref linkend=\"newupstream\"/> sont aussi à " "effectuer." #. type: Content of: <book><chapter><section><title> msgid "UTF-8 conversion" msgstr "Conversion en UTF-8" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream documents are encoded in old encoding schemes, converting them " "to <ulink url=\"&utf8;\">UTF-8</ulink> is a good idea." msgstr "" "Si les documents amonts sont encodés avec d'anciens jeux de caractères, les " "convertir en <ulink url=\"&utf8;\">UTF-8</ulink> peut être utile :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert encodings of plain text files." msgstr "" "avec <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> pour convertir l'encodage de fichiers texte :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "iconv -f latin1 -t utf8 <replaceable>truc_entrée.txt</replaceable> > <replaceable>truc_sortie.txt</replaceable>\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert from HTML files to UTF-8 plain text " "files. When you do this, make sure to execute it under UTF-8 locale." msgstr "" "avec <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> pour convertir les fichiers HTML en fichier texte " "UTF-8. Assurez-vous d'exécuter cette commande avec des paramètres régionaux " "en UTF-8 :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>truc_entrée.html</replaceable> > <replaceable>truc_sortie.txt</replaceable>\n" #. type: Content of: <book><chapter><section><title> msgid "Reminders for updating packages" msgstr "Rappels pour la mise à jour de paquets" #. type: Content of: <book><chapter><section><para> msgid "Here are few reminders for updating packages." msgstr "Voici quelques rappels pour la mise à jour de paquets :" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Preserve old <filename>changelog</filename> entries (sounds obvious, but " "there have been cases of people typing <literal>dch</literal> when they " "should have typed <literal>dch -i</literal>.)" msgstr "" "préservez les anciennes entrées <filename>changelog</filename> (cela va de " "soit, mais des personnes ont parfois utilisé <literal>dch</literal> au lieu " "de <literal>dch -i</literal>) ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Existing Debian changes need to be reevaluated; throw away stuff that " "upstream has incorporated (in one form or another) and remember to keep " "stuff that hasn't been incorporated by upstream, unless there is a " "compelling reason not to." msgstr "" "les modifications Debian existantes doivent être réévaluées ; jetez tout ce " "qui a été incorporé en amont (sous une forme ou une autre), et souvenez-vous " "de garder ce qui ne l'a pas été, à moins qu'il n'y ait une bonne raison de " "ne pas le faire ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If any changes were made to the build system (hopefully you'd know from " "inspecting upstream changes) then update the <filename>debian/rules</" "filename> and <filename>debian/control</filename> build dependencies if " "necessary." msgstr "" "si le système de construction a été modifié (avec un peu de chance, vous " "êtes au courant depuis l'inspection des modifications amont), mettez à jour " "les dépendances de construction <filename>debian/rules</filename> et " "<filename>debian/control</filename>, si besoin est ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> to " "see if someone has provided patches to bugs that are currently open." msgstr "" "vérifiez dans le <ulink url=\"&bts;\">système de gestion de bogues (BTS)</" "ulink> que personne n'a fourni de correctifs aux bogues ouverts ;" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the contents of the <filename>.changes</filename> file to make sure " "you are uploading to the correct distribution, the proper bug closures are " "listed in the <literal>Closes</literal> field, the <literal>Maintainer</" "literal> and <literal>Changed-By</literal> fields match, the file is GPG-" "signed, etc." msgstr "" "vérifiez le contenu du fichier <filename>.changes</filename> pour vous " "assurer que vous envoyez vers la bonne distribution, que les rapports de " "bogue refermés sont correctement listés dans les champs <literal>Closes</" "literal>, que les champs <literal>Maintainer</literal> et <literal>Changed-" "By</literal> correspondent, que le fichier est signé avec GPG, etc." #. type: Content of: <book><chapter><title> msgid "Uploading the package" msgstr "Envoi de paquet" #. type: Content of: <book><chapter><para> msgid "" "Now that you have tested your new package thoroughly, you want to release it " "to a public archive to share it." msgstr "" "Maintenant que votre nouveau paquet a été testé en détail, vous voulez le " "publier sur une archive publique afin de le partager." #. type: Content of: <book><chapter><section><title> msgid "Uploading to the Debian archive" msgstr "Envoi vers l'archive Debian" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <xref linkend=\"socialdynamics\"/>." msgstr "Consultez <xref linkend=\"socialdynamics\"/>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are publicly accessible archives such as <ulink url=\"&mentors-dn;\"/> " "which work almost the same way as the Debian archive and provide an upload " "area for non-DDs. You can set up an equivalent archive by yourself using " "the tools listed at <ulink url=\"&deb-archive;\"/>. So this section is " "useful for non-DDs, too." msgstr "" "Des archives publiquement accessibles comme <ulink url=\"&mentors-dn;\"/> " "qui fonctionnent à peu près de la même façon que l'archive Debian " "fournissent un espace d'envoi accessible publiquement aux non-DD " "(développeurs Debian). Vous pouvez configurer vous-même une archive " "équivalente en utilisant les outils de <ulink url=\"&deb-archive;\"/>. Cette " "section est donc utile aussi aux non-DD." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <systemitem role=\"package\">dput</systemitem> package seems to come " "with more features and to be becoming more popular than the <systemitem role=" "\"package\">dupload</systemitem> package. It uses the file <filename>/etc/" "dput</filename> for its global configuration and the file <filename>~/.dput." "cf</filename> for per-user configuration. It supports Ubuntu-related " "services out-of-the-box, too." msgstr "" "Le paquet <systemitem role=\"package\">dput</systemitem> semble fournir plus " "de fonctionnalités, et devient plus populaire que le paquet <systemitem role=" "\"package\">dupload</systemitem>. Il utilise le fichier <filename>/etc/dput</" "filename> pour la configuration globale et le fichier <filename>~/.dput.cf</" "filename> pour la configuration par utilisateur. Il gère aussi les services " "relatifs à Ubuntu d'origine." #. type: Content of: <book><chapter><section><para> msgid "" "Once you become an official developer, <placeholder type=\"footnote\" id=" "\"0\"/> you can upload the package to the Debian archive. <placeholder type=" "\"footnote\" id=\"1\"/> You can do this manually, but it's easier to use the " "existing automated tools, like <citerefentry> <refentrytitle>dupload</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. We'll describe how it's done with <command>dupload</" "command>. <placeholder type=\"footnote\" id=\"2\"/>" msgstr "" "Une fois devenu un développeur Debian officiel, <placeholder type=\"footnote" "\" id=\"0\"/> vous pouvez envoyer le paquet sur les archives Debian. " "<placeholder type=\"footnote\" id=\"1\"/> Vous pouvez le faire vous-même, " "mais il est plus facile d'utiliser les outils automatiques existants, comme " "<citerefentry> <refentrytitle>dupload</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> ou <citerefentry> <refentrytitle>dput</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. Nous décrirons la " "façon de faire avec <command>dupload</command>. <placeholder type=\"footnote" "\" id=\"2\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "First you have to set up <command>dupload</command>'s config file. You can " "either edit the system-wide <filename>/etc/dupload.conf</filename> file, or " "have your own <filename>~/.dupload.conf</filename> file override the few " "things you want to change." msgstr "" "D'abord vous devez écrire le fichier de configuration de <command>dupload</" "command>. Vous pouvez soit éditer le fichier global <filename>/etc/dupload." "conf</filename>, soit avoir votre propre fichier <filename>~/.dupload</" "filename> pour remplacer les quelques détails que vous voulez changer." #. type: Content of: <book><chapter><section><para> msgid "" "You can read the <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> manual page to understand what each " "of these options means." msgstr "" "Vous pouvez lire la page de manuel <citerefentry> <refentrytitle>dupload." "conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry> pour " "comprendre ce que chacune de ces options signifie." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. " "\"Uploading a package\"</ulink>." msgstr "" "Consultez la <ulink url=\"&devref-upload;\">référence du Développeur Debian " "5.6. « Envois de paquets »</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>$default_host</literal> option determines which of the upload " "queues will be used by default. <literal>anonymous-ftp-master</literal> is " "the primary one, but it's possible that you will want to use another one. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "L'option <literal>$default_host</literal> détermine la file de " "téléchargement qui sera utilisée par défaut. <literal>anonymous-ftp-master</" "literal> est la principale, mais il est possible que vous souhaitiez en " "utiliser une autre. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "While connected to the Internet, you can upload your package as follows:" msgstr "Une fois connecté à Internet, vous pouvez envoyer le paquet :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dupload gentoo_0.9.12-1_i386.changes\n" msgstr "$ dupload gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dupload</command> checks that the SHA1/SHA256 file checksums match " "those listed in the <filename>.changes</filename> file. If they do not " "match, it will warn you to rebuild it as described in <xref linkend=" "\"completebuild\"/> so it can be properly uploaded." msgstr "" "<command>dupload</command> vérifie que les sommes SHA1 et SHA256 des " "fichiers correspondent à celles du fichier <filename>.changes</filename>. " "Dans le cas contraire, un avertissement proposera de le reconstruire comme " "décrit en <xref linkend=\"completebuild\"/> pour pouvoir charger le fichier " "correctement." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&uploadqueue-readme;\"/>. Alternatively, you can use the " "<command>dcut</command> command from the <systemitem role=\"package\">dput</" "systemitem> package." msgstr "" "Consultez <ulink url=\"&uploadqueue-readme;\"/>. Vous pouvez aussi utiliser " "la commande <command>dcut</command> du paquet <systemitem role=\"package" "\">dput</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "If you encounter an upload problem at <ulink url=\"&uploadqueue;\"/>, you " "can fix this by manually uploading a GPG-signed <filename>*.commands</" "filename> file to there with <command>ftp</command>. <placeholder type=" "\"footnote\" id=\"0\"/> For example, using <filename>hello.commands</" "filename>:" msgstr "" "Si vous rencontrez un problème d'envoi à <ulink url=\"&uploadqueue;\"/>, " "vous pouvez le résoudre manuellement en envoyant un fichier <filename>*." "commands</filename> signé avec GPG à <ulink url=\"&uploadqueue;\"/> avec " "<command>ftp</command>. <placeholder type=\"footnote\" id=\"0\"/> Par " "exemple en utilisant <filename>hello.commands</filename> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" msgstr "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Machin Bidule <Machin.Bidule@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" #. type: Content of: <book><chapter><section><title> msgid "Including <filename>orig.tar.gz</filename> for upload" msgstr "Inclusion de <filename>orig.tar.gz</filename> pour l'envoi" #. type: Content of: <book><chapter><section><para> msgid "" "When you first upload the package to the archive, you need to include the " "original <filename>orig.tar.gz</filename> source, too. If the Debian " "revision number of this package is neither <literal>1</literal> nor " "<literal>0</literal>, you must provide the <command>dpkg-buildpackage</" "command> option <literal>-sa</literal>." msgstr "" "Lors du premier envoi d'un paquet vers l'archive, il faut aussi inclure les " "sources <filename>orig.tar.gz</filename> d'origine. Si le numéro de révision " "Debian de ce paquet n'est ni <literal>1</literal> ni <literal>0</literal>, " "vous devez passer l'option <literal>-sa</literal> à la commande " "<command>dpkg-buildpackage</command>." #. type: Content of: <book><chapter><section><para> msgid "For the <command>dpkg-buildpackage</command> command:" msgstr "Pour la commande <command>dpkg-buildpackage</command> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -sa\n" msgstr "$ dpkg-buildpackage -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>debuild</command> command:" msgstr "Pour la commande <command>debuild</command> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -sa\n" msgstr "$ debuild -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>pdebuild</command> command:" msgstr "Pour la commande <command>pdebuild</command> :" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts -sa\n" msgstr "$ pdebuild --debbuildopts -sa\n" #. type: Content of: <book><chapter><section><para> msgid "" "On the other hand, the <literal>-sd</literal> option will force the " "exclusion of the original <filename>orig.tar.gz</filename> source." msgstr "" "D'un autre côté, l'option <literal>-sd</literal> forcera l'exclusion des " "sources <filename>orig.tar.gz</filename> originales." #. type: Content of: <book><chapter><section><title> msgid "Skipped uploads" msgstr "Versions non envoyées" #. type: Content of: <book><chapter><section><para> msgid "" "If you created multiple entries in <filename>debian/changelog</filename> by " "skipping uploads, you must create a proper <filename>*_.changes</filename> " "file which includes all changes from the last upload. This can be done by " "specifying the <command>dpkg-buildpackage</command> option <literal>-v</" "literal> with the version, e.g., <literal><replaceable>1.2</replaceable></" "literal>." msgstr "" "Si plusieurs éléments (relatifs à plusieurs révisions) sont ajoutés à " "<filename>debian/changelog</filename>, mais que des envois sont sautés, il " "faut créer un fichier <filename>*_.changes</filename> correct incluant " "toutes les modifications depuis le dernier envoi. Ce peut être fait avec " "l'option <literal>-v</literal> de <command>dpkg-buildpackage</command> " "suivie de la version, par exemple <literal><replaceable>1.2</replaceable></" "literal>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" msgstr "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -v<replaceable>1.2</replaceable>\n" msgstr "$ debuild -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" msgstr "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" #. type: Content of: <book><appendix><title> msgid "Advanced packaging" msgstr "Empaquetage avancé" #. type: Content of: <book><appendix><para> msgid "" "Here are some hints and pointers for advanced packaging topics which you are " "most likely to deal with. You are strongly advised to read all the " "references suggested here." msgstr "" "Voici quelques conseils et pointeurs pour des sujets d'empaquetage avancé " "auxquels vous serez sans doute confrontés. La lecture de toutes les " "références suggérées ici est vivement recommandée." #. type: Content of: <book><appendix><section><title> msgid "Shared libraries" msgstr "Bibliothèques partagées" #. type: Content of: <book><appendix><section><para> msgid "" "Before packaging shared <ulink url=\"&library;\">libraries</ulink>, you " "should read the following primary references in detail." msgstr "" "Avant d'empaqueter des <ulink url=\"&library;\">bibliothèques</ulink> " "partagées, vous devriez lire les références essentielles suivantes avec " "attention :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" msgstr "" "<ulink url=\"&policy-sharedlibraries;\">Charte Debian, 8 « Bibliothèques " "partagées »</ulink> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" msgstr "" "<ulink url=\"&policy-fhs;\">Charte Debian, 9.1.1 « Structure de système de " "fichiers »</ulink> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" msgstr "" "<ulink url=\"&policy-libraries;\">Charte Debian, 10.2 « Bibliothèques »</" "ulink>." #. type: Content of: <book><appendix><section><para> msgid "Here are some oversimplified hints for you to get started." msgstr "Voici quelques conseils simplifiés à l'extrême pour commencer :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are <ulink url=\"&elf;\">ELF</ulink> object files " "containing compiled code." msgstr "" "les bibliothèques partagées sont des fichiers objet <ulink url=\"&elf;" "\">ELF</ulink> contenant du code compilé ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are distributed as <filename>*.so</filename> files. " "(Neither <filename>*.a</filename> files nor <filename>*.la</filename> files)" msgstr "" "les bibliothèques partagées sont distribuées en fichiers <filename>*.so</" "filename> (pas en fichiers <filename>*.a</filename> ni en fichiers " "<filename>*.la</filename>) ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are mainly used to share common codes among multiple " "executables with the <command>ld</command> mechanism." msgstr "" "les bibliothèques partagées sont surtout utilisées pour partager du code " "commun à plusieurs exécutables avec le mécanisme <command>ld</command> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are sometimes used to provide multiple plugins to an " "executable with the <command>dlopen</command> mechanism." msgstr "" "les bibliothèques partagées sont parfois utilisées pour fournir plusieurs " "greffons à un exécutable avec le mécanisme <command>dlopen</command> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries export <ulink url=\"&symbol;\">symbols</ulink> which " "represent compiled objects such as variables, functions, and classes; and " "enables access to them from the linked executables." msgstr "" "les bibliothèques partagées exportent des <ulink url=\"&symbol;\">symboles</" "ulink> qui représentent des objets compilés comme des variables, des " "fonctions et des classes ; elles permettent d'être accédées à partir des " "exécutables liés ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" msgstr "" "Alternative : <literal>readelf -d lib<replaceable>truc</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&soname;\">SONAME</ulink> of a shared library " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "le <ulink url=\"&soname;\">SONAME</ulink> d'une bibliothèque partagée " "<filename>lib<replaceable>truc</replaceable>.so</filename>.<replaceable>1</" "replaceable> : <literal>objdump -p lib<replaceable>truc</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> ;<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of a shared library usually matches the library file name (but " "not always)." msgstr "" "le SONAME d'une bibliothèque partagée correspond normalement au nom du " "fichier de bibliothèque (mais pas toujours) ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" msgstr "" "Alternative : <literal>readelf -d lib<replaceable>truc</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of shared libraries linked to <filename><replaceable>/usr/bin/" "foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/foo</" "replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "le SONAME d'une bibliothèque partagée liée à <filename><replaceable>/usr/bin/" "truc</replaceable></filename> : <literal>objdump -p <replaceable>/usr/bin/" "truc</replaceable> | grep NEEDED</literal> ;<placeholder type=\"footnote\" " "id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time " "shared libraries\"</ulink>." msgstr "" "Consultez la <ulink url=\"&policy-runtime;\">Charte " "Debian, 8.1 « Bibliothèques partagées au moment de l'exécution »</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: the library package " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> with the SONAME ABI version " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>truc</" "replaceable><replaceable>1</replaceable></systemitem> : le paquet de " "bibliothèque pour la bibliothèque partagée <filename>lib<replaceable>truc</" "replaceable>.so.<replaceable>1</replaceable></filename> avec la version " "d'ABI SONAME <replaceable>1</replaceable> ;<placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig" "\"</ulink>." msgstr "" "Consultez la <ulink url=\"&policy-ldconfig;\">Charte Debian, " "8.1.1 « ldconfig »</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The package maintainer scripts of the library package must call " "<command>ldconfig</command> under the specific circumstances to create the " "necessary symbolic links for the SONAME.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "les scripts du responsable du paquet de bibliothèque doivent appeler " "<command>ldconfig</command> dans des circonstances particulières pour créer " "les liens symboliques nécessaires au SONAME ;<placeholder type=\"footnote\" " "id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: the debugging " "symbols package which contains the debugging symbols for the shared library " "package <systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>." msgstr "" "<systemitem role=\"package\">lib<replaceable>truc</" "replaceable><replaceable>1</replaceable>-dbg</systemitem> : le paquet de " "symboles de débogage qui contient les symboles de débogage du paquet de " "bibliothèque partagée <systemitem role=\"package\">lib<replaceable>truc</" "replaceable><replaceable>1</replaceable></systemitem> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> and <ulink url=\"&policy-dev;\">Debian Policy Manual, " "8.4 \"Development files\"</ulink>." msgstr "" "Consultez la <ulink url=\"&policy-static;\">Charte Debian, " "8.3 « Bibliothèques statiques »</ulink> et la <ulink url=\"&policy-dev;" "\">Charte Debian, 8.4 « Fichiers de développement »</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: the development package which contains the header files etc. " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>truc</replaceable>-dev</" "systemitem> : le paquet de développement qui contient les fichiers d'en-" "têtes, etc. de la bibliothèque partagée <filename>lib<replaceable>truc</" "replaceable>.so.<replaceable>1</replaceable></filename> ;<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink>." msgstr "" "Consultez le <ulink url=\"&removela;\">wiki Debian sur l'objectif de " "publication relatif à la suppression des fichiers <filename>*.la</filename></" "ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not contain <filename>*.la</filename> Libtool archive " "files in general.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "les paquets Debian ne devraient normalement pas contenir de fichiers " "d'archive Libtool <filename>*.la</filename> ;<placeholder type=\"footnote\" " "id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "See <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." msgstr "" "Consultez le <ulink url=\"&rpathissues;\">wiki Debian sur les problèmes avec " "RPATH<filename>*.la</filename></ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not use RPATH in general.<placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "les paquets Debian ne devraient normalement pas utiliser RPATH ;<placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Although it is somewhat outdated and is only a secondary reference, <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "may still be useful." msgstr "" "bien qu'il soit dépassé et que ce ne soit qu'une référence secondaire, le " "<ulink url=\"&debianlibrarypackagingguide;\">guide d'empaquetage de " "bibliothèques Debian</ulink> peut encore être utile." #. type: Content of: <book><appendix><section><title> msgid "" "Managing <filename>debian/<replaceable>package</replaceable>.symbols</" "filename>" msgstr "" "Gestion de <filename>debian/<replaceable>paquet</replaceable>.symbols</" "filename>" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Backward-incompatible ABI changes normally require you to update the SONAME " "of the library and the shared library package name to new ones." msgstr "" "Les modifications d'ABI non rétrocompatibles devraient normalement " "nécessiter une mise à jour du SONAME de la bibliothèque et du nom de paquet " "de la bibliothèque partagée." #. type: Content of: <book><appendix><section><para> msgid "" "When you package a shared library, you should create <filename>debian/" "<replaceable>package</replaceable>.symbols</filename> file to manage the " "minimal version associated to each symbol for backward-compatible ABI " "changes under the same SONAME of the library for the same shared library " "package name.<placeholder type=\"footnote\" id=\"0\"/> You should read the " "following primary references in detail." msgstr "" "Lors de l'empaquetage d'une bibliothèque partagée, il faut créer un fichier " "<filename>debian/<replaceable>paquet</replaceable>.symbols</filename> pour " "gérer la version minimale associée à chaque symbole pour les modifications " "d'ABI rétrocompatibles sous le même SONAME de la bibliothèque pour le même " "nom de paquet de bibliothèque partagée.<placeholder type=\"footnote\" id=" "\"0\"/> Vous devriez lire les références essentielles suivantes avec " "attention :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "For C++ libraries and other cases where tracking individual symbols is too " "difficult, follow <ulink url=\"&policy-library-shlibs;\">Debian Policy " "Manual, 8.6.4 \"The shlibs system\"</ulink>, instead." msgstr "" "Pour les bibliothèques C++ et d'autres cas lorsque du suivi de symboles " "individuels est trop compliqué, suivez plutôt la <ulink url=\"&policy-" "library-shlibs;\">Charte Debian , 8.6.4 « Le système de shlibs »</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&policy-library-symbols;\">Charte Debian, 8.6.3 « Le système de " "symboles »</ulink> ;<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>." #. type: Content of: <book><appendix><section><para> msgid "" "Here is a rough example to create the <systemitem role=\"package\">libfoo1</" "systemitem> package to the upstream version <literal>1.3</literal> with the " "proper <filename>debian/libfoo1.symbols</filename> file." msgstr "" "Voici un exemple grossier de création du paquet <systemitem role=\"package" "\">libtruc1</systemitem> à la version amont <literal>1.3</literal> avec le " "fichier <filename>debian/libtruc1.symbols</filename> adéquat :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Prepare the skeleton debianized source tree using the upstream " "<filename>libfoo-1.3.tar.gz</filename> file." msgstr "" "préparer le squelette d'arborescence source Debian en utilisant le fichier " "amont <filename>libtruc-1.3.tar.gz</filename> :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If this is the first packaging of the <systemitem role=\"package\">libfoo1</" "systemitem> package, create the <filename>debian/libfoo1.symbols</filename> " "file with empty content." msgstr "" "s'il s'agit du premier empaquetage du paquet <systemitem role=\"package" "\">libtruc1</systemitem>, créer le fichier vide <filename>debian/libtruc1." "symbols</filename> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was packaged as the " "<systemitem role=\"package\">libfoo1</systemitem> package with the proper " "<filename>debian/libfoo1.symbols</filename> in its source package, use it " "again." msgstr "" "si la version amont précédente <literal>1.2</literal> a été empaquetée en " "tant que paquet <systemitem role=\"package\">libtruc1</systemitem> contenant " "le fichier <filename>debian/libtruc1.symbols</filename> adéquat dans son " "paquet source, le réutiliser ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "All previous versions of Debian packages are available at <ulink url=" "\"&snapshot;\">http://snapshot.debian.org/</ulink>. The Debian revision is " "dropped from the version to make it easier to backport the package: " "<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " "<literal>1.1-1</literal> and <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" msgstr "" "Toutes les versions précédentes des paquets Debian sont disponibles sur " "<ulink url=\"&snapshot;\">http://snapshot.debian.org/</ulink>. La révision " "Debian est supprimée de la version pour faciliter le rétroportage du " "paquet : <literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> " "<< <literal>1.1-1</literal> et <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was not packaged " "with the <filename>debian/libfoo1.symbols</filename>, create it as the " "<filename>symbols</filename> file from all available binary packages of the " "same shared library package name containing the same SONAME of the library, " "for example, versions <literal>1.1-1</literal> and <literal>1.2-1</" "literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "si la version amont précédente <literal>1.2</literal> n'a pas été empaquetée " "avec le fichier <filename>debian/libtruc1.symbols</filename> adéquat, le " "créer comme fichier <filename>symbols</filename> à partir de tous les " "paquets binaires disponibles de même nom de paquet de bibliothèque partagée " "contenant le même SONAME de la bibliothèque, par exemple de versions " "<literal>1.1-1</literal> et <literal>1.2-1</literal> :<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" msgstr "" "$ dpkg-deb -x libtruc1_1.1-1.deb libtruc1_1.1-1\n" "$ dpkg-deb -x libtruc1_1.2-1.deb libtruc1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibtruc1 -Plibtruc1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibtruc1 -Plibtruc1_1.2-1 -Osymbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Make trial builds of the source tree with tools such as <command>debuild</" "command> and <command>pdebuild</command>. (If this fails due to missing " "symbols etc., there were some backward-incompatible ABI changes which " "require you to bump the shared library package name to something like " "<systemitem role=\"package\">libfoo1a</systemitem> and you should start over " "again.)" msgstr "" "essayer de construire depuis l'arborescence source avec des outils comme " "<command>debuild</command> et <command>pdebuild</command> (en cas d'échecs " "dus à des symboles manquants, etc., c'est qu'il y a eu des modifications " "d'ABI non rétrocompatibles qui nécessitent de changer le nom de paquet de " "bibliothèque partagée en quelque chose comme <systemitem role=\"package" "\">libtruc1a</systemitem> avant de recommencer) :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" msgstr "" "$ cd libtruc-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libtruc1.symbols (libtruc1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " truc_get_name@Base 1.1\n" " truc_get_longname@Base 1.2\n" " truc_get_type@Base 1.1\n" "+ truc_get_longtype@Base 1.3-1\n" " truc_get_symbol@Base 1.1\n" " truc_get_rank@Base 1.1\n" " truc_new@Base 1.1\n" "...\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "The Debian revision is dropped from the version to make it easier to " "backport the package: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" msgstr "" "La révision Debian est supprimée de la version pour faciliter le " "rétroportage du paquet : <literal>1.1</literal> << <literal>1.3</" "literal> << <literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</" "literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "If you see the diff printed by the <command>dpkg-gensymbols</command> as " "above, extract the updated proper <filename>symbols</filename> file from the " "generated binary package of the shared library. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "si un différentiel est affiché par <command>dpkg-gensymbols</command> comme " "ci-dessus, extraire le fichier <filename>symbols</filename> du paquet " "binaire généré de la bibliothèque partagée :<placeholder type=\"footnote\" " "id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" msgstr "" "$ cd ..\n" "$ dpkg-deb -R libtruc1_1.3_amd64.deb libtruc1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libtruc1-tmp/DEBIAN/symbols \\\n" " >libtruc-1.3/debian/libtruc1.symbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Build release packages with tools such as <command>debuild</command> and " "<command>pdebuild</command>." msgstr "" "construire les paquets pour la publication avec des outils comme " "<command>debuild</command> et <command>pdebuild</command> :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" msgstr "" "$ cd libtruc-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 \"Shared " "library ABI changes\"</ulink>." msgstr "" "Consultez la <ulink url=\"&policy-library-abi;\">Charte " "Debian, 8.6.2 « Modifications d'ABI dans les bibliothèques partagées »</" "ulink>." #. type: Content of: <book><appendix><section><para> msgid "" "In addition to the above examples, we need to check the ABI compatibility " "further and bump versions for some symbols manually as needed. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "En plus des exemples précédents, il faut vérifier plus profondément la " "compatibilité d'ABI et changer vous-même les versions de certains symboles " "si nécessaire. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><para> msgid "" "Although it is only a secondary reference, <ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> and its linked web pages may be " "useful." msgstr "" "Bien que ce ne soit qu'une référence secondaire, le <ulink url=" "\"&usingsymbolsfiles;\">wiki Debian sur l'utilisation de fichiers symboles</" "ulink> et les pages web qui y sont liées peuvent être utiles." #. type: Content of: <book><appendix><section><title> msgid "Multiarch" msgstr "Multiarchitecture" #. type: Content of: <book><appendix><section><para> msgid "" "The multiarch feature introduced to Debian wheezy integrates support for " "cross-architecture installation of binary packages (particularly " "<literal>i386</literal><-><literal>amd64</literal>, but also other " "combinations) in <systemitem role=\"package\">dpkg</systemitem> and " "<systemitem role=\"package\">apt</systemitem>. You should read the " "following references in detail." msgstr "" "La fonctionnalité de multiarchitecture introduite dans Debian Wheezy intègre " "la prise en charge pour l'installation interarchitecture de paquets binaires " "(en particulier entre <literal>i386</literal> et <literal>amd64</literal>, " "mais aussi d'autres combinaisons) dans <systemitem role=\"package\">dpkg</" "systemitem> et <systemitem role=\"package\">apt</systemitem>. Vous devriez " "lire les références suivantes avec attention :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (upstream)" msgstr "" "<ulink url=\"&multiarchspec;\">wiki Ubuntu sur la spécification " "multiarchitecture</ulink> (amont) ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian situation)" msgstr "" "<ulink url=\"&multiarchimplementation;\">wiki Debian sur le " "multiarchitecture et son implémentation</ulink> (situation dans Debian)." #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Old special purpose library paths such as <filename>/lib32/</filename> and " "<filename>/lib64/</filename> are not used any more." msgstr "" "Certains anciens chemins de bibliothèques particulières comme <filename>/" "lib32/</filename> et <filename>/lib64/</filename> ne sont plus utilisés." #. type: Content of: <book><appendix><section><para> msgid "" "It uses the triplet such as <literal>i386-linux-gnu</literal> and " "<literal>x86_64-linux-gnu</literal> for the install path of shared " "libraries. The actual triplet path is dynamically set into <literal>" "$(DEB_HOST_MULTIARCH)</literal> value by <citerefentry> <refentrytitle>dpkg-" "architecture</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for " "each build. For example, the path to install multiarch libraries are " "changed as follows.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Cela utilise le triplet du style <literal>i386-linux-gnu</literal> et " "<literal>x86_64-linux-gnu</literal> pour le chemin d'installation des " "bibliothèques partagées. Le chemin de triplet réel et défini dynamiquement " "dans la valeur <literal>$(DEB_HOST_MULTIARCH)</literal> par <citerefentry> " "<refentrytitle>dpkg-architecture</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> pour chaque construction. Par exemple, le chemin " "d'installation de bibliothèques multiarchitectures est modifié comme ceci :" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Old path" msgstr "Ancien chemin" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "i386 multiarch path" msgstr "Chemin multiarchitecture i386" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "amd64 multiarch path" msgstr "Chemin multiarchitecture amd64" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/</filename>" msgstr "<filename>/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/i386-linux-gnu/</filename>" msgstr "<filename>/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/</filename>" msgstr "<filename>/usr/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/i386-linux-gnu/</filename>" msgstr "<filename>/usr/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/usr/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><para> msgid "" "Here are some typical multiarch package split scenario examples for the " "followings:" msgstr "" "Voici quelques exemples typiques de scénarios de découpage de paquet " "multiarchitecture pour les paquets suivants :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a library source <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" msgstr "" "une bibliothèque source <filename>lib<replaceable>truc</replaceable>-1.tar." "gz</filename> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>bar</replaceable>-1.tar.gz</filename> " "written in a compiled language" msgstr "" "un outil source <filename><replaceable>bidule</replaceable>-1.tar.gz</" "filename> écrit en langage compilé ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>baz</replaceable>-1.tar.gz</filename> " "written in an interpreted language" msgstr "" "un outil source <filename><replaceable>machin</replaceable>-tar.gz</" "filename> écrit en langage interprété :" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package" msgstr "Paquet" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Architecture:" msgstr "Architecture" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Multi-Arch:" msgstr "Multi-Arch" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package content" msgstr "Contenu du paquet" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>truc</" "replaceable><replaceable>1</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "any" msgstr "any" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "same" msgstr "same" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library, co-installable" msgstr "la bibliothèque partagée, co-installable" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>truc</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library debug symbols, co-installable" msgstr "les symboles de débogage de bibliothèque partagée, co-installable" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>truc</replaceable>-dev</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library header files etc., co-installable" msgstr "les fichiers d'en-tête, etc. de bibliothèque partagée, co-installable" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>truc</replaceable>-tools</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "foreign" msgstr "foreign" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the run-time support programs, not co-installable" msgstr "" "les programmes de prise en charge en cours d'exécution, non co-installable" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>truc</replaceable>-doc</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "all" msgstr "all" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library documentation files" msgstr "les fichiers de documentation de bibliothèque partagée" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bidule</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the compiled program files, not co-installable" msgstr "les fichiers du programme compilé, non co-installable" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bidule</replaceable>-doc</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the documentation files for the program" msgstr "les fichiers de documentation du programme" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>machin</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the interpreted program files" msgstr "les fichiers du programme interprété" #. type: Content of: <book><appendix><section><para> msgid "" "Please note that the development package should contain a symlink for the " "associated shared library <emphasis role=\"strong\">without a version " "number</emphasis>. E.g.: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</" "filename> -> <filename>libfoo.so.1</filename>" msgstr "" "Veuillez remarquer que le paquet de développement devrait contenir un lien " "symbolique vers la bibliothèque partagée associée <emphasis role=\"strong" "\">sans numéro de version</emphasis>. Par exemple : <filename>/usr/lib/" "x86_64-linux-gnu/libtruc.so</filename> → <filename>libtruc.so.1</filename>." #. type: Content of: <book><appendix><section><title> msgid "Building a shared library package" msgstr "Construction d'un paquet de bibliothèque partagée" #. type: Content of: <book><appendix><section><para> msgid "" "You can build a Debian library package enabling the multiarch support using " "<citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> as follows." msgstr "" "Un paquet de bibliothèque partagée peut être construit en activant la prise " "en charge multiarchitecture en utilisant <citerefentry> <refentrytitle>dh</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> comme ceci :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Update <filename>debian/control</filename>." msgstr "mettre à jour <filename>debian/control</filename> :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Build-Depends: debhelper (>=9)</literal> for the source package " "section." msgstr "" "ajouter <literal>Build-Depends: debhelper (>=9)</literal> à la section du " "paquet source ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Pre-Depends: ${misc:Pre-Depends}</literal> for each shared " "library binary package." msgstr "" "ajouter <literal>Pre-Depends: ${misc:Pre-Depends}</literal> pour chaque " "paquet binaire de bibliothèque partagée ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Multi-Arch:</literal> stanza for each binary package section." msgstr "" "ajouter la définition <literal>Multi-Arch:</literal> à chaque section de " "paquet binaire ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Set <filename>debian/compat</filename> to \"9\"." msgstr "définir <filename>debian/compat</filename> à « 9 » ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Adjust the path from the normal <literal>/usr/lib/</literal> to the " "multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> for all " "packaging scripts." msgstr "" "ajuster le chemin classique <literal>/usr/lib/</literal> en <literal>/usr/" "lib/$(DEB_HOST_MULTIARCH)/</literal> multiarchitecture pour tous les scripts " "d'empaquetage :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Call <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> in <filename>debian/rules</filename> to set " "<literal>DEB_HOST_MULTIARCH</literal> variable, first." msgstr "" "appeler d'abord <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> dans <filename>debian/rules</filename> pour " "définir la variable <literal>DEB_HOST_MULTIARCH</literal> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace <literal>/usr/lib/</literal> with <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> in <filename>debian/rules</filename>." msgstr "" "remplacer <literal>/usr/lib/</literal> par <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> dans <filename>debian/rules</filename> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively, you can add <literal>--libdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> and <literal>--libexecdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> arguments to <literal>./configure</" "literal>. Please note that <literal>--libexecdir</literal> specifies the " "default path to install executable programs run by other programs rather " "than by users. Its Autotools default is <filename>/usr/libexec/</filename> " "but its Debian default is <filename>/usr/lib/</filename>." msgstr "" "Sinon, les arguments <literal>--libdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> et <literal>--libexecdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> peuvent être ajoutés à <literal>./configure</" "literal>. Veuillez remarquer que <literal>--libexecdir</literal> indique le " "chemin par défaut pour installer les programmes exécutables démarrés par " "d'autres programmes plutôt que par des utilisateurs. Sa valeur Autotools par " "défaut est <filename>/usr/libexec/</filename> mais sa valeur Debian par " "défaut est <filename>/usr/lib/</filename>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If <literal>./configure</literal> is used in the part of " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>, make sure to replace it with <literal>dh_auto_configure -- " "</literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "si <literal>./configure</literal> est utilisé par la cible " "<literal>override_dh_auto_configure</literal> dans <filename>debian/rules</" "filename>, assurez-vous de le remplacer par <literal>dh_auto_configure --</" "literal> ;<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace all occurrences of <literal>/usr/lib/</literal> with <literal>/usr/" "lib/*/</literal> in <filename>debian/<replaceable>foo</replaceable>.install</" "filename> files." msgstr "" "remplacer toutes les occurrences de <literal>/usr/lib/</literal> par " "<literal>/usr/lib/*/</literal> dans les fichiers <filename>debian/" "<replaceable>truc</replaceable>.install</filename> ;" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Generate files like <filename>debian/<replaceable>foo</replaceable>.links</" "filename> from <filename>debian/<replaceable>foo</replaceable>.links.in</" "filename> dynamically by adding a script to " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>." msgstr "" "générer les fichiers comme <filename>debian/<replaceable>truc</replaceable>." "links</filename> à partir de <filename>debian/<replaceable>truc</" "replaceable>.links.in</filename> dynamiquement en ajoutant un script à la " "cible <literal>override_dh_auto_configure</literal> dans <filename>debian/" "rules</filename> :" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>truc</replaceable>.links.in > debian/<replaceable>truc</replaceable>.links\n" #. type: Content of: <book><appendix><section><para> msgid "" "Please make sure to verify that the shared library package contains only the " "expected files, and that your -dev package still works." msgstr "" "Veuillez vous assurer d'avoir vérifié que le paquet de bibliothèque partagée " "ne contient que les fichiers attendus, et que le paquet -dev fonctionne " "toujours." #. type: Content of: <book><appendix><section><para> msgid "" "All files installed simultaneously as the multiarch package to the same file " "path should have exactly the same file content. You must be careful on " "differences generated by the data byte order and by the compression " "algorithm." msgstr "" "Tous les fichiers installés simultanément par des paquets multiarchitectures " "au même endroit devraient avoir exactement le même contenu. Vous devez faire " "attention aux différences générées par l'ordre des octets de données " "(boutisme) et par les algorithmes de compression." ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/de.ent������������������������������������������������������������������������0000644�0000000�0000000�00000001347�12256550103�012412� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- This is UTF-8 file. Remember, the *first* definition of an entity wins. --> <!ENTITY othercredit ' <othercredit role="translation"><personname>Helge Kreutzmann</personname><email>debian@helgefjell.de</email><contrib>Deutsche Übersetzung</contrib></othercredit> <othercredit role="translation"><personname>Tobias Quathamer</personname><email>toddy@debian.org</email><contrib>Deutsche Übersetzung</contrib></othercredit> <othercredit role="translation"><personname>Erik Schanze</personname><email>mail@erikschanze.de</email><contrib>Deutsche Übersetzung</contrib></othercredit> <othercredit role="translation"><personname>Eduard Bloch</personname><email>blade@debian.org</email><contrib>Deutsche Übersetzung</contrib></othercredit> '> �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/fr.tex������������������������������������������������������������������������0000644�0000000�0000000�00000000017�12256550103�012434� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\hyphenation{} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/es.ent������������������������������������������������������������������������0000644�0000000�0000000�00000003736�12256550103�012435� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- This is UTF-8 file. Remember, the *first* definition of an entity wins. --> <!ENTITY othercredit ' <othercredit role="translator"><personname><firstname>Javier</firstname> <othername>Fernández-Sanguino</othername> <surname>Peña</surname><contrib>(Traducción al español)</contrib></personname><email>jfs@debian.org</email></othercredit> <othercredit role="translator"><personname><firstname>David</firstname> <surname>Martínez</surname><contrib>(Traducción al español)</contrib></personname><email>ender@debian.org</email></othercredit> <othercredit role="translator"><personname><firstname>Ana</firstname> <othername>Beatriz Guerrero</othername> <surname>López</surname><contrib>(Traducción al español)</contrib></personname><email>ana@debian.org</email></othercredit> <othercredit role="translator"><personname><firstname>Francisco</firstname> <othername>Javier</othername> <surname>Cuadrado</surname><contrib>(Traducción al español)</contrib></personname><email>fcocuadrado@gmail.com</email></othercredit> <othercredit role="translator"><personname><firstname>Innocent</firstname> <othername>De</othername> <surname>Marchi</surname><contrib>(Traducción al español)</contrib></personname><email>tangram.peces@gmail.com</email></othercredit> '> <!-- overwrite Wikipiédia links available in Spanish --> <!ENTITY autoconf "http://es.wikipedia.org/wiki/Autoconf"> <!ENTITY automake "http://es.wikipedia.org/wiki/Automake"> <!ENTITY cmake "http://es.wikipedia.org/wiki/CMake"> <!ENTITY c-program "http://es.wikipedia.org/wiki/C_(lenguaje_de_programación)"> <!ENTITY cxx "http://es.wikipedia.org/wiki/C++"> <!ENTITY gettext "http://es.wikipedia.org/wiki/Gettext"> <!ENTITY gnu-build-system "http://es.wikipedia.org/wiki/Autotools"> <!ENTITY libtool "http://es.wikipedia.org/wiki/GNU_Libtool"> <!ENTITY elf "http://es.wikipedia.org/wiki/Executable_and_Linkable_Format"> <!ENTITY library "http://es.wikipedia.org/wiki/Biblioteca_(informática)"> <!ENTITY utf8 "http://es.wikipedia.org/wiki/UTF-8"> ����������������������������������maint-guide-1.2.32/po/ja.po�������������������������������������������������������������������������0000644�0000000�0000000�00002204463�12262273635�012263� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# japanese translation of maint-guide # Copyright (C) 2010 KURASHIKI Satoru et al. # Copyright (C) 2011 Osamu Aoki (touch up for DocBook XML conversion) # This file is distributed under the same license as the maint-guide package. # msgid "" msgstr "" "Project-Id-Version: maint-guide r7640\n" "POT-Creation-Date: 2014-01-06 00:00+0900\n" "PO-Revision-Date: 2013-01-24 21:25+0900\n" "Last-Translator: Osamu Aoki <osamu@debian.org>\n" "Language-Team: Debian Japanese team <debian-doc@debian.or.jp>\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.4\n" #. type: Attribute 'lang' of: <book> msgid "en" msgstr "ja" #. type: Content of: <book><title> msgid "Debian New Maintainers' Guide" msgstr "Debian 新メンテナーガイド" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Josip Rodin" msgstr "Josip Rodin" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "joy-mg@debian.org" msgstr "joy-mg@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "original contents" msgstr "初期の内容" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Osamu Aoki" msgstr "Osamu Aoki" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "osamu@debian.org" msgstr "osamu@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "updated contents" msgstr "更新された内容" #. type: Content of: <book><bookinfo><releaseinfo> msgid "version &docversion;" msgstr "バージョン &docversion;" #. type: Content of: <book><bookinfo> msgid "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" msgstr "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "" "This document may be used under the terms the GNU General Public License " "version 2 or higher." msgstr "" "この文書は GNU 一般公有使用許諾書、バージョン 2 かそれ以降が規定する条件の下" "で使用できます。" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "This document was made using these two documents as examples:" msgstr "この文書は以下の二つの文書を参考にして書かれました。" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." msgstr "" "Debian パッケージの作り方 (別名 Debmake マニュアル)、Copyright © 1997 " "Jaldhar Vyas." #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." msgstr "新メンテナー向け Debian パッケージング法、copyright © 1997 Will Lowe." #. type: Content of: <book><chapter><title> msgid "Getting started The Right Way" msgstr "まずは正攻法で始めよう" #. type: Content of: <book><chapter><para> msgid "" "This document tries to describe the building of a Debian package to ordinary " "Debian users and prospective developers. It uses fairly non-technical " "language, and it's well covered with working examples. There is an old " "Latin saying: <emphasis>Longum iter est per praecepta, breve et efficax per " "exempla</emphasis> (It's a long way by the rules, but short and efficient " "with examples)." msgstr "" "この文書では、一般の Debian ユーザーやデベロッパーを目指している人を対象に " "Debian パッケージのビルド方法の解説を試みます。技術用語はできるだけ避けて、実" "用的な例示を多用してします。古いラテンの諺にもあるように、<emphasis>Longum " "iter est per praecepta, breve et efficax per exempla</emphasis> (百聞は一見に" "しかず) です。" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "The document assumes you are using a <literal>&base-release;</literal> or " "newer system. If you need to follow this text in an older system (including " "an older Ubuntu system etc.), you must install backported <systemitem role=" "\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</" "systemitem> packages, at least." msgstr "" "文中では、<literal>&base-release;</literal> より新しいシステムを使っていると" "想定しています。古いシステム (古い Ubuntu システム等を含む)を使ってこの文書に" "ついていきたいのであれば、少なくともバックポートされた <systemitem role=" "\"package\">dpkg</systemitem> および <systemitem role=\"package\">debhelper</" "systemitem> パッケージをインストールする必要があります。" #. type: Content of: <book><chapter><para> msgid "" "This document has been updated for the Debian <literal>&base-release;</" "literal> release. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "この文書は、Debian <literal>&base-release;</literal> リリース用に更新されてい" "ます。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "You can learn about the basic handling of a Debian system from the <ulink " "url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to " "learn about Unix programming, too." msgstr "" "Debian システムの基本的な操作は <ulink url=\"&debref;\">Debian Reference</" "ulink> から学べます。Unix プログラミングに関しても学べるいくつかのポインター" "も含まれています。" #. type: Content of: <book><chapter><para> msgid "" "One of the things that makes Debian such a top-notch distribution is its " "package system. While there is a vast quantity of software already in the " "Debian format, sometimes you need to install software that isn't. You may " "be wondering how you can make your own packages; and perhaps you think it is " "a very difficult task. Well, if you are a real novice on Linux, it is hard, " "but if you were a rookie, you wouldn't be reading this document " "now :-) You do need to know a little about Unix programming but you " "certainly don't need to be a wizard. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Debian を最高峰の Linux ディストリビューションたらしめている理由のひとつが、" "そのパッケージ管理システムです。すでに膨大な数のソフトウェアが Debian 形式で" "配布されていますが、まだパッケージ化されていないソフトウェアをインストールし" "なければならないことがあるでしょう。どうやったら自分でパッケージが作れるんだ" "ろうとか、それはとても難しいことなんじゃないかなどと考えたことがありません" "か。確かに、もしあなたが本当に駆け出しの Linux ユーザーなら難しいでしょうが、" "それなら今ごろこんな文書を読んでませんよね :-) Unix のプログラミングにつ" "いて少々知っている必要がありますが、神様みたいに精通している必要は全くありま" "せん。 <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para> msgid "" "One thing is certain, though: to properly create and maintain Debian " "packages takes many hours. Make no mistake, for our system to work the " "maintainers need to be both technically competent and diligent." msgstr "" "ただ、確かなことがひとつあります。Debian パッケージをきちんと作成し保守してい" "くには時間がかかるということです。間違えないでください、Debian のシステムが機" "能するには、メンテナーは技術的に有能であるだけでなく、勤勉であることも必要な" "のです。" #. type: Content of: <book><chapter><para> msgid "" "If you need some help on packaging, please read <xref linkend=\"helpme\"/>." msgstr "" "パッケージ作成において手助けが必要なら、<xref linkend=\"helpme\"/> を読んでく" "ださい。" #. type: Content of: <book><chapter><para> msgid "" "Newer versions of this document should always be available online at <ulink " "url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</" "systemitem> package. The translations may be available in packages such as " "<systemitem role=\"package\">maint-guide-es</systemitem>. Please note that " "this documentation may be slightly outdated." msgstr "" "この文書の最新版は常に以下の場所からネットワーク経由で入手できます。<ulink " "url=\"&maint-guide;\"/> また、<systemitem role=\"package\">maint-guide</" "systemitem>パッケージにも含まれています。日本語訳は<systemitem role=\"package" "\">maint-guide-ja</systemitem>パッケージに含まれています。本文書の内容が少々" "古くなっているかもしれない事に注意して下さい。" #. type: Content of: <book><chapter><para> msgid "" "Since this is a tutorial, I choose to explain each detailed step for some " "important topics. Some of them may look irrelevant to you. Please be " "patient. I have also intentionally skipped some corner cases and provided " "only pointers to keep this document simple." msgstr "" "本書は入門書ですので、一部の重要なトピックスは詳細なステップを個々説明するよ" "うにしました。あなたには不要と思われる部分があるかもしれません。我慢して下さ" "い。本文書を簡潔にするように一部のコーナーケースを意識的に省略したり参照を提" "供するだけに止めています。" #. type: Content of: <book><chapter><section><title> msgid "Social dynamics of Debian" msgstr "Debianにおける社会ダイナミクス" #. type: Content of: <book><chapter><section><para> msgid "" "Here are some observations of Debian's social dynamics, presented in the " "hope that it will prepare you for interactions with Debian." msgstr "" "あなたがDebian と関わる際の準備となることを望み、Debianの社会ダイナミクスの観" "察結果を記します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "We all are volunteers." msgstr "我々全員はボランティアです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You cannot impose on others what to do." msgstr "他人に何をするかを押し付けてはいけません。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be motivated to do things by yourself." msgstr "自分自身で行う意欲を持つべきです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Friendly cooperation is the driving force." msgstr "友好的な協力が推進力です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution should not overstrain others." msgstr "あなたの寄与は他人にストレスを掛けすぎてはいけません。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution is valuable only when others appreciate it." msgstr "あなたの寄与は他人に評価されて初めて価値があります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Debian is not your school where you get automatic attention of teachers." msgstr "" "Debian は教師の注意が自動的にあなたに注がれるあなたの学校とは違います。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be able to learn many things by yourself." msgstr "多様な案件の独学能力を持つべきです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Attention from other volunteers is a very scarce resource." msgstr "他ボランティアに注意を払ってもらうことは貴重なリソースです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Debian is constantly improving." msgstr "Debian は常に改良されています。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You are expected to make high quality packages." msgstr "あなたには高品質パッケージを作成することが期待されています。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should adapt yourself to change." msgstr "あなたは変化に自らを適合させる必要があります。" #. type: Content of: <book><chapter><section><para> msgid "" "There are several types of people interacting around Debian with different " "roles." msgstr "Debian 界隈では異なる役割で色々なタイプの人がが交流しています。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream author</emphasis>: the person who made " "the original program." msgstr "" "<emphasis role=\"strong\">upstream author (アップストリームの作者)</" "emphasis>: 元のプログラムを作った人です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who " "currently maintains the program." msgstr "" "<emphasis role=\"strong\">upstream maintainer (アップストリームのメンテ" "ナー)</emphasis>: 現在プログラムをメンテナンスしている人です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">maintainer</emphasis>: the person making the " "Debian package of the program." msgstr "" "<emphasis role=\"strong\">maintainer (メンテナー)</emphasis>: プログラムの " "Debian パッケージを作成している人です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">sponsor</emphasis>: a person who helps maintainers " "to upload packages to the official Debian package archive (after checking " "their contents)." msgstr "" "<emphasis role=\"strong\">sponsor (スポンサー)</emphasis>: メンテナーのパッ" "ケージを、(内容をチェックした後で)公式 Debian パッケージアーカイブにアップ" "ロードするのを手伝う人です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">mentor</emphasis>: a person who helps novice " "maintainers with packaging etc." msgstr "" "<emphasis role=\"strong\">mentor (指導役)</emphasis>: 新米メンテナーをパッ" "ケージを作成等で手助けする人です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): a member of the " "Debian project with full upload rights to the official Debian package " "archive." msgstr "" "<emphasis role=\"strong\">Debian Developer (Debian デベロッパー)</emphasis> " "(DD): 公式 Debian パッケージアーカイブへの全面的アップロード権限を持っている" "Debian プロジェクトのメンバーです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): a person with " "limited upload rights to the official Debian package archive." msgstr "" "<emphasis role=\"strong\">Debian Maintainer (Debian メンテナー)</emphasis> " "(DM): 公式 Debian パッケージアーカイブへの限定的アップロード権限持っている人" "です。" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you cannot become an official <emphasis role=\"strong" "\">Debian Developer</emphasis> (DD) overnight, because it takes more than " "technical skill. Please do not be discouraged by this. If it is useful to " "others, you can still upload your package either as a <emphasis role=\"strong" "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</" "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>." msgstr "" "技術的なスキル以外の要件があるので、一夜にして正式な <emphasis role=\"strong" "\">Debian デベロッパー</emphasis> (DD) になることはできません。これでがっか" "りしないでください。あなたのパッケージが他の人にとっても有用ならば、あなたは" "それを<emphasis role=\"strong\">メンテナー</emphasis>として <emphasis role=" "\"strong\">スポンサー</emphasis> を通して、あるいは <emphasis role=\"strong" "\">Debian メンテナー</emphasis> として、アップロードすることが可能です。" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you do not need to create any new package to become an " "official Debian Developer. Contributing to the existing packages can " "provide a path to becoming an official Debian Developer too. There are many " "packages waiting for good maintainers (see <xref linkend=\"choose\"/>)." msgstr "" "正式な Debian デベロッパーになるのに新しいパッケージの作成は必須ではないこと" "に注意してください。既存のパッケージに対して貢献していくことでも正式な " "Debian デベロッパーへの道は開かれます。多くのパッケージがよいメンテナーを待っ" "ています (<xref linkend=\"choose\"/> を参照)。" #. type: Content of: <book><chapter><section><para> msgid "" "Since we focus only on technical aspects of packaging in this document, " "please refer to the following to learn how Debian functions and how you can " "get involved." msgstr "" "本書ではパッケージングの技術面にのみフォーカスするので、Debian が如何にして機" "能し、あなたが如何にすれば関与できるのかは以下を参照下さい。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (Introductory slides)" msgstr "" "<ulink url=\"&logiciellibre;\">Debian: フリーソフトウエアーと、\"do-ocracy" "\" (実行による支配)と、democracy (多数決による支配)の17年間</ulink> (紹介スラ" "イド、英語)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)" msgstr "<ulink url=\"&debianorghelp;\">Debian に協力するには?</ulink> (正規)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "\"Contributing to the Debian Project\"</ulink> (semi-official)" msgstr "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "\"Contributing to the Debian Project\"</ulink> (準正規)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " "(supplemental)" msgstr "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> (補足)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (official)" msgstr "<ulink url=\"&nm-do;\">Debian New Member サイト</ulink> (正規)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)" msgstr "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (補足)" #. type: Content of: <book><chapter><section><title> msgid "Programs needed for development" msgstr "開発に必要なプログラム" #. type: Content of: <book><chapter><section><para> msgid "" "Before you start anything, you should make sure that you have properly " "installed some additional packages needed for development. Note that the " "list doesn't contain any packages marked <literal>essential</literal> or " "<literal>required</literal> - we expect that you have those installed " "already." msgstr "" "何はさておき、開発に必要なパッケージがきちんとインストールされていることを確" "認するべきです。以下のリストには <literal>essential</literal> または " "<literal>required</literal> なパッケージが含まれていないことに注意してくださ" "い。これらのパッケージは既にインストールされていることを前提としています。" #. type: Content of: <book><chapter><section><para> msgid "" "The following packages come with the standard Debian installation, so you " "probably have them already (along with any additional packages they depend " "on). Still, you should check it with <literal>aptitude show " "<replaceable>package</replaceable></literal> or with <literal>dpkg -s " "<replaceable>package</replaceable></literal>." msgstr "" "以下のパッケージは Debian の標準 (standard) インストール構成に含まれており、" "すでに (それらが依存する他のパッケージとともに) システムに含まれているはずで" "す。しかし、念のために <literal>aptitude show <replaceable>package</" "replaceable></literal> もしくは <literal>dpkg -s <replaceable>package</" "replaceable></literal> で確認しておきましょう。" #. type: Content of: <book><chapter><section><para> msgid "" "The most important package to install on your development system is the " "<systemitem role=\"package\">build-essential</systemitem> package. Once you " "try to install that, it will <emphasis>pull in</emphasis> other packages " "required to have a basic build environment." msgstr "" "開発用システムにインストールする一番重要なパッケージは、<systemitem role=" "\"package\">build-essential</systemitem> です。これをインストールしようとする" "と、基本的なビルド環境で必要な他のパッケージを <emphasis>引き込む</emphasis>" "でしょう。" #. type: Content of: <book><chapter><section><para> msgid "" "For some types of packages, that is all you will require; however, there is " "another set of packages that while not essential for all package builds are " "useful to have installed or may be required by your package:" msgstr "" "パッケージの種類によっては、必要になるのはこれが全てかもしれません。ただ、す" "べてのパッケージのビルドに必須ではないにせよ、インストールしておくと便利だっ" "たり、パッケージによっては必要になったりするパッケージ群があります:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem>, and <systemitem role=\"package" "\">autotools-dev</systemitem> - many newer programs use configure scripts " "and <filename>Makefile</filename> files preprocessed with the help of " "programs like these (see <literal>info autoconf</literal>, <literal>info " "automake</literal>). <systemitem role=\"package\">autotools-dev</" "systemitem> keeps up-to-date versions of certain auto files and has " "documentation about the best way to use those files." msgstr "" "<systemitem role=\"package\">autoconf</systemitem> と <systemitem role=" "\"package\">automake</systemitem> と <systemitem role=\"package\">autotools-" "dev</systemitem> - 多くの新しいプログラムが、これらのプログラムを使って前処理" "される設定スクリプトや <filename>Makefile</filename> を利用しています。 (詳し" "くは <literal>info autoconf</literal>, <literal>info automake</literal> を参" "照)。 <systemitem role=\"package\">autotools-dev</systemitem> には、特定の " "auto ファイルを最新版に保ち、 そのようなファイルを使う最善の方法についてのド" "キュメントが含まれています。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "There are also some more specialized but similar packages such as " "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" "\"package\">dh-make-php</systemitem>, etc." msgstr "" "<systemitem role=\"package\">dh-make-perl</systemitem>、<systemitem role=" "\"package\">dh-make-php</systemitem>等のように、同様の内容で特化したパッケー" "ジもいくつかあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debhelper</systemitem> and <systemitem role=" "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> is necessary to create the skeleton of our example package, and " "it will use some of the <systemitem role=\"package\">debhelper</systemitem> " "tools for creating packages. They are not essential for this purpose, but " "are <emphasis>highly</emphasis> recommended for new maintainers. It makes " "the whole process very much easier to start, and to control afterwards. " "(See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">debhelper</systemitem> と <systemitem role=" "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> は例示に用いられたパッケージのひな型を用意するのに必要となり、ま" "たそれはパッケージの生成をするために <systemitem role=\"package\">debhelper</" "systemitem> ツールをいくつか使います。これらを使わなくてもパッケージ作成は可" "能ですが、初めてパッケージを作る方には利用を<emphasis>強く</emphasis>お勧めし" "ます。こうすると、取り付きやすく、以後パッケージを管理するのもずっと簡単で" "す。 (詳しくは <citerefentry> <refentrytitle>dh_make</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>、<citerefentry> " "<refentrytitle>debhelper</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> を参照。) <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">devscripts</systemitem> - this package contains " "some useful scripts that can be helpful for maintainers, but they are also " "not necessary for building packages. Packages recommended and suggested by " "this package are worth looking into. (See <filename>&devscripts-readme;</" "filename>.)" msgstr "" "<systemitem role=\"package\">devscripts</systemitem> - このパッケージはメンテ" "ナーにとって便利であると思われる有用で優れたスクリプトを含んでいますが、だか" "らといってパッケージをビルドするために必須というわけではありません。このパッ" "ケージが推奨 (Recommends)、あるいは提案 (Suggests) しているパッケージは、一" "見の価値があります。(詳しくは <filename>&devscripts-readme;</filename> を参" "照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you " "emulate being root which is necessary for some parts of the build process. " "(See <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">fakeroot</systemitem> - このユーティリティを使う" "と、ビルドの過程で何度か必要となる root 権限をエミュレートすることができま" "す。(詳しくは <citerefentry> <refentrytitle>fakeroot</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> を参照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">file</systemitem> - this handy program can " "determine what type a file is. (See <citerefentry> <refentrytitle>file</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">file</systemitem> - この便利なプログラムを使う" "と、そのファイルがどういう形式のものか判定することができます。(詳しくは " "<citerefentry> <refentrytitle>file</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> を参照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " "compiler, necessary if your program is written in Fortran. (See " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gfortran</systemitem> - GNU Fortran 95 コンパイ" "ラ。あなたのプログラムが Fortran 言語で書かれている場合に必要です。(詳しくは " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 参照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git</systemitem> - this package provides a " "popular version control system designed to handle very large projects with " "speed and efficiency; it is used for many high profile open source projects, " "most notably the Linux kernel. (See <citerefentry> <refentrytitle>git</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, git Manual " "(<filename>&git-doc;</filename>).)" msgstr "" "<systemitem role=\"package\">git</systemitem> - このパッケージは人気のある" "バージョン管理システムで、大規模なプロジェクトを素早く、効率的に扱えるように" "設計されています。知名度の高い多数のオープンソースプロジェクトで使われてお" "り、特に有名なものとして Linux カーネルがあります。(詳しくは <citerefentry> " "<refentrytitle>git</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、" "git Manual (<filename>&git-doc;</filename>) 参照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to " "digitally <emphasis>sign</emphasis> packages. This is especially important " "if you want to distribute it to other people, and you will certainly be " "doing that when your work gets included in the Debian distribution. (See " "<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">gnupg</systemitem> - このツールを使うと、パッ" "ケージに「デジタル <emphasis>署名</emphasis>」を付けることができます。もしあ" "なたが自分の作成したパッケージを他の人々に配布したいのなら、これは特に重要で" "す。また、Debian ディストリビューションにあなたの作成したパッケージが含まれる" "ようになった時には、確実にこのデジタル署名をすることになります。(詳しくは " "<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 参照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " "necessary if your program is written in Pascal. Worthy of note here is " "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " "Compiler, which is also good at this task. (See <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gpc</systemitem> - GNU Pascal コンパイラ。あなた" "のプログラムが Pascal 言語で書かれている場合に必要です。ここで注目に値するの" "は <systemitem role=\"package\">fp-compiler</systemitem> Free Pascal コンパイ" "ラで、こちらもまたこの作業に適しています。(詳しくは <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>、 <citerefentry> <refentrytitle>ppc386</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 参照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lintian</systemitem> - this is the Debian " "package checker, which can let you know of any common mistakes after you " "build the package, and explains the errors found. (See <citerefentry> " "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)" msgstr "" "<systemitem role=\"package\">lintian</systemitem> - これは Debian パッケージ" "チェッカで、あなたがビルドしたパッケージを調べて、その中にありがちなミスが見" "つかったらそれを指摘し、その問題について説明してくれます。(詳しくは " "<citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>、 <ulink url=\"&lintian-doc;\">Lintian User's " "Manual</ulink> 参照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patch</systemitem> - this very useful utility " "will take a file containing a difference listing (produced by the " "<command>diff</command> program) and apply it to the original file, " "producing a patched version. (See <citerefentry> <refentrytitle>patch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">patch</systemitem> - このとても有用なユーティリ" "ティは、(<command>diff</command> プログラムによって生成された) オリジナルと" "の差分が列挙されたファイルを読み込んでオリジナルのファイルに適用し、パッチが" "当てられたバージョンを作成します。 (詳しくは <citerefentry> " "<refentrytitle>patch</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> を参照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patchutils</systemitem> - this package contains " "some utilities to work with patches such as the <command>lsdiff</command>, " "<command>interdiff</command> and <command>filterdiff</command> commands." msgstr "" "<systemitem role=\"package\">patchutils</systemitem> - このパッケージには、" "<command>lsdiff</command>、 <command>interdiff</command> や " "<command>filterdiff</command> といったパッチを扱うユーティリティが含まれてい" "ます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">pbuilder</systemitem> - this package contains " "programs which are used for creating and maintaining <command>chroot</" "command> environment. Building Debian package in this <command>chroot</" "command> environment verifies the proper build dependency and avoid FTBFS " "(Fails To Build From Source) bugs. (see <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" msgstr "" "<systemitem role=\"package\">pbuilder</systemitem> - このパッケージには " "<command>chroot</command> 環境の作成や保守に使用されるプログラムが含まれま" "す。この <command>chroot</command> 環境下で Debian パッケージをビルドすること" "で適切なビルド依存を確認して FTBFS (Fails To Build From Source) バグを回避す" "ることができます。(詳しくは <citerefentry> <refentrytitle>pbuilder</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry> と <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 参照)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">perl</systemitem> - Perl is one of the most " "used interpreted scripting languages on today's Unix-like systems, often " "referred to as Unix's Swiss Army Chainsaw. (See <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">perl</systemitem> - Perl は今日の UNIX 系システ" "ムにおいてもっとも使われているインタープリタ型スクリプト言語のひとつで、その" "強力さはしばしば「Unix のスイス軍用チェーンソー」と形容されるほどです。(詳し" "くは <citerefentry> <refentrytitle>perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> を参照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">python</systemitem> - Python is another of the " "most used interpreted scripting languages on the Debian system, combining " "remarkable power with very clear syntax. (See <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">python</systemitem> - Python は Debian システム" "においてもっとも使われているもう一つの インタープリタ型スクリプト言語で、並外" "れたパワーと非常に明快な書式を 兼ねそなえています。 (詳しくは <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> を参照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">quilt</systemitem> - this package helps you to " "manage large numbers of patches by keeping track of the changes each patch " "makes. Patches can be applied, un-applied, refreshed, and more. (See " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum></citerefentry>, and <filename>&quilt-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">quilt</systemitem> - このパッケージは、一連の" "パッチそれぞれの変更点を追跡して、その管理を補助するものです。パッチは簡単に" "当てたり、外したり、刷新したり色々することができます。(詳しくは " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>、 <filename>&quilt-pdf;</filename> 参照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " "usually those made for X11, also use these programs to generate " "<filename>Makefile</filename> files from sets of macro functions. (See " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">xutils-dev</systemitem> - ある種のプログラム (通" "常 X11のために開発されたもの) は、これらのプログラムを利用して、マクロ関数の" "組み合わせから <filename>Makefile</filename> 群を生成します。(詳しくは " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>、 <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> 参照。)" #. type: Content of: <book><chapter><section><para> msgid "" "The short descriptions that are given above only serve to introduce you to " "what each package does. Before continuing please read the documentation of " "each relevant program including ones installed through the package " "dependency such as <command>make</command>, at least, for the standard " "usage. It may seem like heavy going now, but later on you'll be " "<emphasis>very</emphasis> glad you read it. If you have specific questions " "later, I would suggest re-reading the documents mentioned above." msgstr "" "上記の簡単な説明は、それぞれのパッケージが何をするのか紹介するだけのもので" "す。先に進む前に<command>make</command>等のようにパッケージ依存関係でインス" "トールされたプログラムを含むパッケージングに関連する各プログラムに付属の文書" "を読み、標準的な使い方だけでも理解しておいてください。いまはきついと思われる" "かも知れませんが、あとになればきっと <emphasis>読んでてよかったなあ</" "emphasis> と思うことでしょう。もし後日特定の疑問を持った場合は上記で触れた文" "書を読み返すことをお勧めします。" #. type: Content of: <book><chapter><section><title> msgid "Documentation needed for development" msgstr "開発に必要な文書" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>very important</emphasis> documentation which " "you should read along with this document:" msgstr "" "以下は、この文書と合わせて読むべき<emphasis>とても重要な</emphasis>文書です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " "the structure and contents of the Debian archive, several OS design issues, " "the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which " "says where each file and directory should be), etc. For you, the most " "important thing is that it describes requirements that each package must " "satisfy to be included in the distribution. (See the local copies of " "<filename>&policy-pdf;</filename> and <filename>&fhs-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">debian-policy</systemitem> - <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> (Debian ポリシーマニュアル)" "は、Debian アーカイブの構造と内容、OS の設計に関するいくつかの案件、<ulink " "url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS、個々のファイルや" "ディレクトリーがどこにあるべきかを規定した文書) が含まれています。さしあたっ" "て重要なのは、ディストリビューションに含まれるためにそれぞれのパッケージが満" "たすべき必要条件の説明です (ローカルコピーの<ulink url=\"&policy-pdf;" "\">policy.pdf</ulink> と <filename>&fhs-pdf;</filename> を参照。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">developers-reference</systemitem> - the <ulink " "url=\"&developers-reference;\">Debian Developer's Reference</ulink> " "describes all matters not specifically about the technical details of " "packaging, like the structure of the archive, how to rename, orphan, or " "adopt packages, how to do NMUs, how to manage bugs, best packaging " "practices, when and where to upload etc. (See the local copy of " "<filename>&developers-refpdf;</filename>.)" msgstr "" "<systemitem role=\"package\">developers-reference</systemitem> - <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> (Debian デベ" "ロッパーリファレンス)には、例えばアーカイブの構造、パッケージ名の変更方法、" "パッケージの選び方、メンテナーを降りるにはどうしたらよいか、どうやって NMU を" "するか、バグとのつき合い方、パッケージ作成のベストプラクティス、いつどこに" "アップロードすればよいかなどなど、特に技術的な事柄以外のパッケージ化について" "のありとあらゆる情報がここにあります。(ローカルコピーの " "<filename>&developers-refpdf;</filename> を参照。)" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>important</emphasis> documentation which you " "should read along with this document:" msgstr "" "以下は、この文書と合わせて読むべき<emphasis>とても重要な</emphasis>文書です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides a " "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " "System known as the GNU Autotools</ulink> whose most important components " "are Autoconf, Automake, Libtool, and gettext." msgstr "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> は、Autoconf、" "Automake、Libtool や gettext を最も重要な構成要素としてもつ <ulink url=" "\"&gnu-build-system;\">GNU Autotools として知られる GNU ビルドシステム</" "ulink> の非常に好適な入門書です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnu-standards</systemitem> - this package " "contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-" "standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;" "\">Information for Maintainers of GNU Software</ulink>. Although Debian " "does not require these to be followed, these are still helpful as guidelines " "and common sense. (See the local copies of <filename>&gnu-standard-pdf;</" "filename> and <filename>&gnu-maintainer-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">gnu-standards</systemitem> - このパッケージに" "は、GNU プロジェクトからの文書が 2 つ含まれています。<ulink url=\"&gnu-" "standard;\">GNU コーディング標準</ulink>と、<ulink url=\"&gnu-maintainer;" "\">GNU ソフトウェアのメンテナー向け情報</ulink>です。Debian ではこれらに従う" "ことは求められませんが、ガイドラインまたは常識としても有用です(ローカルコピー" "の <filename>&gnu-standard-pdf;</filename> と <filename>&gnu-maintainer-pdf;" "</filename> を参照。)" #. type: Content of: <book><chapter><section><para> msgid "" "If this document contradicts any of the documents mentioned above, they are " "correct. Please file a bug report on the <systemitem role=\"package\">maint-" "guide</systemitem> package using <command>reportbug</command>." msgstr "" "この文書が、上記文書の記述と矛盾している場合は、そちらが正解です。" "<command>reportbug</command> を使って<systemitem role=\"package\">maint-" "guide</systemitem> パッケージにバグレポートをしてください。" #. type: Content of: <book><chapter><section><para> msgid "" "The following is an alternative tutorial documentation which you may read " "along with this document:" msgstr "以下は、この文書と合わせて読める同様の入門書です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" msgstr "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" #. type: Content of: <book><chapter><section><title> msgid "Where to ask for help" msgstr "相談するには" #. type: Content of: <book><chapter><section><para> msgid "" "Before you decide to ask your question in some public place, please read the " "fine documentation." msgstr "公開の場で質問をすると決心する前に、良好な文書を読みましょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "files in <filename>/usr/share/doc/<replaceable>package</replaceable></" "filename> for all pertinent packages" msgstr "" "全ての関与するパッケージの <filename>/usr/share/doc/<replaceable>package</" "replaceable></filename> 中のファイル" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>man</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "全ての関与するコマンドの <literal><command>man</command> " "<replaceable>command</replaceable></literal> の内容" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>info</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "全ての関与するコマンドの <literal><command>info</command> " "<replaceable>command</replaceable></literal> の内容" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian." "org mailing list archive</ulink>" msgstr "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org メーリン" "グリストのアーカイブ</ulink> の内容" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org " "mailing list archive</ulink>" msgstr "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org メーリングリ" "ストのアーカイブ</ulink> の内容" #. type: Content of: <book><chapter><section><para> msgid "" "You can use web search engines more effectively by including search strings " "such as <literal>site:lists.debian.org</literal> to limit the domain." msgstr "" "<literal>site:lists.debian.org</literal> のような検索文字列を含めてドメインを" "制約するようなことでウエッブ検索エンジンをより効率的に利用することを考えま" "しょう。" #. type: Content of: <book><chapter><section><para> msgid "" "Making a small test package is a good way to learn details of packaging. " "Inspecting existing well maintained packages is the best way to learn how " "other people make packages." msgstr "" "小さなテストパッケージを作ることは、パッケージ作成の詳細を学ぶよい方法です。" "他の人がどのようにパッケージを作成しているか学ぶには、既存のよく保守されてい" "るパッケージを調べるのが一番です。" #. type: Content of: <book><chapter><section><para> msgid "" "If you still have questions about packaging that you couldn't find answers " "to in the available documentation and web resources, you can ask them " "interactively." msgstr "" "入手可能な文書やウエッブのリソースからは答えを見つけられない疑問が残った場合" "には、インタラクティブに疑問を聞く事が出来ます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (This mailing list is for the novice.)" msgstr "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org メーリン" "グリスト</ulink>。 (初心者向けメーリングリストです。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " "list</ulink>. (This mailing list is for the expert.)" msgstr "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org メーリングリ" "スト</ulink>。 (上級者向けメーリングリストです。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</" "literal>." msgstr "" "<literal>#debian-mentors</literal> の様な <ulink url=\"&irc-debian;\">IRC</" "ulink>。" #. type: Content of: <book><chapter><section><para> msgid "" "The more experienced Debian developers will gladly help you, if you ask " "properly after making your required efforts." msgstr "" "あなたがするべき努力をした後に適切に質問すれば、より経験を持った Debian デベ" "ロッパーは喜んで助けてくれるでしょう。" #. type: Content of: <book><chapter><section><para> msgid "" "When you receive a bug report (yes, actual bug reports!), you will know that " "it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking " "System</ulink> and read the documentation there, to be able to deal with the " "reports efficiently. I highly recommend reading the <ulink url=\"&devref-" "bug-handling;\">Debian Developer's Reference, 5.8. \"Handling bugs\"</" "ulink>." msgstr "" "バグレポート (そう、本物のバグレポートです!) を受けとったら、レポートを効率" "的に処理するために、<ulink url=\"&bts;\">Debian バグ追跡システム</ulink> に入" "り込み、その説明文書を読む時だということがわかるでしょう。<ulink url=" "\"&devref-bug-handling;\">Debian デベロッパーリファレンスの 5.8. 'Handling " "bugs'</ulink> を読むよう、強くおすすめします。" #. type: Content of: <book><chapter><section><para> msgid "" "Even if it all worked well, it's time to start praying. Why? Because in " "just a few hours (or days) users from all around the world will start to use " "your package, and if you made some critical error you'll get mailbombed by " "numerous angry Debian users... Just kidding. :-)" msgstr "" "すべてうまくやったとしても、これからはお祈りの時間です。なぜか? それは、ほん" "の数時間 (あるいは数日) で、世界中のユーザーがそのパッケージを使いはじめるか" "らです。もし何か致命的なエラーをやらかしていたら、膨大な数の怒った Debian " "ユーザーからメール爆弾を受けとることになります……なんて冗談ですが :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Relax and be ready for bug reports, because there is a lot more work to be " "done before your package will be fully in line with Debian policies and its " "best practice guidelines (once again, read the <emphasis>real documentation</" "emphasis> for details). Good luck!" msgstr "" "リラックスしてバグ報告に備えてください。なにしろ、そのパッケージが Debian ポ" "リシーやそのベストプラクティスに完全に沿うようになるまでには、やらなくてはい" "けないことは沢山あるのですから (繰り返しますが、詳細は<emphasis>正式の文書</" "emphasis>を読んでください)。頑張ってください!" #. type: Content of: <book><chapter><title> msgid "First steps" msgstr "はじめの一歩" #. type: Content of: <book><chapter><para> msgid "" "Let's start by creating a package of your own (or, even better, adopting an " "existing one)." msgstr "(できれば既存パッケージを引き取り) 自分のパッケージを作成しましょう。" #. type: Content of: <book><chapter><section><title> msgid "Debian package building workflow" msgstr "Debian パッケージビルドのワークフロー" #. type: Content of: <book><chapter><section><para> msgid "" "If you are making a Debian package with an upstream program, the typical " "workflow of Debian package building involves generating several specifically " "named files for each step as follows." msgstr "" "アップストリームのプログラムを使って Debian パッケージを作成する場合、Debian " "パッケージビルドは以下の各ステップでいくつかの特定の命名をされたファイルを生" "成することからなります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Get a copy of the upstream software, usually in a compressed tar format." msgstr "" "通常圧縮された tar フォーマットのアップストリームソフトウエアーのコピーを入手" "します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add Debian-specific packaging modifications to the upstream program under " "the <filename>debian</filename> directory, and create a non-native source " "package (that is, the set of input files used for Debian package building) " "in <literal>3.0 (quilt)</literal> format." msgstr "" "<filename>debian</filename> ディレクトリー下へ Debian 固有のパッケージ用の変" "更をアップストリームプログラムへ追加し、<literal>3.0 (quilt)</literal> フォー" "マットでノンネイティブのソースパッケージを作成します。(ソースパッケージとは、" "Debian パッケージビルドのために用いる入力ファイルセットのこと。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig." "tar.gz" msgstr "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig." "tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.debian.tar.gz" msgstr "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.debian.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><footnote><para> msgid "" "For the older style of non-native Debian source packages in <literal>1.0</" "literal> format, <literal><replaceable>package</" "replaceable>_<replaceable>version</replaceable>-<replaceable>revision</" "replaceable>.diff.gz</literal> is used instead." msgstr "" "<literal>1.0</literal> フォーマットの古いノンネイティブの Debian パッケージに" "関しては、上記の代わりに <literal><replaceable>package</" "replaceable>_<replaceable>version</replaceable>-<replaceable>revision</" "replaceable>.diff.gz</literal> が使われます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.dsc" msgstr "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Build Debian binary packages, which are ordinary installable package files " "in <literal>.deb</literal> format (or <literal>.udeb</literal> format, used " "by the Debian Installer) from the Debian source package." msgstr "" "Debian ソースパッケージから <literal>.deb</literal> フォーマット (または " "Debian のインストーラーが使う <literal>.udeb</literal> フォーマット)で提供さ" "れる通常のインストール可能な Debian のバイナリーパッケージをビルドします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the character separating <literal><replaceable>package</" "replaceable></literal> and <literal><replaceable>version</replaceable></" "literal> was changed from <literal>-</literal> (hyphen) in the tarball name " "to <literal>_</literal> (underscore) in the Debian package filenames." msgstr "" "<literal><replaceable>package</replaceable></literal> と " "<literal><replaceable>version</replaceable></literal> の間の文字が tar 玉の名" "前の <literal>-</literal> (ハイフン)が Debian パッケージファイルの名前では " "<literal>_</literal> (下線)に変更されていることに注目して下さい。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. The <emphasis role=\"strong" "\">package architecture</emphasis> follows the <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> and is " "automatically assigned by the package build process." msgstr "" "<ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink> を参照下さい。<emphasis role=\"strong" "\">パッケージアーキテクチャー</emphasis> は <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> に従い、" "パッケージビルドプロセスにより自動的に付与されます。" #. type: Content of: <book><chapter><section><para> msgid "" "In the file names above, replace the <literal><replaceable>package</" "replaceable></literal> part with the <emphasis role=\"strong\">package name</" "emphasis>, the <literal><replaceable>version</replaceable></literal> part " "with the <emphasis role=\"strong\">upstream version</emphasis>, the " "<literal><replaceable>revision</replaceable></literal> part with the " "<emphasis role=\"strong\">Debian revision</emphasis>, and the " "<literal><replaceable>arch</replaceable></literal> part with the <emphasis " "role=\"strong\">package architecture</emphasis>, as defined in the Debian " "Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Debian Policy Manual に従い、上記のファイル名中の、" "<literal><replaceable>package</replaceable></literal> 部分は<emphasis role=" "\"strong\">パッケージ名</emphasis>に置き換え、<literal><replaceable>version</" "replaceable></literal> 部分は<emphasis role=\"strong\">アップストリームバー" "ジョン</emphasis>に置き換え、<literal><replaceable>revision</replaceable></" "literal> 部分は <emphasis role=\"strong\">Debian リビジョン</emphasis>に置き" "換え、<literal><replaceable>arch</replaceable></literal> 部分は<emphasis " "role=\"strong\">パッケージアーキテクチャー</emphasis>に置き換えます。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "If instead you are making a Debian-specific package with no upstream, the " "typical workflow of Debian package building is simpler." msgstr "" "これに代えて、アップストリーム無しに Debian 固有のパッケージを作成する場合、" "Debian パッケージビルドの典型的なワークフローはより簡単となります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a native Debian source package in the <literal>3.0 (native)</literal> " "format using a single compressed tar file in which all files are included." msgstr "" "全てのファイルが含まれる単一の圧縮された tar ファイルを用いる <literal>3.0 " "(native)</literal> フォーマットでネイティブの Debian ソースパッケージを作成し" "ます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" msgstr "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Build Debian binary packages from the native Debian source package." msgstr "" "ネイティブ Debian ソースパッケージから、Debian バイナリーパッケージをビルドし" "ます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Each step of this outline is explained with detailed examples in later " "sections." msgstr "" "以下で、このアウトラインの各ステップは後述のセクションで詳細に説明します。" #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "プログラムの選定" #. type: Content of: <book><chapter><section><para> msgid "" "You have probably chosen the package you want to create. The first thing " "you need to do is check if the package is in the distribution archive " "already by using the following." msgstr "" "おそらく、作成したいパッケージを選んだことと思います。まず最初にしなければな" "らないことは、ディストリビューションのアーカイブにそのパッケージがすでにある" "かどうかを以下をを使って確認することです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <command>aptitude</command> command" msgstr "<command>aptitude</command> コマンド" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page" msgstr "<ulink url=\"&packages-do;\">Debian パッケージ</ulink> ウエッブページ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> " "web page" msgstr "" "<ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> ウエッ" "ブページ" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. " "\"Adopting a package\"</ulink>." msgstr "" "<ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. \"Adopting " "a package\"</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "If the package already exists, well, install it! :-) If it happens to be " "<emphasis role=\"strong\">orphaned</emphasis> (that is, if its maintainer is " "set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>), you may be able to " "pick it up if it's still available. You may also adopt a package whose " "maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</" "emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "もしパッケージが既に存在していたら、インストールしましょう! :-) もしそのパッ" "ケージが<emphasis role=\"strong\">みなし子</emphasis>状態 (メンテナーが " "<ulink url=\"&qa-do;\">Debian QA Group</ulink> に設定されていること)なら、そ" "のパッケージを他人にとられていなければ、そのパッケージを引き取ることができる" "かもしれません。パッケージのメンテナーが引き取り依頼 (<emphasis role=\"strong" "\">RFA</emphasis>) を出しているパッケージも引きとれます。<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "There are several package ownership status resources." msgstr "パッケージの所有状態の情報源がいくつかあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" msgstr "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" msgstr "" "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgstr "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" msgstr "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Having said that, there will of course always be new programs that are worth " "packaging." msgstr "" "とはいっても、パッケージ化する価値のある新しいプログラムはいつだって存在する" "でしょう。" #. type: Content of: <book><chapter><section><para> msgid "" "As a side note, it's important to point out that Debian already has packages " "for most kinds of programs, and the number of packages already in the Debian " "archive is much larger than that of contributors with upload rights. Thus, " "contributions to packages already in the archive are far more appreciated " "(and more likely to receive sponsorship) by other developers <placeholder " "type=\"footnote\" id=\"0\"/>. You can contribute in various ways." msgstr "" "注釈ですが、Debian にはすでにほとんどの種類のプログラムが含まれていることと、" "Debian アーカイブにすでに含まれているパッケージの数はアップロード権限をもつ" "ユーザーの数よりもはるかに多いことに注意しておくのは重要です。従って、すでに" "アーカイブに含まれているパッケージへの作業は、他のデベロッパーからはるかに喜" "ばれ (よりスポンサーしてもらえる見込みがあり)ます<placeholder type=\"footnote" "\" id=\"0\"/>。貢献の仕方はいろいろあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "まだよく使われている、みなしごのパッケージを引き取る" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>" msgstr "<ulink url=\"&teams;\">パッケージ化チーム</ulink>に参加する" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "よく使われているパッケージのバグに対処する" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" msgstr "" "<ulink url=\"&devref-nmu;\">QA もしくは NMU アップロード</ulink> を準備する" #. type: Content of: <book><chapter><section><para> msgid "" "If you are able to adopt the package, get the sources (with something like " "<literal>apt-get source <replaceable>packagename</replaceable></literal>) " "and examine them. This document unfortunately doesn't include comprehensive " "information about adopting packages. Thankfully you shouldn't have a hard " "time figuring out how the package works since someone has already done the " "initial setup for you. Keep reading, though; a lot of the advice below will " "still be applicable for your case." msgstr "" "もしパッケージを引き取ることができるなら、(<literal>apt-get source " "<replaceable>packagename</replaceable></literal> などの方法で) ソースを入手" "して、調べてみてください。残念ながらこの文書では、パッケージを引き取ることに" "ついて、わかりやすく説明してはいません。ありがたいことに、既に誰かがあなたの" "ためにパッケージを準備してくれたわけですから、そのパッケージがどのように動作" "するのか理解することは、それほど難しくはないでしょう。とはいえ、そうした場合" "でもこの文書に書かれた多くのアドバイスはそのまま通用しますから、このまま読み" "進めていってください。" #. type: Content of: <book><chapter><section><para> msgid "" "If the package is new, and you decide you'd like to see it in Debian, " "proceed as follows:" msgstr "" "もしあなたの選んだプログラムがまだパッケージ化されていないもので、それを " "Debian に入れたいと決めたなら、以下のチェック項目について確認してください。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "First, you must know that the program works, and have tried it for some time " "to confirm its usefulness." msgstr "" "まず、そのプログラムが機能することを理解し、ある程度の期間使用してその有用性" "について確認するべきです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "You must check that no one else is already working on the package on the " "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> " "site. If no one else is working on it, file an ITP (Intent To Package) bug " "report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " "using <command>reportbug</command>. If someone's already on it, contact " "them if you feel you need to. If not - find another interesting program " "that nobody is maintaining." msgstr "" "<ulink url=\"&wnpp-do;\">作業中のパッケージ</ulink>サイトを確認し、他の誰も同" "じパッケージに関して作業していないことを確かめてください。誰も作業していなけ" "れば、<command>reportbug</command> を使って ITP (Intent To Package) のバグレ" "ポートを、<systemitem role=\"package\">wnpp</systemitem> 疑似パッケージに送っ" "てください。もし既に誰かが作業していたら、連絡を取りたいならそうしてくださ" "い。もしその気が無いなら、まだ誰も手をつけていない他の面白いプログラムを探し" "ましょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The software <emphasis role=\"strong\">must have a license</emphasis>." msgstr "" "プログラムには、<emphasis role=\"strong\">ライセンスが必須</emphasis>です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>main</literal> section, Debian Policy requires it <emphasis " "role=\"strong\">to be fully compliant with the Debian Free Software " "Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis " "role=\"strong\">not to require a package outside of <literal>main</literal></" "emphasis> for compilation or execution. This is the desired case." msgstr "" "<literal>main</literal> セクションは、Debian ポリシーにより <emphasis role=" "\"strong\">Debian フリーソフトウェアガイドライン</emphasis> (<ulink url=" "\"&dfsg;\">DFSG</ulink>) に完全に準拠しなければなりませんし 、またコンパイ" "ル・実行時に <emphasis role=\"strong\"><literal>main</literal> 以外のパッケー" "ジに依存してはなりません</emphasis>。これが望ましいケースです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>contrib</literal> section, it must comply with the DFSG but " "it may require a package outside of <literal>main</literal> for compilation " "or execution." msgstr "" "<literal>contrib</literal> セクションは、DFSG に完全に準拠していなければなり" "ませんが、コンパイル・実行時に <literal>main</literal> にあるもの以外のパッ" "ケージに依存していても構いません。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>non-free</literal> section, it may be non-compliant with " "the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>." msgstr "" "<literal>non-free</literal> セクションは、DFSG に準拠していない部分があるかも" "しれませんが、<emphasis role=\"strong\">配布可能でなければなりません</" "emphasis>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If you are unsure about where it should go, post the license text on <ulink " "url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for " "advice." msgstr "" "どうするべきかよくわからなければ、<ulink url=\"&debian-legal-ldo;\">debian-" "legal@lists.debian.org</ulink> にライセンス文を送り、アドバイスを求めてくださ" "い。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The program should <emphasis role=\"strong\">not</emphasis> introduce " "security and maintenance concerns to the Debian system." msgstr "" "プログラムは、Debian システムにセキュリティーやメインテナンス上の懸念を招いて" "は<emphasis role=\"strong\">いけません</emphasis>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should be well documented and its code needs to be " "understandable (i.e. not obfuscated)." msgstr "" "ちゃんとした説明書きのあるプログラムで、ソースコードが理解可能なもの (つま" "り、難読化されていないこと)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "You should contact the program's author(s) to check if they agree with " "packaging it and are amicable to Debian. It is important to be able to " "consult with the author(s) in case of any problems with the program, so " "don't try to package unmaintained software." msgstr "" "プログラムの作者に連絡をとって、パッケージ化の承諾と Debian に友好的かどうか" "を確認しておきましょう。何かプログラムそのものに起因する問題が発生した際に、" "作者にいろいろ聞けるということは重要なので、メンテナンスされていないソフト" "ウェアをパッケージ化するのはやめておきましょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program certainly should <emphasis role=\"strong\">not</emphasis> run " "setuid root, or even better, it shouldn't need to be setuid or setgid to " "anything." msgstr "" "プログラムは root に setuid で実行されるべきでは<emphasis role=\"strong\">あ" "りません</emphasis>。もっと言えば、どのユーザーへの setuid や setgid もするべ" "きではありません。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should not be a daemon, or go in an <filename>*/sbin</filename> " "directory, or open a port as root." msgstr "" "デーモンとして動作するプログラムや、<filename>*/sbin</filename> ディレクト" "リーに配置するプログラム、また root 特権を使ってポートを開くプログラムで無い" "ほうが良いでしょう。" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, the last one is just a safety measures, and intended to save you " "from enraging users if you do something wrong in some setuid daemon... When " "you gain more experience in packaging, you'll be able to package such " "software." msgstr "" "もちろんこの最後の件は単なる安全策で、setuid デーモン等で何かミスして怒り狂っ" "たユーザーから抗議殺到という事態を招くことを回避するためです。パッケージ化に" "ついてもっと経験を積めば、こうしたパッケージも作れるようになるでしょう。" #. type: Content of: <book><chapter><section><para> msgid "" "As a new maintainer, you are encouraged to get some experience in packaging " "with easier packages and discouraged from creating complicated packages." msgstr "" "新規メンテナーであるあなたには、比較的簡単なパッケージで経験を積むことをお勧" "めし、複雑なパッケージを作成することお勧めはできません。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Simple packages" msgstr "単純なパッケージ、" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (collection of data such as wallpaper " "graphics)" msgstr "" "単一のバイナリーパッケージ、arch = all (壁紙グラフィクスのようなデータのコレ" "クション)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (executables written in an interpreted " "language such as POSIX shell)" msgstr "" "単一のバイナリーパッケージ、arch = all (POSIX のようなインタープリタ言語で書" "かれた実行可能プログラム)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Intermediate complexity packages" msgstr "ほどほど複雑なパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = any (ELF binary executables compiled from " "languages such as C and C++)" msgstr "" "単一のバイナリーパッケージ、arch = all (C や C++ のような言語からコンパイルさ" "れた ELF バイナリーの実行可能プログラム)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "multiple binary packages, arch = any + all (packages for ELF binary " "executables + documentation)" msgstr "" "複数のバイナリーパッケージ、arch = all + any (ELF バイナリーの実行可能プログ" "ラム + 文書のパッケージ)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "upstream source in a format other than <filename>tar.gz</filename> or " "<filename>tar.bz2</filename>" msgstr "" "ソースファイルの形式が、<filename>tar.gz.</filename> や <filename>tar.bz2</" "filename> でないもの" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "upstream source containing undistributable contents" msgstr "配布できない内容が tar 玉に含まれるアップストリームソース" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "High complexity packages" msgstr "高度に複雑なパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter module package used by other packages" msgstr "他のパッケージにより利用される、インタープリタのモジュールパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "generic ELF library package used by other packages" msgstr "他のパッケージにより利用される汎用 ELF ライブラリーパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "multiple binary packages including an ELF library package" msgstr "ELF ライブラリーパッケージを含む複数バイナリーパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "source package with multiple upstream sources" msgstr "複数のアップストリームソースからなるソースパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel module packages" msgstr "カーネルモジュールパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel patch packages" msgstr "カーネルパッチパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "any package with non-trivial maintainer scripts" msgstr "非自明なメンテナースクリプトを含むあらゆるパッケージ" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging high complexity packages is not too hard, but it requires a bit " "more knowledge. You should seek specific guidance for every complex feature. " "For example, some languages have their own sub-policy documents:" msgstr "" "高度に複雑なパッケージをパッケージすることはそれほど難しいことではありません" "が、少々知識が必要です。それぞれの複雑な特徴には固有のガイダンスを探すべきで" "す。例えば、いくつかの言語にはそれぞれのサブポリシー文書があります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>" msgstr "<ulink url=\"&policy-perl;\">Perl policy</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-python;\">Python policy</ulink>" msgstr "<ulink url=\"&policy-python;\">Python policy</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-java;\">Java policy</ulink>" msgstr "<ulink url=\"&policy-java;\">Java policy</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Do not worry about the missing <filename>Makefile</filename>. You can " "install the <command>hello</command> command by simply using " "<command>debhelper</command> as in <xref linkend=\"install\"/>, or by " "modifying the upstream source to add a new <filename>Makefile</filename> " "with the <literal>install</literal> target as in <xref linkend=\"modify\"/>." msgstr "" "<filename>Makefile</filename>がないことを心配しないで下さい。<command>hello</" "command> コマンドは <xref linkend=\"install\"/> にあるようにして " "<command>debhelper</command> を単純に使用したり、<xref linkend=\"modify\"/> " "にあるようにして <literal>install</literal> ターゲットがある新規の " "<filename>Makefile</filename> をアップストリームソースに追加してインストール" "できます。" #. type: Content of: <book><chapter><section><para> msgid "" "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " "practice and experiment with all the steps of Debian packaging with simple " "packages while reading this tutorial. A trivial upstream tarball " "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a " "good starting point.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "もう一つの古いラテンの諺にもあるように、<emphasis>Fabricando fit faber</" "emphasis> (習うより慣れろ)です。本入門書を読みながら単純なパッケージを用いて " "Debian パッケージングの全ステップを練習したり色々試したりすることを<emphasis>" "非常に</emphasis>推薦します。以下のようにして作った <filename>hello-sh-1.0." "tar.gz</filename> という他愛ないアップストリームは良好なスタートポイントとな" "るでしょう。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" msgstr "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "プログラムの入手と検証" #. type: Content of: <book><chapter><section><para> msgid "" "So the first thing to do is to find and download the original source code. " "Presumably you already have the source file that you picked up at the " "author's homepage. Sources for free Unix programs usually come in " "<command>tar</command>+<command>gzip</command> format with the extension " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> format with the extension <filename>.tar.bz2</filename>, or " "<command>tar</command>+<command>xz</command> format with the extension " "<filename>.tar.xz</filename>. These usually contain a directory called " "<filename><replaceable>package</replaceable>-<replaceable>version</" "replaceable></filename> with all the sources inside." msgstr "" "さて、最初にすべきことは、オリジナルのソースコードを探してダウンロードするこ" "とです。ここでは作者のホームページから、すでにソースファイルを入手したとして" "話を進めます。フリーな Unix 用プログラムのソースは、ふつう <filename>.tar." "gz</filename> 拡張子が付いた <command>tar</command>+<command>gzip</command> " "フォーマットや、<filename>.tar.bz2</filename> 拡張子が付いた <command>tar</" "command>+<command>bzip2</command> フォーマットで提供されています。この中には" "たいてい、すべてのソースが入った <filename><replaceable>package</" "replaceable>-<replaceable>version</replaceable></filename> というディレクト" "リーがあります。" #. type: Content of: <book><chapter><section><para> msgid "" "If the latest version of the source is available through a VCS such as Git, " "Subversion, or CVS, you need to get it with <literal>git clone</literal>, " "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into " "<command>tar</command>+<command>gzip</command> format yourself by using the " "<literal>--exclude-vcs</literal> option." msgstr "" "該当ソースの最新版が Git や Subversion、CVS リポジトリのような VCS で提供され" "ているなら、<literal>git clone</literal>、<literal>svn co</literal> や " "<literal>cvs co</literal> 取得してから、<literal>--exclude-vcs</literal> オプ" "ションを使って自分で <command>tar</command>+<command>gzip</command> フォー" "マットに再パックする必要があります。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can identify the archive format using the <command>file</command> " "command when the file extension is not enough." msgstr "" "ファイルの拡張子で足りなければ、<command>file</command> コマンドを使ってアー" "カイブ形式を判別することができます。" #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes as some other sort of archive (for instance, " "the filename ends in <filename>.Z</filename> or <filename>.zip</" "filename><placeholder type=\"footnote\" id=\"0\"/>), you should also unpack " "it with the appropriate tools and repack it." msgstr "" "プログラムのソースが、他の種類のアーカイブ (例えば、<filename>.Z</filename>で" "終わるファイル名や、<filename>.zip</filename><placeholder type=\"footnote\" " "id=\"0\"/>) の場合は、適切なツールでアンパックしてから再パックしてください。" #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes with some contents which do not comply with " "DFSG, you should also unpack it to remove such contents and repack it with a " "modified upstream version containing <literal>dfsg</literal>." msgstr "" "DFSGに準拠しない内容とともにあなたのプログラムのソースが提供されている場合、" "それをアンパックし、そのような内容を削除し、<literal>dfsg</literal> を含む" "アップストリームバージョンに変更してリパックしましょう。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This program is already packaged. The <ulink url=\"&gentoo-package;" "\">current version</ulink> uses Autotools as its build structure and is " "substantially different from the following examples, which were based on " "version 0.9.12." msgstr "" "このプログラムはすでにパッケージ化されています。 その<ulink url=\"&gentoo-" "package;\">最新のバージョン</ulink>は Autotools をそのビルド構造としており、" "バージョン 0.9.12 に基づく以下の例から大きく異なります。" #. type: Content of: <book><chapter><section><para> msgid "" "As an example, I'll use a program called <command>gentoo</command>, a GTK+ " "file manager. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "さて、<command>gentoo</command> という X GTK+ ファイルマネージャを例に使い説" "明します。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Create a subdirectory under your home directory named <filename>debian</" "filename> or <filename>deb</filename> or anything you find appropriate (e." "g. just <filename>~/gentoo</filename> would do fine in this case). Place " "the downloaded archive in it, and extract it (with <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " "tools may or may not ignore these anomalies, so they may have problems " "unpacking them. Your shell command line may look something like this:" msgstr "" "自分のホームディレクトリー以下に <filename>debian</filename> や " "<filename>deb</filename>、または何か適当な名前のサブディレクトリーを作りま" "しょう (今回の場合には <filename>~/gentoo/</filename> としても良いでしょう)。" "ダウンロードしたアーカイブをここにコピーし、<literal>tar xzf gentoo-0.9.12." "tar.gz</literal> を実行して展開してください。この時、一見<emphasis>無関係</" "emphasis>に思えるようなものも含めて、警告メッセージが一切発生しないことを確認" "してください。アンパックする際に問題に出会わないように、他の人々のシステム上" "で展開する際に、彼らが使っているツールがこの様な異常を無視したりしなかったり" "するので、警告メッセージがなくなるように確実にしましょう。あなたのシェルのコ" "マンドラインは、以下のように見えているでしょうか。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Now you have another subdirectory, called <filename>gentoo-0.9.12</" "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " "read the provided documentation. Usually there are files named " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> or <filename>*.html</filename>. You must find instructions " "on how to compile and install the program (most probably they'll assume you " "want to install to the <filename>/usr/local/bin</filename> directory; you " "won't be doing that, but more on that later in <xref linkend=\"destdir\"/>)." msgstr "" "さて、<filename>gentoo-0.9.12</filename> という別のサブディレクトリーができま" "した。そのディレクトリーに移動し、提供されているドキュメントを<emphasis>徹底" "的に</emphasis>読みましょう。通常は <filename>README*</filename> や " "<filename>INSTALL*</filename> や <filename>*.lsm</filename> や <filename>*." "html</filename> といった名前のファイルがあります。それらの文書の中に、どう" "やったら正しくコンパイルできるのか、どうインストールすればよいのかといった情" "報が見つかるはずです (おそらく <filename>/usr/local/bin</filename> にインス" "トールするものとして説明されていますが、そうはしません。これについては <xref " "linkend=\"destdir\"/> を参照してください)。" #. type: Content of: <book><chapter><section><para> msgid "" "You should start packaging with a completely clean (pristine) source " "directory, or simply with freshly unpacked sources." msgstr "" "パッケージ化の作業は完全にクリーンな (オリジナルのままの) ソースディレクト" "リー、簡単に言えば新しく展開したソースから始めるべきです。" #. type: Content of: <book><chapter><section><title> msgid "Simple build systems" msgstr "単純なビルドシステム" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Many modern programs come with a script <filename>configure</filename> which " "when executed creates a <filename>Makefile</filename> customized for your " "system." msgstr "" "多くの現代的なプログラムには 実行するとあなたのシステム用にカスタム化した " "<filename>Makefile</filename> ファイルを作成する <filename>configure</" "filename> スクリプトが同梱されています。" #. type: Content of: <book><chapter><section><para> msgid "" "Simple programs usually come with a <filename>Makefile</filename> and can be " "compiled just by invoking <literal>make</literal>.<placeholder type=" "\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, " "which runs included self-tests. Installation to the destination directories " "is usually done with <literal>make install</literal>." msgstr "" "単純なプログラムは普通 <filename>Makefile</filename> ファイルが付属していて、" "単純に <literal>make</literal> でコンパイルできます。<placeholder type=" "\"footnote\" id=\"0\"/> それらの中には同梱のセルフテストを実行する " "<literal>make check</literal> をサポートするプログラムもあります。インストー" "ル先ディレクトリーへのインストールは一般に <literal>make install</literal> に" "よって実行されます。" #. type: Content of: <book><chapter><section><para> msgid "" "Now try to compile and run your program, to make sure it works properly and " "doesn't break something else while it's installing or running." msgstr "" "さあ、試しにプログラムをコンパイルし、実行してみましょう。 インストールや実行" "の際にちゃんと動作するかどうか、そして他の何かを壊してしまっていないかを確認" "してください。" #. type: Content of: <book><chapter><section><para> msgid "" "Also, you can usually run <literal>make clean</literal> (or better " "<literal>make distclean</literal>) to clean up the build directory. " "Sometimes there's even a <literal>make uninstall</literal> which can be used " "to remove all the installed files." msgstr "" "それから、たいていの場合は <literal>make clean</literal> ( <literal>make " "distclean</literal> を使えるならそのほうが良いです) を実行すると、ビルド用の" "ディレクトリーをきれいにしてくれます。さらに <literal>make uninstall</" "literal> を実行すると、インストールされたファイルをすべて削除できることさえも" "あります。" #. type: Content of: <book><chapter><section><title> msgid "Popular portable build systems" msgstr "ポピュラーなポータブルなビルドシステム" #. type: Content of: <book><chapter><section><para> msgid "" "A lot of free software programs are written in the <ulink url=\"&c-program;" "\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these " "use Autotools or CMake to make them portable across different platforms. " "These build tools need to be used to generate the <filename>Makefile</" "filename> and other required source files first. Then, such programs are " "built using the usual <literal>make; make install</literal>." msgstr "" "多数の自由なプログラムは、<ulink url=\"&c-program;\">C</ulink> や <ulink url=" "\"&cxx;\">C++</ulink> 言語で書かれています。これらの多くは、異なるプラット" "フォーム間で移植を可能とするために Autotools や CMake を使っています。こう" "いったツールは、<filename>Makefile</filename> やその他必要なソースファイルを" "生成するのに使われます。その後、このようなプログラムは通常どおり " "<literal>make; make install</literal> でビルドされます。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Autotools is too big to deal in this small tutorial. This section is meant " "to provide keywords and references only. Please make sure to read the " "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and the local " "copy of <filename>&autotools-readme;</filename>, if you need to use it." msgstr "" "Autotools は本入門書で扱うには大きすぎます。本セクションはキーワードや参照文" "献を提供するだけです。必要な際には、<ulink url=\"&autotools-tutorial;" "\">Autotools Tutorial</ulink> と <filename>&autotools-readme;</filename> の" "ローカルコピーをしっかり読んで下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> is the GNU build system " "comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, " "and <ulink url=\"&gettext;\">gettext</ulink>. You can recognize such " "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" "filename>, and <filename>Makefile.in</filename> files. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> は <ulink url=" "\"&autoconf;\">Autoconf</ulink>、<ulink url=\"&automake;\">Automake</ulink>、" "<ulink url=\"&libtool;\">Libtool</ulink> と <ulink url=\"&gettext;" "\">gettext</ulink> から成る GNU のビルドシステムです。<filename>configure." "ac</filename>、<filename>Makefile.am</filename> や <filename>Makefile.in</" "filename> ファイルがあれば、そういうソースであることがわかります。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "The first step of the Autotools workflow is usually that upstream runs " "<literal>autoreconf -i -f</literal> in the source directory and distributes " "the generated files along with the source." msgstr "" "Autotools を使ったワークフローの最初の一歩は、アップストリームの作者がソース" "ディレクトリーで <literal>autoreconf -i -f</literal> を実行し、生成されたファ" "イルと一緒にこのソースを配布することです。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" msgstr "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" #. type: Content of: <book><chapter><section><para> msgid "" "Editing <filename>configure.ac</filename> and <filename>Makefile.am</" "filename> files requires some knowledge of <command>autoconf</command> and " "<command>automake</command>. See <literal>info autoconf</literal> and " "<literal>info automake</literal>." msgstr "" "<filename>configure.ac</filename> や <filename>Makefile.am</filename> ファイ" "ルを編集するには、<command>autoconf</command> と <command>automake</command> " "についての知識が少々必要になります。<literal>info autoconf</literal> と " "<literal>info automake</literal> を参照してください。" #. type: Content of: <book><chapter><section><para> msgid "" "The second step of the Autotools workflow is usually that the user obtains " "this distributed source and runs <literal>./configure && make</" "literal> in the source directory to compile the program into an executable " "command <command><replaceable>binary</replaceable></command>." msgstr "" "Autotools のワークフローの通常の次のステップは、この配布されているソースを" "ユーザーが入手し、ソースディレクトリーで <literal>./configure && " "make</literal> を実行することで、プログラムを <command><replaceable>binary</" "replaceable></command> という実行可能コマンドにコンパイルします。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" msgstr "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can change many things in the <filename>Makefile</filename>; for " "instance you can change the default location for file installation using the " "option <literal>./configure --prefix=/usr</literal>." msgstr "" "<filename>Makefile</filename> ファイルにある内容の多くは変更することができま" "す。例えばデフォルトでファイルがインストールされる場所などは、<literal>./" "configure --prefix=/usr</literal> とコマンドオプションを使って変更することが" "できます。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can automate this by using <systemitem role=\"package\">dh-autoreconf</" "systemitem> package. See <xref linkend=\"customrules\"/>." msgstr "" "<systemitem role=\"package\">dh-autoreconf</systemitem> パッケージを用いると" "これが自動か出来ます。<xref linkend=\"customrules\"/> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "Although it is not required, updating the <filename>configure</filename> and " "other files with <literal>autoreconf -i -f</literal> may improve the " "compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "必須ではありませんが、<literal>autoreconf -i -f</literal> をユーザーとして実" "行することで <filename>configure</filename> や他のファイルを更新すると、ソー" "スの互換性が改善される場合があります。<placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You " "can recognize such sources by the <filename>CMakeLists.txt</filename> file." msgstr "" "<ulink url=\"&cmake;\">CMake</ulink> は代替のビルドシステムです。" "<filename>CMakeLists.txt</filename> ファイルがあれば、そういうソースだとわか" "ります。" #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "パッケージ名とバージョン" #. type: Content of: <book><chapter><section><para> msgid "" "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " "you can take <literal>gentoo</literal> as the (source) <emphasis role=" "\"strong\">package name</emphasis> and <literal>0.9.12</literal> as the " "<emphasis role=\"strong\">upstream version</emphasis>. These are used in " "the <filename>debian/changelog</filename> file described later in <xref " "linkend=\"changelog\"/>, too." msgstr "" "<filename>gentoo-0.9.12.tar.gz</filename> としてアップストリームソースが提供" "される場合、<emphasis role=\"strong\">パッケージ名</emphasis>は " "<literal>gentoo</literal> で <emphasis role=\"strong\">アップストリームバー" "ジョン</emphasis>は <literal>0.9.12</literal> となります。<xref linkend=" "\"changelog\"/> で後述する <filename>debian/changelog</filename> ファイル中で" "も使われます。" #. type: Content of: <book><chapter><section><para> msgid "" "Although this simple approach works most of the times, you may need to " "adjust <emphasis role=\"strong\">package name</emphasis> and <emphasis role=" "\"strong\">upstream version</emphasis> by renaming the upstream source to " "follow Debian Policy and existing convention." msgstr "" "この単純なアプローチは大体うまくいくのですが、Debian Policy や従来の慣習に従" "うようにアップストリームソースをリネームすることで<emphasis role=\"strong\">" "パッケージ名</emphasis> と <emphasis role=\"strong\">アップストリームバージョ" "ン</emphasis>を調整する必要があるかもしれません。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default package name field length of <command>aptitude</command> is 30. " "For more than 90% of packages, the package name is less than 24 characters." msgstr "" "<command>aptitude</command> のデフォルトのパッケージ名フィールド長は 30 で" "す。90% を越えるパッケージに関し、パッケージ名は 24 文字より短いです。" #. type: Content of: <book><chapter><section><para> msgid "" "You must choose the <emphasis role=\"strong\">package name</emphasis> to " "consist only of lower case letters (<literal>a-z</literal>), digits " "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" "literal>) signs, and periods (<literal>.</literal>). It must be at least two " "characters long, must start with an alphanumeric character, and must not be " "the same as existing ones. It is a good idea to keep its length within 30 " "characters. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<emphasis role=\"strong\">パッケージ名</emphasis> は、英小文字 (<literal>a-" "z</literal>)と数字 (<literal>0-9</literal>) と、プラス (<literal>+</" "literal>) やマイナス (<literal>-</literal>) 記号と、ピリオド (<literal>.</" "literal>) だけからなるように選ばなければいけません。少なくとも 2 文字以上で、" "英数字で始まり、既存の名前と同じではいけません。30 文字以内の長さにするのが望" "ましいです。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you follow the <ulink url=\"&devref-newpackage;\">Debian Developer's " "Reference 5.1. \"New packages\"</ulink>, the ITP process will usually catch " "this kind of issues." msgstr "" "<ulink url=\"&devref-newpackage;\">Debian Developer's Reference 5.1. \"New " "packages\"</ulink> の通りにすれば、ITP プロセスが普通この様な間違いを洗い出し" "ます。" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream uses some generic term such as <literal>test-suite</literal> for " "its name, it is a good idea to rename it to identify its contents explicitly " "and avoid namespace pollution. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "アップストリームのソースが <literal>test-suite</literal> のような一般的な単語" "をその名称として使う場合は、その内容を明示するようにリネームしネームスペース" "汚染を引き起こさないのが良い考えです。<placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This stricter rule should help you avoid confusing file names." msgstr "この厳しい目のルールは混乱を招くファイル名を避けるのに役立ちます。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default version field length of <command>aptitude</command> is 10. The " "Debian revision with preceding hyphen usually consumes 2. For more than 80% " "of packages, the upstream version is less than 8 characters and the Debian " "revision is less than 2 characters. For more than 90% of packages, the " "upstream version is less than 10 characters and the Debian revision is less " "than 3 characters." msgstr "" "<command>aptitude</command> のデフォルトのバージョンフィールド長は 10 です。" "Debian リビジョンとその前のハイフンが通常 2 つを消費します。80% 以上のパッ" "ケージはアップストリームバージョンが 8 文字より少なく、Debian リビジョンが 2 " "文字より少ないです。90% 上のパッケージはアップストリームバージョンが 10 文字" "より少なく、Debian リビジョンが 3 文字より少ないです。" #. type: Content of: <book><chapter><section><para> msgid "" "You should choose the <emphasis role=\"strong\">upstream version</emphasis> " "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>), and periods " "(<literal>.</literal>). It must start with a digit (<literal>0-9</" "literal>). <placeholder type=\"footnote\" id=\"0\"/> It is good idea to " "keep its length within 8 characters if possible. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "<emphasis role=\"strong\">アップストリームバージョン</emphasis> は、英数字 " "(<literal>0-9A-Za-z</literal>) と プラス (<literal>+</literal>) と 波線 " "(<literal>~</literal>) と ピリオド (<literal>.</literal>) からのみから選びま" "す。それは数字 (<literal>0-9</literal>) で始まらなければいけません。" "<placeholder type=\"footnote\" id=\"0\"/> 出きることならその長さを 8 文字以内" "とするのがいいです。<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream does not use a normal versioning scheme such as " "<literal>2.30.32</literal> but uses some kind of date such as " "<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " "part of the version, make sure to remove them from the <emphasis role=" "\"strong\">upstream version</emphasis>. Such information can be recorded in " "the <filename>debian/changelog</filename> file. If you need to invent a " "version string, use the <literal>YYYYMMDD</literal> format such as " "<literal>20110429</literal> as upstream version. This ensures that " "<command>dpkg</command> interprets later versions correctly as upgrades. If " "you need to ensure smooth transition to the normal version scheme such as " "<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format " "such as <literal>0~110429</literal> as upstream version, instead." msgstr "" "アップストリームが <literal>2.30.32</literal> のような通常のバージョンスキー" "ムを使わずに、<literal>11Apr29</literal> 等のような日時の類や、ランダムなコー" "ドネーム文字列や、バージョンの一部にVCS のハッシュ値等を使う場合、<emphasis " "role=\"strong\">アップストリームバージョン</emphasis>から削除するようにしま" "しょう。そのような情報は、<filename>debian/changelog</filename> ファイルに記" "録できます。バージョン文字列を作り上げる必要のある際には、<literal>20110429</" "literal> 等のような <literal>YYYYMMDD</literal> フォーマットをアップストリー" "ムバージョンとして使用します。こうすると後のバージョンが正しくアップグレード" "と <command>dpkg</command> により解釈されます。将来、<literal>0.1</literal> " "等の通常のバージョンスキームへスムーズに移行する必要のある際には、" "<literal>0~110429</literal> 等のような <literal>0~YYMMDD</literal> フォーマッ" "トをアップストリームバージョンとしてこの代わりに使用します。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Version strings may be <emphasis role=\"strong\">upstream version</emphasis> " "(<literal><replaceable>version</replaceable></literal>), <emphasis role=" "\"strong\">Debian revision</emphasis> (<literal><replaceable>revision</" "replaceable></literal>), or <emphasis role=\"strong\">version</emphasis> " "(<literal><replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal>). See <xref linkend=\"newrevision\"/> for how the " "<emphasis role=\"strong\">Debian revision</emphasis> is incremented." msgstr "" "バージョン文字列は、<emphasis role=\"strong\">アップストリームバージョン</" "emphasis> (<literal><replaceable>version</replaceable></literal>) か、" "<emphasis role=\"strong\">Debian リビジョン</emphasis> " "(<literal><replaceable>revision</replaceable></literal>) か、<emphasis role=" "\"strong\">バージョン</emphasis> (<literal><replaceable>version</" "replaceable>-<replaceable>revision</replaceable></literal>) かもしれません。" "<emphasis role=\"strong\">Debian リビジョン</emphasis> がどのように増やされる" "かは <xref linkend=\"newrevision\"/> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "Version strings <placeholder type=\"footnote\" id=\"0\"/> can be compared " "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> as follows." msgstr "" "バージョン文字列<placeholder type=\"footnote\" id=\"0\"/>は <citerefentry> " "<refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "コマンドを以下のように使うことで比較できます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" msgstr "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "The version comparison rule can be summarized as:" msgstr "バージョンの比較ルールは以下のようにまとめられます:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Strings are compared from the head to the tail." msgstr "文字列は頭から尾へと比較されます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are larger than digits." msgstr "英文字は数字よりも大きいです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Numbers are compared as integers." msgstr "数字は整数として比較されます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are compared in ASCII code order." msgstr "英文字は ASCII コード順で比較されます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "There are special rules for period (<literal>.</literal>), plus (<literal>+</" "literal>), and tilde (<literal>~</literal>) characters, as follows." msgstr "" "ピリオド (<literal>.</literal>) と、プラス (<literal>+</literal>) と 波線 " "(<literal>~</literal>) には以下のような特殊なルールがあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" msgstr "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case occurs when upstream releases <filename>gentoo-0.9.12-" "ReleaseCandidate-99.tar.gz</filename> as the pre-release of " "<filename>gentoo-0.9.12.tar.gz</filename>. You need to make sure that the " "upgrade works properly by renaming the upstream source to " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." msgstr "" "アップストリームが <filename>gentoo-0.9.12.tar.gz</filename> のプリリリースと" "して <filename>gentoo-0.9.12-ReleaseCandidate-99.tar.gz</filename> をリリース" "する時には要注意です。アップストリームソースを <filename>gentoo-0.9.12~rc99." "tar.gz</filename> と名称変更してアップグレードがうまく機能するように確実にす" "る必要があります。" #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>dh_make</command>" msgstr "<command>dh_make</command> のセットアップ" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The following text assumes you are using Bash as your login shell. If you " "use some other login shell such as Z shell, use their corresponding " "configuration files instead of <filename>~/.bashrc</filename>." msgstr "" "以下の文章はあなたが Bash をあなたのログインシェルとして使っていると仮定して" "います。Z シェルのような他のログインシェルを用いている場合 <filename>~/." "bashrc</filename>と代えてそれに対応する設定ファイルを使って下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "Set up the shell environment variables <literal>$DEBEMAIL</literal> and " "<literal>$DEBFULLNAME</literal> so that various Debian maintenance tools " "recognize your email address and name to use for packages. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "次のようにして、シェルの環境変数 <literal>$DEBEMAIL</literal> と <literal>" "$DEBFULLNAME</literal> を設定して、パッケージに使うあなたの email アドレスと" "名前を、多くの Debian メンテナンスツールに認識させましょう。<placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" msgstr "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" #. type: Content of: <book><chapter><section><title> msgid "Initial non-native Debian package" msgstr "最初のノンネイティブ Debian パッケージ" #. type: Content of: <book><chapter><section><para> msgid "" "Normal Debian packages are non-native Debian packages made from upstream " "programs. If you wish to create a non-native Debian package of an upstream " "source <filename>gentoo-0.9.12.tar.gz</filename>, you can create an initial " "non-native Debian package for it by issuing the <command>dh_make</command> " "command as follows." msgstr "" "標準的な Debian パッケージはアップストリームプログラムから作成されたノンネイ" "ティブ Debian パッケージです。アップストリームソース <filename>gentoo-0.9.12." "tar.gz</filename> からノンネイティブ Debian パッケージを作りたい場合、" "<command>dh_make</command> コマンドを以下のように実行すると作成できます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" msgstr "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the upstream source provides the <filename>debian</filename> directory " "and its contents, run the <command>dh_make</command> command with the extra " "option <literal>--addmissing</literal>. The new source <literal>3.0 " "(quilt)</literal> format is robust enough not to break even for these " "packages. You may need to update the contents provided by the upstream for " "your Debian package." msgstr "" "アップストリームのソースが <filename>debian</filename> ディレクトリーとその中" "身を提供している場合は、かわりに <command>dh_make</command> コマンドを " "<literal>--addmissing</literal> オプションをつけて実行してください。新しい " "<literal>3.0 (quilt)</literal> 形式のソースはとても堅牢なので、こういったパッ" "ケージでも壊すことはありません。自分の Debian パッケージ用に、アップストリー" "ムが提供した内容を更新する必要があるかもしれません。" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of your original source " "archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> for details." msgstr "" "当然ですが、ファイル名はあなたのオリジナルのソースアーカイブの名前と置き換え" "てください。<placeholder type=\"footnote\" id=\"0\"/> 詳細は、<citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> を参照してください。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are several choices here: <literal>s</literal> for Single binary " "package, <literal>i</literal> for arch-Independent package, <literal>m</" "literal> for Multiple binary packages, <literal>l</literal> for Library " "package, <literal>k</literal> for Kernel module package, <literal>n</" "literal> for kernel patch package, and <literal>b</literal> for <systemitem " "role=\"package\">cdbs</systemitem> package. This document focuses on the " "use of the <command>dh</command> command (from the package <systemitem role=" "\"package\">debhelper</systemitem>) to create a single binary package, but " "also touches on how to use it for arch-independent or multiple binary " "packages. The package <systemitem role=\"package\">cdbs</systemitem> offers " "an alternative packaging script infrastructure to the <command>dh</command> " "command and is outside the scope of this document." msgstr "" "ここでの選択肢はわずかです。<literal>s</literal> は Single binary package (単" "一バイナリーパッケージ)、<literal>i</literal> は Arch-Independent package " "(アーキテクチャー非依存パッケージ)、<literal>m</literal> は Multiple binary " "package (複数バイナリーパッケージ)、<literal>l</literal> は Library package " "(ライブラリーパッケージ)、<literal>k</literal> は Kernel module package (カー" "ネルモジュールパッケージ)、<literal>n</literal> は Kernel patch package (カー" "ネルパッチパッケージ)、<literal>b</literal> は <systemitem role=\"package" "\">cdbs</systemitem> です。本文書は <systemitem role=\"package\">debhelper</" "systemitem> パッケージを <command>dh</command> コマンドとともに使うことに使う" "ことに重点を置きます。このドキュメントでは、単一バイナリーパッケージのために " "<command>dh</command> コマンドを使うことに重点を置き、アーキテクチャー非依存" "や複数バイナリーのパッケージに関する同様の事にも触れます。<systemitem role=" "\"package\">cdbs</systemitem> パッケージは <command>dh</command> コマンドに代" "わるパッケージスクリプトのインフラを提供し、本文書では対象外です。" #. type: Content of: <book><chapter><section><para> msgid "" "You should see some output asking you what sort of package you want to " "create. Gentoo is a single binary package - it creates only one binary " "package, i.e, one <filename>.deb</filename> file - so we will select the " "first option (with the <literal>s</literal> key), check the information on " "the screen, and confirm by pressing <literal><replaceable>ENTER</" "replaceable></literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "情報がいくつか表示されるでしょう。どんな種類のパッケージを作ろうとしているの" "かを尋ねられます。Gentoo は単一バイナリーパッケージです - バイナリーを一つだ" "け生成するので、一個の <filename>.deb</filename> ファイルです - なので、" "<literal>s</literal> キーで最初の選択肢を選びましょう。表示された情報をチェッ" "クして、<literal><replaceable>ENTER</replaceable></literal> を押して確認して" "ください。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "This execution of <command>dh_make</command> creates a copy of the upstream " "tarball as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent " "directory to accommodate the creation of the non-native Debian source " "package with the name <filename>debian.tar.gz</filename> later." msgstr "" "<command>dh_make</command> を実行した後、アップストリームの tarball のコピー" "を、親ディレクトリーに <filename>gentoo_0.9.12.orig.tar.gz</filename> として" "作成します。次に、それに伴ってノンネイティブ Debian ソースパッケージを " "<filename>debian.tar.gz</filename> として作成します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" msgstr "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please note two key features of this filename <filename>gentoo_0.9.12.orig." "tar.gz</filename>:" msgstr "" "この <filename>gentoo_0.9.12.orig.tar.gz</filename> ファイル名がもっている 2 " "つの特徴に注意してください:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Package name and version are separated by the character <literal>_</literal> " "(underscore)." msgstr "" "パッケージ名とバージョンは <literal>_</literal> (アンダースコア) で区切られて" "います。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The string <filename>.orig</filename> is inserted before the <filename>.tar." "gz</filename>." msgstr "" "<filename>.tar.gz</filename> の前に <filename>.orig</filename> と言う文字列が" "あります。" #. type: Content of: <book><chapter><section><para> msgid "" "You should also notice that many template files are created in the source " "under the <filename>debian</filename> directory. These will be explained in " "<xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should also " "understand that packaging cannot be a fully automated process. You will " "need to modify the upstream source for Debian (see <xref linkend=\"modify\"/" ">). After this, you need to use the proper methods for building Debian " "packages (<xref linkend=\"build\"/>), testing them (<xref linkend=\"checkit" "\"/>), and uploading them (<xref linkend=\"upload\"/>). All the steps will " "be explained." msgstr "" "ソース中の<filename>debian</filename>ディレクトリーにたくさんのテンプレート" "ファイルが作成されていることにも注意が必要です。これらについては、<xref " "linkend=\"dreq\"/> と <xref linkend=\"dother\"/> で説明します。パッケージ作成" "が自動的な過程ではないことも理解しておかねばなりません。<xref linkend=" "\"modify\"/> のように、アップストリームソースを Debian 向けに変更する必要があ" "ります。こういった作業の後で、<xref linkend=\"build\"/> のように正しいやり方" "で Debian パッケージをビルドし、<xref linkend=\"checkit\"/> のようにチェック" "し、そして <xref linkend=\"upload\"/> のようにしてアップロードする必要があり" "ます。これらすべてのステップについてこれから説明します。" #. type: Content of: <book><chapter><section><para> msgid "" "If you accidentally erased some template files while working on them, you " "can recover them by running <command>dh_make</command> with the <literal>--" "addmissing</literal> option again in a Debian package source tree." msgstr "" "作業中にテンプレートファイルを間違って消した場合は、Debian パッケージのソース" "ツリーで <command>dh_make</command> を <literal>--addmissing</literal> オプ" "ションつきで再度実行することで修復できます。" #. type: Content of: <book><chapter><section><para> msgid "" "Updating an existing package may get complicated since it may be using older " "techniques. While learning the basics, please stick to creating a fresh " "package; further explanations are given in <xref linkend=\"update\"/>." msgstr "" "既存のパッケージの更新は、古いテクニックが使われていたりして、やっかいな場合" "があります。基本を学習中は、新規パッケージの作成にとどめてください。<xref " "linkend=\"update\"/> にて、追加で説明します。" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the source file does not need to contain any build system " "discussed in <xref linkend=\"simplemake\"/> and <xref linkend=\"portable\"/" ">. It could be just a collection of graphical data etc. Installation of " "files may be carried out using only <systemitem role=\"package\">debhelper</" "systemitem> configuration files such as <filename>debian/install</filename> " "(see <xref linkend=\"install\"/>)." msgstr "" "ソースファイルには <xref linkend=\"simplemake\"/> や <xref linkend=\"portable" "\"/> で述べたようないかなるビルドシステムを含んでいる必要は無いことに注意して" "下さい。それは単なる画像データー集等かもしれません。ファイルのインストールは " "<filename>debian/install</filename> (<xref linkend=\"install\"/>参照) のよう" "な <systemitem role=\"package\">debhelper</systemitem> コンフィギュレーション" "ファイルだけを使っても行えます。" #. type: Content of: <book><chapter><section><title> msgid "Initial native Debian package" msgstr "最初のネイティブ Debian パッケージ" #. type: Content of: <book><chapter><section><para> msgid "" "If a package contains source files you are only maintaining for Debian, " "possibly only for local use, it may be simpler to create it as a Debian " "native package. If you have source files in <filename>~/mypackage-1.0</" "filename>, you can create an initial native Debian package for it by issuing " "the <command>dh_make</command> command as follows." msgstr "" "Debian のためだけに、場合によってはローカルでの使用のためだけに、メンテしてい" "るソースファイルを含むパッケージの場合は、Debian のネイティブパッケージとして" "作成するほうがより簡単かもしれません。<filename>~/mypackage-1.0</filename> 中" "にソースファイルがある場合、以下のように <command>dh_make</command> コマンド" "を実行することでたたき台となるネイティブ Debian パッケージが作成できます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" msgstr "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then the <filename>debian</filename> directory and its contents are created " "just like <xref linkend=\"non-native-dh-make\"/>. This does not create a " "tarball since this is a native Debian package. But that is the only " "difference. The rest of the packaging activities are practically the same." msgstr "" "すると、<filename>debian</filename> ディレクトリーとその内容は <xref linkend=" "\"non-native-dh-make\"/> とちょうど同じように作成されます。これはネイティブ " "Debian パッケージなので tar 玉を 作りません。しかし相違点はこれだけです。他の" "パッケージング操作は実質的にまったく同じです。" #. type: Content of: <book><chapter><title> msgid "Modifying the source" msgstr "ソースコードの変更" #. type: Content of: <book><chapter><para> msgid "" "Please note that there isn't space here to go into <emphasis>all</emphasis> " "the details of fixing upstream sources, but here are some basic steps and " "problems people often run across." msgstr "" "アップストリームのソースを修正する具体的なやり方について、<emphasis>何から何" "まで</emphasis>説明するにはとても紙面が足りませんが、よくあるパターンとしては" "大体以下のようなものでしょう。" #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>quilt</command>" msgstr "<command>quilt</command> のセットアップ" #. type: Content of: <book><chapter><section><para> msgid "" "The program <command>quilt</command> offers a basic method for recording " "modifications to the upstream source for Debian packaging. It's useful to " "have a slightly customized default, so let's create an alias " "<command>dquilt</command> for Debian packaging by adding the following lines " "to <filename>~/.bashrc</filename>. The second line provides the same shell " "completion feature of the <command>quilt</command> command to the " "<command>dquilt</command> command." msgstr "" "<command>quilt</command> プログラムはアップストリームソースに対する Debian " "パッケージ向け修正を記録する、基本的な方法を提供します。Debian パッケージで使" "うには、多少カスタマイズしたデフォルトを使うのが望ましいので、以下の行を " "<filename>~/.bashrc</filename> に追加し Debian パッケージ作成用のエリアス " "<command>dquilt</command> を作りましょう。第2行目は <command>quilt</" "command> コマンドのシェル入力完了機能と同様の機能を <command>dquilt</" "command> コマンドに与えます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" msgstr "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" #. type: Content of: <book><chapter><section><para> msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows." msgstr "" "<filename>~/.quiltrc-dpkg</filename> ファイルを次のように作成しましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" msgstr "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" #. type: Content of: <book><chapter><section><para> msgid "" "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <filename>&quilt-pdf;</filename> on how to " "use <command>quilt</command>." msgstr "" "<command>quilt</command> の使い方については、<citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> と <filename>&quilt-pdf;</filename> を参照してください。" #. type: Content of: <book><chapter><section><title> msgid "Fixing upstream bugs" msgstr "アップストリームのバグを修正する" #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume you find an error in the upstream <filename>Makefile</filename> " "as follows where <literal>install: gentoo</literal> should have been " "<literal>install: gentoo-target</literal>." msgstr "" "以下のようなアップストリームの <filename>Makefile</filename> にエラーを見つけ" "て、<literal>install: gentoo</literal> の部分が <literal>install: gentoo-" "target</literal> となっているべきだったとします。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <filename>debian/patches</filename> directory should exist now if you " "ran <command>dh_make</command> as described before. This example operation " "creates it just in case you are updating an existing package." msgstr "" "前に説明したように <command>dh_make</command> を実行していれば、" "<filename>debian/patches</filename>ディレクトリーはもう存在しているはずです。" "この操作例では、既存のパッケージを更新している場合に合わせて作成しています。" #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this and record it with the <command>dquilt</command> command as " "<filename>fix-gentoo-target.patch</filename>. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "これを修正して、<command>dquilt</command> コマンドを使って <filename>fix-" "gentoo-target.patch</filename> として登録しましょう。<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "You change the <filename>Makefile</filename> file as follows." msgstr "<filename>Makefile</filename> ファイルを次のように変更します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "Ask <command>dquilt</command> to generate the patch to create " "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " "description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</" "ulink>." msgstr "" "パッチを更新して <filename>debian/patches/fix-gentoo-target.patch</filename> " "を作成するように <command>dquilt</command> に要求し、それから説明を <ulink " "url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</ulink> に準拠して追記します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... パッチの詳細\n" #. type: Content of: <book><chapter><section><title> msgid "Installation of files to their destination" msgstr "指定場所へのファイルのインストール" #. type: Content of: <book><chapter><section><para> msgid "" "Most third-party software installs itself in the <filename>/usr/local</" "filename> directory hierarchy. On Debian this is reserved for private use " "by the system administrator, so packages must not use directories such as " "<filename>/usr/local/bin</filename> but should instead use system " "directories such as <filename>/usr/bin</filename>, obeying the <ulink url=" "\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)." msgstr "" "通常、サードパーティーソフトエアーは自分自身を <filename>/usr/local</" "filename> サブディレクトリーにインストールします。Debian 上ではこれはシステム" "管理者 (もしくはユーザー) の個人用に予約されているため、パッケージャーは " "<filename>/usr/local</filename> のようなディレクトリーを使わず、<ulink url=" "\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS) に従って <filename>/" "usr/bin</filename> サブディレクトリーのようなシステムディレクトリーを使わなく" "てはなりません。" #. type: Content of: <book><chapter><section><para> msgid "" "Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> is used to automate building the program, and " "executing <literal>make install</literal> installs programs directly to the " "desired destination (following the <literal>install</literal> target in the " "<filename>Makefile</filename>). In order for Debian to provide pre-built " "installable packages, it modifies the build system to install programs into " "a file tree image created under a temporary directory instead of the actual " "destination." msgstr "" "プログラムのビルドを自動化するには、通常 <citerefentry> <refentrytitle>make</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> が使われており、" "<literal>make install</literal> を実行すると、(<filename>Makefile</filename> " "の<literal>install</literal> ターゲットに従い) 希望する場所へ直接インストール" "されます。Debian ではビルド済みのインストール可能なパッケージを提供するため" "に、実際のインストール先のかわりに、一時ディレクトリーの下に作成されたファイ" "ルツリーのイメージへプログラムをインストールするようにビルドシステムを変更し" "ます。" #. type: Content of: <book><chapter><section><para> msgid "" "These two differences between normal program installation on one hand and " "the Debian packaging system on the other can be transparently addressed by " "the <systemitem role=\"package\">debhelper</systemitem> package through the " "<command>dh_auto_configure</command> and <command>dh_auto_install</command> " "commands if the following conditions are met." msgstr "" " 普通のプログラムインストールとDebian パッケージ作成というこれら二つの違いに" "は、<systemitem role=\"package\">debhelper</systemitem> パッケージの " "<command>dh_auto_configure</command> と <command>dh_auto_install</command> の" "コマンドを使うことで得に意識せずに対応できます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." msgstr "" "<ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: Support " "for Staged Installs</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <filename>Makefile</filename> must follow GNU conventions and support " "the <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" " "id=\"0\"/>" msgstr "" "<filename>Makefile</filename> ファイルが GNU の慣例に準拠し、<literal>" "$(DESTDIR)</literal> 変数をサポートしていること。<placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The source must follow the Filesystem Hierarchy Standard (FHS)." msgstr "" "ソースは Filesystem Hierarchy Standard (FHS) に準拠してる必要があります。" #. type: Content of: <book><chapter><section><para> msgid "" "Programs that use GNU <command>autoconf</command> follow the GNU conventions " "automatically, so they can be trivial to package. On the basis of this and " "other heuristics, it is estimated that the <systemitem role=\"package" "\">debhelper</systemitem> package will work for about 90% of packages " "without making any intrusive changes to their build system. So packaging is " "not as complicated as it may seem." msgstr "" "GNU <command>autoconf</command> を使っているプログラムは、自動的に GNU 規約に" "準拠するので、そのパッケージ作成はいとも簡単にできます。こういう事実や他から" "類推すると、<systemitem role=\"package\">debhelperl</systemitem> パッケージは" "ビルドシステムに立ち入った変更を加えることなく、約 90% のパッケージで使えると" "推定されます。そのため、パッケージ作成は見かけほど複雑ではありません。" #. type: Content of: <book><chapter><section><para> msgid "" "If you need to make changes in the <filename>Makefile</filename>, you should " "be careful to support the <literal>$(DESTDIR)</literal> variable. Although " "it is unset by default, the <literal>$(DESTDIR)</literal> variable is " "prepended to each file path used for the program installation. The " "packaging script will set <literal>$(DESTDIR)</literal> to the temporary " "directory." msgstr "" "もし <filename>Makefile</filename> ファイルを変更する必要があるなら、これら " "<literal>$(DESTDIR)</literal> 変数をサポートするように注意しましょう。デフォ" "ルトではアンセットされているとはいえ、プログラムのインストールに使われる各" "ファイルパスの前に<literal>$(DESTDIR)</literal> 変数は付与されます。パッケー" "ジ作成スクリプトは <literal>$(DESTDIR)</literal> を一時ディレクトリーにセット" "します。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "For a source package generating multiple binary packages, the " "<command>dh_auto_install</command> command uses <filename>debian/tmp</" "filename> as the temporary directory while the <command>dh_install</command> " "command with the help of <filename>debian/<replaceable>package-1</" "replaceable>.install</filename> and <filename>debian/<replaceable>package-2</" "replaceable>.install</filename> files will split the contents of " "<filename>debian/tmp</filename> into <filename>debian/" "<replaceable>package-1</replaceable></filename> and <filename>debian/" "<replaceable>package-2</replaceable></filename> temporary directories, to " "create <filename><replaceable>package-1</replaceable>_*.deb</filename> and " "<filename><replaceable>package-2</replaceable>_*.deb</filename> binary " "packages." msgstr "" "複数バイナリーパッケージを生成するソースパッケージでは、<filename>debian/" "tmp</filename> を <command>dh_auto_install</command> コマンドが使う一時ディレ" "クトリーとしますが、<filename>debian/tmp</filename> の中身を " "<filename>debian/<replaceable>package-1</replaceable></filename> や " "<filename>debian/<replaceable>package-2</replaceable></filename> 一時ディレク" "トリーへと、<filename>debian/<replaceable>package-1</replaceable>.install</" "filename> や <filename>debian/<replaceable>package-2</replaceable>.install</" "filename> ファイルによる指定に従い <command>dh_install</command> コマンドが分" "配することで複数バイナリー <filename>*.deb</filename> パッケージを作成されま" "す。" #. type: Content of: <book><chapter><section><para> msgid "" "For a source package generating a single binary package, the temporary " "directory used by the <command>dh_auto_install</command> command will be set " "to <filename>debian/<replaceable>package</replaceable></filename>. " "<placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in " "the temporary directory will be installed on users' systems when they " "install your package; the only difference is that <command>dpkg</command> " "will be installing the files to paths relative to the root directory rather " "than your working directory." msgstr "" "単一バイナリーパッケージを生成するソースパッケージでは、<filename>debian/" "<replaceable>package</replaceable></filename> が <command>dh_auto_install</" "command> コマンドが使う一時ディレクトリーとして指定されます。<placeholder " "type=\"footnote\" id=\"0\"/> 一時ディレクトリーに含まれているものはすべて、" "ユーザーがあなたのパッケージをインストールする時に、ユーザーのシステムにイン" "ストールされます。唯一の違いは、<command>dpkg</command> はファイルをあなたの" "作業ディレクトリーではなくルートディレクトリーからの相対パスにインストールす" "るということです。" #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that even though your program installs in <filename>debian/" "<replaceable>package</replaceable></filename>, it still needs to behave " "correctly when installed from the <filename>.deb</filename> package under " "the root directory. So you must not allow the build system to hardcode " "strings like <literal>/home/me/deb/<replaceable>package</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>package</" "replaceable></literal> into files in the package." msgstr "" "パッケージの作成時は、あなたのプログラムは <filename>debian/" "<replaceable>package</replaceable></filename> にインストールされますが、" "<filename>.deb</filename> パッケージからルートディレクトリーへルートディレク" "トリー下にインストールされた場合も正しく動作する必要があることを覚えておいて" "ください。こうするのためは、ビルドシステムがパッケージファイルの中のファイル" "中に <literal>/home/me/deb/<replaceable>package</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>package</" "replaceable></literal> といった文字列をハードコードしないようにしなければなり" "ません。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This is just an example to show what a <filename>Makefile</filename> should " "look like. If the <filename>Makefile</filename> is created by the " "<command>./configure</command> command, the correct way to fix this kind of " "<filename>Makefile</filename> is to execute <command>./configure</command> " "from the <command>dh_auto_configure</command> command with default options " "including <literal>--prefix=/usr</literal>." msgstr "" "これは <filename>Makefile</filename> ファイルがこうなっているべきである、とい" "うことを示すための例にすぎません。<filename>Makefile</filename> ファイルが " "<command>./configure</command> コマンドで作成されているなら、この手の " "<filename>Makefile</filename> を修正する正しい方法は、" "<command>dh_auto_configure</command> コマンドに <literal>--prefix=/usr</" "literal> を含むデフォルトのオプションを与えて、<command>./configure</" "command> コマンドを実行させることです。" #. type: Content of: <book><chapter><section><para> msgid "" "Here's the relevant part of <systemitem role=\"package\">gentoo</" "systemitem>'s <filename>Makefile</filename><placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "<systemitem role=\"package\">gentoo</systemitem> の <filename>Makefile</" "filename> で該当する部分はこれです<placeholder type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" msgstr "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "We see that the files are set to install under <filename>/usr/local</" "filename>. As explained above, that directory hierarchy is reserved for " "local use on Debian, so change those paths to:" msgstr "" "ファイルが <filename>/usr/local</filename> 以下にインストールされるようになっ" "ていることがわかります。 上記説明ににあるように、そのディレクトリーヒエラル" "キーは Debian 上のローカルユーザー向けに予約されているので、これらのパスを以" "下のように変更してください:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgstr "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The exact locations that should be used for binaries, icons, documentation, " "etc. are specified in the Filesystem Hierarchy Standard (FHS). You should " "browse through it and read the sections relevant to your package." msgstr "" "バイナリー、アイコン、文書など、それぞれのファイルを保存すべき正確な場所につ" "いては、Filesystem Hierarchy Standard (FHS) 中に規定されています。全体に目を" "通して、あなたのパッケージに該当する箇所を読むことをお勧めします。" #. type: Content of: <book><chapter><section><para> msgid "" "So, we should install executable commands in <filename>/usr/bin</filename> " "instead of <filename>/usr/local/bin</filename>, the manual page in " "<filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/" "man1</filename>, and so on. Notice how there's no manual page mentioned in " "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" "filename>, but since Debian Policy requires that every program has one, " "we'll make one later and install it in <filename>/usr/share/man/man1</" "filename>." msgstr "" "そういうわけで、実行可能バイナリーは <filename>/usr/local/bin</filename> では" "なく <filename>/usr/bin</filename> へインストールしなければなりませんし、マ" "ニュアルページは <filename>/usr/local/man/man1</filename> の代わりに " "<filename>/usr/share/man/man1</filename> へインストールする必要があります。こ" "こで <systemitem role=\"package\">gentoo</systemitem> の <filename>Makefile</" "filename> には、マニュアルページに関する記述がまったく無いことに注意してくだ" "さい。Debian ポリシーでは、すべてのプログラムがそれぞれマニュアルを用意しなけ" "ればならないと定めていますから、後で gentoo のマニュアルを作成して、それを " "<filename>/usr/share/man/man1</filename> 以下へインストールすることにします。" #. type: Content of: <book><chapter><section><para> msgid "" "Some programs don't use <filename>Makefile</filename> variables to define " "paths such as these. This means you might have to edit some real C sources " "in order to fix them to use the right locations. But where to search, and " "exactly what for? You can find this out by issuing:" msgstr "" "プログラムの中には、このようなパスを定義するための <filename>Makefile</" "filename> 変数を使っていないものもあります。このような場合、C のソースそのも" "のをいじって、指定された場所を使うように修正しなければなりません。でもどこを" "探し、何を確認すればよいのでしょうか? 以下のコマンドを実行すれば該当箇所を見" "つけることができます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" msgstr "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>grep</command> will run recursively through the source tree and " "tell you the filename and the line number for all matches." msgstr "" "<command>grep</command> がソースツリーを再帰的に検索し、該当箇所を見つけたら" "そのファイルの名前と検索対象の文字列が含まれる行番号とを表示します。" #. type: Content of: <book><chapter><section><para> msgid "" "Edit those files and in those lines replace <literal>usr/local/lib</literal> " "with <literal>usr/lib</literal>. This can be done automatically as follows:" msgstr "" "それらのファイルを編集し、該当行の <literal>usr/local/lib</literal> を " "<literal>usr/lib</literal> に置き換えてください。これは以下の様にすると自動可" "出来ます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you want to confirm each substitution instead, this can be done " "interactively as follows:" msgstr "" "こうする代わりに、各置換を確認したい場合は、これは以下のようにインタラクティ" "ブにできます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "Next you should find the <literal>install</literal> target (searching for " "the line that starts with <literal>install:</literal> will usually work) and " "rename all references to directories other than ones defined at the top of " "the <filename>Makefile</filename>." msgstr "" "修正が終ったら、 <literal>install</literal> ターゲットを探しましょう" "(<literal>install:</literal> で始まる行を探してください。この方法でたいていう" "まくいきます)。<filename>Makefile</filename> の先頭で定義されているものを除い" "て、ディレクトリーへの参照をすべて変更してください。" #. type: Content of: <book><chapter><section><para> msgid "" "Originally, <systemitem role=\"package\">gentoo</systemitem>'s " "<literal>install</literal> target said:" msgstr "" "修正前は、<systemitem role=\"package\">gentoo</systemitem> の " "<literal>install</literal> ターゲットはこうなっています:" #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this upstream bug and record it with the <command>dquilt</command> " "command as <filename>debian/patches/install.patch</filename>." msgstr "" "<command>dquilt</command> コマンドを使って、<filename>debian/patches/install." "patch</filename> としてアップストリームバグを修正して記録しましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "In your editor, change this for the Debian package as follows:" msgstr "Debian パッケージ用に、これをエディタで次のように変更します:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" msgstr "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You'll have noticed that there's now an <literal>install -d</literal> " "command before the other commands in the rule. The original " "<filename>Makefile</filename> didn't have it because usually <literal>/usr/" "local/bin</literal> and other directories already exist on the system where " "you are running <literal>make install</literal>. However, since we will be " "installing into a newly created private directory tree, we will have to " "create each and every one of those directories." msgstr "" "お気づきになったでしょうが、変更後はこのルールの他のコマンドより前に " "<literal>install -d</literal> コマンドが追加されています。<literal>make " "install</literal> を実行するようなシステムなら <literal>/usr/local/bin</" "literal> やその他のディレクトリーはたいがい既に存在しているでしょうから、もと" "もとの <filename>Makefile</filename> ではこのコマンドは使われていませんでし" "た。しかし、私たちは独自に空っぽの(あるいはまだ存在さえしていない)ディレク" "トリーにインストールするわけですから、これらの各ディレクトリーを毎回作成する" "必要があります。" #. type: Content of: <book><chapter><section><para> msgid "" "We can also add in other things at the end of the rule, like the " "installation of additional documentation that the upstream authors sometimes " "omit:" msgstr "" "ルールの最後には、アップストリームの作者が省略することの多い付加的な資料のイ" "ンストールなど、他の作業を追加することもできます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" msgstr "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" #. type: Content of: <book><chapter><section><para> msgid "" "Check carefully, and if everything is okay, ask <command>dquilt</command> to " "generate the patch to create <filename>debian/patches/install.patch</" "filename> and add its description." msgstr "" "しっかりチェックをして、何も問題がないようであれば、<command>dquilt</" "command> でパッチを更新して <filename>debian/patches/install.patch</" "filename> を作成し、パッチの説明を追記してください。" #. type: Content of: <book><chapter><section><para> msgid "Now you have a series of patches." msgstr "これで、一連のパッチができました。" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>" msgstr "" "アップストリームのバグ修正: <filename>debian/patches/fix-gentoo-target." "patch</filename>" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Debian specific packaging modification: <filename>debian/patches/install." "patch</filename>" msgstr "" "Debian 固有のパッケージ上の変更: <filename>debian/patches/install.patch</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Whenever you make changes that are not specific to the Debian package such " "as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to " "send them to the upstream maintainer so they can be included in the next " "version of the program and be useful to everyone else. Also remember to " "avoid making your fixes specific to Debian or Linux - or even Unix! Make " "them portable. This will make your fixes much easier to apply." msgstr "" "<filename>debian/patches/fix-gentoo-target.patch</filename> のような、特に " "Debian パッケージだけに限定されない変更を行った場合、その内容をアップストリー" "ムのメンテナーに報告するようにしてください。そうすれば、プログラムの次版に反" "映してもらうことができ、他のすべての利用者にとっても有益な結果をもたらすこと" "になります。また、あなたの修正を送る前に、Debian や Linux (あるいは Unix でさ" "えも!) に特化した修正にせず、移植性をもたせることも忘れないでください。そう" "すれば、あなたの変更はずっと採用されやすくなります。" #. type: Content of: <book><chapter><section><para> msgid "" "Note that you don't have to send the <filename>debian/*</filename> files " "upstream." msgstr "" "アップストリームの作者へ <filename>debian/*</filename> ファイルを送らなくても" "よいことに注意してください。" #. type: Content of: <book><chapter><section><title> msgid "Differing libraries" msgstr "ライブラリーの相違" #. type: Content of: <book><chapter><section><para> msgid "" "There is one other common problem: libraries are often different from " "platform to platform. For example, a <filename>Makefile</filename> can " "contain a reference to a library which doesn't exist on the Debian system. " "In that case, we need to change it to a library which does exist in Debian, " "and serves the same purpose." msgstr "" "よくある問題がもう一つあります。ライブラリーはしばしばプラットフォームごとに" "異なります。例えば、<filename>Makefile</filename> は Debian システム上に存在" "しないライブラリーへの参照を含んでいるかもしれません。その場合には、Debian 上" "に存在する互換ライブラリーを指すように変更し、同じ目的を果たすようにしてやら" "なければなりません。" #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume a line in your program's <filename>Makefile</filename> (or " "<filename>Makefile.in</filename>) as the following." msgstr "" "あなたのプログラムの <filename>Makefile</filename> (もしくは " "<filename>Makefile.in</filename>) が以下のようになっていると仮定しましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "LIBS = -lfoo -lbar\n" msgstr "LIBS = -lfoo -lbar\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If there are API changes from the <literal>foo</literal> library to the " "<literal>foo2</literal> library, required changes to the source code need to " "be made to match the new API." msgstr "" "<literal>foo</literal> ライブラリーから <literal>foo2</literal> ライブラリー" "への API 変更があった場合、新しい API に合わせてソースコードへの必要な変更を" "加える必要があります。" #. type: Content of: <book><chapter><section><para> msgid "" "If your program doesn't compile since the <literal>foo</literal> library " "doesn't exist and its equivalent is provided by the <literal>foo2</literal> " "library on the Debian system, you can fix this build problem as " "<filename>debian/patches/foo2.patch</filename> by changing <literal>foo</" "literal> into <literal>foo2</literal>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" " <literal>foo</literal> ライブラリーが存在しないためにあなたのプログラムがコ" "ンパイルしないで、<literal>foo2</literal> ライブラリーがその等価を Debian シ" "ステム上で提供する場合、<literal>foo</literal> を <literal>foo2</literal> に" "変更する <filename>debian/patches/foo2.patch</filename> としてこのビルド問題" "を解決できます。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" #. type: Content of: <book><chapter><title> msgid "Required files under the <filename>debian</filename> directory" msgstr "" "<filename>debian/</filename> ディレクトリー以下に無くてはならないファイル" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "In this chapter, files in the <filename>debian</filename> directory are " "referred to without the leading <filename>debian/</filename> for simplicity " "whenever the meaning is obvious." msgstr "" "自明な場合、本章では <filename>debian</filename> ディレクトリー中のファイル" "は、前に付く <filename>debian/</filename> を省略し簡明に表記しています。" #. type: Content of: <book><chapter><para> msgid "" "There is a new subdirectory under the program's source directory, called " "<filename>debian</filename>. There are a number of files in this directory " "that we should edit in order to customize the behavior of the package. The " "most important of them are <filename>control</filename>, " "<filename>changelog</filename>, <filename>copyright</filename>, and " "<filename>rules</filename>, which are required for all packages. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "プログラムのソースディレクトリーの中に <filename>debian</filename>という名前" "の新しいディレクトリーがつくられています。このディレクトリー内には、パッケー" "ジの挙動をカスタマイズするため編集するべき多くのファイルがあります。特に、 " "<filename>control</filename> と <filename>changelog</filename> と " "<filename>copyright</filename> と <filename>rules</filename> は、すべての" "パッケージになくてはならないファイルです。<placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "<filename>control</filename>" msgstr "<filename>control</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains various values which <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command>, and other package management tools " "will use to manage the package. It is defined by the <ulink url=\"&policy-" "control;\">Debian Policy Manual, 5 \"Control files and their fields\"</" "ulink>." msgstr "" "<command>dpkg</command> や <command>dselect</command> や <command>apt-get</" "command> や <command>apt-cache</command> や <command>aptitude</command> 等の" "パッケージ管理ツールが利用する情報は、このファイルに記載されています。この" "ファイルは、<ulink url=\"&policy-control;\">Debian Policy Manual, 5 'Control " "files and their fields'</ulink>に定義されています。" #. type: Content of: <book><chapter><section><para> msgid "" "Here is the <filename>control</filename> file <command>dh_make</command> " "created for us:" msgstr "" "以下は、<command>dh_make</command> が生成した <filename>control</filename> " "ファイルの雛型です。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" #. type: Content of: <book><chapter><section><para> msgid "(I've added the line numbers.)" msgstr "(行番号は筆者による)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 1-7 are the control information for the source package. Lines 9-13 " "are the control information for the binary package." msgstr "" "1-7 行目は、ソースパッケージの管理情報です。9-13 行目は、バイナリーパッケージ" "の管理情報です。" #. type: Content of: <book><chapter><section><para> msgid "Line 1 is the name of the source package." msgstr "1 行目は、ソースパッケージ名です。" #. type: Content of: <book><chapter><section><para> msgid "Line 2 is the section of the distribution the source package goes into." msgstr "" "2 行目は、パッケージが所属するディストリビューション内のセクションです。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections" "\"</ulink> and <ulink url=\"§ions-unstable;\">List of sections in " "<literal>sid</literal></ulink>." msgstr "" "<ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections\"</" "ulink> と <ulink url=\"§ions-unstable;\">List of sections in " "<literal>sid</literal></ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "As you may have noticed, the Debian archive is divided into multiple areas: " "<literal>main</literal> (the free software), <literal>non-free</literal> " "(the not really free software) and <literal>contrib</literal> (free software " "that depends on non-free software). Each of these is divided into sections " "that classify packages into rough categories. So we have <literal>admin</" "literal> for administrator-only programs, <literal>devel</literal> for " "programmer tools, <literal>doc</literal> for documentation, <literal>libs</" "literal> for libraries, <literal>mail</literal> for email readers and " "daemons, <literal>net</literal> for network apps and daemons, <literal>x11</" "literal> for X11 programs that don't fit anywhere else, and many more. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "ご存知のように、Debianアーカイブは <literal>main</literal> (完全にフリーなソ" "フトウェア)、<literal>non-free</literal> (本当にフリーではないソフトウェア)、" "<literal>contrib</literal> (フリーだが non-free ソフトウエアーに依存するソフ" "トウェア)という複数エリアに分かれています。さらにそれらは、大まかなカテゴリー" "毎のセクションに分類されています。例えば、管理者専用のプログラムは" "<literal>admin</literal> 、プログラムツールは <literal>devel</literal>、文書" "作成関連は <literal>doc</literal>、ライブラリーは <literal>libs</literal>、" "メールリーダやメールデーモンは <literal>mail</literal>、ネットワーク関連のア" "プリケーションやデーモンは <literal>net</literal>、分類ができないX11用のプロ" "グラムは <literal>x11</literal>に分類され、他にも様々なセクションがあります。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Let's change it then to x11. (A <literal>main/</literal> prefix is implied " "so we can omit it.)" msgstr "" "ここではx11に変更してみましょう。(省略時は<literal>main/</literal>がデフォル" "トとして設定されます)" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities" "\"</ulink>." msgstr "" "<ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities\"</" "ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 3 describes how important it is that the user installs this package. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "3行目は、ユーザーが当パッケージをインストールする重要度を示しています。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>optional</literal> priority will usually work for new packages " "that do not conflict with others claiming <literal>required</literal>, " "<literal>important</literal>, or <literal>standard</literal> priority." msgstr "" "<literal>required</literal>、 <literal>important</literal>、" "<literal>standard</literal>のパッケージと競合しない新規のパッケージの場合は、" "<literal>optional</literal>で問題ないでしょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>extra</literal> priority will usually work for new packages " "that conflict with others with non-<literal>extra</literal> priorities." msgstr "" "<literal>extra</literal>以外のパッケージと競合する可能性のある、新規パッケー" "ジの場合は、<literal>extra</literal>とすると大抵うまくいきます。" #. type: Content of: <book><chapter><section><para> msgid "" "Section and priority are used by front-ends like <command>aptitude</command> " "when they sort packages and select defaults. Once you upload the package to " "Debian, the value of these two fields can be overridden by the archive " "maintainers, in which case you will be notified by email." msgstr "" "セクション (Section) と優先度 (Priority) は<command>aptitude</command>のよう" "なフロントエンドがパッケージをソートする際と、デフォルトを選択する際に利用さ" "れます。Debian にアップロードしたパッケージのこれらの値は、アーカイブメンテ" "ナーによってオーバーライドされることがありますが、その場合は電子メールによっ" "て通知されます。" #. type: Content of: <book><chapter><section><para> msgid "" "As this is a normal priority package and doesn't conflict with anything " "else, we will change the priority to <literal>optional</literal>." msgstr "" "このパッケージは通常の優先度で、競合もないので、 <literal>optional</literal>" "にしましょう。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 4 is the name and email address of the maintainer. Make sure that this " "field includes a valid <literal>To</literal> header for email, because after " "you upload it, the bug tracking system will use it to deliver bug emails to " "you. Avoid using commas, ampersands, or parentheses." msgstr "" "4行目は、メンテナーの名前と電子メールアドレスです。バグ追跡システムは、この" "フィールドに記載された宛先へユーザーからのバグ報告を送信するので、このフィー" "ルドは有効な電子メールの <literal>To</literal> ヘッダーを含むようにしましょ" "う。コンマ「<literal>,</literal>」、アンド記号「<literal>&</literal>」、" "丸括弧「<literal>()</literal>」は使用しないでください。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 \"Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</" "ulink>." msgstr "" "<ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 \"Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</" "ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 5 includes the list of packages required to build your package as the " "<literal>Build-Depends</literal> field. You can also have the " "<literal>Build-Depends-Indep</literal> field as an additional line, here. " "<placeholder type=\"footnote\" id=\"0\"/> Some packages like <systemitem " "role=\"package\">gcc</systemitem> and <systemitem role=\"package\">make</" "systemitem> which are required by the <systemitem role=\"package\">build-" "essential</systemitem> package are implied. If you need to have other tools " "to build your package, you should add them to these fields. Multiple " "entries are separated with commas; read on for the explanation of binary " "package dependencies to find out more about the syntax of these lines." msgstr "" "5行目の<literal>Build-Depends</literal>フィールドは、新規パッケージのビルドに" "必要なパッケージのリストです。必要であれば、<literal>Build-Depends-Indep</" "literal>フィールドをここに追加できます。<placeholder type=\"footnote\" id=" "\"0\"/> <systemitem role=\"package\">gcc</systemitem>や<systemitem role=" "\"package\">make</systemitem>のような<systemitem role=\"package\">build-" "essential</systemitem>に含まれるパッケージは明示無くとも含まれています。他の" "ツールがパッケージをビルドするのに必要な場合は、このフィールドに追加しましょ" "う。複数記載する場合は、コンマで区切ります。このフィールドの書式については、" "後述のバイナリー依存関係でこれらの行のシンタクスに関してもう少し詳しく説明し" "ます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For all packages packaged with the <command>dh</command> command in the " "<filename>debian/rules</filename> file, you must have <literal>debhelper " "(>=9)</literal> in the <literal>Build-Depends</literal> field to satisfy " "the Debian Policy requirement for the <literal>clean</literal> target." msgstr "" "<filename>debian/rules</filename>を使用し、<command>dh</command>コマンドで" "パッケージングされたパッケージは、<literal>clean</literal>ターゲットに関する" "Debian ポリシーを満たすために、<literal>Build-Depends</literal>フィールドに" "<literal>debhelper (>=9)</literal> を記載しなければなりません。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Source packages which have binary packages with <literal>Architecture: any</" "literal> are rebuilt by the autobuilder. Since this autobuilder procedure " "installs only the packages listed in the <literal>Build-Depends</literal> " "field before running <literal>debian/rules build</literal> (see <xref " "linkend=\"autobuilder\"/>), the <literal>Build-Depends</literal> field needs " "to list practically all the required packages and <literal>Build-Depends-" "Indep</literal> is rarely used." msgstr "" "<literal>Architecture: any</literal> のバイナリーパッケージを含むソースパッ" "ケージはオートビルダーによってリビルトされます。オートビルダーは " "<literal>debian/rules build</literal> を実行します。その際に、<literal>Build-" "Depends</literal> フィールド (<xref linkend=\"autobuilder\"/> を参照)に列挙さ" "れたパッケージしかインストールしないので、<literal>Build-Depends</literal> " "フィールドには事実上必要なパッケージ全てを列挙しなければなりません。 " "<literal>Build-Depends-indep</literal> はあまり使われません。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For source packages with binary packages all of which are " "<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" "literal> field may list all the required packages unless they are already " "listed in the <literal>Build-Depends</literal> field to satisfy the Debian " "Policy requirement for the <literal>clean</literal> target." msgstr "" "バイナリーパッケージが全て <literal>Architecture: all</literal> のソースパッ" "ケージでは、<literal>clean</literal> ターゲットに関する Debian ポリシーを満た" "すために <literal>Build-Depends</literal> フィールドにすでに記載したパッケー" "ジ以外で必要なパッケージは、<literal>Build-Depends-Indep</literal>フィールド" "に記載することもできます。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This somewhat strange situation is a feature well documented in the <ulink " "url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 55</" "ulink>. This is not due to the use of the <command>dh</command> command in " "the <filename>debian/rules</filename> file but due to how the <command>dpkg-" "buildpackage</command> works. The same situation applies to the <ulink url=" "\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build " "system for Ubuntu</ulink>." msgstr "" "この少し変な状況は<ulink url=\"&policy-build-depends-indep;\">Debian Policy " "Manual, Footnotes 55</ulink>で詳しく説明されている特徴です。これは、" "<filename>debian/rules</filename> ファイル内の <command>dh</command> コマンド" "ではなく、<command>dpkg-buildpackage</command> に起因します。同様の状況は " "<ulink url=\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto " "build system for Ubuntu</ulink> にも当てはまります。" #. type: Content of: <book><chapter><section><para> msgid "" "If you are not sure which one should be used, use the <literal>Build-" "Depends</literal> field to be on the safe side. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "どちらのフィールドを使えうべきかわからなければ、<literal>Build-Depends</" "literal>にしておきましょう。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "To find out what packages your package needs to be built run the command:" msgstr "" "以下のコマンドを使えば、新規のパッケージをビルドするためにどのパッケージが必" "要かを調べることができます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-depcheck -d ./configure\n" msgstr "$ dpkg-depcheck -d ./configure\n" #. type: Content of: <book><chapter><section><para> msgid "" "To manually find exact build dependencies for <command><replaceable>/usr/bin/" "foo</replaceable></command>, execute" msgstr "" "<command><replaceable>/usr/bin/foo</replaceable></command>の正確なビルド依存" "パッケージを手動でみつけるには、" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" msgstr "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" #. type: Content of: <book><chapter><section><para> msgid "" "and for each library listed, e.g., <command>libfoo.so.6</command>, execute" msgstr "" "を実行し、表示された各ライブラリー(例えば<command>libfoo.so.6</command>の場" "合)について、" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg -S libfoo.so.6\n" msgstr "$ dpkg -S libfoo.so.6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then just take the <literal>-dev</literal> version of every package as a " "<literal>Build-Depends</literal> entry. If you use <command>ldd</command> " "for this purpose, it will report indirect lib dependencies as well, " "resulting in the problem of excessive build dependencies." msgstr "" "を実行します。<literal>Build-Depends</literal> の項目に、各ライブラリーの" "<literal>-dev</literal>バージョンを採用します。このために <command>ldd</" "command> を使用すると、間接的な依存も報告し、過度のビルド依存問題を引き起こし" "ます。" #. type: Content of: <book><chapter><section><para> msgid "" "<systemitem role=\"package\">gentoo</systemitem> also happens to require " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> and <systemitem role=\"package" "\">libglib1.2-dev</systemitem> to build, so we'll add them here next to " "<systemitem role=\"package\">debhelper</systemitem>." msgstr "" "<systemitem role=\"package\">gentoo</systemitem>パッケージをビルドするには" "<systemitem role=\"package\">xlibs-dev</systemitem>、<systemitem role=" "\"package\">libgtk1.2-dev</systemitem>、 <systemitem role=\"package" "\">libglib1.2-dev</systemitem>が必要なので、<systemitem role=\"package" "\">debhelper</systemitem>の後に記述しましょう。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 6 is the version of the <ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink> standards this package follows, the one you read while making " "your package." msgstr "" "6行目は、パッケージが準拠する<ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink> のバージョンです。これは、あなたがパッケージ作成の際に参照した" "ポリシーマニュアルのバージョンです。" #. type: Content of: <book><chapter><section><para> msgid "On line 7 you can put the URL of the software's upstream homepage." msgstr "" "7行目にはソフトウエアーのアップストリームプホームページ URL を記載できます。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the name of the binary package. This is usually the same as the " "name of the source package, but it doesn't necessarily have to be that way." msgstr "" "9行目はバイナリーパッケージの名前です。ソースパッケージと同名にするのが通例で" "すが、そうでなくてもかまいません。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " "\"Architecture\"</ulink> for exact details." msgstr "" "詳細は <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " "\"Architecture\"</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 10 describes the architectures the binary package can be compiled for. " "This value is usually one of the following depending on the type of the " "binary package. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "10 行目にはバイナリーパッケージがコンパイルされる対象のアーキテクチャーを記載" "します。この値はバイナリーパッケージのタイプによって通常以下の2つのどちらか" "です。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: any</literal>" msgstr "<literal>Architecture: any</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture dependent one usually in a " "compiled language." msgstr "" "生成されるバイナリーパッケージが通常コンパイルされたマシンコードからなるアー" "キテクチャー依存パッケージである。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: all</literal>" msgstr "<literal>Architecture: all</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture independent one usually " "consisting of text, images, or scripts in an interpreted language." msgstr "" "生成されたバイナリーパッケージは、通常テキストやイメージやインタープリター言" "語のスクリプトからなる、アーキテクチャー依存の無いパッケージです。" #. type: Content of: <book><chapter><section><para> msgid "" "We leave line 10 as is since this is written in C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> will fill in the appropriate architecture value " "for any machine this source package gets compiled on." msgstr "" "10行目はこれが C で書かれているのでこのままにしておきます。" "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> がソースパッケージがコンパイルされたマシンに合わせ" "た適正なアーキテクチャーの値で埋めてくれます。" #. type: Content of: <book><chapter><section><para> msgid "" "If your package is architecture independent (for example, a shell or Perl " "script, or a document), change this to <literal>all</literal>, and read " "later in <xref linkend=\"rules\"/> about using the <literal>binary-indep</" "literal> rule instead of <literal>binary-arch</literal> for building the " "package." msgstr "" "特定のアーキテクチャーに依存しない(例えば、シェルやPerlスクリプト、文書)パッ" "ケージであれば、パッケージをビルドする際に、これを <literal>all</literal> に" "変更し、<literal>binary-arch</literal> に代え <literal>binary-indep</" "literal> を使って後述の <xref linkend=\"rules\"/> を読んでください。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 11 shows one of the most powerful features of the Debian packaging " "system. Packages can relate to each other in various ways. Apart from " "<literal>Depends</literal>, other relationship fields are " "<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" "Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " "<literal>Provides</literal>, and <literal>Replaces</literal>." msgstr "" "11行目からはDebianのパッケージシステムが強力なことがわかります。パッケージは" "様々な形で相互に関係することができます。<literal>Depends</literal>の他には、" "<literal>Recommends</literal>、 <literal>Suggests</literal>、<literal>Pre-" "Depends</literal>、<literal>Breaks</literal>、 <literal>Conflicts</literal>、" "<literal>Provides</literal>、<literal>Replaces</literal>などがあります。" #. type: Content of: <book><chapter><section><para> msgid "" "The package management tools usually behave the same way when dealing with " "these relations; if not, it will be explained. (See <citerefentry> " "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, etc.)" msgstr "" "パッケージ管理ツールは通常このような関係を処理するとき同様の動作をします。そ" "うでない場合については、後から説明します。" "(<citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>8</manvolnum></" "citerefentry>、<citerefentry><refentrytitle>dselect</" "refentrytitle><manvolnum>8</manvolnum></citerefentry>、" "<citerefentry><refentrytitle>apt</refentrytitle> <manvolnum>8</manvolnum></" "citerefentry>、<citerefentry><refentrytitle>aptitude</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> 等を参照してください。)" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " "\"Declaring relationships between packages\"</ulink>." msgstr "" "<ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 \"Declaring " "relationships between packages\"</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "Here is a simplified description of package relationships. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "パッケージの依存関係を単純化し以下に説明します。 <placeholder type=\"footnote" "\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Depends</literal>" msgstr "<literal>Depends (依存)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed unless the packages it depends on are " "installed. Use this if your program absolutely will not run (or will cause " "severe breakage) unless a particular package is present." msgstr "" "依存しているパッケージがインストールされない限り、パッケージはインストールさ" "れません。あなたのプログラムが特定のパッケージ無しでは動かない(または深刻な破" "損を引き起こす)場合はこれを使います。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Recommends</literal>" msgstr "<literal>Recommends (推奨)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages that are not strictly necessary but are typically used " "with your program. When a user installs your program, all front-ends will " "probably prompt them to install the recommended packages. " "<command>aptitude</command> and <command>apt-get</command> install " "recommended packages along with your package by default (but the user can " "disable this behavior). <command>dpkg</command> will ignore this field." msgstr "" "厳密には必須ではないけれど通常一緒に使われるようなパッケージを指定にこれを用" "います。あなたのプログラムをユーザーがインストールする時、全てのフロントエン" "ドは推奨パッケージも一緒にインストールするかをきっと確認します。" "<command>aptitude</command> や <command>apt-get</command> の場合は、推奨パッ" "ケージもデフォルトで一緒にインストールします。(ユーザーはこの挙動を無効化でき" "ます。) <command>dpkg</command>はこのフィールドを無視します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Suggests</literal>" msgstr "<literal>Suggests (提案)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages which will work nicely with your program but are not " "at all necessary. When a user installs your program, they will probably not " "be prompted to install suggested packages. <command>aptitude</command> can " "be configured to install suggested packages along with your package but this " "is not its default. <command>dpkg</command> and <command>apt-get</command> " "will ignore this field." msgstr "" "必須ではないが、一緒に使用すると便利なパッケージの指定にこれを用います。あな" "たのプログラムをユーザーがインストールする時、フロントエンドが提案パッケージ" "も一緒にインストールするかきっと確認します。<command>aptitude</command> は提" "案パッケージを一緒にインストールするように変更することが可能ですが、デフォル" "トではありません。<command>dpkg</command> と <command>apt-get</command> はこ" "のフィールドを無視します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Pre-Depends</literal>" msgstr "<literal>Pre-Depends (事前依存)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is stronger than <literal>Depends</literal>. The package will not be " "installed unless the packages it pre-depends on are installed and " "<emphasis>correctly configured</emphasis>. Use this <emphasis>very</" "emphasis> sparingly and only after discussing it on the <ulink url=\"&debian-" "devel-ldo;\">debian-devel@lists.debian.org</ulink> mailing list. Read: " "don't use it at all. :-)" msgstr "" "これは <literal>Depends</literal> よりも強い関係を示します。パッケージは先行" "依存のパッケージがあらかじめインストールされ、かつ<emphasis>適切に設定</" "emphasis>されていない限りインストールされません。これは、メーリングリスト" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org</ulink>で議論" "を尽くした上で、<emphasis>とても</emphasis>慎重に扱うべきです。つまり、使わな" "いでください。:-)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Conflicts</literal>" msgstr "<literal>Conflicts (競合)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed until all the packages it conflicts with " "have been removed. Use this if your program absolutely will not run or will " "cause severe problems if a particular package is present." msgstr "" "競合しているパッケージが削除されない限り、パッケージはインストールされませ" "ん。あなたのプログラムが特定のパッケージと一緒だと動かない(または深刻な破壊" "の原因になる恐れがある)場合はこれを使います。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Breaks</literal>" msgstr "<literal>Breaks (破壊)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "When installed the package will break all the listed packages. Normally a " "<literal>Breaks</literal> entry specifies that it applies to versions " "earlier than a certain value. The resolution is generally to use higher-" "level package management tools to upgrade the listed packages." msgstr "" "パッケージがインストールされると、全てのリストされたパッケージを破壊します。" "通常、<literal>Breaks</literal> の項目は特定の値より旧いバージョンに対して規" "程します。通常、上位パッケージマネジメントツールを用い、記載されたパッケージ" "をアップグレードし解決します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Provides</literal>" msgstr "<literal>Provides (提供)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For some types of packages where there are multiple alternatives virtual " "names have been defined. You can get the full list in the <ulink url=" "\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> file. Use " "this if your program provides a function of an existing virtual package." msgstr "" "パッケージによっては、選択の予知があるために仮想パッケージ名が定義されていま" "す。仮想パッケージ名の一覧仮想パッケージ名の一覧は <ulink url=\"&virtual-" "package;\">virtual-package-names-list.txt.gz</ulink> にあります。あなたのプロ" "グラムが既存の仮想パッケージの機能を提供する場合には、これを使います。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Replaces</literal>" msgstr "<literal>Replaces (置換)</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this when your program replaces files from another package, or " "completely replaces another package (used in conjunction with " "<literal>Conflicts</literal>). Files from the named packages will be " "overwritten with the files from your package." msgstr "" "あなたのプログラムが別パッケージのファイルを置き換えたり、パッケージ全体を完" "全に置き換えてしまう場合(この場合は <literal>Conflicts</literal> も一緒に指" "定してください)この指定を使います。ここで指定されたパッケージに含まれるファ" "イルはあなたのパッケージのファイルによって上書きされます。" #. type: Content of: <book><chapter><section><para> msgid "" "All these fields have uniform syntax. They are a list of package names " "separated by commas. These package names may also be lists of alternative " "package names, separated by vertical bar symbols <literal>|</literal> (pipe " "symbols)." msgstr "" "これらのフィールドは共通の書式で記述します。指定したいパッケージ名をコンマで" "区切って並べます。もし選択肢があれば、それらのパッケージ名を縦棒<literal>|</" "literal> (パイプ記号)で区切って並べます。" #. type: Content of: <book><chapter><section><para> msgid "" "The fields may restrict their applicability to particular versions of each " "named package. The restriction of each individual package is listed in " "parentheses after its name, and should contain a relation from the list " "below followed by a version number value. The relations allowed are: " "<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " "<literal>>=</literal>, and <literal>>></literal> for strictly " "lower, lower or equal, exactly equal, greater or equal, and strictly " "greater, respectively. For example," msgstr "" "これらフィールドは、各指定パッケージの特定バージョン番号に適用対象を制限でき" "ます。各個別パッケージへの制約はパッケージ名の後に丸カッコの中に以下の関係式" "に続けバージョン番号を指定しリストします。使用できる関係式は、<literal><" "<</literal> と <literal><=</literal> と <literal>=</literal> と " "<literal>>=</literal> と <literal>>></literal> で、それぞれ 「指定さ" "れたものより古いバージョンのみ」、 「指定されたバージョン以前」(指定のバー" "ジョンも当然含まれます)、 「指定のバージョンのみ」、「指定されたバージョン以" "降」(指定のバージョンも当然含まれます)、「指定されたものより新しいバージョン" "のみ」を意味します。例えば、" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" msgstr "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" #. type: Content of: <book><chapter><section><para> msgid "" "The last feature you need to know about is <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." msgstr "" "知っておくべき最後の特徴は <literal>${shlibs:Depends}</literal> や <literal>" "${perl:Depends}</literal> や <literal>${misc:Depends}</literal> 等です。" #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates shared library dependencies for binary " "packages. It generates a list of <ulink url=\"&elf;\">ELF</ulink> " "executables and shared libraries it has found for each binary package. This " "list is used for substituting <literal>${shlibs:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>は、バイナリーパッケージのライブラリー依存関係を計" "算します。それは各バイナリーパッケージ毎に、<ulink url=\"&elf;\">ELF</ulink> " "実行可能ファイルや共有ライブラリーのリストを生成します。このようなリストは " "<literal>${shlibs:Depends}</literal> の置換に利用されます。" #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates Perl dependencies. It generates a " "list of a dependencies on <literal>perl</literal> or <literal>perlapi</" "literal> for each binary package. This list is used for substituting " "<literal>${perl:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>は、Perl依存関係を計算します。それは各バイナリー" "パッケージ毎に、<literal>perl</literal> や <literal>perlapi</literal> の依存" "関係リストを生成します。このようなリストは <literal>${perl:Depends}</" "literal> の置換に利用されます。" #. type: Content of: <book><chapter><section><para> msgid "" "Some <systemitem role=\"package\">debhelper</systemitem> commands may cause " "the generated package to depend on some additional packages. All such " "commands generate a list of required packages for each binary package. This " "list is used for substituting <literal>${misc:Depends}</literal>." msgstr "" "一部の <systemitem role=\"package\">debhelper</systemitem> コマンドは、生成す" "るパッケージが他追加パッケージに依存するようにパッケージを生成します。このよ" "うなコマンド全ては、各バイナリーパッケージが必要とするパッケージのリストを生" "成します。このようなリストは <literal>${misc:Depends}</literal> の置換に利用" "されます。" #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> generates <filename>DEBIAN/control</filename> for " "each binary package while substituting <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." msgstr "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> が <literal>${shlibs:Depends}</literal>、<literal>" "${perl:Depends}</literal>、<literal>${misc:Depends}</literal> 等を置換しなが" "ら各バイナリーパッケージ毎に <filename>DEBIAN/control</filename> を生成しま" "す。" #. type: Content of: <book><chapter><section><para> msgid "" "Having said all that, we can leave the <literal>Depends</literal> field " "exactly as it is now, and insert another line after it saying " "<literal>Suggests: file</literal>, because <systemitem role=\"package" "\">gentoo</systemitem> can use some features provided by the <systemitem " "role=\"package\">file</systemitem> package." msgstr "" "とは言っても、今のところ <literal>Depends</literal> フィールドはそのままにし" "て、その下に <literal>Suggests: file</literal> という新たな行を追加しましょ" "う。<systemitem role=\"package\">gentoo</systemitem> は <systemitem role=" "\"package\">file</systemitem> パッケージによって提供される機能を利用すること" "ができるからです。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the Homepage URL. Let's assume this to be at <ulink url=\"&gentoo;" "\"/>." msgstr "" "9 行目はホームページの URLです。これが <ulink url=\"&gentoo;\"/> と仮定しま" "しょう。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 12 is the short description. Terminals are conventionally 80 columns " "wide so this shouldn't be longer than about 60 characters. I'll change it " "to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgstr "" "12行目は手短な説明です。従来ターミナルは 1 行(半角)80 文字幅なので、(半" "角)60字以上にならないようにしましょう。<literal>fully GUI-configurable, two-" "pane X file manager</literal> に変更します。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "These descriptions are in English. Translations of these descriptions are " "provided by <ulink url=\"&ddtp;\">The Debian Description Translation Project " "- DDTP</ulink>." msgstr "" "これらの説明は英語です。これらの説明の翻訳は <ulink url=\"&ddtp;\">The " "Debian Description Translation Project - DDTP</ulink> によって提供されていま" "す。" #. type: Content of: <book><chapter><section><para> msgid "" "Line 13 is where the long description goes. This should be a paragraph " "which gives more details about the package. Column 1 of each line should be " "empty. There must be no blank lines, but you can put a single <literal>.</" "literal> (dot) in a column to simulate that. Also, there must be no more " "than one blank line after the long description. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "13行目は詳細な説明です。これはパッケージについてより詳しく説明する1つの段落で" "あるべきです。各行の先頭は空白(スペース文字)で始めます。空白行を入れてはい" "けませんが、 <literal>.</literal> (半角ピリオド) を1つ書くことで、空白行のよ" "うに見せることができます。説明文の後にも1行以上の空白行を入れてはいけませ" "ん。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-bpp-vcs;\">Debian Developer's Reference, 6.2.5. " "\"Version Control System location\"</ulink>." msgstr "" "<ulink url=\"&devref-bpp-vcs;\">Developer's Reference, 6.2.5. \"Version " "Control System location\"</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "We can insert <literal>Vcs-*</literal> fields to document the Version " "Control System (VCS) location between lines 6 and 7. <placeholder type=" "\"footnote\" id=\"0\"/> Let's assume that the <systemitem role=\"package" "\">gentoo</systemitem> package has its VCS located in the Debian Alioth Git " "Service at <literal>git://git.debian.org/git/collab-maint/gentoo.git</" "literal>." msgstr "" "6行目と7行目の間に <literal>Vcs-*</literal>フィールドを追加しバージョン管理シ" "ステム (VCS) の場所を記録しましょう。<placeholder type=\"footnote\" id=\"0\"/" "> <systemitem role=\"package\">gentoo</systemitem>パッケージがその VCS アーカ" "イブを <literal>git://git.debian.org/git/collab-maint/gentoo.git</literal> " "の Debian Alioth Git Service に置いていると仮定しましょう。" #. type: Content of: <book><chapter><section><para> msgid "Finally, here is the updated <filename>control</filename> file:" msgstr "以下が修正後の<filename>control</filename> ファイルです。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>copyright</filename>" msgstr "<filename>copyright</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains information about the copyright and license of the " "upstream sources. <ulink url=\"&policy-copyright;\">Debian Policy Manual, " "12.5 \"Copyright information\"</ulink> dictates its content and <ulink url=" "\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</filename></" "ulink> provides guidelines for its format." msgstr "" "このファイルにパッケージのアップストリームソースに関する著作権やライセンスな" "どの情報を記載します。その内容は <ulink url=\"&policy-copyright;\">Debian " "Policy Manual, 12.5 \"Copyright information\"</ulink> に規定され、<ulink url=" "\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</filename></" "ulink> がそのフォーマットのガイドラインを提供しています。" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> can give you a template <filename>copyright</" "filename> file. Let's use the <literal>--copyright gpl2</literal> option " "here to get a template file for the <systemitem role=\"package\">gentoo</" "systemitem> package released under GPL-2." msgstr "" "<command>dh_make</command>は<filename>copyright</filename>ファイルのテンプ" "レートを作成します。GPL-2でリリースされた<systemitem role=\"package" "\">gentoo</systemitem>パッケージのテンプレートを入手するには、<literal>--" "copyright gpl2</literal>オプションを使用します。" #. type: Content of: <book><chapter><section><para> msgid "" "You must fill in missing information to complete this file, such as the " "place you got the package from, the actual copyright notice, and the " "license. For certain common free software licenses (GNU GPL-1, GNU GPL-2, " "GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0, " "or the Artistic license), you can just refer to the appropriate file in the " "<filename>/usr/share/common-licenses/</filename> directory that exists on " "every Debian system. Otherwise, you must include the complete license." msgstr "" "パッケージの入手先や著作権表示やラインセンス等の抜けている情報を書き加え、" "ファイルを完成させましょう。一般的にフリーソフトウェアに使用される特定の共通" "ライセンス (GNU GPL-1 と GNU GPL-2 と GNU GPL-3 と LGPL-2 と LGPL-2.1 と " "LGPL-3 と GNU FDL-1.2 と GNU FDL-1.3 と Apache-2.0 と Artistic のライセン" "ス) は、各 Debian システムの <filename>/usr/share/common-licenses/</" "filename> ディレクトリー内にあるファイルを参照することができるので、全文の引" "用は不要です。その他のライセンスの場合、完全なライセンスを含めなければなりま" "せん。" #. type: Content of: <book><chapter><section><para> msgid "" "In short, here's what <systemitem role=\"package\">gentoo</systemitem>'s " "<filename>copyright</filename> file should look like:" msgstr "" "つまり、<systemitem role=\"package\">gentoo</systemitem> パッケージの " "<filename>copyright</filename> ファイルは以下のようになります:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" msgstr "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please follow the HOWTO provided by the ftpmasters and sent to debian-devel-" "announce: <ulink url=\"&howto-copyright;\"/>." msgstr "" "ftpmasterにより提供され debian-devel-announce に投稿された手順書 <ulink url=" "\"&howto-copyright;\"/> に従って下さい。" #. type: Content of: <book><chapter><section><title> msgid "<filename>changelog</filename>" msgstr "<filename>changelog</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This is a required file, which has a special format described in <ulink url=" "\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</" "ulink>. This format is used by <command>dpkg</command> and other programs " "to obtain the version number, revision, distribution, and urgency of your " "package." msgstr "" "これは必須のファイルで、<ulink url=\"&policy-dpkgchangelog;\">Debian Policy " "Manual, 4.4 \"debian/changelog\"</ulink>で既定された特別な書式となっていま" "す。この書式は、<command>dpkg</command> やその他のプログラムが、パッケージの " "バージョン番号、リビジョン、ディストリビューション、緊急度 (urgency) を識別す" "るために利用します。" #. type: Content of: <book><chapter><section><para> msgid "" "For you, it is also important, since it is good to have documented all " "changes you have done. It will help people downloading your package to see " "whether there are issues with the package that they should know about. It " "will be saved as <filename>/usr/share/doc/gentoo/changelog.Debian.gz</" "filename> in the binary package." msgstr "" "あなたが行なったすべての変更をきちんと記載しておくことは良いことであり、その" "意味でこのファイルはまた、パッケージメンテナーであるあなたにとっても重要なも" "のです。パッケージをダウンロードした人は、 このファイルを見ることで、このパッ" "ケージに関する未解決の問題があるかどうかを知ることができます。このファイルは" "バイナリーパッケージ中に<filename>/usr/share/doc/gentoo/changelog.Debian.gz</" "filename>として保存されます。" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one, and this is what it looks " "like:" msgstr "" "<command>dh_make</command>がデフォルトを生成し、以下のようになっています:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Line 1 is the package name, version, distribution, and urgency. The name " "must match the source package name; distribution should be " "<literal>unstable</literal>, and urgency shouldn't be changed to anything " "higher than <literal>low</literal>. :-)" msgstr "" "1 行目はパッケージ名、バージョン、ディストリビューション、 そして緊急度です。" "ここに書くパッケージ名はソースパッケージの名前と一致していなければ なりませ" "ん。 またディストリビューションは <literal>unstable</literal> で、緊急度は" "<literal>low</literal>より高くしてはいけません。:-)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 3-5 are a log entry, where you document changes made in this package " "revision (not the upstream changes - there is a special file for that " "purpose, created by the upstream authors, which you will later install as " "<filename>/usr/share/doc/gentoo/changelog.gz</filename>). Let's assume your " "ITP (Intent To Package) bug report number was <literal>12345</literal>. New " "lines must be inserted just below the uppermost line that begins with " "<literal>*</literal> (asterisk). You can do it with <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "or manually with a text editor." msgstr "" "3-5 行目はログ項目で、このパッケージのリビジョンで行われた変更を記述します " "(アップストリームプログラムそのものの変更点では ありません - その目的のために" "は、アップストリーム作者によって作成され、 <filename>/usr/share/doc/gentoo/" "changelog.gz</filename>としてインストールされる 専用のファイルが存在していま" "す)。ITP (Intent To Package) バグレポート番号を <literal>12345</literal> と仮" "定しましょう。新しい行は <literal>*</literal> (アスタリスク)で始まる最初の行" "の直前に挿入します。この操作は <citerefentry><refentrytitle>dch</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> を使うと便利ですが、 テ" "キストエディタを使って実行してももちろん構いません。" #. type: Content of: <book><chapter><section><para> msgid "" "In order to prevent a package being accidentally uploaded before completing " "the package, it is good idea to change the distribution value to an invalid " "distribution value <literal>UNRELEASED</literal>." msgstr "" "パッケージの完成前にパッケージが間違ってアップロードされることを防ぐために、" "ディトリビューションの値を無効な値 <literal>UNRELEASED</literal> に変更するよ" "う推奨します。" #. type: Content of: <book><chapter><section><para> msgid "You will end up with something like this:" msgstr "最終的にこんなふうになります。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" msgstr "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "If you use the <literal>dch -r</literal> command to make this last change, " "please make sure to save the <filename>changelog</filename> file explicitly " "by the editor." msgstr "" "もし <literal>dch -r</literal> コマンドを使ってこの最終変更をする場合には、エ" "ディターにより <filename>changelog</filename> ファイルを明示的に保存して下さ" "い。" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are satisfied with all the changes and documented them in " "<filename>changelog</filename>, you should change the distribution value " "from <literal>UNRELEASED</literal> to the target distribution value " "<literal>unstable</literal> (or even <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "すべての変更に満足しそれらを <filename>changelog</filename> 記録した時点で、" "ディストリビューションの値を <literal>UNRELEASED</literal> からターゲットディ" "ストリビューションの値 <literal>unstable</literal> (もしくは 場合に依っては " "<literal>experimental</literal>) へと変更すべきです。<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can read more about updating the <filename>changelog</filename> file " "later in <xref linkend=\"update\"/>." msgstr "" "<filename>changelog</filename>の更新については、<xref linkend=\"update\"/> で" "詳しく説明します。" #. type: Content of: <book><chapter><section><title> msgid "<filename>rules</filename>" msgstr "<filename>rules</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Now we need to take a look at the exact rules which <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> will use to actually create the package. This file is in fact " "another <filename>Makefile</filename>, but different from the one(s) in the " "upstream source. Unlike other files in <filename>debian</filename>, this " "one is marked as executable." msgstr "" "さて、今度は <citerefentry> <refentrytitle>dpkg-buildpackage</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> が実際にパッケージを作成するために使" "うルールについて見ていきましょう。このファイルは、もうひとつの " "<filename>Makefile</filename> といった存在ですが、アップストリームソースに含" "まれるそれとは違います。<filename>debian</filename> ディレクトリーに含まれる" "他のファイルとは異なり、 このファイルには実行可能属性が付与されています。" #. type: Content of: <book><chapter><section><section><title> msgid "Targets of the <filename>rules</filename> file" msgstr "<filename>rules</filename> ファイルのターゲット" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can start learning how to write <filename>Makefile</filename> from " "<ulink url=\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. The " "full documentation is available as <ulink url=\"&gnu-make;\"></ulink> or as " "the <systemitem role=\"package\">make-doc</systemitem> package in the " "<literal>non-free</literal> archive area." msgstr "" "<ulink url=\"&debref-make;\">Debian Reference, 12.2 \"Make\"</ulink> から " "<filename>Makefile</filename> の書き方を学び始められます。<ulink url=\"&gnu-" "make;\"></ulink> もしくは <literal>non-free</literal> のアーカイブエリアにあ" "る <systemitem role=\"package\">make-doc</systemitem> パッケージに完全な説明" "書があります。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> explains the details." msgstr "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> に詳細に説明されています。" #. type: Content of: <book><chapter><section><section><para> msgid "" "Every <filename>rules</filename> file, like any other <filename>Makefile</" "filename>, consists of several rules, each of which defines a target and how " "it is carried out. <placeholder type=\"footnote\" id=\"0\"/> A new rule " "begins with its target declaration in the first column. The following lines " "beginning with the TAB code (ASCII 9) specify the recipe for carrying out " "that target. Empty lines and lines beginning with <literal>#</literal> " "(hash) are treated as comments and ignored. <placeholder type=\"footnote\" " "id=\"1\"/>" msgstr "" "他の <filename>Makefile</filename> 同様、全ての <filename>rules</filename> " "ファイルはいくつかのルールから成り立ってい、そのそれぞれにターゲットと実行方" "法が規定されます。<placeholder type=\"footnote\" id=\"0\"/> 新規のルールは最" "初のカラムにそのターゲット宣言をすることで始まります。それに続く TAB コード " "(ASCII 9) で始まる数行はそのレシピを規定します。空行と <literal>#</literal> " "(ハッシュ) で始まる行はコメント行として扱われ無視されます。<placeholder type=" "\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><para> msgid "" "A rule that you want to execute is invoked by its target name as a command " "line argument. For example, <literal>debian/rules <replaceable>build</" "replaceable></literal> and <literal>fakeroot make -f debian/rules " "<replaceable>binary</replaceable></literal> execute rules for " "<literal><replaceable>build</replaceable></literal> and " "<literal><replaceable>binary</replaceable></literal> targets respectively." msgstr "" "実行したいルールは、そのターゲット名をコマンドラインのアーギュメントとして実" "行します。例えば、 <literal>debian/rules <replaceable>build</replaceable></" "literal> や <literal>fakeroot make -f debian/rules <replaceable>binary</" "replaceable></literal> は、それぞれ <literal><replaceable>build</" "replaceable></literal> や <literal><replaceable>binary</replaceable></" "literal> ターゲットのルールを実行します。" #. type: Content of: <book><chapter><section><section><para> msgid "Here is a simplified explanation of the targets:" msgstr "ターゲットについて簡単に説明します:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>clean</literal> target: to clean all compiled, generated, and " "useless files in the build-tree. (Required)" msgstr "" "<literal>clean</literal> ターゲット: ビルドツリー内にある、生成されたりコンパ" "イルされたり役に立たなかったりする全てのファイルをクリーンします。(必須)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build</literal> target: to build the source into compiled programs " "and formatted documents in the build-tree. (Required)" msgstr "" "<literal>build</literal> ターゲット: ソースをビルドして、ビルドツリー内にコン" "パイルしたプログラムと書式に落とし込んだドキュメントをビルドします。(必須)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-arch</literal> target: to build the source into arch-" "dependent compiled programs in the build-tree. (Required)" msgstr "" "<literal>build-arch</literal> ターゲット: ソースをビルドして、ビルドツリー内" "にアーキテクチャーに依存したコンパイルしたプログラムをビルドします。(必須)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-indep</literal> target: to build the source into arch-" "independent formatted documents in the build-tree. (Required)" msgstr "" "<literal>build-indep</literal> ターゲット: ソースをビルドして、ビルドツリー内" "にアーキテクチャーに依存しない書式に落とし込んだドキュメントをビルドします。" "(必須)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>install</literal> target: to install files into a file tree for " "each binary package under the <filename>debian</filename> directory. If " "defined, <literal>binary*</literal> targets effectively depend on this " "target. (Optional)" msgstr "" "<literal>install</literal> ターゲット: <filename>debian</filename>ディレクト" "リー以下にある各バイナリーパッケージのファイルツリーにファイルをインストール" "します。定義されている場合は、<literal>binary*</literal>ターゲットは実質的に" "このターゲットに依存します。(任意)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage</literal> as in <xref " "linkend=\"completebuild\"/>." msgstr "" "このターゲットは例えば、<xref linkend=\"completebuild\"/> などで、" "<literal>dpkg-buildpackage</literal>が使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary</literal> target: to create all binary packages (effectively " "a combination of <literal>binary-arch</literal> and <literal>binary-indep</" "literal> targets). (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary</literal> ターゲット: 全てのバイナリーパッケージを作ります。" "(実質的には <literal>binary-arch</literal> と <literal>binary-indep</" "literal> の組み合わせ)(必須)<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage -B</literal> as in <xref " "linkend=\"autobuilder\"/>." msgstr "" "このターゲットは例えば、<xref linkend=\"autobuilder\"/> などで、" "<literal>dpkg-buildpackage -B</literal>が使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-arch</literal> target: to create arch-dependent " "(<literal>Architecture: any</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-arch</literal> ターゲット: 親ディレクトリーにアーキテクチャー" "に依存したバイナリーパッケージ (<literal>Architecture: any</literal>)を作りま" "す。(必須)<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage -A</literal>." msgstr "" "このターゲットは、 <literal>dpkg-buildpackage -A</literal>が使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-indep</literal> target: to create arch-independent " "(<literal>Architecture: all</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-indep</literal> ターゲット: 親ディレクトリーにアーキテク" "チャーに依存しないパッケージ (<literal>Architecture: all</literal>) を作りま" "す。(必須)<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>get-orig-source</literal> target: to obtain the most recent version " "of the original source package from an upstream archive. (Optional)" msgstr "" "<literal>get-orig-source</literal> ターゲット: アップストリームアーカイブのサ" "イトから最新のバージョンのオリジナルソースパッケージを取得します。(任意)" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably overwhelmed by now, but things are much simpler upon " "examination of the <filename>rules</filename> file that <command>dh_make</" "command> gives us as a default." msgstr "" "今は少々圧倒されているかもしれませんが、<command>dh_make</command> がデフォル" "トとして作成する <filename>rules</filename> ファイルを調べると、状況はとても" "簡単です。" #. type: Content of: <book><chapter><section><section><title> msgid "Default <filename>rules</filename> file" msgstr "デフォルトの<filename>rules</filename>ファイル" #. type: Content of: <book><chapter><section><section><para> msgid "" "Newer <command>dh_make</command> generates a very simple but powerful " "default <filename>rules</filename> file using the <command>dh</command> " "command:" msgstr "" "最新の<command>dh_make</command>は<command>dh</command> コマンドでシンプルか" "つパワフルな<filename>rules</filename>ファイルを作ってくれます。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" msgstr "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "(I've added the line numbers. In the actual <filename>rules</filename> " "file, the leading spaces are a TAB code.)" msgstr "" "(行番号は筆者による。実際の<filename>rules</filename>ファイルでは、行頭の空白" "はTABコードです。)" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably familiar with lines like line 1 from shell and Perl " "scripts. It tells the operating system that this file is to be processed " "with <filename>/usr/bin/make</filename>." msgstr "" "1行目はシェルやパールスクリプトでお馴染みの表現です。オペレーティングシステム" "に<filename>/usr/bin/make</filename>で処理するように指示しています。" #. type: Content of: <book><chapter><section><section><para> msgid "" "Line 10 can be uncommented to set the <literal>DH_VERBOSE</literal> variable " "to 1, so that the <command>dh</command> command outputs which <command>dh_*</" "command> commands it is executing. You can also add a line <literal>export " "DH_OPTIONS=-v</literal> here, so that each <command>dh_*</command> command " "outputs which commands it is executing. This helps you to understand " "exactly what is going on behind this simple <filename>rules</filename> file " "and to debug its problems. This new <command>dh</command> is designed to " "form a core part of the <systemitem role=\"package\">debhelper</systemitem> " "tools, and not to hide anything from you." msgstr "" "10 行目のコメントを外し <literal>DH_VERBOSE</literal> 変数を 1 に設定すれ" "ば、<command>dh</command> コマンドがどの <command>dh_*</command> コマンドを実" "行しているかを出力するようにできます。必要であればここに、<literal>export " "DH_OPTIONS=-v</literal>という行を追加すれば、<command>dh_*</command>コマンド" "が、<command>dh_*</command>によって実行されたコマンドを出力します。この単純" "な <filename>rules</filename> ファイルが影で何をしているのかを理解し、その問" "題デバッグの際の助けとなるでしょう。この新しい <command>dh</command> が" "<systemitem role=\"package\">debhelper</systemitem> ツールの中核から設計さ" "れ、あなたに対して一切隠し事をしません。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "This uses the new <systemitem role=\"package\">debhelper</systemitem> v7+ " "features. Its design concepts are explained in <ulink url=\"&debhelper-" "slides;\">Not Your Grandpa's Debhelper</ulink> presented at DebConf9 by the " "<systemitem role=\"package\">debhelper</systemitem> upstream. Under " "<literal>lenny</literal>, <command>dh_make</command> created a much more " "complicated <filename>rules</filename> file with explicit rules and many " "<command>dh_*</command> scripts listed for each one, most of which are now " "unnecessary (and show the package's age). The new <command>dh</command> " "command is simpler and frees us from doing the routine work \"manually\". " "You still have full power to customize the process with " "<literal>override_dh_*</literal> targets. See <xref linkend=\"customrules\"/" ">. It is based only on the <systemitem role=\"package\">debhelper</" "systemitem> package and does not obfuscate the package building process as " "the <systemitem role=\"package\">cdbs</systemitem> package tends to." msgstr "" "これは新しい <systemitem role=\"package\">debhelper</systemitem> v7+ の機能で" "す。このデザインコンセプトはDebConf9で <systemitem role=\"package" "\">debhelper</systemitem> アップストリームによって <ulink url=\"&debhelper-" "slides;\">Not Your Grandpa's Debhelper</ulink> として提示されました。" "<literal>lenny</literal> の <command>dh_make</command> は、必須となる明示され" "たターゲットごとに、もっと複雑な <filename>rules</filename> ファイルと " "<command>dh_*</command> スクリプトを量産し、最初にパッケージ化した際の状態に" "凍結していました。新しい <command>dh</command> コマンドは、もっとシンプルで、" "旧来の制約に縛られません。その上、<literal>override_dh_*</literal> ターゲット" "があるのでカスタマイズする利便性は失われていません。詳しくは <xref linkend=" "\"customrules\"/> を参照してください。これは、<systemitem role=\"package" "\">debhelper</systemitem> パッケージがもとになっており、<systemitem role=" "\"package\">cdbs</systemitem> のようにパッケージのビルドプロセスを難読化する" "ことはありません。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can verify the actual sequences of <command>dh_*</command> programs " "invoked for a given <literal><replaceable>target</replaceable></literal> " "without really running them by invoking <literal>dh --no-act " "<replaceable>target</replaceable></literal> or <literal>debian/rules -- '--" "no-act <replaceable>target</replaceable>'</literal>." msgstr "" "特定の <literal><replaceable>target</replaceable></literal> 変数で起動される " "<command>dh_*</command> プログラムシーケンスは、<literal>dh --no-act " "<replaceable>target</replaceable></literal> もしくは、<literal>debian/rules " "-- '--no-act <replaceable>target</replaceable>'</literal> でプログラムを実際" "に実行せず確認することができます。" #. type: Content of: <book><chapter><section><section><para> msgid "" "Lines 12 and 13 are where all the work is done with an implicit rule using " "the pattern rule. The percent sign means \"any targets\", which then call a " "single program, <command>dh</command>, with the target name. <placeholder " "type=\"footnote\" id=\"0\"/> The <command>dh</command> command is a wrapper " "script which runs appropriate sequences of <command>dh_*</command> programs " "depending on its argument. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "12 と 13 行目は、パターンルールを用いて非明示的ルールで全てが行われる場所で" "す。パーセント記号「<literal>%</literal>」は「いかなるターゲット」を意味し、" "ターゲットの名前を引数に <command>dh</command> という単一プログラムを実行しま" "す。<placeholder type=\"footnote\" id=\"0\"/> <command>dh</command> コマンド" "は、引数によって、適切なシーケンスで <command>dh_*</command> プログラムを走ら" "せるラッパースクリプトです。<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>, " "which in turn runs the following:" msgstr "" "<literal>debian/rules clean</literal> は <literal>dh clean</literal>を実行" "し、そしてそれは以下を実行します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" msgstr "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules build</literal> runs <literal>dh build</literal>; " "which in turn runs the following:" msgstr "" "<literal>debian/rules build</literal> は <literal>dh build</literal> を実行し" "ます。実行する順番は以下の通りです。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" msgstr "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "The following example assumes your <filename>debian/compat</filename> has a " "value equal or more than 9 to avoid invoking any python support commands " "automatically." msgstr "" "以下の例は、自動的に python サポートコマンドが起動するのを避けるために、あな" "たの <filename>debian/compat</filename> には 9 以下の値が入っていると仮定して" "います。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " "binary</literal>; which in turn runs the following<placeholder type=" "\"footnote\" id=\"0\"/>:" msgstr "" "<literal>fakeroot debian/rules binary</literal> は<placeholder type=" "\"footnote\" id=\"0\"/>、<literal>fakeroot dh binary</literal>を実行します。" "実行する順番は以下の通りです:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" msgstr "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-arch</literal> runs <literal>fakeroot " "dh binary-arch</literal>; which in turn runs the same sequence as " "<literal>fakeroot dh binary</literal> but with the <literal>-a</literal> " "option appended for each command." msgstr "" "<literal>fakeroot debian/rules binary-arch</literal> は <literal>fakeroot dh " "binary-arch</literal> を実行します。<literal>fakeroot dh binary</literal> の" "全てのコマンドに <literal>-a</literal> オプションをつけた場合と同じことを行い" "ます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-indep</literal> runs <literal>fakeroot " "dh binary-indep</literal>; which in turn runs almost the same sequence as " "<literal>fakeroot dh binary</literal> but excluding <command>dh_strip</" "command>, <command>dh_makeshlibs</command>, and <command>dh_shlibdeps</" "command> with the <literal>-i</literal> option appended for each remaining " "command." msgstr "" "<literal>fakeroot debian/rules binary-indep</literal> は <literal>fakeroot " "dh binary-indep</literal> を実行します。同様のコマンドは<literal>fakeroot dh " "binary</literal>ですが、<command>dh_strip</command>、<command>dh_makeshlibs</" "command>、<command>dh_shlibdeps</command> は実行せず、残りのコマンドには" "<literal>-i</literal> オプションを付加して実行します。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "For complete information on what all these <command>dh_*</command> scripts " "do exactly, and what their other options are, please read their respective " "manual pages and the <systemitem role=\"package\">debhelper</systemitem> " "documentation." msgstr "" "<command>dh_*</command>スクリプトが、実際に何をして、どのようなオプションがあ" "るのかを知りたい場合は、<systemitem role=\"package\">debhelper</systemitem> " "のマニュアルにある該当ページを参照してください。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "These commands support other build environments such as <filename>setup.py</" "filename> which can be listed by executing <literal>dh_auto_build --list</" "literal> in a package source directory." msgstr "" "これらのコマンドは、<literal>dh_auto_build --list</literal>を実行するとリスト" "される <filename>setup.py</filename> のような他のビルド環境もサポートします。" #. type: Content of: <book><chapter><section><section><para> msgid "" "The functions of <command>dh_*</command> commands are largely self-evident " "from their names. <placeholder type=\"footnote\" id=\"0\"/> There are a few " "notable ones that are worth giving (over)simplified explanations here " "assuming a typical build environment based on a <filename>Makefile</" "filename>. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "<command>dh_*</command>は、名前からその機能がわかるようなものばかりです。" "<placeholder type=\"footnote\" id=\"0\"/> ここでは、<filename>Makefile</" "filename>をもとに作られたビルド環境を前提にして、(超)簡単な説明を行う価値があ" "る特筆すべき項目いくつかについて述べます。<placeholder type=\"footnote\" id=" "\"1\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>distclean</literal>, <literal>realclean</literal>, " "or <literal>clean</literal>, and executes that." msgstr "" "実際には、<filename>Makefile</filename> 中の <literal>distclean</literal>、" "<literal>realclean</literal>、 <literal>clean</literal> のうち、最初に利用可" "能なものを探し実行します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_clean</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>distclean</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_clean</command>は、<filename>Makefile</filename> に " "<literal>distclean</literal> ターゲットがあれば以下のコマンドを通常実行しま" "す。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make distclean\n" msgstr "make distclean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_configure</command> usually executes the following if " "<filename>./configure</filename> exists (arguments abbreviated for " "readability)." msgstr "" "<command>dh_auto_configure</command>は、<filename>./configure</filename>があ" "れば以下のコマンドを通常実行します。 (読みやすくするために引数は省略しました)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" msgstr "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_build</command> usually executes the following to execute " "the first target of <filename>Makefile</filename> if it exists." msgstr "" "<command>dh_auto_build</command>は、 <filename>Makefile</filename>があれば、" "その最初のターゲットをビルドするために、以下のコマンドを通常実行します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make\n" msgstr "make\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>test</literal> or <literal>check</literal>, and " "executes that." msgstr "" "<filename>Makefile</filename> 中の <literal>test</literal> か " "<literal>check</literal> のうち、最初に利用可能なものを見つけ実行します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_test</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>test</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_test</command> は、<filename>Makefile</filename> 中に " "<literal>test</literal> ターゲットがあれば、以下を通常実行します。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make test\n" msgstr "make test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_install</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>install</literal> " "target (line folded for readability)." msgstr "" "<command>dh_auto_install</command> は、<filename>Makefile</filename> 中に " "<literal>install</literal> ターゲットがあれば、以下のコマンドを通常実行しま" "す。 (読みやすくするために畳み込みました)。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" msgstr "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "All targets which require the <command>fakeroot</command> command will " "contain <command>dh_testroot</command>, which exits with an error if you are " "not using this command to pretend to be root." msgstr "" "<command>fakeroot</command> コマンドを必要とするターゲットは " "<command>dh_testroot</command> を含みます。このコマンドは、ルートのふりをしな" "ければエラーで終了します。" #. type: Content of: <book><chapter><section><section><para> msgid "" "The important part to know about the <filename>rules</filename> file created " "by <command>dh_make</command> is that it is just a suggestion. It will work " "for most packages but for more complicated ones, don't be afraid to " "customize it to fit your needs." msgstr "" "<command>dh_make</command> によって作成された <filename>rules</filename> ファ" "イルについて理解すべきことは、これは単なる提案ということです。もっと複雑な" "パッゲージ以外のほぼ全てに有効ですが、必要に応じてカスタマイズをすることを遠" "慮してはいけません。" #. type: Content of: <book><chapter><section><section><para> msgid "" "Although <literal>install</literal> is not a required target, it is " "supported. <literal>fakeroot dh install</literal> behaves like " "<literal>fakeroot dh binary</literal> but stops after <command>dh_fixperms</" "command>." msgstr "" "<literal>install</literal> は、必須ターゲットではありませんがサポートはされて" "います。<literal>fakeroot dh install</literal> は <literal>fakeroot dh " "binary</literal> のように振る舞いますが、<command>dh_fixperms</command> の後" "で停止します。" #. type: Content of: <book><chapter><section><section><title> msgid "Customization of <filename>rules</filename> file" msgstr "<filename>rules</filename> ファイルのカスタマイズ" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are many ways to customize the <filename>rules</filename> file created " "with the new <command>dh</command> command." msgstr "" "新しい<command>dh</command>コマンドで作成された<filename>rules</filename>ファ" "イルをカスタマイズする方法は何通りもあります。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " "should activate its customization function by <literal>dh $@ --with " "<replaceable>custom-name</replaceable></literal>." msgstr "" "もし、パッケージが <filename>/usr/share/perl5/Debian/Debhelper/Sequence/" "<replaceable>custom_name</replaceable>.pm</filename>ファイルをインストールす" "る場合、そのカスタマイズの機能を <literal>dh $@ --with <replaceable>custom-" "name</replaceable></literal>で有効にしなければなりません。" #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>dh $@</literal> command can be customized as follows. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>dh $@</literal> コマンドは以下の方法でカスタマイズできます。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "Use of the <command>dh_python2</command> command is preferred over use of " "<command>dh_pysupport</command> or <command>dh_pycentral</command> " "commands. Do not use the <command>dh_python</command> command." msgstr "" "<command>dh_pysupport</command> や <command>dh_pycentral</command> コマンドよ" "りも<command>dh_python2</command>コマンドが好まれます。<command>dh_python</" "command>コマンドは使用しないでください。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_python2</command> command. (The best choice " "for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_python2</command> コマンドのサポートを追加します。(Pythonに最適の" "選択。)<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "<systemitem role=\"package\">python</systemitem> パッケージを <literal>Build-" "Depends</literal> に含めます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python2</literal>." msgstr "<literal>dh $@ --with python2</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python</" "systemitem> framework." msgstr "" "これは <systemitem role=\"package\">python</systemitem>フレームワークを使用し" "てPythonモジュールを取り扱います。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pysupport</command> command. (deprecated)" msgstr "" "<command>dh_pysupport</command> コマンドのサポートを追加します。(非推奨)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-support</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "<systemitem role=\"package\">python-support</systemitem> を <literal>Build-" "Depends</literal> に含めます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with pysupport</literal>." msgstr "<literal>dh $@ --with pysupport</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "support</systemitem> framework." msgstr "" "これで<systemitem role=\"package\">python-support</systemitem>フレームワーク" "を使用してPythonモジュールを利用できます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pycentral</command> command. (deprecated)" msgstr "" "<command>dh_pycentral</command> コマンドのサポートを追加します。(非推奨)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-central</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "<literal>Build-Depends</literal> に、<systemitem role=\"package\">python-" "central</systemitem> パッケージを含めます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python-central</literal> instead." msgstr "代わりに<literal>dh $@ --with python-central</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This also deactivates the <command>dh_pysupport</command> command." msgstr "これで<command>dh_pysupport</command>コマンドも無効化されます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "central</systemitem> framework." msgstr "" "これで<systemitem role=\"package\">python-central</systemitem>フレームワーク" "を使用してPythonモジュールを利用できます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_installtex</command> command." msgstr "<command>dh_installtex</command> コマンドのサポートを追加します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">tex-common</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "<literal>Build-Depends</literal> に、<systemitem role=\"package\">tex-" "common</systemitem>パッケージを含めます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with tex</literal> instead." msgstr "代わりに<literal>dh $@ --with tex</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This registers Type 1 fonts, hyphenation patterns, and formats with TeX." msgstr "" "これで、TeXによるType1フォント、ハイフネーション、またはフォーマットが登録さ" "れます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_quilt_patch</command> and " "<command>dh_quilt_unpatch</command> commands." msgstr "" "<command>dh_quilt_patch</command> と <command>dh_quilt_unpatch</command> コマ" "ンドのサポートを追加します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">quilt</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "<literal>Build-Depends</literal> に、<systemitem role=\"package\">quilt</" "systemitem> パッケージを含めます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with quilt</literal> instead." msgstr "代わりに<literal>dh $@ --with quilt</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This applies and un-applies patches to the upstream source from files in the " "<filename>debian/patches</filename> directory for a source package in the " "<literal>1.0</literal> format." msgstr "" "<literal>1.0</literal> フォーマットのソースパッケージの <filename>debian/" "patches</filename> ディレクトリー内にあるファイルを用いて、アップストリーム" "ソースにパッチを当てたり外したりできます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This is not needed if you use the new <literal>3.0 (quilt)</literal> source " "package format." msgstr "" "もし新規の <literal>3.0 (quilt)</literal> ソースパッケージフォーマットを使用" "している場合、これは不要です。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_dkms</command> command." msgstr "<command>dh_dkms</command> コマンドのサポートを追加します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dkms</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "<literal>Build-Depends</literal> に、<systemitem role=\"package\">dkms</" "systemitem> パッケージを含めます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with dkms</literal> instead." msgstr "代わりに<literal>dh $@ --with dkms</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This correctly handles DKMS usage by kernel module packages." msgstr "カーネルモジュールパッケージによる DKMS の使用を正しく処理します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autotools-dev_updateconfig</command> and " "<command>dh_autotools-dev_restoreconfig</command> commands." msgstr "" "<command>dh_autotools-dev_updateconfig</command> と <command>dh_autotools-" "dev_restoreconfig</command> コマンドのサポートを追加します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">autotools-dev</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "<literal>Build-Depends</literal> に、<systemitem role=\"package\">autotools-" "dev</systemitem> パッケージを含めます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autotools-dev</literal> instead." msgstr "代わりに <literal>dh $@ --with autotools-dev</literal> を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates and restores <filename>config.sub</filename> and " "<filename>config.guess</filename>." msgstr "" "これで<filename>config.sub</filename>と<filename>config.guess</filename>を" "アップデートおよびレストアします。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autoreconf</command> and " "<command>dh_autoreconf_clean</command> commands." msgstr "" "<command>dh_autoreconf</command> と <command>dh_autoreconf_clean</command> コ" "マンドのサポートを追加します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dh-autoreconf</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "<literal>Build-Depends</literal> に、<systemitem role=\"package\">dh-" "autoreconf</systemitem> パッケージを含めます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autoreconf</literal> instead." msgstr "代わりに<literal>dh $@ --with autoreconf</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates the GNU Build System files and restores them after the build." msgstr "" "これは、ビルド後にGNUビルドシステムのファイルのアップデートおよびレストアを行" "います。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_girepository</command> command." msgstr "<command>dh_girepository</command> コマンドのサポートを追加します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">gobject-introspection</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "<literal>Build-Depends</literal> に、<systemitem role=\"package\">gobject-" "introspection</systemitem> パッケージを含めます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with gir</literal> instead." msgstr "代わりに<literal>dh $@ --with gir</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This computes dependencies for packages shipping GObject introspection data " "and generates the <literal>${gir:Depends}</literal> substitution variable " "for the package dependency." msgstr "" "これは GObject イントロスペクションデーターを提供しているパッケージの依存関係" "を計算し、パッケージ依存関係用に <literal>${gir:Depends}</literal> 代替変数を" "生成します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>bash</command> completion feature." msgstr "<command>bash</command> 補完機能のサポートを追加します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">bash-completion</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "<literal>Build-Depends</literal> に、<systemitem role=\"package\">bash-" "completion</systemitem> パッケージを含めます。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with bash-completion</literal> instead." msgstr "代わりに<literal>dh $@ --with bash-completion</literal>を使用します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This installs <command>bash</command> completions using a configuration file " "at <filename>debian/<replaceable>package</replaceable>.bash-completion</" "filename>." msgstr "" "このコマンドを使用すると、<command>bash</command> 補完機能から、 " "<filename>debian/<replaceable>package</replaceable>.bash-completion</" "filename> の設定を使うことができるようになります。" #. type: Content of: <book><chapter><section><section><para> msgid "" "Many <command>dh_*</command> commands invoked by the new <command>dh</" "command> command can be customized by the corresponding configuration files " "in the <filename>debian</filename> directory. See <xref linkend=\"dother\"/" "> and the manpage of each command for the customization of such features." msgstr "" "新しい <command>dh</command> コマンドにより起動される多くの <command>dh_*</" "command> コマンドは、<filename>debian</filename> ディレクトリー内にある対応す" "る設定ファイルによりカスタマイズすることが可能です。そのような機能のカスタマ" "イズ方法については、 <xref linkend=\"dother\"/> とコマンドごとの manpage を参" "照してください。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Under <literal>lenny</literal>, if you wanted to change the behavior of a " "<command>dh_*</command> script you found the relevant line in the " "<filename>rules</filename> file and adjusted it." msgstr "" "<literal>lenny</literal>では、<command>dh_*</command>スクリプトの挙動を変えた" "い場合、<filename>rules</filename>ファイル内の該当する行を見つけ出し、調整し" "ていました。" #. type: Content of: <book><chapter><section><section><para> msgid "" "You may need to run <command>dh_*</command> commands invoked via the new " "<command>dh</command> with added arguments, or to run additional commands " "with them, or to skip them. For such cases, you create an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target with " "its rule in the <filename>rules</filename> file defining an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target for the " "<command>dh_<replaceable>foo</replaceable></command> command you want to " "change. It basically says <emphasis>run me instead</emphasis>. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh</command>コマンドによって呼び出される<command>dh_*</command>コマ" "ンドの中には、特定の引数で実行したり、それらを追加のコマンドとともに実行した" "り、スキップしたりする必要があることがあります。そのような場合は、変更したい" "<command>dh_<replaceable>foo</replaceable></command>コマンドについて、" "<literal>override_dh_<replaceable>foo</replaceable></literal> ターゲットを " "<filename>rules</filename> ファイルに追記してください。簡単に説明すると、この" "ターゲットは<emphasis>かわりにこのコマンドを使用する</emphasis>という意味で" "す。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note that the <command>dh_auto_*</command> commands tend to do more " "than what has been discussed in this (over)simplified explanation to take " "care of all the corner cases. It is a bad idea to use " "<literal>override_dh_*</literal> targets to substitute simplified equivalent " "commands (except for the <literal>override_dh_auto_clean</literal> target) " "since it may bypass such smart <systemitem role=\"package\">debhelper</" "systemitem> features." msgstr "" "ここでは簡単に説明を行いましたが、通常以外のケースを処理するため、" "<command>dh_auto_*</command>コマンドは、もっと複雑なことを実行することを覚え" "ておいてください。そのため、<literal>override_dh_auto_clean</literal>ターゲッ" "ト以外は、<literal>override_dh_*</literal> ターゲットを使用して、簡素化された" "別のコマンドで代用するのは感心しません。<systemitem role=\"package" "\">debhelper</systemitem> の賢い機能を骨抜きにしてしまうからです。" #. type: Content of: <book><chapter><section><section><para> msgid "" "So, for instance, if you want to store system configuration data in the " "<filename>/etc/gentoo</filename> directory instead of the usual <filename>/" "etc</filename> directory for the recent <systemitem role=\"package\">gentoo</" "systemitem> package using Autotools, you can override the default <literal>--" "sysconfig=/etc</literal> argument given by the <command>dh_auto_configure</" "command> command to the <command>./configure</command> command by the " "following." msgstr "" "例えば、最近の Autotools を用いた <systemitem role=\"package\">gentoo</" "systemitem>パッケージに関して、その設定情報を通常の <filename>/etc</" "filename> ディレクトリーではなく、<filename>/etc/gentoo</filename> ディレクト" "リーに置きたい場合には、<command>dh_auto_configure</command> コマンドが " "<command>./configure</command> コマンドに与えるデフォルトの引数 <literal>--" "sysconfig=/etc</literal> を以下のようにしてオーバーライドできます。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "The arguments given after <literal>--</literal> are appended to the default " "arguments of the auto-executed program to override them. Using the " "<command>dh_auto_configure</command> command is better than directly " "invoking the <command>./configure</command> command here since it will only " "override the <literal>--sysconfig</literal> argument and retains any other, " "benign arguments to the <command>./configure</command> command." msgstr "" "<literal>--</literal>以下の引数は、自動実行されるプログラムの引数に付け足され" "ます。<command>dh_auto_configure</command> コマンドは、引数<literal>--" "sysconfig</literal>のみをオーバーライドしその他の良く配慮された <command>./" "configure</command> 引数には触れないため、<command>./configure</command> コマ" "ンドをここに使うより優れています。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<command>dh_auto_build</command> without any arguments will execute the " "first target in the <filename>Makefile</filename>." msgstr "" "引数なしの <command>dh_auto_build</command>は、<filename>Makefile</filename> " "の最初のターゲットを実行します。" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify <literal>build</" "literal> as its target to build it <placeholder type=\"footnote\" id=\"0\"/" ">, you create an <literal>override_dh_auto_build</literal> target to enable " "this." msgstr "" "もしも <systemitem role=\"package\">gentoo</systemitem> のソースをビルドする" "ためにその <filename>Makefile</filename> に <literal>build</literal> ターゲッ" "トを指定する必要がある場合、これを有効とするため、<placeholder type=" "\"footnote\" id=\"0\"/><literal>override_dh_auto_build</literal> ターゲットを" "作らなければなりません。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" msgstr "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "This ensures <literal>$(MAKE)</literal> is run with all the default " "arguments given by the <command>dh_auto_build</command> command plus the " "<literal>build</literal> argument." msgstr "" "<command>dh_auto_build</command>コマンドのデフォルトで与えられた引数すべてに " "<literal>build</literal> 引数を加えたものとともに、<literal>$(MAKE)</" "literal> を確実に実行します。" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify the " "<literal>packageclean</literal> target to clean it for the Debian package " "instead of using <literal>distclean</literal> or <literal>clean</literal> " "targets, you can create an <literal>override_dh_auto_clean</literal> target " "to enable thit." msgstr "" "もし、Debianパッケージのためにソースをクリーンするのに <systemitem role=" "\"package\">gentoo</systemitem> のソースの <filename>Makefile</filename> が、" "<filename>Makefile</filename> 中の <literal>distclean</literal> や " "<literal>clean</literal> ターゲットの代わりに <literal>packageclean</" "literal> ターゲットを指定する必要がある場合には、" "<literal>override_dh_auto_clean</literal> ターゲットを作るとそれが可能になり" "ます。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" msgstr "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> contains a <literal>test</literal> target " "which you do not want to run for the Debian package building process, you " "can use an empty <literal>override_dh_auto_test</literal> target to skip it." msgstr "" "もし、<systemitem role=\"package\">gentoo</systemitem>のソースの" "<filename>Makefile</filename>が、<literal>test</literal>ターゲットを含み、" "Debianパッケージをビルドする過程で実行されたくない場合は、空の" "<literal>override_dh_auto_clean</literal>ターゲットを作ることで、スキップでき" "ます。" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "override_dh_auto_test:\n" msgstr "override_dh_auto_test:\n" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "The <filename>debian/changelog</filename> and <filename>debian/NEWS</" "filename> files are always automatically installed. The upstream changelog " "is found by converting filenames to lower case and matching them against " "<filename>changelog</filename>, <filename>changes</filename>, " "<filename>changelog.txt</filename>, and <filename>changes.txt</filename>." msgstr "" "<filename>debian/changelog</filename> と <filename>debian/NEWS</filename> は" "常に自動でインストールされます。アップストリームの変更履歴は、ファイル名を小" "文字に変換し、<filename>changelog</filename>、<filename>changes</filename>、" "<filename>changelog.txt</filename>、<filename>changes.txt</filename>のいずれ" "かと一致するものを見つけます。" #. type: Content of: <book><chapter><section><section><para> msgid "" "If <systemitem role=\"package\">gentoo</systemitem> has an unusual upstream " "changelog file called <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> will not install that file by " "default. The <command>dh_installchangelogs</command> command requires " "<filename>FIXES</filename> as its argument to install it. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "もし、<systemitem role=\"package\">gentoo</systemitem>パッケージに、普通では" "ない<filename>FIXES</filename>というアップストリームのチェンジログファイルが" "ある場合、 <command>dh_installchangelogs</command>はデフォルトではそのファイ" "ルをインストールしません。このファイルをインストールするには、" "<filename>FIXES</filename>を引数として、<command>dh_installchangelogs</" "command>に渡してやる必要があります。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" msgstr "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you use the new <command>dh</command> command, use of explicit targets " "such as the ones listed in <xref linkend=\"targets\"/>, other than the " "<literal>get-orig-source</literal> target, may make it difficult to " "understand their exact effects. Please limit explicit targets to " "<literal>override_dh_*</literal> targets and completely independent ones, if " "possible." msgstr "" "この新しい <command>dh</command> コマンドを使う際には、<literal>get-orig-" "source</literal> ターゲットを除き、<xref linkend=\"targets\"/> にあるような明" "示ターゲット指定の正確な影響が把握するのが難しいかもしれません。明示ターゲッ" "トは、<literal>override_dh_*</literal> ターゲットおよび完全に独立したターゲッ" "トに限定して下さい。" #. type: Content of: <book><chapter><title> msgid "Other files under the <filename>debian</filename> directory" msgstr "<filename>debian</filename>ディレクトリーにあるその他のファイル" #. type: Content of: <book><chapter><para> msgid "" "To control most of what <systemitem role=\"package\">debhelper</systemitem> " "does while building the package, you put optional configuration files under " "the <filename>debian</filename> directory. This chapter will provide an " "overview of what each of these does and its format. Please read the <ulink " "url=\"&debian-policy;\">Debian Policy Manual</ulink> and <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> for " "guidelines for packaging." msgstr "" "<systemitem role=\"package\">debhelper</systemitem>がパッケージのビルド中に行" "うことは、オプションの設定ファイルを <filename>debian</filename> ディレクト" "リーに置けばコントロールできます。この章では、設定ファイルの機能と書式を概説" "します。パッケージングのガイドラインについての詳細は <ulink url=\"&debian-" "policy;\">Debian Policy Manual</ulink> と <ulink url=\"&developers-reference;" "\">Debian Developer's Reference</ulink> を参照してください。" #. type: Content of: <book><chapter><para> msgid "" "The <command>dh_make</command> command will create some template " "configuration files under the <filename>debian</filename> directory. Most " "of them come with filenames suffixed by <literal>.ex</literal>. Some of " "them come with filenames prefixed by the binary package name such as " "<literal><replaceable>package</replaceable></literal>. Take a look at all " "of them. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_make</command>コマンドは、<filename>debian</filename>ディレクト" "リーの中に設定ファイルのテンプレートを作成します。大抵の場合、<literal>.ex</" "literal>サフェックスが付いています。ファイル名の先頭に" "<literal><replaceable>package</replaceable></literal>などのように、バイナリー" "パッケージの名前がつくものもあります。これらのファイルにはすべて目を通してお" "いてください。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para> msgid "" "Some template configuration files for <systemitem role=\"package" "\">debhelper</systemitem> may not be created by the <command>dh_make</" "command> command. In such cases, you need to create them with an editor." msgstr "" "<command>dh_make</command>コマンドは、一部の <systemitem role=\"package" "\">debhelper</systemitem>用の設定テンプレートファイルを作らないことがありま" "す。その場合、自分でエディターを使いそれらを作成しなければなりません。" #. type: Content of: <book><chapter><para> msgid "If you wish or need to activate any of these, please do the following:" msgstr "設定ファイルを有効にしたい際は、以下を実行して下さい。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename template files by removing the <literal>.ex</literal> or <literal>." "EX</literal> suffix if they have one;" msgstr "" "テンプレートファイルに <literal>.ex</literal> や <literal>.EX</literal> のサ" "フェックスがついていれば、それらを削除するようにリネームしてください。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename the configuration files to use the actual binary package name in " "place of <literal><replaceable>package</replaceable></literal>;" msgstr "" "<literal><replaceable>package</replaceable></literal>の代わりに、実際のバイナ" "リーパッケージの名前に設定ファイルをリネームしてください。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "modify template file contents to suit your needs;" msgstr "必要に応じて、テンプレートファイルの中身を書き換えます。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "remove template files which you do not need;" msgstr "不要なテンプレートファイルは削除してください。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>control</filename> file (see <xref linkend=\"control\"/" ">), if necessary;" msgstr "" "必要であれば、<filename>control</filename> ファイル(参照 <xref linkend=" "\"control\"/>)を変更します。" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/>), " "if necessary." msgstr "" "必要なら<filename>rules</filename>ファイル(参照 <xref linkend=\"rules\"/>)を" "編集してください。" #. type: Content of: <book><chapter><para> msgid "" "Any <systemitem role=\"package\">debhelper</systemitem> configuration files " "without a <filename><replaceable>package</replaceable></filename> prefix, " "such as <filename>install</filename>, apply to the first binary package. " "When there are many binary packages, their configurations can be specified " "by prefixing their name to their configuration filenames such as " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "<filename><replaceable>package</replaceable></filename> をプリフェックスとし" "て持たない、例えば <filename>install</filename> のような<systemitem role=" "\"package\">debhelper</systemitem> の設定ファイルは、最初のバイナリーパッケー" "ジへ適用されます。 バイナリーパッケージが多数ある場合、" "<filename><replaceable>package-1</replaceable>install</filename>、" "<filename><replaceable>package-2</replaceable>.install</filename>、等のよう" "に、パッケージ名を設定ファイルのプリフェックスとすることで指定できます。" #. type: Content of: <book><chapter><section><title> msgid "<filename>README.Debian</filename>" msgstr "<filename>README.Debian</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Any extra details or discrepancies between the original package and your " "Debian version should be documented here." msgstr "" "パッケージに関して、何か特別にユーザーに知らせなければならない情報や、オリジ" "ナルのソフトウェアと作成したDebianパッケージとの相違点があればここに記述しま" "す。" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one; this is what it looks like:" msgstr "以下は<command>dh_make</command>がデフォルトとして生成するものです。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" msgstr "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have nothing to be documented, remove this file. See <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "もし、ドキュメントがなければこのファイルを削除してください。詳しくは " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>を参照してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename>compat</filename>" msgstr "<filename>compat</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>compat</filename> file defines the <systemitem role=\"package" "\">debhelper</systemitem> compatibility level. Currently, you should set it " "to the <systemitem role=\"package\">debhelper</systemitem> v9 as follows:" msgstr "" "<filename>compat</filename> ファイルは、<systemitem role=\"package" "\">debhelper</systemitem> の互換性レベルを規定します。現段階では、以下のよう" "に <systemitem role=\"package\">debhelper</systemitem> v9 に設定しましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ echo 9 > debian/compat\n" msgstr "$ echo 9 > debian/compat\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>conffiles</filename>" msgstr "<filename>conffiles</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian " "Policy Manual, \"D.2.5 Conffiles\"</ulink>." msgstr "" "<citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> and <ulink url=\"&policy-conffiles;\">Debian Policy Manual, " "\"D.2.5 Conffiles\"</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "One of the most annoying things about software is when you spend a great " "deal of time and effort customizing a program, only to have an upgrade stomp " "all over your changes. Debian solves this problem by marking such " "configuration files as conffiles. <placeholder type=\"footnote\" id=\"0\"/> " "When you upgrade a package, you'll be asked whether you want to keep your " "old configuration files or not." msgstr "" "大変な時間と労力を費やしてプログラムをカスタマイズしても、一回のアップグレー" "ドであなたの変更をあちこち上書きされてしまうとうんざりします。このような設定" "ファイルを conffile と記録しておくことで、Debianはこの問題を解決しました。" "<placeholder type=\"footnote\" id=\"0\"/> パッケージをアップグレードする際" "に、あなたは古い設定ファイルをキープしたいかかどうかを尋ねられます。" #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry><refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> <emphasis>automatically</emphasis> flags any " "files under the <filename>/etc</filename> directory as conffiles, so if your " "program only has conffiles there you do not need to specify them in this " "file. For most package types, the only place conffiles should ever be is " "under <filename>/etc</filename>, and so this file doesn't need to exist." msgstr "" "<citerefentry> <refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> は<emphasis>自動的に </emphasis><filename>/etc</" "filename> ディレクトリー以下のファイルを全て conffiles とみなすので、あなたの" "プログラムが他のディレクトリーに conffiles を持たない場合は特に指定する必要は" "ありません。ほとんどのパッケージの場合、<filename>/etc</filename> 以下にのみ " "conffiles がある(そうあるべきです)ので、このファイルの存在は不要です。" #. type: Content of: <book><chapter><section><para> msgid "" "If your program uses configuration files but also rewrites them on its own, " "it's best not to make them conffiles because <command>dpkg</command> will " "then prompt users to verify the changes all the time." msgstr "" "あなたのプログラムが設定ファイルを利用する場合であっても、 その設定ファイルが" "プログラム自身によって頻繁に上書きされるような場合には、パッケージをアップグ" "レードするたびに <command>dpkg</command> によって設定ファイルの変更について確" "認を求められることになるので、その設定ファイルを conffiles に登録しないほうが" "良いでしょう。" #. type: Content of: <book><chapter><section><para> msgid "" "If the program you're packaging requires every user to modify the " "configuration files in the <filename>/etc</filename> directory, there are " "two popular ways to arrange for them to not be conffiles, keeping " "<command>dpkg</command> quiet." msgstr "" "あなたのパッケージングするプログラムが、ユーザーに <filename>/etc</filename> " "ディレクトリーの中にある設定ファイルを編集することを要求する場合、" "<command>dpkg</command> を黙らせるために conffiles として登録しない良く使われ" "る方法が2つあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a symlink under the <filename>/etc</filename> directory pointing to a " "file under the <filename>/var</filename> directory generated by the " "maintainer scripts." msgstr "" "<filename>/etc</filename> ディレクトリー中に、<emphasis>メンテナースクリプト" "</emphasis> によって生成された <filename>/var</filename> ディレクトリー以下の" "ファイルにシンボリックリンクを張る。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a file generated by the maintainer scripts under the <filename>/etc</" "filename> directory." msgstr "" "<filename>/etc</filename> ディレクトリーの中に <emphasis>メンテナースクリプト" "</emphasis> によってファイルを生成する。" #. type: Content of: <book><chapter><section><para> msgid "" "For information on maintainer scripts, see <xref linkend=\"maintscripts\"/>." msgstr "" "<emphasis>メンテナースクリプト</emphasis>についの詳細は、<xref linkend=" "\"maintscripts\"/> を参照してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.cron.*</filename>" msgstr "<filename><replaceable>package</replaceable>.cron.*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package requires regularly scheduled tasks to operate properly, you " "can use these files to set that up. You can set up regular tasks that " "either happen hourly, daily, weekly, or monthly, or alternatively happen at " "any other time that you wish. The filenames are:" msgstr "" "パッケージが正しく動作するために、定期的にあるタスクを実行する必要がある場合" "は、これらのファイルで設定します。毎時間、毎日、毎週、または指定した時間に定" "期的タスクを実行するように指定することができます。ファイル名は以下です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.hourly</filename> - " "Installed as <filename>/etc/cron.hourly/<replaceable>package</replaceable></" "filename>; run once an hour." msgstr "" "<filename>cron.hourly</filename> - <filename>/etc/cron.hourly/" "<replaceable>package</replaceable></filename>としてインストール: 1時間ごとに" "実行する。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.daily</filename> - " "Installed as <filename>/etc/cron.daily/<replaceable>package</replaceable></" "filename>; run once a day." msgstr "" "<filename>cron.daily</filename> - <filename>/etc/cron.daily/" "<replaceable>package</replaceable></filename>としてインストール: 1日に1度実" "行。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.weekly</filename> - " "Installed as <filename>/etc/cron.weekly/<replaceable>package</replaceable></" "filename>; run once a week." msgstr "" "<filename>cron.weekly</filename> - <filename>/etc/cron.weekly/" "<replaceable>package</replaceable></filename>としてインストール: 1週間に1度実" "行。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.monthly</filename> - " "Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></" "filename>: run once a month." msgstr "" "<filename><replaceable>package</replaceable>.cron.monthly</filename> - " "Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></" "filename>:としてインストール: 1ヶ月に1度実行。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.d</filename> - Installed " "as <filename>/etc/cron.d/<replaceable>package</replaceable></filename>: for " "any other time." msgstr "" "<filename>cron.d</filename> - <filename>/etc/cron.d/<replaceable>package</" "replaceable></filename>としてインストール: どの時間でも指定可能。" #. type: Content of: <book><chapter><section><para> msgid "" "Most of these files are shell scripts, with the exception of " "<filename><replaceable>package</replaceable>.cron.d</filename> which follows " "the format of <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." msgstr "" "上記のファイルの書式はシェルスクリプトです。<filename><replaceable>package</" "replaceable>.cron.d</filename> は違い、<citerefentry> " "<refentrytitle>crontab</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>の書式になります。" #. type: Content of: <book><chapter><section><para> msgid "" "No explicit <filename>cron.*</filename> file is needed to set up log " "rotation; for that, see <citerefentry><refentrytitle>dh_installlogrotate</" "refentrytitle> <manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>logrotate</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" "ログローテーションの設定には明示的な <filename>cron.*</filename> は必要ありま" "せん。これについては<citerefentry> <refentrytitle>dh_installlogrotate</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> および " "<citerefentry> <refentrytitle>logrotate</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>を参照してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename>dirs</filename>" msgstr "<filename>dirs</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies any directories which we need but which are not created " "by the normal installation procedure (<literal>make install DESTDIR=...</" "literal> invoked by <literal>dh_auto_install</literal>). This generally " "means there is a problem with the <filename>Makefile</filename>." msgstr "" "このファイルにはパッケージが必要としているのに、なぜか通常のインストール手順 " "(<literal>dh_auto_install</literal> によって呼び出される <literal>make " "install DESTDIR=...</literal>) では作成されないディレクトリーを指定します。通" "常、これは <filename>Makefile</filename> に問題があることを示唆しています。" #. type: Content of: <book><chapter><section><para> msgid "" "Files listed in an <filename>install</filename> file don't need their " "directories created first. See <xref linkend=\"install\"/>." msgstr "" "<filename>install</filename>ファイルに書かれてるファイルは最初にディレクト" "リーを作成する必要はありません。<xref linkend=\"install\"/> を参照してくださ" "い。" #. type: Content of: <book><chapter><section><para> msgid "" "It is best to try to run the installation first and only use this if you run " "into trouble. There is no preceding slash on the directory names listed in " "the <filename>dirs</filename> file." msgstr "" "まずは試しにインストールしてみて、なにか問題が起きた場合にのみ使うべきでしょ" "う。 <filename>dirs</filename> ファイル中のディレクトリー名の頭にスラッシュが" "付かない事に注意してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.doc-base</filename>" msgstr "<filename><replaceable>package</replaceable>.doc-base</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has documentation other than manual and info pages, you " "should use the <systemitem role=\"package\">doc-base</systemitem> file to " "register it, so the user can find it with e.g. <citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, or <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "もしあなたのパッケージがマニュアルページや info 形式の文書以外に付属文書を含" "む場合、 <systemitem role=\"package\">doc-base</systemitem> ファイルを使って" "それらを登録し、ユーザーがそれらの付属文書を、例えば<citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> や <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>、あるいは <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> コマンドなどで参照できるようにしましょう。" #. type: Content of: <book><chapter><section><para> msgid "" "This usually includes HTML, PS and PDF files, shipped in <filename>/usr/" "share/doc/<replaceable>packagename</replaceable>/</filename>." msgstr "" "これには通常、<filename>/usr/share/doc/<replaceable>packagename</" "replaceable>/</filename>の中に収められるようなHTML、PS、およびPDFなどの形式の" "付属文書が含まれます。" #. type: Content of: <book><chapter><section><para> msgid "" "This is what <systemitem role=\"package\">gentoo</systemitem>'s doc-base " "file <filename>gentoo.doc-base</filename> looks like:" msgstr "" "例えば、<systemitem role=\"package\">gentoo</systemitem> の <filename>gentoo." "doc-base</filename> ファイルは次のようになります:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" msgstr "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" #. type: Content of: <book><chapter><section><para> msgid "" "For information on the file format, see <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and the Debian <systemitem role=\"package\">doc-base</" "systemitem> Manual at the local copy <filename>&doc-base;</filename> " "provided by the <systemitem role=\"package\">doc-base</systemitem> package." msgstr "" "このファイルの書式については<citerefentry> <refentrytitle>install-docs</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>および <systemitem " "role=\"package\">doc-base</systemitem> パッケージが提供するローカルコピー " "<filename>&doc-base;</filename> にある <systemitem role=\"package\">doc-" "base</systemitem> のマニュアルを参照してください。" #. type: Content of: <book><chapter><section><para> msgid "" "For more details on installing additional documentation, look in <xref " "linkend=\"destdir\"/>." msgstr "" "追加ドキュメントのインストールについて、詳細は<xref linkend=\"destdir\"/> を" "見てください。" #. type: Content of: <book><chapter><section><title> msgid "<filename>docs</filename>" msgstr "<filename>docs</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies the file names of documentation files we can have " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> install into the temporary directory for us." msgstr "" "このファイルには、<citerefentry> <refentrytitle>dh_installdocs</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>を使ってパッケージ生成" "用の一時的なディレクトリーにインストールするために、パッケージに付属する資料" "のファイル名を指定してください。" #. type: Content of: <book><chapter><section><para> msgid "" "By default, it will include all existing files in the top-level source " "directory that are called <filename>BUGS</filename>, <filename>README*</" "filename>, <filename>TODO</filename> etc." msgstr "" "デフォルトでは、ソースディレクトリーのトップレベルに存在する <filename>BUGS</" "filename>、 <filename>README*</filename>、 <filename>TODO</filename> などの名" "前を持つファイル全てを含みます。" #. type: Content of: <book><chapter><section><para> msgid "" "For <systemitem role=\"package\">gentoo</systemitem>, some other files are " "also included:" msgstr "" "<systemitem role=\"package\">gentoo</systemitem> に関していくつか他のファイル" "が含まれます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" msgstr "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>emacsen-*</filename>" msgstr "<filename>emacsen-*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package supplies Emacs files that can be bytecompiled at package " "installation time, you can use these files to set it up." msgstr "" "パッケージをインストールする際にバイトコンパイル可能な Emacs ファイルがあなた" "のパッケージに含まれている場合、これらの emacsen-* ファイルを利用してそれを設" "定することができます。" #. type: Content of: <book><chapter><section><para> msgid "" "They are installed into the temporary directory by <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "これらのファイルは<citerefentry> <refentrytitle>dh_installemacsen</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>によってパッケージ作成" "用の一時的なディレクトリーにインストールされます。" #. type: Content of: <book><chapter><section><para> msgid "If you don't need these, remove them." msgstr "不要ならこのファイルを削除してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.examples</filename>" msgstr "<filename><replaceable>package</replaceable>.examples</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs files and " "directories listed in this file as example files." msgstr "" "<citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>コマンドはこのディレクトリーに列挙さ" "れたファイルを例としてインストールします。" #. type: Content of: <book><chapter><section><title> msgid "" "<filename><replaceable>package</replaceable>.init</filename> and " "<filename><replaceable>package</replaceable>.default</filename>" msgstr "" "<filename><replaceable>package</replaceable>.init</filename> と " "<filename><replaceable>package</replaceable>.default</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package is a daemon that needs to be run at system start-up, you've " "obviously disregarded my initial recommendation, haven't you? :-)" msgstr "" "もしあなたのパッケージがデーモンであり、システムの起動時に 自動的に動作させる" "必要があるとしたら、私が最初に勧めたことを あなたはまるっきり無視してしまった" "わけですよね。そうでしょ ?:-)" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.init</filename> file is " "installed as the <filename>/etc/init.d/<replaceable>package</replaceable></" "filename> script which starts and stops the daemon. Its fairly generic " "skeleton template is provided by the <command>dh_make</command> command as " "<filename>init.d.ex</filename>. You'll likely have to rename and edit it, a " "lot, while making sure to provide <ulink url=\"&lsb;\">Linux Standard Base</" "ulink> (LSB) compliant headers. It gets installed into the temporary " "directory by <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." msgstr "" "<filename><replaceable>package</replaceable>.init</filename> ファイルはデーモ" "ンの起動や停止をする <emphasis>init スクリプト</emphasis> のための " "<filename>/etc/init.d/<replaceable>package</replaceable></filename> スクリプ" "トとしてインストールされます。その極めて標準的なテンプレートファイルは " "<command>dh_make</command> コマンドによって提供される <filename>init.d.ex</" "filename> です。<ulink url=\"&lsb;\">Linux Standard Base</ulink> (LSB) に準拠" "したヘッダーを提供するように確実にするとともに、ファイル名の変更とかなりの内" "容編集がおそらく必要です。このファイルは " "<citerefentry><refentrytitle>dh_installinit</refentrytitle> <manvolnum>1</" "manvolnum></citerefentry> によって、一時的なディレクトリーにインストールされ" "ます。" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.default</filename> file " "will be installed as <filename>/etc/default/<replaceable>package</" "replaceable></filename>. This file sets defaults that are sourced by the " "init script. This <filename><replaceable>package</replaceable>.default</" "filename> file is most often used to disable running a daemon, or to set " "some default flags or timeouts. If your init script has certain " "configurable features, you can set them in the " "<filename><replaceable>package</replaceable>.default</filename> file, " "instead of in the init script itself." msgstr "" "<filename><replaceable>package</replaceable>.default</filename> ファイルは " "<filename>/etc/default/<replaceable>package</replaceable></filename> にインス" "トールされます。このファイルは <emphasis>init スクリプト</emphasis> により" "ソースされるデフォルトを設定します。この <filename><replaceable>package</" "replaceable>.default</filename> ファイルは大抵、デーモンを停止したり、デフォ" "ルトのフラグやタイムアウトなどの設定に使われます。もしもあなたの " "<emphasis>init スクリプト</emphasis>が、特定の<emphasis>設定可能</emphasis>な" "機能を有しているのであれば、それは <emphasis>init スクリプト</emphasis>ではな" "く、この <filename><replaceable>package</replaceable>.default</filename> ファ" "イルに設定しておくべきでしょう。" #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream program provides a file for the init script, you can either " "use it or not. If you don't use their init script then create a new one in " "<filename><replaceable>package</replaceable>.init</filename>. However if " "the upstream init script looks fine and installs in the right place you " "still need to set up the <filename>rc*</filename> symlinks. To do this you " "will need to override <command>dh_installinit</command> in the " "<filename>rules</filename> file with the following lines:" msgstr "" "アップストリームプログラムが <emphasis>init スクリプト</emphasis>用ファイルを" "提供する場合、それを使用するかしないかは自由です。もしアップストリームからの " "<emphasis>init スクリプト</emphasis>を使わないのであれば " "<filename><replaceable>package</replaceable>.init</filename> に新しいのを作成" "しましょう。アップストリームの <emphasis>init スクリプト</emphasis>が問題なく" "正しい場所にインストールされるとしても、<filename>rc*</filename> シンボリック" "リンクの設定は必要です。そのためには、<filename>rules</filename> ファイルに以" "下を追加して、<command>dh_installinit</command> をオーバーライドしましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" msgstr "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" #. type: Content of: <book><chapter><section><para> msgid "If you don't need this, remove the files." msgstr "不要なら、このファイルを削除してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename>install</filename>" msgstr "<filename>install</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This replaces the deprecated <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command which is " "configured by the <filename>files</filename> file." msgstr "" "<filename>files</filename>ファイルによって、<citerefentry> " "<refentrytitle>dh_movefiles</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>コマンドが設定され、置換されます。" #. type: Content of: <book><chapter><section><para> msgid "" "If there are files that need to be installed into your package but your " "standard <literal>make install</literal> won't do it, put the filenames and " "destinations into this <filename>install</filename> file. They are " "installed by <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=" "\"0\"/> You should first check there is not a more specific tool to use. " "For example, documents should be in the <filename>docs</filename> file and " "not in this one." msgstr "" "パッケージにとってインストールが必要なファイルがあるにも関わらず、 " "<literal>make install</literal> ではインストールされない場合、そのファイル名" "とファイルを置く目的地を <filename>install</filename> ファイルに記述します。" "そうすると、<citerefentry><refentrytitle>dh_install</" "refentrytitle><manvolnum>1</manvolnum></citerefentry> によってそれらのファイ" "ルがインストールされます。<placeholder type=\"footnote\" id=\"0\"/> まずは使" "えそうな別のツールがないかどうかを調べましょう。例えば、ドキュメントはこの" "ファイルではなく<filename>docs</filename>ファイルにあるべきです。" #. type: Content of: <book><chapter><section><para> msgid "" "This <filename>install</filename> file has one line per file installed, with " "the name of the file (relative to the top build directory) then a space then " "the installation directory (relative to the install directory). One example " "of where this is used is if a binary <filename>src/<replaceable>bar</" "replaceable></filename> is left uninstalled; the <filename>install</" "filename> file might look like:" msgstr "" "<filename>install</filename> ファイルはインストールされるファイルごとに 1 行" "必要とします。ファイル名(ビルドディレクトリーのトップを基点とした相対パ" "ス)、スペース、インストールするディレクトリー名(インストールディレクトリー" "を基点とした相対パス)という書式です。例えば、バイナリー <filename>src/" "<replaceable>bar</replaceable></filename> のインストールを忘れた場合などに、 " "<filename>install</filename> ファイルの項目は以下のように記述します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "src/<replaceable>bar</replaceable> usr/bin\n" msgstr "src/<replaceable>bar</replaceable> usr/bin\n" #. type: Content of: <book><chapter><section><para> msgid "" "This means when this package is installed, there will be an executable " "command <filename>/usr/bin/<replaceable>bar</replaceable></filename>." msgstr "" "上記によって、パッケージがインストールされたときに、<filename>/usr/bin/" "<replaceable>bar</replaceable></filename>というバイナリーファイルが存在するこ" "とになります。" #. type: Content of: <book><chapter><section><para> msgid "" "Alternatively, this <filename>install</filename> can have the name of the " "file only without the installation directory when the relative directory " "path does not change. This format is usually used for a large package that " "splits the output of its build into multiple binary packages using " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "また、この <filename>install</filename> ファイルは相対パスが変わらない場合、" "インストールディレクトリーの指定を省略することもできます。この書式はビルドし" "た結果を、<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename> などを使用" "し、複数のバイナリーパッケージに分割するような、大規模なパッケージで使われま" "す。" #. type: Content of: <book><chapter><section><para> msgid "" "The <command>dh_install</command> command will fall back to looking in " "<filename>debian/tmp</filename> for files, if it doesn't find them in the " "current directory (or wherever you've told it to look using <literal>--" "sourcedir</literal>)." msgstr "" "<command>dh_install</command> コマンドはもし、カレントディレクトリーでファイ" "ルが見つからなかった場合は、(または、<literal>--sourcedir</literal> で探すよ" "うに指示したディレクトリー内で見つからなかった場合は)フォールバックして " "<filename>debian/tmp</filename>内を検索します。" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.info</filename>" msgstr "<filename><replaceable>package</replaceable>.info</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has info pages, you should install them using <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing them in a <filename><replaceable>package</" "replaceable>.info</filename> file." msgstr "" "パッケージにinfoページがある場合、<filename><replaceable>package</" "replaceable>.info</filename> にそれらを挙げて、<citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> を使用してインストールします。" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.links</filename>" msgstr "<filename><replaceable>package</replaceable>.links</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If you need to create additional symlinks in package build directories as " "package maintainer, you should install them using <citerefentry> " "<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing their full paths of source and destination files in " "a <filename><replaceable>package</replaceable>.links</filename> file." msgstr "" "パッケージメンテナーとしてパッケージビルドディレクトリー中に追加のシンボリッ" "クリンクを作成する必要がある場合、リンク元とリンク先の両方のフルパスを " "<filename><replaceable>package</replaceable>.links</filename> ファイル中にリ" "ストすることで <citerefentry> <refentrytitle>dh_link</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> コマンドでそれらをインストールするべ" "きです。" #. type: Content of: <book><chapter><section><title> msgid "" "<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</" "filename>" msgstr "" "<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " "diagnostic for a case where Debian policy allows exceptions to some rule, " "you can use <filename><replaceable>package</replaceable>.lintian-overrides</" "filename> or <filename>source/lintian-overrides</filename> to quieten it. " "Please read Lintian User's Manual (<filename>&lintian-doc;</filename>) and " "refrain from abusing this." msgstr "" "ポリシーが例外を認めているにも関わらず、<systemitem role=\"package" "\">lintian</systemitem> が誤診断を報告してきた場合、" "<filename><replaceable>package</replaceable>.lintian-overrides</filename>か" "<filename>source/lintian-overrides</filename> を使って黙らせることができま" "す。Lintian User's Manual (<filename>&lintian-doc;</filename>) を読み、濫用は" "控えてください。" #. type: Content of: <book><chapter><section><para> msgid "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> is " "for the binary package named <systemitem role=\"package" "\"><replaceable>package</replaceable></systemitem> and is installed into " "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" "filename> by the <command>dh_lintian</command> command." msgstr "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> は " "<systemitem role=\"package\"><replaceable>package</replaceable></systemitem> " "と名づけられたパッケージのためのファイルで、<command>dh_lintian</command> コ" "マンドによって <filename>usr/share/lintian/overrides/<replaceable>package</" "replaceable></filename> にインストールされます。" #. type: Content of: <book><chapter><section><para> msgid "" "<filename>source/lintian-overrides</filename> is for the source package. " "This is not installed." msgstr "" "<filename>source/lintian-overrides</filename>はソースパッケージのためのファイ" "ルです。これはインストールされません。" #. type: Content of: <book><chapter><section><title> msgid "<filename>manpage.*</filename>" msgstr "<filename>manpage.*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Your program(s) should have a manual page. If they don't, you should create " "them. The <command>dh_make</command> command creates some template files " "for manual pages. These need to be copied and edited for each command " "missing its manual page. Please make sure to remove unused templates." msgstr "" "プログラムはマニュアルページが必ず必要です。もし無いなら作らなければなりませ" "ん。<command>dh_make</command> コマンドはマニュアルページのテンプレートを作成" "します。マニュアルページがないコマンドのために、コピー、編集する必要がありま" "す。不要なテンプレートファイルを削除するのを忘れないようにしてください。" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.1.ex</filename>" msgstr "<filename>manpage.1.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Manual pages are normally written in <citerefentry> <refentrytitle>nroff</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. The " "<filename>manpage.1.ex</filename> template is written in <command>nroff</" "command>, too. See the <citerefentry> <refentrytitle>man</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> manual page for a brief description " "of how to edit such a file." msgstr "" "マニュアルページは通常、<citerefentry> <refentrytitle>nroff</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>で書かれています。" "<filename>manpage.1.ex</filename>のテンプレートも<command>nroff</command>で書" "かれています。これらのファイルをどう編集するのかについて、簡単な説明が" "<citerefentry> <refentrytitle>man</refentrytitle> <manvolnum>7</manvolnum> </" "citerefentry>にあります。" #. type: Content of: <book><chapter><section><section><para> msgid "" "The final manual page file name should give the name of the program it is " "documenting, so we will rename it from <literal>manpage</literal> to " "<literal>gentoo</literal>. The file name also includes <literal>.1</" "literal> as the first suffix, which means it's a manual page for a user " "command. Be sure to verify that this section is indeed the correct one. " "Here's a short list of manual page sections:" msgstr "" "最終的なマニュアルページのファイル名は、解説されているプログラム名を含めなけ" "ればなりません。ここでは、ファイル名を <literal>manpage</literal> から " "<literal>gentoo</literal> に変更しましょう。ファイル名は、<literal>.1</" "literal> というサフェックスも含みます。これは、このマニュアルページはユーザー" "コマンドのものだ、という意味です。この部分を間違わないように気をつけてくださ" "い。以下はマニュアルページのリストです:" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Section" msgstr "セクション" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Description" msgstr "内容" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Notes" msgstr "ノート" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "1" msgstr "1" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "User command" msgstr "ユーザーコマンド" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Executable commands or scripts" msgstr "実行可能なコマンドやスクリプト" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "2" msgstr "2" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System calls" msgstr "システムコール" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions provided by the kernel" msgstr "カーネルが提供するファンクション" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "3" msgstr "3" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Library calls" msgstr "ライブラリーコール" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions within system libraries" msgstr "システムライブラリーが提供するファンクション" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "4" msgstr "4" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Special files" msgstr "特殊ファイル" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Usually found in <filename>/dev</filename>" msgstr "通常 <filename>/dev</filename> にある" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "5" msgstr "5" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "File formats" msgstr "ファイルフォーマット" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "E.g. <filename>/etc/passwd</filename>'s format" msgstr "例えば、<filename>/etc/passwd</filename>のフォーマット" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "6" msgstr "6" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games" msgstr "ゲーム" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games or other frivolous programs" msgstr "ゲームや他の他愛ないプログラム" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "7" msgstr "7" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Macro packages" msgstr "マクロパッケージ" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Such as <command>man</command> macros" msgstr "<command>man</command>のマクロ等" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "8" msgstr "8" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System administration" msgstr "システム管理" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Programs typically only run by root" msgstr "普通rootが実行するプログラム" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "9" msgstr "9" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Kernel routines" msgstr "カーネルルーチン" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Non-standard calls and internals" msgstr "非標準のコールや内部コール" #. type: Content of: <book><chapter><section><section><para> msgid "" "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " "called <filename>gentoo.1</filename>. If there was no <filename>gentoo.1</" "filename> man page in the original source, you should create it by renaming " "the <filename>manpage.1.ex</filename> template to <filename>gentoo.1</" "filename> and editing it using information from the example and from the " "upstream docs." msgstr "" "つまり、<systemitem role=\"package\">gentoo</systemitem> のマニュアルページ" "は <filename>gentoo.1</filename> となります。オリジナルのソースファイルに " "<filename>gentoo.1</filename> というマニュアルページがなければ、アップスト" "リームのドキュメントと例を元にして、<filename>manpage.1.ex</filename> という" "テンプレートファイルを編集し <filename>gentoo.1</filename> というマニュアル" "ページを作らなければなりません。" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Note that <command>help2man</command>'s placeholder man page will claim that " "more detailed documentation is available in the info system. If the command " "is missing an <command>info</command> page, you should manually edit the man " "page created by the <command>help2man</command> command." msgstr "" "<command>help2man</command> が作成する仮のマニュアルページに、詳細なドキュメ" "ントが info システムにあると記載されることに注意して下さい。<command>info</" "command> ページ中にコマンドが無い場合は、<command>help2man</command> コマンド" "が生成したページを手動で修正するべきです。" #. type: Content of: <book><chapter><section><section><para> msgid "" "You can use the <command>help2man</command> command to generate a man page " "out of the <literal>--help</literal> and <literal>--version</literal> output " "of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "各コマンドの <literal>--help</literal>と<literal>--version</literal> 出力か" "ら <command>help2man</command>コマンドを用いてマニュアルページを作成すること" "も可能です。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.sgml.ex</filename>" msgstr "<filename>manpage.sgml.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "If on the other hand you prefer writing SGML instead of <command>nroff</" "command>, you can use the <filename>manpage.sgml.ex</filename> template. If " "you do this, you have to:" msgstr "" "もし、<command>nroff</command>よりSGMLのほうが好みであれば、" "<filename>manpage.sgml.ex</filename> のほうをひな型として使うことも できま" "す。こちらの場合には、以下の手順が必要です。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "rename the file to something like <filename>gentoo.sgml</filename>." msgstr "ファイル名を<filename>gentoo.sgml</filename>のような名前に変更します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-to-man</systemitem> package" msgstr "" "<systemitem role=\"package\">docbook-to-man</systemitem> パッケージのインス" "トール" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add <literal>docbook-to-man</literal> to the <literal>Build-Depends</" "literal> line in the <filename>control</filename> file" msgstr "" "<filename>control</filename> ファイルの <literal>Build-Depends</literal> 行" "へ <literal>docbook-to-man</literal> を追加" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add an <literal>override_dh_auto_build</literal> target to your " "<filename>rules</filename> file:" msgstr "" "<filename>rules</filename> ファイルに <literal>override_dh_auto_build</" "literal> ターゲットを追加します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.xml.ex</filename>" msgstr "<filename>manpage.xml.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you prefer XML over SGML, you can use the <literal>manpage.xml.ex</" "literal> template. If you do this, you have to:" msgstr "" "SGMLよりもXMLが好みであれば、<literal>manpage.xml.ex</literal>をひな形として" "使うこともできます。こちらの場合には、以下の手順が必要です。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "rename the source file to something like <literal>gentoo.1.xml</literal>" msgstr "" "ソースファイルの名前を、<literal>gentoo.1.xml</literal>のような名前に変更しま" "す。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-xsl</systemitem> package " "and an XSLT processor like <systemitem role=\"package\">xsltproc</" "systemitem> (recommended)" msgstr "" "<systemitem role=\"package\">docbook-xsl</systemitem> パッケージと " "<systemitem role=\"package\">xsltproc</systemitem> のような XSLT プロセッサの" "インストール (推奨)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add the <literal>docbook-xsl</literal>, <literal>docbook-xml</literal>, and " "<literal>xsltproc</literal> packages to the <literal>Build-Depends</literal> " "line in the <literal>control</literal> file" msgstr "" "<literal>control</literal> ファイルの <literal>Build-Depends</literal> 行へ、" "<literal>docbook-xsl</literal>、<literal>docbook-xml</literal>、" "<literal>xsltproc</literal> の各パッケージを追加します。" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.manpages</filename>" msgstr "<filename><replaceable>package</replaceable>.manpages</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has manual pages, you should install them using " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> by listing them in a " "<filename><replaceable>package</replaceable>.manpages</filename> file." msgstr "" "パッケージにマニュアルページがある場合、<filename><replaceable>package</" "replaceable>.manpages</filename> ファイルにそれらをリストして、" "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> を使用してインストールします。" #. type: Content of: <book><chapter><section><para> msgid "" "To install <filename>docs/gentoo.1</filename> as a manpage for the " "<systemitem role=\"package\">gentoo</systemitem> package, create a " "<filename>gentoo.manpages</filename> file as follows." msgstr "" "<systemitem role=\"package\">gentoo</systemitem> パッケージのマニュアルページ" "として <filename>docs/gentoo.1</filename> をインストールするには、以下のよう" "に <filename>gentoo.manpages</filename> ファイルを作成します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "docs/gentoo.1\n" msgstr "docs/gentoo.1\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>menu</filename>" msgstr "<filename>menu</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "X Window System users usually have a window manager with a menu that can be " "customized to launch programs. If they have installed the Debian " "<systemitem role=\"package\">menu</systemitem> package, a set of menus for " "every program on the system will be created for them." msgstr "" "X Window System のユーザーは、大抵ウィンドウマネージャを使っており、好きなプ" "ログラムを起動できるようにメニュー機能をカスタマイズしています。<systemitem " "role=\"package\">menu</systemitem> パッケージをインストールしていれば、システ" "ムにある全プログラムのメニュー項目が作成され、menu に対応したウィンドウマネー" "ジャから利用できます。" #. type: Content of: <book><chapter><section><para> msgid "" "Here's the default <filename>menu.ex</filename> file that <command>dh_make</" "command> created." msgstr "" "以下が <command>dh_make</command> が生成したデフォルトの <filename>menu.ex</" "filename> ファイルです。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" msgstr "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The first field after the colon character is <literal>needs</literal>, and " "it specifies what kind of interface the program needs. Change this to one " "of the listed alternatives, e.g. <literal>text</literal> or <literal>X11</" "literal>." msgstr "" "コロン「<literal>:</literal>」の後の最初のフィールドは<literal>needs</" "literal>です。このフィールドは、プログラムがどんなどんなインターフェースが必" "要かを規定します。デフォルトとして挙げられたもの(例:<literal>text</" "literal> や <literal>X11</literal>など)に変更してください。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The current list of sections is in <ulink url=\"&menu-structure;\">The " "Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>. There was " "a major reorganization of menu structure for <literal>squeeze</literal>." msgstr "" "セクションに関する最新リストは <ulink url=\"&menu-structure;\">The Debian " "Menu sub-policy 2.1 \"Preferred menu structure\"</ulink> にあります。メニュー" "構造の大幅な改変が <literal>squeeze</literal> で行われました。" #. type: Content of: <book><chapter><section><para> msgid "" "The next is the <literal>section</literal> that the menu and submenu entry " "should appear in. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "次はメニューやサブメニューの項目が現れる <literal>section</literal>です。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>title</literal> field is the name of the program. You can " "start this one in uppercase if you like. Just keep it short." msgstr "" "<literal>title</literal>フィールドはプログラムの名称です。そうしたければ、大" "文字ではじめても大丈夫です。ただ、短くするようにしましょう。" #. type: Content of: <book><chapter><section><para> msgid "" "Finally, the <literal>command</literal> field is the command that runs the " "program." msgstr "" "最後の <literal>command</literal> フィールドは、実際にプログラムを実行するコ" "マンドです。" #. type: Content of: <book><chapter><section><para> msgid "" "Let's change the file name to <filename>menu</filename> and change the menu " "entry to this:" msgstr "" "それでは、ファイル名を<filename>menu</filename>に変更し、メニューの項目を以下" "のように変更しましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" msgstr "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also add other fields like <literal>longtitle</literal>, " "<literal>icon</literal>, <literal>hints</literal> etc. See <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, and <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> for more information." msgstr "" "他にも、<literal>longtitle</literal>、<literal>icon</literal>、" "<literal>hints</literal> 等のフィールドを追加できます。詳しくは " "<citerefentry> <refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>、 <citerefentry> <refentrytitle>menufile</" "refentrytitle> <manvolnum>5</manvolnum> </citerefentry>、 <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>、<ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> を参照してください。" #. type: Content of: <book><chapter><section><title> msgid "<filename>NEWS</filename>" msgstr "<filename>NEWS</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "<citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>コマンドでインストールします。" #. type: Content of: <book><chapter><section><title> msgid "<filename>{pre,post}{inst,rm}</filename>" msgstr "<filename>{pre,post}{inst,rm}</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Despite this use of the <command>bash</command> shorthand expression " "<filename>{pre,post}{inst,rm}</filename> to indicate these filenames, you " "should use pure POSIX syntax for these maintainer scripts for compatibility " "with <command>dash</command> as the system shell." msgstr "" "<filename>{pre,post}{inst,rm}</filename> という <command>bash</command> 独自" "の短縮形をこれらのファイル名の表記としていますが、システムシェルである " "<command>dash</command> との互換性のために、これらのメンテナースクリプトでは" "純粋の POSIX シンタックスを使うべきです。" #. type: Content of: <book><chapter><section><para> msgid "" "These <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename>, and <filename>prerm</filename> files " "<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " "scripts</emphasis>. They are scripts which are put in the control area of " "the package and run by <command>dpkg</command> when your package is " "installed, upgraded, or removed." msgstr "" "<filename>postinst</filename> や <filename>preinst</filename> や " "<filename>postrm</filename> や <filename>prerm</filename> ファイルは" "<placeholder type=\"footnote\" id=\"0\"/><emphasis>メンテナースクリプト</" "emphasis> と呼ばれています。これらのスクリプトは、パッケージを管理するアリア" "に置かれ、インストール、アップグレード、削除される際に<command>dpkg</command>" "によって実行されます。" #. type: Content of: <book><chapter><section><para> msgid "" "As a novice maintainer, you should avoid any manual editing of maintainer " "scripts because they are problematic. For more information refer to the " "<ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 \"Package " "maintainer scripts and installation procedure\"</ulink>, and take a look at " "the example files provided by <command>dh_make</command>." msgstr "" "メンテナー初心者のうちは、問題になることが多いので<emphasis>メンテナースクリ" "プト</emphasis>を直接編集しないようにしましょう。詳しくは <ulink url=" "\"&policy-mantainerscripts;\">Debian Policy Manual, 6 \"Package maintainer " "scripts and installation procedure\"</ulink> を参照し、<command>dh_make</" "command> によって生成されるサンプルファイルに目を通してください。" #. type: Content of: <book><chapter><section><para> msgid "" "If you did not listen to me and have created custom maintainer scripts for a " "package, you should make sure to test them not only for <emphasis role=" "\"strong\">install</emphasis> and <emphasis role=\"strong\">upgrade</" "emphasis> but also for <emphasis role=\"strong\">remove</emphasis> and " "<emphasis role=\"strong\">purge</emphasis>." msgstr "" "もし私の忠告を無視して、<emphasis>メンテナースクリプト</emphasis>を直接編集し" "た場合は、 <emphasis role=\"strong\">インストール</emphasis>、<emphasis role=" "\"strong\">アップグレード</emphasis>だけでなく、 <emphasis role=\"strong\">削" "除</emphasis>と<emphasis role=\"strong\">パージ</emphasis>のテストもしっかり" "行ってください。" #. type: Content of: <book><chapter><section><para> msgid "" "Upgrades to the new version should be silent and non-intrusive (existing " "users should not notice the upgrade except by discovering that old bugs have " "been fixed and perhaps that there are new features)." msgstr "" "新バージョンへのアップグレードは静かであるべきで、押し付けがましくてはいけま" "せん。(現行ユーザーは、バグが直されたことや新機能が追加されたことで気づかな" "い限りアップグレードに気づかないのが理想です。)" #. type: Content of: <book><chapter><section><para> msgid "" "When the upgrade is necessarily intrusive (eg., config files scattered " "through various home directories with totally different structure), you may " "consider as the last resort switching the package to a safe fallback state " "(e.g., disabling a service) and providing the proper documentation required " "by policy (<filename>README.Debian</filename> and <filename>NEWS.Debian</" "filename>). Don't bother the user with <command>debconf</command> notes " "invoked from these maintainer scripts for upgrades." msgstr "" "アップグレードが出しゃばる必要がある場合 (例えば、構造がまったく異なる設定" "ファイルがホームディレクトリーに散在する場合など)、パッケージのデフォルトを" "(例えばサービスを停止する等の)安全側に設定したり、最後の手段としてはポリシー" "に要求されるきちんとしたドキュメント (<filename>README.Debian</filename>と" "<filename>NEWS.Debian</filename>) を提供するなどの対策を考えるべきです。アッ" "プグレード際に <emphasis>メンテナースクリプト</emphasis> で " "<command>debconf</command> ノートを呼び出したりしてユーザーに迷惑を掛けないで" "ください。" #. type: Content of: <book><chapter><section><para> msgid "" "The <systemitem role=\"package\">ucf</systemitem> package provides a " "<emphasis>conffile-like</emphasis> handling infrastructure to preserve user " "changes for files that may not be labeled as <emphasis>conffiles</emphasis> " "such as those managed by the maintainer scripts. This should minimize " "issues associated with them." msgstr "" "<systemitem role=\"package\">ucf</systemitem> パッケージは、<emphasis>メンテ" "ナースクリプト</emphasis>によって管理されているような <emphasis>conffiles</" "emphasis> とラベルされていないファイルに関して、ユーザーによって変更された" "ファイルを保存する <emphasis>conffileのような</emphasis>処理をする仕組みを提" "供します。この仕組みを使うとこれらに関する問題を最小化できます。" #. type: Content of: <book><chapter><section><para> msgid "" "These maintainer scripts are among the Debian enhancements that explain " "<emphasis role=\"strong\">why people choose Debian</emphasis>. You must be " "very careful not to turn them into a source of annoyance." msgstr "" "これら、<emphasis>メンテナースクリプト</emphasis>は<emphasis role=\"strong\">" "なぜ Debian を選ぶのか</emphasis>という理由の 1 つでもあります。これらの仕組" "みで、ユーザーが迷惑がる原因とならないよう細心の注意をはらいましょう。" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.symbols</filename>" msgstr "<filename><replaceable>package</replaceable>.symbols</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging of library is not easy for a novice maintainer and should be " "avoided. Having said it, if your package has libraries, you should have " "<filename>debian/<replaceable>package</replaceable>.symbols</filename> " "files. See <xref linkend=\"librarysymbols\"/>." msgstr "" "新米メンテナーにとってはライブラリーのパッケージは容易ではないし、避けるべき" "行為です。このように言いましたが、もしあなたのパッケージがライブラリーを含む" "場合には、<filename>debian/<replaceable>package</replaceable>.symbols</" "filename> ファイルを作成すべきです。<xref linkend=\"librarysymbols\"/> を参照" "下さい。" #. type: Content of: <book><chapter><section><title> msgid "<filename>TODO</filename>" msgstr "<filename>TODO</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>コマンドでインストールします。" #. type: Content of: <book><chapter><section><title> msgid "<filename>watch</filename>" msgstr "<filename>watch</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>watch</filename> file format is documented in the " "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> manpage. The <filename>watch</filename> file configures the " "<command>uscan</command> program (in the <systemitem role=\"package" "\">devscripts</systemitem> package) to watch the site where you originally " "got the source from. This is also used by the <ulink url=\"&dehs;\">Debian " "External Health Status (DEHS)</ulink> service." msgstr "" "<filename>watch</filename> ファイルの書式は <citerefentry> " "<refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> を参照してください。<filename>watch</filename> ファイルは、" "<command>uscan</command> ( <systemitem role=\"package\">devscripts</" "systemitem>パッケージに含まれます) を設定し、最初ソースを入手しサイトを監視し" "ます。<ulink url=\"&dehs;\">Debian External Health Status (DEHS)</ulink>に" "よっても使用されています。" #. type: Content of: <book><chapter><section><para> msgid "Here are its contents:" msgstr "いかが素の内容です:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" msgstr "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" #. type: Content of: <book><chapter><section><para> msgid "" "Normally with a <filename>watch</filename> file, the URL at <literal>&sf-" "net;/gentoo</literal> is downloaded and searched for links of the form " "<literal><a href=...></literal>. The basename (just the part after " "the final <literal>/</literal>) of each linked URL is compared against the " "Perl regular expression pattern (see <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Out of the files that match, the one with the " "greatest version number is downloaded and the <command>uupdate</command> " "program is run to create an updated source tree." msgstr "" "通常、この<filename>watch</filename>ファイルでは、<literal>&sf-net;/gentoo</" "literal> の URL がダウンロードされ、<literal><a href=...></literal> " "フォームへのリンクを検索します。リンクされた URL のベースネーム(最後の " "<literal>/</literal> から後の部分のみ)は Perl の正規表現 (<citerefentry> " "<refentrytitle>perlre</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> 参照)パターン <literal>gentoo-(.+)\\.tar\\.gz</literal> に照ら" "し合わされます。一致したファイルの中から、バージョンの番号が一番大きいものが" "ダウンロードされ、その後アップデートされたソースツリーを作成するために " "<command>uupdate</command> プログラムを実行します。" #. type: Content of: <book><chapter><section><para> msgid "" "Although this is true for other sites, the SourceForge download service at " "<ulink url=\"&sf-net;\"/> is an exception. When the <filename>watch</" "filename> file has an URL matching the Perl regexp <literal>^http://sf\\.net/" "</literal>, the <command>uscan</command> program replaces it with " "<literal>&qa-do;watch/sf.php/</literal> and then applies this rule. The URL " "redirector service at <ulink url=\"&qa-do;\"/> is designed to offer a stable " "redirect service to the desired file for any <filename>watch</filename> " "pattern of the form <literal>&sf-net;/<replaceable>project</replaceable>/" "<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This solves " "issues related to periodically changing SourceForge URLs." msgstr "" "他のサイトでは上記の通りですが、<ulink url=\"&sf-net;\"/> の SourceForge のダ" "ウンロードサービスは例外です。<filename>watch</filename>ファイルが Perl の正" "規表現 <literal>^http://sf\\.net/</literal> に一致する URL を含む場合、" "<command>uscan</command> プログラムが代わり に<literal>&qa-do;watch/sf.php/</" "literal> を使い、このルールを当てはめます。<ulink url=\"&qa-do;\">&qa-do;</" "ulink> の URL リダイレクトは <literal>&sf-net;/<replaceable>project</" "replaceable>/<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>を" "含む<filename>watch</filename> ファイルを対象に安定したリダイレクトを提供する" "よう設計されています。これにより、そこで周期的に変化する URL に関する問題を解" "決しています。" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/format</filename>" msgstr "<filename>source/format</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "In the <filename>debian/source/format</filename> file, there should be a " "single line indicating the desired format for the source package (check " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> for an exhaustive list). After <literal>squeeze</" "literal>, it should say either:" msgstr "" "<filename>debian/source/format</filename>ファイルでは、ソースパッケージのため" "の理想の書式を示すための行があります。 (完全なリストは、<citerefentry> " "<refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>を参照してください。)<literal>squeeze</literal>以降は、以下のど" "ちらかになっているべきです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgstr "<literal>3.0 (native)</literal>: Debianネイティブなパッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (quilt)</literal> for everything else." msgstr "<literal>3.0 (quilt)</literal>: それ以外の全て。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for a summary on the switch " "to the new <literal>3.0 (quilt)</literal> and <literal>3.0 (native)</" "literal> source formats." msgstr "" "ソースの書式を <literal>3.0 (quilt)</literal> や <literal>3.0 (native)</" "literal> に移行する際の注意点などは、<ulink url=\"&debsrc3;\">DebSrc3.0</" "ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Actually, this new format also supports multiple upstream tarballs and more " "compression methods. These are beyond the scope of this document." msgstr "" "この新しいフォーマットは、複数のアップストリームの tar 玉やこの他の圧縮方法も" "サポートしています。詳細は本稿の範疇を超えるため割愛します。" #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format records modifications " "in a <command>quilt</command> patch series within <filename>debian/patches</" "filename>. Those changes are then automatically applied during extraction " "of the source package. <placeholder type=\"footnote\" id=\"0\"/> The Debian " "modifications are simply stored in a <filename>debian.tar.gz</filename> " "archive containing all files under the <filename>debian</filename> " "directory. This new format supports inclusion of binary files such as PNG " "icons by the package maintainer without requiring tricks. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "新しい<literal>3.0 (quilt)</literal>の書式は<command>quilt</command>パッチに" "よる変更を <filename>debian/patches</filename>に記録します。そして、その変更" "は自動的にソースパッケージを展開するときに適用されます。<placeholder type=" "\"footnote\" id=\"0\"/>Debianの変更は、<filename>debian</filename>ディレクト" "リー以下のファイル全てを含め、<filename>debian.tar.gz</filename>アーカイブに" "保存されています。この新しい書式は、特殊な方法を用いることなく、PGNアイコンな" "どのパッケージメンテナーによるバイナリーファイルを含めることが可能です。" "<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "When <command>dpkg-source</command> extracts a source package in " "<literal>3.0 (quilt)</literal> source format, it automatically applies all " "patches listed in <filename>debian/patches/series</filename>. You can avoid " "applying patches at the end of the extraction with the <literal>--skip-" "patches</literal> option." msgstr "" "<command>dpkg-source</command>が<literal>3.0 (quilt)</literal>の書式でソース" "パッケージを展開する際、<filename>debian/patches/series</filename>に列挙され" "たパッチを自動的に適用します。<literal>--skip-patches</literal>オプションで、" "展開時にパッチを適用しないようにできます。" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/local-options</filename>" msgstr "<filename>source/local-options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "When you want to manage Debian packaging activities under a VCS, you " "typically create one branch (e.g. <literal>upstream</literal>) tracking the " "upstream source and another branch (e.g. typically <literal>master</" "literal> for Git) tracking the Debian package. For the latter, you usually " "want to have unpatched upstream source with your <filename>debian/*</" "filename> files for the Debian packaging to ease merging of the new upstream " "source." msgstr "" "Debianをパッケージングする活動をVCSで管理したい場合、アップストリームのソース" "をトラックするためのブランチ(例: <literal>upstream</literal>)とDebianパッケー" "ジをトラックするための別のブランチ(Gitでの典型例: <literal>master</literal>)" "を作成します。後者の場合、新しいアップストリームのソースとマージするのを簡単" "にするために、通常パッチの当てていないアップストリームのソースを" "<filename>debian/*</filename>ファイルと一緒に持っておきます。" #. type: Content of: <book><chapter><section><para> msgid "" "After you build a package, the source is normally left patched. You need to " "unpatch it manually by running <literal>dquilt pop -a</literal> before " "committing to the <literal>master</literal> branch. You can automate this " "by adding the optional <filename>debian/source/local-options</filename> file " "containing <literal>unapply-patches</literal>. This file is not included in " "the generated source package and changes the local build behavior only. " "This file may contain <literal>abort-on-upstream-changes</literal>, too (see " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." msgstr "" "パッケージをビルドした後は、ソースのパッチは通常当てたままにされます。" "<literal>master</literal>ブランチにコミットする前に手動で <literal>quilt pop " "-a</literal> を実行してパッチを外す必要があります。<filename>debian/source/" "local-options</filename>ファイルに<literal>unapply-patches</literal>を書いて" "おけば、自動的にパッチを外せます。このファイルは生成されたソースパッケージに" "は含まれず、ローカルビルドでの挙動のみを変更します。このファイルは" "<literal>abort-on-upstream-changes</literal>も含むかもしれません " "(<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> 参照)。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "unapply-patches\n" "abort-on-upstream-changes\n" msgstr "" "unapply-patches\n" "abort-on-upstream-changes\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/options</filename>" msgstr "<filename>source/options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The autogenerated files in the source tree can be quite annoying for " "packaging since they generate meaningless large patch files. There are " "custom modules such as <command>dh_autoreconf</command> to ease this problem " "as described in <xref linkend=\"customrules\"/>." msgstr "" "ソースツリーの中の自動生成されるファイルはパッケージングする際に無意味で大き" "なパッチファイルを生成するのでとても厄介です。<xref linkend=\"customrules\"/" "> で説明したように<command>dh_autoreconf</command> のようなカスタムモジュール" "が本問題を解消るために存在します。" #. type: Content of: <book><chapter><section><para> msgid "" "You can provide a Perl regular expression to the <literal>--extend-diff-" "ignore</literal> option argument of <citerefentry> <refentrytitle>dpkg-" "source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> to ignore " "changes made to the autogenerated files while creating the source package." msgstr "" "<citerefentry> <refentrytitle>dpkg-source</refentrytitle><manvolnum>1</" "manvolnum> </citerefentry> の <literal>--extend-diff-ignore</literal> オプ" "ション引数に Perl 正規表現を提供すると、ソースパッケージ生成時に自動生成ファ" "イルへの変更を無視できます。" #. type: Content of: <book><chapter><section><para> msgid "" "As a general solution to address this problem of the autogenerated files, " "you can store such a <command>dpkg-source</command> option argument in the " "<filename>source/options</filename> file of the source package. The " "following will skip creating patch files for <filename>config.sub</" "filename>, <filename>config.guess</filename>, and <filename>Makefile</" "filename>." msgstr "" "この自動生成ファイルの問題の一般的解決策としてソースパッケージの " "<filename>source/options</filename> ファイル中に <command>dpkg-source</" "command> オプション引数を保存する事が出来ます。以下の例では、" "<filename>config.sub</filename> と <filename>config.guess</filename> と " "<filename>Makefile</filename> に関してパッチファイルを生成をスキップします。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" msgstr "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>patches/*</filename>" msgstr "<filename>patches/*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The old <literal>1.0</literal> source format created a single large " "<filename>diff.gz</filename> file containing package maintenance files in " "<filename>debian</filename> and patch files for the source. Such a package " "is a bit cumbersome to inspect and understand for each source tree " "modification later. This is not so nice." msgstr "" "古い <literal>1.0</literal> のソースフォーマットは、<filename>debian</" "filename> 内にパッケージメンテナンスファイルと、パッチファイルを含む単一の大" "きな <filename>diff.gz</filename> ファイルを作っていました。そのようなファ" "イルは、ソースツリーの変更を後から調べたり、理解するのが非常に厄介でした。こ" "れはあまりいただけません。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Several methods of patch set maintenance have been proposed and are in use " "for Debian packages. The <command>quilt</command> system is the preferred " "maintenance system in use. Others include <command>dpatch</command>, " "<command>dbs</command>, and <command>cdbs</command>. Many of these keep " "such patches as <filename>debian/patches/*</filename> files." msgstr "" "パッチセットをメンテナンスするためのいくつかの方法が提案され、Debian パッケー" "ジで使われていますが、<command>quilt</command> が推奨されています。他には、" "<command>dpatch</command>、<command>dbs</command>、<command>cdbs</command>、" "などがあります。これらの方法は、大抵 <filename>debian/patches/*</filename> " "ファイルでパッチを管理しています。" #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format stores patches in " "<filename>debian/patches/*</filename> files using the <command>quilt</" "command> command. These patches and other package data which are all " "contained under the <filename>debian</filename> directory are packaged as " "the <filename>debian.tar.gz</filename> file. Since the <command>dpkg-" "source</command> command can handle <command>quilt</command> formatted patch " "data in the <literal>3.0 (quilt)</literal> source without the <systemitem " "role=\"package\">quilt</systemitem> package, it does not need a " "<literal>Build-Depends</literal> on <systemitem role=\"package\">quilt</" "systemitem>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "新しい <literal>3.0 (quilt)</literal> は、<command>quilt</command> コマンドを" "使って、パッチを <filename>debian/patches/*</filename> に置きます。" "<filename>debian</filename> ディレクトリー以下に含まれているパッチやその他の" "パッケージデータは、<filename>debian.tar.gz</filename> ファイルとしてパッケー" "ジングされます。<command>dpkg-source</command> コマンドは、<command>quilt</" "command> 形式のパッチデータを <systemitem role=\"package\">quilt</" "systemitem> パッケージなしで <literal>3.0 (quilt)</literal> として扱えるの" "で、<systemitem role=\"package\">quilt</systemitem> パッケージを " "<literal>Build-Depends</literal> に記載する必要はありません。<placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you are asking a sponsor to upload your package, this kind of clear " "separation and documentation of your changes is very important to expedite " "the package review by your sponsor." msgstr "" "スポンサーにパッケージのアップロードを頼む時にも、あなたが加えた変更に対する" "このような明確な分離とドキュメントは、スポンサーによるパッケージのレビューを" "促進させるためにも、非常に重要です。" #. type: Content of: <book><chapter><section><para> msgid "" "The <command>quilt</command> command is explained in <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. It records modifications to the source as a stack of " "<literal>-p1</literal> patch files in the <filename>debian/patches</" "filename> directory and the source tree is untouched outside of the " "<filename>debian</filename> directory. The order of these patches is " "recorded in the <filename>debian/patches/series</filename> file. You can " "apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "<command>quilt</command> コマンドについては<citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> で説明されています。ソースへの変更は、<filename>debian/" "patches</filename> ディレクトリー内 <literal>-p1</literal> パッチファイルのス" "タックとして記録され、<filename>debian</filename> ディレクトリーの外のソース" "ツリーには触れません。それらのパッチの順番は <filename>debian/patches/" "series</filename> ファイルに記録されます。パッチの適用 (=push)も、外す (=pop)" "のも、更新(=refresh)も、簡単にできます。 <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "For <xref linkend=\"modify\"/>, we created three patches in <filename>debian/" "patches</filename>." msgstr "" "<xref linkend=\"modify\"/> では、<filename>debian/patches</filename>に3つの" "パッチを作りました。" #. type: Content of: <book><chapter><section><para> msgid "" "Since Debian patches are located in <filename>debian/patches</filename>, " "please make sure to set up the <command>dquilt</command> command properly as " "described in <xref linkend=\"quiltrc\"/>." msgstr "" "Debian のパッチは <filename>debian/patches</filename> にあるので、<xref " "linkend=\"quiltrc\"/> の説明に従い、<command>dquilt</command> コマンドを正し" "く設定してください。" #. type: Content of: <book><chapter><section><para> msgid "" "When anyone (including yourself) provides a patch " "<filename><replaceable>foo</replaceable>.patch</filename> to the source " "later, modifying a <literal>3.0 (quilt)</literal> source package is quite " "simple:" msgstr "" "誰かが(あなた自身も含みます) <filename><replaceable>foo</replaceable>.patch</" "filename> というパッチを後から提供した際の、<literal>3.0 (quilt)</literal> " "ソースパッケージの変更はとてもシンプルです。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" #. type: Content of: <book><chapter><section><para> msgid "" "The patches stored in the newer <literal>3.0 (quilt)</literal> source format " "must be <emphasis>fuzz</emphasis> free. You can ensure this with " "<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." msgstr "" "新しい <literal>3.0 (quilt)</literal> 形式で保存されるパッチには <emphasis>曖" "昧さ</emphasis>があってはいけません。それを保証するために、<literal>dquilt " "pop -a; while dquilt push; do dquilt refresh; done</literal> としてください。" #. type: Content of: <book><chapter><title> msgid "Building the package" msgstr "パッケージのビルド" #. type: Content of: <book><chapter><para> msgid "We should now be ready to build the package." msgstr "これでパッケージをビルドする準備が整いました。" #. type: Content of: <book><chapter><section><title> msgid "Complete (re)build" msgstr "完全な(再)ビルド" #. type: Content of: <book><chapter><section><para> msgid "" "In order to perform a complete (re)build of a package properly, you need to " "make sure you have installed" msgstr "" "完全なパッケージの(再)ビルドを行うには、以下を確実にインストールして下さ" "い。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <systemitem role=\"package\">build-essential</systemitem> package," msgstr "<systemitem role=\"package\">build-essential</systemitem>パッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>), and" msgstr "" "<literal>Build-Depends</literal>に挙げられているパッケージ(参照<xref linkend=" "\"control\"/>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends-indep</literal> field (see " "<xref linkend=\"control\"/>)." msgstr "" "<literal>Build-Depends-indep</literal>に挙げられているパッケージ(参照 <xref " "linkend=\"control\"/>)" #. type: Content of: <book><chapter><section><para> msgid "Then you issue the following command in the source directory:" msgstr "ソースディレクトリーで以下のコマンドを実行してください。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage\n" msgstr "$ dpkg-buildpackage\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make full binary and source packages for you. It " "will:" msgstr "" "このコマンドはバイナリーパッケージとソースパッケージをビルドする作業をすべて" "行ってくれます。これには以下の作業が含まれます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "clean the source tree (<literal>debian/rules clean</literal>)" msgstr "ソースツリーのクリーン (<literal>debian/rules clean</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the source package (<literal>dpkg-source -b</literal>)" msgstr "ソースパッケージのビルド (<literal>dpkg-source -b</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the program (<literal>debian/rules build</literal>)" msgstr "プログラムのビルド (<literal>debian/rules build</literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)" msgstr "" "バイナリーパッケージのビルド (<literal>fakeroot debian/rules binary</" "literal>)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "sign the source <filename>.dsc</filename> file, using <command>gpg</command>" msgstr "" "<command>gpg</command> を使用したソース<filename>.dsc</filename>ファイルへの" "署名" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "create and sign the upload <filename>.changes</filename> file, using " "<command>dpkg-genchanges</command> and <command>gpg</command>" msgstr "" "<command>dpkg-genchanges</command>および<command>gpg</command>を使用したアッ" "プロード用<filename>.changes</filename>ファイルの生成と署名" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This GPG key must be signed by a Debian developer to get connected to the " "web of trust and must be registered to <ulink url=\"&keyring;\">the Debian " "keyring</ulink>. This enables your uploaded packages to be accepted to the " "Debian archives. See <ulink url=\"&keycreate;\">Creating a new GPG key</" "ulink> and <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." msgstr "" "This GPG キーは信頼の網に連結するように Debian デベロッパーによって署名され、" "<ulink url=\"&keyring;\">the Debian keyring</ulink> に登録されていなければい" "けません。こうすることで Debian アーカイブにパッケージをアップロードして受け" "付けられるようになります。<ulink url=\"&keycreate;\">Creating a new GPG key</" "ulink> と <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink> を参" "照下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "The only input that will be required of you is your GPG secret pass phrase, " "twice. <placeholder type=\"footnote\" id=\"0\"/> If you are building Debian " "packages only for your own local use, you can skip promptings for the GPG " "signatures on the <filename>.dsc</filename> file and the <filename>.changes</" "filename> file like this:" msgstr "" "あなたの GPG 秘密パスフレーズを2回入力するだけが必要なことです。" "<placeholder type=\"footnote\" id=\"0\"/> 自分自身のローカルでの使用のためだ" "けに Debian パッケージを作っている場合は、<filename>.dsc</filename> ファイル" "と <filename>.changes</filename> ファイルに GPG 署名するためのプロンプトを以" "下のようにしてスキップ出来ます:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -us -uc\n" msgstr "$ dpkg-buildpackage -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "" "For a non-native Debian package, e.g., <systemitem role=\"package\">gentoo</" "systemitem>, you will see the following files in the parent directory " "(<filename>~/gentoo</filename>) after building packages:" msgstr "" "ノンネイティブパッケージの場合、パッケージビルド後の親ディレクトリー " "(<filename>~/gentoo</filename>) に以下のファイルが生成されているはずです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the original upstream source code tarball, merely renamed to the " "above so that it adheres to the Debian standard. Note that this was created " "initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgstr "" "これは単に Debian 標準に合わせるために名前を変更しただけで、中身はオリジナル" "なソースコードの tar アーカイブです。これは元来、<literal>dh_make -f ../" "gentoo-0.9.12.tar.gz</literal> で作成されたということを覚えておいてください。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code. The file is generated " "from your <filename>control</filename> file, and is used when unpacking the " "source with <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. This file is GPG signed, so that " "people can be sure that it's really yours." msgstr "" "これはソースコードの内容の概要です。このファイルは あなたの" "<filename>control</filename>ファイルから生成され、<citerefentry> " "<refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>によって ソースを展開する時に使われます。また、GPG で署名されて" "いるので、本当にあなた自身が作成したものかどうかを利用者が検証できます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This compressed tarball contains your <filename>debian</filename> directory " "contents. Each and every addition you made to the original source code is " "stored as a <command>quilt</command> patch in <filename>debian/patches</" "filename>." msgstr "" "この圧縮されたターボールには、あなたの<filename>debian</filename>ディレクト" "リーの中身が含まれています。オリジナルのソースコードに行った変更や追加などの" "情報は全て <filename>debian/patches</filename> 内に、<command>quilt</" "command> パッチとして保存されます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can avoid applying <command>quilt</command> patches in the <literal>3.0 " "(quilt)</literal> source format at the end of the extraction with the " "<literal>--skip-patches</literal> option. Alternatively, you can run " "<literal>dquilt pop -a</literal> after normal operation." msgstr "" "<literal>3.0 (quilt)</literal>ソースフォーマットで<command>quilt</command>" "パッチを当てないようにするには、上記コマンドに<literal>--skip-patches</" "literal>オプションをつけて実行します。または、通常の操作の後に、" "<literal>quilt pop -a</literal>を実行する方法もあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If someone else wants to re-create your package from scratch, they can " "easily do so using the above three files. The extraction procedure is " "trivial: just copy the three files somewhere else and run <literal>dpkg-" "source -x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "上記3つのファイルを使えば誰でも簡単にあなたのパッケージをスクラッチからビル" "ドすることができます。3つのファイルを任意の場所にコピーし、<literal>dpkg-" "source -x gentoo_0.9.12-1.dsc</literal>を実行するだけです。<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package. You can use <command>dpkg</command> " "to install and remove this just like any other package." msgstr "" "これは、あなたが生成した完全なバイナリーパッケージです。他の全てのパッケージ" "と同じく、<command>dpkg</command>を使ってインストールしたり削除したりできま" "す。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package revision; it " "is used by the Debian FTP archive maintenance programs to install the binary " "and source packages. It is partly generated from the <filename>changelog</" "filename> file and the <filename>.dsc</filename> file. This file is GPG " "signed, so that people can be sure that it's really yours." msgstr "" "このファイルは現在のリビジョンパッケージにおける変更点をすべて記載したもの" "で、Debian FTP アーカイブ管理プログラムによって、バイナリーおよびソースパッ" "ケージを FTP アーカイブにインストールするために利用されます。このファイルの一" "部は、<filename>changelog</filename> ファイルと <filename>.dsc</filename> を" "もとに生成されます。また、GPG で署名されているので、本当にあなた自身が作成し" "たものかどうかを利用者が検証できます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "As you keep working on the package, its behavior will change and new " "features will be added. People downloading your package can look at this " "file and quickly see what has changed. Debian archive maintenance programs " "will also post the contents of this file to the <ulink url=\"&debian-devel-" "changes-ldo;\">debian-devel-changes@lists.debian.org</ulink> mailing list." msgstr "" "パッケージの保守管理を続けていくと、挙動の変更や新機能の追加をすることがあり" "ます。あなたのパッケージをダウンロードする人は、このファイルを見れば何が変" "わったのか、一目でわかります。また、このファイルの中身は Debian アーカイブ管" "理プログラムによって、<ulink url=\"&debian-devel-changes-ldo;\">debian-devel-" "changes@lists.debian.org</ulink> メーリングリストへ流されます。" #. type: Content of: <book><chapter><section><para> msgid "" "The long strings of numbers in the <filename>.dsc</filename> and <filename>." "changes</filename> files are SHA1/SHA256 checksums for the files mentioned. " "Anyone downloading your files can test them with <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> or <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> and if the numbers don't match, " "they'll know the file is corrupt or has been tampered with." msgstr "" "<filename>.dsc</filename> と <filename>.changes</filename> ファイルに記載され" "ている長い数字の羅列は各ファイルの MD5/SHA1/SHA256 チェックサムです。パッケー" "ジをダウンロードした人は、<citerefentry> <refentrytitle>sha1sum</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、<citerefentry> " "<refentrytitle>sha256sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>を使って整合性をテストすることができます。もし、数字が一致しない" "場合には、ファイルが壊れているか、あるいは何者かによって改ざんされていると分" "かるわけです。" #. type: Content of: <book><chapter><section><para> msgid "" "For a native Debian package, e.g., <systemitem role=\"package\">mypackage</" "systemitem>, you will see the following files in the parent directory after " "building packages:" msgstr "" "ネイティブパッケージの場合、一連の作業が終わった後の親ディレクトリー " "(<filename>~/gentoo</filename>) には以下のファイルが生成されているはずです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.tar.gz</filename>" msgstr "<filename>mypackage_1.0.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the source code tarball created from the <filename>mypackage-1.0</" "filename> directory by the <command>dpkg-source</command> command. (Its " "suffix is not <filename>orig.tar.gz</filename>.)" msgstr "" "これは、<command>dpkg-source</command> コマンドにより " "<filename>mypackage-1.0</filename> ディレクトリーから作られたソースコード " "tar 玉です。(そのサフィックスは <filename>orig.tar.gz</filename> ではありませ" "ん。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.dsc</filename>" msgstr "<filename>mypackage_1.0.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code as in the non-native " "Debian package. (There is no Debian revision.)" msgstr "" "これは、ノンネイティブ Debian パッケージと同様でソースコード内容の要約です。" "(Debian リビジョンはありません。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.deb</filename>" msgstr "<filename>mypackage_1.0_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package as in the non-native Debian package. " "(There is no Debian revision.)" msgstr "" "これは、ノンネイティブ Debian パッケージと同様で完成したバイナリーパッケージ" "です。(Debian リビジョンはありません。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.changes</filename>" msgstr "<filename>mypackage_1.0_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package version as " "in the non-native Debian package. (There is no Debian revision.)" msgstr "" "これは、ノンネイティブ Debian パッケージと同様で現パッケージバージョンでの全" "変更を記述します。(Debian リビジョンはありません。)" #. type: Content of: <book><chapter><section><title> msgid "Autobuilder" msgstr "オートビルダー" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The actual autobuilder system involves much more complicated schemes than " "the one documented here. Such details are beyond the scope of this document." msgstr "" "実際のオートビルダーシステムは、本稿の説明よりもかなり複雑なスキームによって" "実現しています。それらの詳細は、本稿の範囲を超えるため割愛します。" #. type: Content of: <book><chapter><section><para> msgid "" "Debian supports many <ulink url=\"&ports;\">ports</ulink> with the <ulink " "url=\"&buildd;\">autobuilder network</ulink> running <command>buildd</" "command> daemons on computers of many different architectures. Although you " "do not need to do this yourself, you should be aware of what will happen to " "your packages. Let's look into roughly how they rebuild your packages for " "multiple architectures. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Debian は、様々なアーキテクチャー上で <command>buildd</command> デーモンを走" "らせている<ulink url=\"&buildd;\">オートビルダーネットワーク</ulink>によっ" "て、色々な <ulink url=\"&ports;\">移植版</ulink> をサポートしています。あなた" "がそれらを明示的に使う必要はありませんが、パッケージがどうなるのかを知ってお" "くと良いでしょう。それでは、あなたのパッケージがどのように異なるアーキテク" "チャー向けに再ビルドされるのかを見ていきましょう。<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "For <literal>Architecture: any</literal> packages, the autobuilder system " "performs a rebuild. It ensures the installation of" msgstr "" "<literal>Architecture: any</literal> のパッケージは、オートビルダーシステムに" "よって再ビルドされます。それは、以下を確実にインストールします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <systemitem role=\"package\">build-essential</systemitem> package, and" msgstr "<systemitem role=\"package\">build-essential</systemitem>パッケージ" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>)." msgstr "" "<literal>Build-Depends</literal>に挙げられているパッケージ (参照 <xref " "linkend=\"control\"/>)" #. type: Content of: <book><chapter><section><para> msgid "Then it issues the following command in the source directory:" msgstr "そして、ソースディレクトリーで次のコマンドを実行します:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -B\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make architecture dependent binary packages on " "another architecture. It will:" msgstr "" "これは、別のアーキテクチャー上で、アーキテクチャー依存のバイナリーパッケージ" "を生成する作業をすべて行ってくれます。これには以下の作業が含まれます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "build architecture dependent binary packages (<literal>fakeroot debian/rules " "binary-arch</literal>)" msgstr "" "アーキテクチャー依存のバイナリーパッケージをビルド(<literal>fakeroot debian/" "rules binary-arch</literal>)" #. type: Content of: <book><chapter><section><para> msgid "This is why you see your package for other architectures." msgstr "" "あなたのパッケージが他のアーキテクチャー用にも存在するのは、このためです。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> package, " "the <command>chroot</command> environment under the <systemitem role=" "\"package\">sbuild</systemitem> package used by the autobuilder system does " "not enforce the use of a minimal system and may have many leftover packages " "installed." msgstr "" "<systemitem role=\"package\">pbuilder</systemitem>パッケージとは違い、オート" "ビルダーによって使用される<systemitem role=\"package\">sbuild</systemitem>" "パッケージ下での<command>chroot</command>環境では、最小システムを強制しないの" "で、多くのパッケージがインストールされたままになるかもしれません。" #. type: Content of: <book><chapter><section><para> msgid "" "Although packages listed in the <literal>Build-Depends-Indep</literal> field " "are required to be installed for our normal packaging work (see <xref " "linkend=\"completebuild\"/>), they are not required to be installed for the " "autobuilder system since it builds only architecture dependent binary " "packages. <placeholder type=\"footnote\" id=\"0\"/> This distinction " "between normal packaging and autobuilding procedures is what dictates " "whether you should record such required packages in the <literal>Build-" "Depends</literal> or <literal>Build-Depends-Indep</literal> fields of the " "<filename>debian/control</filename> file (see <xref linkend=\"control\"/>)." msgstr "" "<literal>Build-Depends-indep</literal>フィールドのパッケージは、通常のパッ" "ケージの場合はインストールを要求されますが (参照 <xref linkend=" "\"completebuild\"/>)、オートビルダーシステムでは、アーキテクチャー依存のパッ" "ケージのみをビルドするのでこれらのインストールは必須ではありません。" "<placeholder type=\"footnote\" id=\"0\"/> オートビルダーを使用した場合と普通" "のパッケージングとのこの違いにより、<filename>debian/control</filename> ファ" "イルの <literal>Build-Depends</literal> か <literal>Build-Depends-indep</" "literal> のどちらにパッケージを記載するかが決定されます。(参照 <xref linkend=" "\"control\"/>)" #. type: Content of: <book><chapter><section><title> msgid "<command>debuild</command> command" msgstr "<command>debuild</command>コマンド" #. type: Content of: <book><chapter><section><para> msgid "" "You can automate the <command>dpkg-buildpackage</command> command's package " "build process further with the <command>debuild</command> command. See " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." msgstr "" "<command>dpkg-buildpackage</command>による自動ビルドプロセスは、" "<command>debuild</command>によりさらに進めることができます。<citerefentry> " "<refentrytitle>debuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>を参照してください。" #. type: Content of: <book><chapter><section><para> msgid "" "Customization of the <command>debuild</command> command can be done through " "<filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</" "filename>. I would suggest at least the following items:" msgstr "" "<command>debuild</command> コマンドのカスタマイズは <filename>/etc/" "devscripts.conf</filename> や <filename>~/.devscripts</filename> を用いて行い" "ます。少なくとも以下の設定をすると良いでしょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" msgstr "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "With these, packages are signed by your specified GPG key ID (good for " "sponsoring packages) and checked in detail by the <command>lintian</command> " "command." msgstr "" "これによって、パッケージは常にあなたのGPG鍵で署名され(これはスポンサーの作業" "にも適しています)、<command>lintian</command>コマンドで詳細にチェックされま" "す。" #. type: Content of: <book><chapter><section><para> msgid "" "Cleaning the source and rebuilding the package from your user account is as " "simple as:" msgstr "" "以下のようにすれば一般ユーザーアカウントから、簡単にソースをクリーンしパッ" "ケージを再ビルドできます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild\n" msgstr "$ debuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your own local use, you " "can skip promptings for the GPG signatures on the <filename>.dsc</filename> " "file and the <filename>.changes</filename> file like this:" msgstr "" "もしあなたが Debian パッケージを自分自身のローカル使用のためにのみ作成してい" "る場合は、<filename>.dsc</filename> ファイルや <filename>.changes</filename> " "ファイルへのGPG 署名のプロンプトを次のようにするとスキップできます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -us -uc\n" msgstr "$ debuild -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "You can clean the source tree as simply as:" msgstr "ソースツリーのクリーンも簡単です" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild clean\n" msgstr "$ debuild clean\n" #. type: Content of: <book><chapter><section><title> msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgstr "<systemitem role=\"package\">pbuilder</systemitem>パッケージ" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Since the <systemitem role=\"package\">pbuilder</systemitem> package is " "still evolving, you should check the actual configuration situation by " "consulting the latest official documentation." msgstr "" "<systemitem role=\"package\">pbuilder</systemitem>パッケージはまだ進化の過程" "なので、実際の構成は、最新の公式ドキュメントで確認して下さい。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&buildd-do;\"/> for more on Debian package auto-building." msgstr "" "Debian パッケージのオートビルドに関しては <ulink url=\"&buildd-do;\"/> を参照" "下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "For a clean room (<command>chroot</command>) build environment to verify the " "build dependencies, the <systemitem role=\"package\">pbuilder</systemitem> " "package is very useful. <placeholder type=\"footnote\" id=\"0\"/> This " "ensures a clean build from the source under the <literal>sid</literal> auto-" "builder for different architectures and avoids a severity serious FTBFS " "(Fails To Build From Source) bug which is always in the RC (release " "critical) category. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "ビルド依存を確認するためのクリーンルーム (<command>chroot</command>) ビルド環" "境として、<systemitem role=\"package\">pbuilder</systemitem> パッケージが非常" "に便利です。<placeholder type=\"footnote\" id=\"0\"/> これを使うことで、異な" "るアーキテクチャー向けに <literal>sid</literal> 環境オートビルダーの下での" "ソースからのクリーンなビルドが保証され、常に RC (リリースクリチカル) に分類" "される重要度が serious (深刻)の FTBFS (Fails To Build From Source、ソースから" "のビルド失敗) バグを防ぎます。<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " "package as follows:" msgstr "" "それでは、<systemitem role=\"package\">pbuilder</systemitem> をカスタマイズし" "てみましょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "setting the <filename>/var/cache/pbuilder/result</filename> directory " "writable by your user account." msgstr "" "<filename>/var/cache/pbuilder/result</filename>ディレクトリーを、ユーザーアカ" "ウントから書き込めるように設定してください。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable></filename>, writable by the user, to place hook scripts " "in." msgstr "" "フックスクリプトを置くために、ユーザーからの書き込みが可能なディレクトリーを" "作成してください。例) <filename><replaceable>/var/cache/pbuilder/hooks</" "replaceable></filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "configuring <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" "filename> to include the following." msgstr "" "<filename>~/.pbuilderrc</filename> か <filename>/etc/pbuilderrc</filename> に" "以下のように設定します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgstr "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will allow you to sign generated packages with your secret GPG key in " "the <filename>~/.gnupg/</filename> directory." msgstr "" "これにより、<filename>~/.gnupg/</filename>ディレクトリーにある、あなたのGPG" "キーで生成されたパッケージへの署名を許可します。" #. type: Content of: <book><chapter><section><para> msgid "" "First let's initialize the local <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> system as follows." msgstr "" "それでは、初めてのローカル<systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> システムを初期化しましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo pbuilder create\n" msgstr "$ sudo pbuilder create\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you already have a completed source package, issue the following commands " "in the directory where the <filename><replaceable>foo</replaceable>.orig.tar." "gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</" "filename>, and <filename><replaceable>foo</replaceable>.dsc</filename> files " "exist to update the local <systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> system and to build binary packages in it." msgstr "" "既に完全なソースパッケージがあれば、<filename><replaceable>foo</replaceable>." "orig.tar.gz</filename>ファイル、<filename><replaceable>foo</replaceable>." "debian.tar.gz</filename>ファイル、<filename><replaceable>foo</replaceable>." "dsc</filename>ファイルが存在するディレクトリーで、ローカルの <systemitem " "role=\"package\">pbuilder</systemitem> の <command>chroot</command>システムを" "アップデートし、バイナリーパッケージをその中でビルドしましょう。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" msgstr "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "The newly built packages without the GPG signatures will be located in " "<filename>/var/cache/pbuilder/result/</filename> with non-root ownership." msgstr "" "新しくビルドした GPG 署名の無いパッケージは非ルート所有権で <filename>/var/" "cache/pbuilder/result/</filename> に置かれます。" #. type: Content of: <book><chapter><section><para> msgid "" "The GPG signatures on the <filename>.dsc</filename> file and the <filename>." "changes</filename> file can be generated as:" msgstr "" "<filename>.dsc</filename> ファイルや <filename>.changes</filename> ファイルへ" "のGPG 署名は次のようにするとできます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_version</replaceable>.dsc\n" "$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" msgstr "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_version</replaceable>.dsc\n" "$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have an updated source tree but have not generated the matching " "source package, issue the following commands in the source directory where " "the <filename>debian</filename> directory exists, instead." msgstr "" "更新されたソースツリーが既にあるが一致するソースパッケージを生成していない場" "合は、この代わりに、<filename>debian</filename> ディレクトリーが存在するディ" "レクトリーで、以下のコマンドを発行します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ pdebuild\n" msgstr "" "$ sudo pbuilder --update\n" "$ pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your local use, you can " "skip promptings for the GPG signatures on the <filename>.dsc</filename> file " "and the <filename>.changes</filename> file as:" msgstr "" "ここで、あなたのローカル使用のためにのみ Debian パッケージをビルドしている場" "合、<filename>.dsc</filename>ファイルと <filename>.changes</filename> ファイ" "ルに GPG 署名をするプロンプトを以下のようにすればスキップできます:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ AUTO_DEBSIGN=no pdebuild\n" msgstr "$ AUTO_DEBSIGN=no pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can log into its <command>chroot</command> environment with the " "<literal>pbuilder --login --save-after-login</literal> command and configure " "it as you wish. This environment can be saved by leaving its shell prompt " "with <literal>^D</literal> (Control-D)." msgstr "" "<literal>pbuilder --login --save-after-login</literal>コマンドで、" "<command>chroot</command>環境にログインし、好きに設定することができます。シェ" "ルプロンプトから<literal>^D</literal> (Control-D)で抜けると、その環境を保存し" "ておくことができます。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You can " "find many examples of hook scripts in the <filename>/usr/share/doc/pbuilder/" "examples</filename> directory." msgstr "" "<literal>HOOKDIR=/var/cache/pbuilder/hooks</literal> をここで仮定しています。" "フックスクリプトのサンプルは <filename>/usr/share/doc/pbuilder/examples</" "filename> ディレクトリーににあります。" #. type: Content of: <book><chapter><section><para> msgid "" "The latest version of the <command>lintian</command> command can be executed " "in the <literal>chroot</literal> environment using the hook script " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> configured as follows. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "最新の<command>lintian</command>コマンドは<literal>chroot</literal>環境から次" "のように設定されたフックスクリプト<filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable>/B90lintian</filename>を使用して実行することができます。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" msgstr "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "You need to have access to the latest <literal>sid</literal> environment to " "build packages properly for <literal>sid</literal>. In practice, " "<literal>sid</literal> may be experiencing issues which makes it undesirable " "for you to migrate your whole system. The <systemitem role=\"package" "\">pbuilder</systemitem> package can help you to cope with this kind of " "situation." msgstr "" "<literal>sid</literal> 環境向けのパッケージを正しくビルドするには最新の " "<literal>sid</literal> 環境が必要です。<literal>sid</literal> にはあなたの環" "境全てを移行するには望ましくない問題を抱えていることが少なくありません。" "<systemitem role=\"package\">pbuilder</systemitem> パッケージはそのような状況" "への対処の助けとなります。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are some restrictions for such updates of your <literal>stable</" "literal> package." msgstr "" "<literal>stable</literal> パッケージのそのようなアップデートには制限が課せら" "れます。" #. type: Content of: <book><chapter><section><para> msgid "" "You may need to update your <literal>stable</literal> packages after their " "release for <literal>stable-proposed-updates</literal>, <literal>stable/" "updates</literal>, etc. <placeholder type=\"footnote\" id=\"0\"/> For such " "occasions, the fact you may be running a <literal>sid</literal> system is " "not a good enough excuse for failing to update them promptly. The " "<systemitem role=\"package\">pbuilder</systemitem> package can help you to " "access environments of almost any Debian derivative distribution of the same " "architecture." msgstr "" "<literal>stable/updates</literal>や<literal>stable-proposed-updates</literal>" "がリリースされた後、<literal>stable</literal>パッケージのアップデートが必要な" "場合があります。<placeholder type=\"footnote\" id=\"0\"/>そのような場合に、即" "座にアップデートしない言い訳として <literal>sid</literal> を使っているからと" "いうのは不十分です。<systemitem role=\"package\">pbuilder</systemitem>パッ" "ケージは、同じアーキテクチャーのほぼ全ての Debian 派生であるディストリビュー" "ションへのアクセスを手助けします。" #. type: Content of: <book><chapter><section><para> msgid "" "See <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, and <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." msgstr "" "<ulink url=\"&pbuilder;\"/> と <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> と <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry> と <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry> を参照下さい。" #. type: Content of: <book><chapter><section><title> msgid "<command>git-buildpackage</command> command and similars" msgstr "<command>git-buildpackage</command>コマンドとその仲間" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more." msgstr "" "詳しくは <ulink url=\"&debref-vcs;\">Version control systems</ulink> を参照下" "さい。" #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream uses a source code management system (VCS) <placeholder " "type=\"footnote\" id=\"0\"/> to maintain their code, you should consider " "using it as well. This makes merging and cherry-picking upstream patches " "much easier. There are several specialized wrapper script packages for " "Debian package building for each VCS." msgstr "" "アップストリームがソースコード管理システム (VCS) <placeholder type=\"footnote" "\" id=\"0\"/> を使っているのであれば、同様に使用することを考えるべきです。そ" "れによって、マージとアップストリームパッチの取捨選択がより簡単になります。各 " "VCS 毎に Debian パッケージをビルドするための特別なラッパースクリプトのパッ" "ケージもいくつかあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git-buildpackage</systemitem>: a suite to help " "with Debian packages in Git repositories." msgstr "" "<systemitem role=\"package\">git-buildpackage</systemitem>: Git リポジトリ内" "の Debian パッケージの支援プログラム群です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: helper programs " "to maintain Debian packages with Subversion." msgstr "" "<systemitem role=\"package\">svn-buildpackage</systemitem>:Debian パッケージ" "を Subversion で管理するための支援プログラム群です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: a set of Debian " "package scripts for CVS source trees." msgstr "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: CVS ソースツリー" "のための Debian パッケージスクリプト群です。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documents how " "to use the <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> service." msgstr "" "<ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> サービスの使い方は、" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> に記載されてい" "ます。" #. type: Content of: <book><chapter><section><para> msgid "" "Use of <systemitem role=\"package\">git-buildpackage</systemitem> is " "becoming quite popular for Debian Developers to manage Debian packages with " "the Git server on <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>. " "<placeholder type=\"footnote\" id=\"0\"/> This package offers many commands " "to <emphasis>automate</emphasis> packaging activities." msgstr "" "Debian デベロッパーが <ulink url=\"&debian-alioth;\">alioth.debian.org</" "ulink> 上の Git サーバーを用い Debian パッケージを管理するのに <systemitem " "role=\"package\">git-buildpackage</systemitem> を使うことがよくあります。" "<placeholder type=\"footnote\" id=\"0\"/> このパッケージはパッケージ活動を" "<emphasis>自動化</emphasis>する多くのコマンドを提供します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import previous Debian package to a Git " "repository." msgstr "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: 過去の Debian パッケージを Git レポジトリーにイン" "ポートする。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import new upstream tar to a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: 新アップストリーム tar を Git レポジトリーにイン" "ポートします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: generate the Debian changelog from Git commit " "messages." msgstr "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: Debian changelog を Git のコミットメッセージから" "生成します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: Debian パッケージを Git レポジトリーからビルドし" "ます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository " "using <command>pbuilder</command>/<command>cowbuilder</command>." msgstr "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: Debian パッケージを Git レポジトリーから " "<command>pbuilder</command>/<command>cowbuilder</command> を持ちいてビルドし" "ます。" #. type: Content of: <book><chapter><section><para> msgid "These commands use 3 branches to track packaging activity." msgstr "" "これらのコマンドはパッケージング活動を追跡する 3 つのブランチを使用します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>main</literal> for Debian package source tree." msgstr "Debian パッケージのソースツリーは、<literal>main</literal> 。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>upstream</literal> for upstream source tree." msgstr "アップストリームのソースツリーは、<literal>upstream</literal>。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "The <literal>--pristine-tar</literal> option invokes the <command>pristine-" "tar</command> command which can regenerate an exact copy of a pristine " "upstream tarball using only a small binary delta file and the contents of " "the tarball, which are typically kept in an <literal>upstream</literal> " "branch in the VCS." msgstr "" "<literal>--pristine-tar</literal> オプションは、小さなバイナリデルタと通常 " "VCS の <literal>upstream</literal> ブランチ中に保存された tar 玉の内容のみを" "用い完全に元通りの手付かずの tar 玉を再生成する <command>pristine-tar</" "command> コマンドを起動します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>pristine-tar</literal> for upstream tarball generated by the " "<literal>--pristine-tar</literal> option.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<literal>--pristine-tar</literal> オプションにより生成されるアップストリーム " "tar 玉は、<literal>pristine-tar</literal>。<placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Here are some web resources available for advanced audiences." msgstr "以下は、上級者のみなさんの参考になるウェブ上で閲覧できる資料です。" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "Building Debian Packages with git-buildpackage (<filename>&git-buildpackage-" "doc;</filename>)" msgstr "" "git-buildpackage を使っての Debian パッケージ作成 (<filename>&git-" "buildpackage-doc;</filename>)" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" msgstr "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgstr "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" msgstr "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "You can configure <systemitem role=\"package\">git-buildpackage</systemitem> " "with <filename>~/.gbp.conf</filename>. See <citerefentry> <refentrytitle>gbp." "conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">git-buildpackage</systemitem> は <filename>~/." "gbp.conf</filename> で設定できます。<citerefentry> <refentrytitle>gbp.conf</" "refentrytitle> <manvolnum>5</manvolnum> </citerefentry> を参照下さい。 " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "Quick rebuild" msgstr "部分的な再ビルド" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Environment variables which are normally configured to proper values are not " "set by this method. Never create real packages to be uploaded using this " "<emphasis role=\"strong\">quick</emphasis> method." msgstr "" "その場合は、通常だと正しく設定される環境変数は設定されません。アップロード用" "のパッケージはこの<emphasis role=\"strong\">簡易</emphasis>メソッドで生成しな" "いでください。" #. type: Content of: <book><chapter><section><para> msgid "" "With a large package, you may not want to rebuild from scratch every time " "while you're tuning details in <filename>debian/rules</filename>. For " "testing purposes, you can make a <filename>.deb</filename> file without " "rebuilding the upstream sources like this<placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "大規模なパッケージの場合には、<filename>debian/rules</filename> をちょっとい" "じるたびに、毎回最初からパッケージの再ビルドをやりなおすのは手間です。テスト" "目的であれば、以下の方法でアップストリームソースを再ビルドをせずに " "<filename>.deb</filename> ファイルを生成することができます。 <placeholder " "type=\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules binary\n" msgstr "$ fakeroot debian/rules binary\n" #. type: Content of: <book><chapter><section><para> msgid "Or simply do the following to see if it builds or not:" msgstr "また、以下の方法を使えば生成可能かどうかをチェックすることができます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules build\n" msgstr "$ fakeroot debian/rules build\n" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are finished with your tuning, remember to rebuild following the " "proper procedure. You may not be able to upload correctly if you try to " "upload <filename>.deb</filename> files built this way." msgstr "" "最終的にきちんとテストが完了したら、正しい手順に従ってパッケージを最初から再" "ビルドすることを忘れないでください。この方法でビルドした <filename>.deb</" "filename> ファイルをアップロードしようとしても、おそらくうまくアップロードで" "きないでしょう。" #. type: Content of: <book><chapter><title> msgid "Checking the package for errors" msgstr "パッケージのエラーの検証" #. type: Content of: <book><chapter><para> msgid "" "There are some techniques you should know for checking a package for errors " "before uploading it to the public archives." msgstr "" "ここでは, 公式アーカイブにパッケージをアップロードする前に、作成したパッケー" "ジのエラーをあなた自身で確認するために知っておかなければならない方法につい" "て、幾つか述べます。" #. type: Content of: <book><chapter><para> msgid "" "It's also a good idea to carry out testing on a machine other than your " "own. You must watch closely for any warnings or errors for all the tests " "described here." msgstr "" "あなたのマシン以外でのテストもまた良いアイデアです。以下に述べるすべてのテス" "トにおける、どんな警告とエラーについてでもしっかりと確認しておかなければなり" "ません。" #. type: Content of: <book><chapter><section><title> msgid "Suspicious changes" msgstr "怪しげな変更" #. type: Content of: <book><chapter><section><para> msgid "" "If you find a new autogenerated patch file such as <filename>debian-changes-" "*</filename> in the <filename>debian/patches</filename> directory after " "building your non-native Debian package in <literal>3.0 (quilt)</literal> " "format, chances are you changed some files by accident or the build script " "modified the upstream source. If it is your mistake, fix it. If it is " "caused by the build script, fix the root cause with <command>dh-autoreconf</" "command> as in <xref linkend=\"customrules\"/> or work around it with " "<filename>source/options</filename> as in <xref linkend=\"sourceopt\"/>." msgstr "" "あなたの <literal>3.0 (quilt)</literal> フォーマットのノンエイティブ Debian " "パッケージ をビルドした後で、<filename>debian/patches</filename> ディレクト" "リー内に <filename>debian-changes-*</filename> のような新規の自動生成された" "パッチファイルを見つけた場合。何かの間違いで何らかのファイルを変更したか、ビ" "ルドスクリプトがアップストリームソースに変更を加えた可能性が大いにあります。" "あなたの間違いなら、それを修正しましょう。ビルドスクリプトが引き起こした場合" "は、<xref linkend=\"customrules\"/> にあるように <command>dh-autoreconf</" "command> を使って根本原因を修正するか、<xref linkend=\"sourceopt\"/> にあるよ" "うに <filename>source/options</filename> を使って回避策をとります。" #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's installation" msgstr "インストールに対するパッケージの検証" #. type: Content of: <book><chapter><section><para> msgid "" "You must test your package for whether it installs without problem. The " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> command helps you to test installing all the generated " "binary packages." msgstr "" "あなたのパッケージが問題なくインストールできるかどうかをテストしなければなり" "ません。<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> コマンドはあなたが作成した全てのバイナリーパッケー" "ジのインストールテストに役立ちます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n" msgstr "$ sudo debi gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "To prevent installation problem on different systems, you must make sure " "that there are no filenames conflicting with other existing packages, using " "the <filename>Contents-<replaceable>i386</replaceable></filename> file " "downloaded from the Debian archive. The <command>apt-file</command> command " "may be handy for this task. If there are collisions, please take action to " "avoid this real problem, whether by renaming the file, moving a common file " "to a separate package that multiple packages can depend on, using the " "alternatives mechanism (see <citerefentry><refentrytitle>update-" "alternatives</refentrytitle> <manvolnum>1</manvolnum></citerefentry>) in " "coordination with the maintainers of other affected packages, or declaring a " "<literal>Conflicts</literal> relationship in the <filename>debian/control</" "filename> file." msgstr "" "別のシステムでインストール時に問題が起きるのを防ぐために、Debian アーカイブよ" "りダウンロードした <filename>Contents-<replaceable>i386</replaceable></" "filename> ファイルを用いて、他の既存のパッケージと重複するファイルがないこと" "を確認しておかなければなりません。<command>apt-file</command> コマンドはこの" "作業において恐らく役に立つでしょう。重複するファイルが存在するならば、実際に" "問題になることを回避するために、ファイルをリネームするか、複数のパッケージが" "依存する独立のパッケージに共通ファイルを移動するか、他の影響のあるパッケージ" "と調整しながら alternatives (<citerefentry> <refentrytitle>update-" "alternatives</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> 参照)を" "用いるか、<filename>debian/control</filename>に <literal>Conflicts</literal> " "項目を宣言して下さい。" #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's maintainer scripts" msgstr "パッケージの<emphasis>メンテナースクリプト</emphasis>の検証" #. type: Content of: <book><chapter><section><para> msgid "" "All maintainer scripts (that is, <filename>preinst</filename>, " "<filename>prerm</filename>, <filename>postinst</filename>, and " "<filename>postrm</filename> files) are hard to write correctly unless they " "are auto-generated by the <systemitem role=\"package\">debhelper</" "systemitem> programs. So do not use them if you are a novice maintainer " "(see <xref linkend=\"maintscripts\"/>)." msgstr "" "全ての<emphasis>メンテナースクリプト</emphasis> (<filename>preinst</" "filename>、<filename>prerm</filename>、<filename>postinst</filename> そして " "<filename>postrm</filename> ファイルのこと) は、それが <systemitem role=" "\"package\">debhelper</systemitem>プログラムで自動生成されたのでない場合は、" "正しく書くことが非常に困難です。だからあなたが新米メンテナーならばこれらは使" "わないで下さい (<xref linkend=\"maintscripts\"/> 参照)。" #. type: Content of: <book><chapter><section><para> msgid "" "If the package makes use of these non-trivial maintainer scripts, be sure to " "test not only for install but also for remove, purge, and upgrade " "processes. Many maintainer script bugs show up when packages are removed or " "purged. Use the <command>dpkg</command> command as follows to test them." msgstr "" "パッケージがこれらの重要な<emphasis>メンテナースクリプト</emphasis>を使用する" "ならば、インストールだけではなく、削除、完全削除 (purge)、そしてアップグレー" "ドについても確実にテストしましょう。多くの<emphasis>メンテナースクリプト</" "emphasis>のバグは削除もしくは完全削除の場合に発生します。これらのテストのため" "には、以下の様に <command>dpkg</command> コマンドを実行します。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" msgstr "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" #. type: Content of: <book><chapter><section><para> msgid "This should be done with sequences such as the following." msgstr "以下のような順番で実行すべきでしょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the previous version (if needed)." msgstr "(可能な場合は)前回バージョンをインストールします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "upgrade it from the previous version." msgstr "旧バージョンからアップグレードします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "downgrade it back to the previous version (optional)." msgstr "旧バージョンになるよう、ダウングレードします (オプション)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "purge it." msgstr "完全削除 (purge) します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the new package." msgstr "新しいパッケージとしてインストールします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "remove it." msgstr "削除します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install it again." msgstr "もう一度インストールします。" #. type: Content of: <book><chapter><section><para> msgid "" "If this is your first package, you should create dummy packages with " "different versions to test your package in advance to prevent future " "problems." msgstr "" "これが最初に作成したパッケージならば、将来発生するかもしれない問題を防ぐため" "に、異なるバージョンのダミーパッケージを作成すべきです。" #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that if your package has previously been released in Debian, " "people will often be upgrading to your package from the version that was in " "the last Debian release. Remember to test upgrades from that version too." msgstr "" "あなたのパッケージが過去の Debian にてリリースされていた場合には、人々は大抵" "最新の Debian のリリース版に含まれているバージョンからパッケージのアップグ" "レードをするであろう、ということに配慮しましょう。上記の手順で、そのバージョ" "ンからきちんとアップグレードできることを、忘れずに確認しておいてください。" #. type: Content of: <book><chapter><section><para> msgid "" "Although downgrading is not officially supported, supporting it is a " "friendly gesture." msgstr "" "ダウングレードは公式にはサポートされていませんが、これをサポートするのは友好" "的な態度です。" #. type: Content of: <book><chapter><section><title> msgid "Using <systemitem role=\"package\">lintian</systemitem>" msgstr "Using <systemitem role=\"package\">lintian</systemitem>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You do not need to provide the <command>lintian</command> option <literal>-i " "-I --show-overrides</literal> if you customized <filename>/etc/devscripts." "conf</filename> or <filename>~/.devscripts</filename> as described in <xref " "linkend=\"debuild\"/>." msgstr "" "<filename>/etc/devscripts.conf</filename> や <filename>~/.devscripts</" "filename> において <xref linkend=\"debuild\"/> で述べた設定をしている場合に" "は、<command>lintian</command> に <literal>-i -I --show-overrides</literal> " "オプションを指定する必要はありません。" #. type: Content of: <book><chapter><section><para> msgid "" "Run <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> on your <filename>.changes</filename> file. The " "<command>lintian</command> command runs many test scripts to check for many " "common packaging errors. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> を <filename>.changes</filename> に対して実行しま" "しょう。<command>lintian</command> コマンドはパッケージ作成時のよくある間違い" "をチェックするために多くのテストスクリプトを実行します。<placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" msgstr "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of the <filename>.changes</" "filename> file generated for your package. The output of the " "<command>lintian</command> command uses the following flags." msgstr "" "もちろん、<filename>.changes</filename> のファイル名はあなたが作成したパッ" "ケージに置き換えて下さい。<command>lintian</command> コマンドの出力は以下のよ" "うにマークされています。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>E:</literal> for error; a sure policy violation or packaging error." msgstr "" "<literal>E:</literal> はエラーです。 確実にポリシー違反もしくはパッケージエ" "ラーです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>W:</literal> for warning; a possible policy violation or packaging " "error." msgstr "" "<literal>W:</literal> は警告です。 ポリシー違反もしくはパッケージエラーである" "可能性があります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>I:</literal> for info; information on certain aspects of packaging." msgstr "" "<literal>I:</literal> は参考情報です。パッケージのとある性質について参考とな" "る情報を提供します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>N:</literal> for note; a detailed message to help your debugging." msgstr "<literal>N:</literal> は覚書です。 デバッグに有用な情報を詳述します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>O:</literal> for overridden; a message overridden by the " "<filename>lintian-overrides</filename> files but displayed by the <literal>--" "show-overrides</literal> option." msgstr "" "<literal>O:</literal> はオーバーライド通知です。 <filename>lintian-" "overrides</filename> ファイルによりメッセージがオーバーライドされたメッセージ" "です。これは <literal>--show-overrides</literal> オプションを指定した際に表示" "されます。" #. type: Content of: <book><chapter><section><para> msgid "" "When you see warnings, tune the package to avoid them or verify that the " "warnings are spurious. If spurious, set up <filename>lintian-overrides</" "filename> files as described in <xref linkend=\"lintian\"/>." msgstr "" "警告が出た場合には、パッケージを調整するか、その警告が不当であることを確認し" "て下さい。もし警告が不当である場合には <xref linkend=\"lintian\"/> で述べた " "<filename>lintian-overrides</filename> を作成して下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "Note that you can build the package with <command>dpkg-buildpackage</" "command> and run <command>lintian</command> on it in one command, if you use " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> or <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "" "<command>dpkg-buildpackage</command> によるパッケージの生成と " "<command>lintian</command> の実行は、<citerefentry> <refentrytitle>debuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> コマンド、もしくは " "<citerefentry> <refentrytitle>pdebuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> コマンドを用いれば一気に実行することができます。" #. type: Content of: <book><chapter><section><title> msgid "The <command>debc</command> command" msgstr "<command>debc</command> コマンド" #. type: Content of: <book><chapter><section><para> msgid "" "You can list files in the binary Debian package with the <citerefentry> " "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "command." msgstr "" "<citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> コマンドを用いるとバイナリーパッケージに含まれるファイルの一" "覧が得られます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debc <replaceable>package</replaceable>.changes\n" msgstr "$ debc <replaceable>package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><title> msgid "The <command>debdiff</command> command" msgstr "<command>debdiff</command> コマンド" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare file contents in two source Debian packages with the " "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> コマンドを用いると、二つのソースパッケージに含まれ" "ているファイルを比較することができます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also compare file lists in two sets of binary Debian packages with " "the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> コマンドは二つのバイナリーパッケージに含まれるファ" "イルの一覧を比較することもできます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgstr "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "These are useful to identify what has been changed in the source packages " "and to check for inadvertent changes made when updating binary packages, " "such as unintentionally misplacing or removing files." msgstr "" "これらのコマンドは、ソースパッケージ中でどんな変更をしたのか、バイナリーパッ" "ケージの中で意図せず削除したり配置を間違えたりしていないか、そしてバイナリー" "パッケージの更新時に不用意な変更をしていないかどうか, といった事柄を確認する" "のに便利です。" #. type: Content of: <book><chapter><section><title> msgid "The <command>interdiff</command> command" msgstr "<command>interdiff</command> コマンド" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare two <filename>diff.gz</filename> files with the " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command. This is useful for verifying that no " "inadvertent changes were made to the source by the maintainer when updating " "packages in the old <literal>1.0</literal> source format." msgstr "" "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> コマンドを用いると、二つの <filename>.diff.gz</" "filename> ファイルを比較することができます。旧来の <literal>1.0</literal> " "ソース形式でパッケージを更新している場合には、メンテナーがソースに意図しない" "変更をしていないことを確認するのに便利です。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" msgstr "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "The new <literal>3.0</literal> source format stores changes in multiple " "patch files as described in <xref linkend=\"patches\"/>. You can trace " "changes of each <filename>debian/patches/*</filename> file using " "<command>interdiff</command>, too." msgstr "" "新規の <literal>3.0</literal> ソースフォーマットは <xref linkend=\"patches\"/" "> で説明したように複数のパッチファイル中に変更を保存します。各々の " "<filename>debian/patches/*</filename> ファイルの変化も <command>interdiff</" "command> を使って追いかけられます。" #. type: Content of: <book><chapter><section><title> msgid "The <command>mc</command> command" msgstr "<command>mc</command> コマンド" #. type: Content of: <book><chapter><section><para> msgid "" "Many of these file inspection operations can be made into an intuitive " "process by using a file manager like <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> which will let you " "browse not only the contents of <filename>*.deb</filename> package files but " "also <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, " "<filename>*.diff.gz</filename>, and <filename>*.orig.tar.gz</filename> files." msgstr "" "<citerefentry> <refentrytitle>mc</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> の様に、<filename>*.deb</filename>パッケージファイルだけではな" "く、<filename>*.udev</filename>, <filename>*.debian.tar.gz</filename>, " "<filename>*.diff.gz</filename>, <filename>*.orig.tar.gz</filename> の中身を閲" "覧することができるファイルマネージャを用いると、多くのファイルの検査が直感的" "に行なえます。" #. type: Content of: <book><chapter><section><para> msgid "" "Be on the lookout for extra unneeded files or zero length files, both in the " "binary and source package. Often cruft doesn't get cleaned up properly; " "adjust your <filename>rules</filename> file to compensate for this." msgstr "" "不要なファイルや長さゼロのファイルがバイナリーパッケージとソースパッケージに" "含まれていないことをよく確認して下さい。 大抵は不要なファイルが正しく削除され" "ずに残ってしまっています。<filename>rules</filename> を調整しこれを修正して下" "さい。" #. type: Content of: <book><chapter><title> msgid "Updating the package" msgstr "パッケージの更新" #. type: Content of: <book><chapter><para> msgid "After you release a package, you will soon need to update it." msgstr "パッケージをリリースしたなら、間もなくそれを更新する必要があります。" #. type: Content of: <book><chapter><section><title> msgid "New Debian revision" msgstr "Debian リビジョンの更新" #. type: Content of: <book><chapter><section><para> msgid "" "Let's say that a bug report was filed against your package as " "<literal>#654321</literal>, and it describes a problem that you can solve. " "Here's what you need to do to create a new Debian revision of the package." msgstr "" "例えば仮に、<literal>#654321</literal> という番号のバグレポートがあなたのパッ" "ケージ に対してファイルされ、解決可能な問題が記述されていたとしましょう。 " "パッケージの新しい Debian リビジョンを作成するには、以下を実行する 必要があり" "ます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to be recorded as a new patch, do the following." msgstr "もしこれが新規のパッチとして記録される場合には、以下のようにします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> to " "set the patch name;" msgstr "" "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> として" "パッチ名を設定します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> to " "declare the file to be modified;" msgstr "" "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> として変" "更されるファイルを宣言します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Correct the problem in the package source for the upstream bug;" msgstr "アップストリームバグに関してパッケージソース中の問題を修正します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to record it to " "<filename><replaceable>bugname.patch</replaceable></filename>;" msgstr "" "<literal>dquilt refresh</literal> として <filename><replaceable>bugname." "patch</replaceable></filename> に記録します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to add its description;" msgstr "<literal>dquilt header -e</literal> としてその内容記述を追加します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to update an existing patch, do the following." msgstr "もし既存のパッチをアップデートする場合には、以下のようにします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> to recall " "the existing <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> として既存" "の <filename><replaceable>foo.patch</replaceable></filename> を呼び出します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Correct the problem in the old <filename><replaceable>foo.patch</" "replaceable></filename>;" msgstr "" "古い <filename><replaceable>foo.patch</replaceable></filename> 中の問題を修正" "します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to update <filename><replaceable>foo." "patch</replaceable></filename>;" msgstr "" "<literal>dquilt refresh</literal> として <filename><replaceable>foo.patch</" "replaceable></filename> を更新します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to update its description;" msgstr "<literal>dquilt header -e</literal> としてその内容記述を更新します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>;" msgstr "" "<literal>while dquilt push; do dquilt refresh; done</literal> として " "<emphasis>fuzz</emphasis> を削除しながら全てのパッチを適用します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "To get the date in the required format, use <literal>LANG=C date -R</" "literal>." msgstr "" "日付を要求されるフォーマットで入力するには、<literal>LANG=C date -R</literal>" "を使います。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add a new revision at the top of the Debian <filename>changelog</filename> " "file, for example with <literal>dch -i</literal>, or explicitly with " "<literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal> and then insert the comments using your preferred " "editor. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "次に Debian <filename>changelog</filename> ファイルの先頭に新しいリビジョン" "を 追加します。例えば<literal>dch -i</literal>を実行するか、またはバージョン" "を 明示したい場合なら<literal>dch -v <replaceable>version</replaceable>-" "<replaceable>revision</replaceable></literal> を実行してあなたの好きなエディ" "タで説明を記入すると楽にできます。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Include a short description of the bug and the solution in the changelog " "entry, followed by <literal>Closes: #654321</literal>. That way, the bug " "report will be <emphasis>automagically</emphasis> closed by the archive " "maintenance software the moment your package gets accepted into the Debian " "archive." msgstr "" "changelog の説明行に、このリビジョンで解決されたバグと、 その解決方法について" "の簡単な説明を記載し、<literal>Closes: #54321</literal> と続けておきます。 こ" "れによってあなたのパッケージが Debian アーカイブ中に受け入れられた時、 アーカ" "イブ管理ソフトウェアによって該当するバグレポートが<emphasis>魔法のように自動" "的</emphasis>に閉じられます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in the above to fix more bugs while updating the Debian " "<filename>changelog</filename> file with <literal>dch</literal> as needed." msgstr "" "上記であなたがしたことを繰り返し、必要に応じて Debian <filename>changelog</" "filename> ファイルを <literal>dch</literal> で更新しながら、更なるバグ修正を" "行います。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in <xref linkend=\"completebuild\"/> and <xref linkend=" "\"checkit\"/>." msgstr "" " <xref linkend=\"completebuild\"/> と <xref linkend=\"checkit\"/> で行ったこ" "とを繰り返して下さい。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Once you are satisfied, you should change the distribution value in " "<filename>changelog</filename> from <literal>UNRELEASED</literal> to the " "target distribution value <literal>unstable</literal> (or even " "<literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "一旦満足した時点で、<filename>changelog</filename> 中のディストリビューション" "値を <literal>UNRELEASED</literal> からターゲットディストリビューション値 " "<literal>unstable</literal> (もしくは場合に依っては <literal>experimental</" "literal>) へと変更すべきです。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Upload the package as <xref linkend=\"upload\"/>. The difference is that " "this time, the original source archive won't be included, as it hasn't been " "changed and it already exists in the Debian archive." msgstr "" "<xref linkend=\"upload\"/> と同様にパッケージをアップロードします。 今までと" "違うのは、今回の場合オリジナルソースアーカイブには 変更が無く、同じものが既" "に Debian アーカイブ中に存在しているため、 アップロードするファイルにはオリジ" "ナルのソースアーカイブが含まれないという点だけです。" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case can occur when you make a local package to experiment with " "the packaging before uploading the normal version to the official archive, e." "g., <literal><replaceable>1.0.1</replaceable>-<replaceable>1</replaceable></" "literal>. For smoother upgrades, it is a good idea to create a " "<filename>changelog</filename> entry with a version string as " "<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" "literal>. You may unclutter <filename>changelog</filename> by consolidating " "such local change entries into a single entry for the official package. See " "<xref linkend=\"namever\"/> for the order of version strings." msgstr "" "例えばオフィシャルのアーカイブへ <literal><replaceable>1.0.1</replaceable>-" "<replaceable>1</replaceable></literal> のようなノーマルのバージョンをアップ" "ロードする前にパッケージングを色々試すべくローカルパッケージを作る時には要注" "意です。スムースなアップグレードのためには、<literal><replaceable>1.0.1</" "replaceable>-<replaceable>1~rc1</replaceable></literal> のような文字列のバー" "ジョンの項目を<filename>changelog</filename> に作るのがいい考えです。オフィ" "シャルパッケージのためには、そのようなローカル変更の複数項目を単一の項目にま" "とめて <filename>changelog</filename> をすっきりさせてもいいです。バージョン" "文字列の順序に関しては <xref linkend=\"namever\"/> を参照下さい。" #. type: Content of: <book><chapter><section><title> msgid "Inspection of the new upstream release" msgstr "新規のアップストリームリリースの検査" #. type: Content of: <book><chapter><section><para> msgid "" "When preparing packages of a new upstream release for the Debian archive, " "you must check the new upstream release, first." msgstr "" "Debian アーカイブ用の新しいアップストリームリリースパッケージの準備をする際" "は、まず、新アップストリームリリースをチェックしなければなりません。" #. type: Content of: <book><chapter><section><para> msgid "" "Start by reading the upstream <filename>changelog</filename>, " "<filename>NEWS</filename>, and whatever other documentation they may have " "released with the new version." msgstr "" "アップストリームの <filename>changelog</filename> や <filename>NEWS</" "filename>、その他の新しいバージョンでリリースされたドキュメントを読むことから" "始めてください" #. type: Content of: <book><chapter><section><para> msgid "" "You can then inspect changes between the old and new upstream sources as " "follows, watching out for anything suspicious." msgstr "" "以下のようにすれば何かおかしな事が無いかに注意を払いつつ新旧のアップストリー" "ムソース間の変更検査ができます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgstr "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "Changes to some auto-generated files by Autotools such as <filename>missing</" "filename>, <filename>aclocal.m4</filename>, <filename>config.guess</" "filename>, <filename>config.h.in</filename>, <filename>config.sub</" "filename>, <filename>configure</filename>, <filename>depcomp</filename>, " "<filename>install-sh</filename>, <filename>ltmain.sh</filename>, and " "<filename>Makefile.in</filename> may be ignored. You may delete them before " "running <command>diff</command> on the source for inspection." msgstr "" "<filename>missing</filename> や <filename>aclocal.m4</filename> や " "<filename>config.guess</filename> や <filename>config.h.in</filename> や " "<filename>config.sub</filename> や <filename>configure</filename> や " "<filename>depcomp</filename> や <filename>install-sh</filename> や " "<filename>ltmain.sh</filename> や <filename>Makefile.in</filename> 等の " "Autotools によって自動生成されるファイルへの変更は無視していい場合がありま" "す。ソースを検査するための <command>diff</command> を実行する前に消去してもい" "いです。" #. type: Content of: <book><chapter><section><title> msgid "New upstream release" msgstr "アップストリームソフトウェアの新版更新" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is packaged in the old <literal>1.0</literal> format, this can " "be done by running <literal>zcat /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" "literal> in the new extracted source, instead." msgstr "" "もしパッケージ <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> が旧 <literal>1.0</literal> フォーマットでパッケージされている場" "合は、新規に展開されたソース中で <literal>zcat /<replaceable>path</" "replaceable>/<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" "literal> を実行すれば出来ます。" #. type: Content of: <book><chapter><section><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is properly packaged in the newer <literal>3.0 (native)</" "literal> or <literal>3.0 (quilt)</literal> formats, packaging a new upstream " "version is essentially moving the old <filename>debian</filename> directory " "to the new source. This can be done by running <literal>tar xvzf /" "<replaceable>path</replaceable>/<replaceable>to</replaceable>/" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian." "tar.gz</literal> in the new extracted source. <placeholder type=\"footnote" "\" id=\"0\"/> Of course, you need to do some obvious chores." msgstr "" "もし <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> パッケージが新規の <literal>3.0 (native)</literal> や " "<literal>3.0 (quilt)</literal> フォーマットで適正にパッケージされていれば、新" "規のアップストリームバージョンをパッケージスリのは基本的に旧 " "<filename>debian</filename> ディレクトリーを新規ソースへと移動するのみです。" "これは新規に展開されたソース中で <literal>tar xvzf /<replaceable>path</" "replaceable>/<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.debian.tar.gz</literal> を" "実行すれば出来ます。<placeholder type=\"footnote\" id=\"0\"/> もちろん当然す" "るべき細々としたことをする必要はあります。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a copy of the upstream source as the " "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename> " "file." msgstr "" "アップストリームソースのコピーを <filename>foo_<replaceable>newversion</" "replaceable>.orig.tar.gz</filename> ファイルとして作成します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Update the Debian <filename>changelog</filename> file with <literal>dch -v " "<replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." msgstr "" "Debian の <filename>changelog</filename> ファイルを <literal>dch -v " "<replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal> " "を使って更新します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Add an entry with <literal>New upstream release</literal>." msgstr "<literal>New upstream release</literal> という項目を追加します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>in the new upstream release</" "emphasis> that fix reported bugs and close those bugs by adding " "<literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "報告のあったバグを修正する<emphasis>新規アップストリームリリース中の</" "emphasis>変更点に関して簡潔に記載しバグを <literal>Closes: #<replaceable>バグ" "番号</replaceable></literal> と追記してクローズします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>to the new upstream release</" "emphasis> by the maintainer that fix reported bugs and close those bugs by " "adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "報告のあったバグを修正する、メンテナーによる<emphasis>新規アップストリームリ" "リースへの</emphasis>の変更点に関して簡潔に記載しバグを <literal>Closes: " "#<replaceable>バグ番号</replaceable></literal> と追記しクローズします。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>." msgstr "" "<literal>while dquilt push; do dquilt refresh; done</literal> として " "<emphasis>fuzz</emphasis> を削除しながら全てのパッチを適用します。" #. type: Content of: <book><chapter><section><para> msgid "" "If the patch/merge did not apply cleanly, inspect the situation (clues are " "left in <filename>.rej</filename> files)." msgstr "" "もしパッチやマージがクリーンに適用できない場合は、状況を精査します " "(<filename>.rej</filename> ファイル中にヒントがあります)。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source was integrated into the upstream source," msgstr "" "もしソースにあなたが適用していたパッチがアップストリームソースに統合された場" "合は、" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt delete</literal> to remove it." msgstr "<literal>dquilt delete</literal> として削除します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source conflicted with new changes in the " "upstream source," msgstr "" "もしソースにあなたが適用していたパッチが新規アップストリームソースとぶつかる" "場合は、" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt push -f</literal> to apply old patches while forcing rejects " "as <filename><replaceable>baz</replaceable>.rej</filename>." msgstr "" "<literal>dquilt push -f</literal> として <filename><replaceable>baz</" "replaceable>.rej</filename> としてリジェクトを強制しながら古いパッチを適用し" "ます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Edit the <filename><replaceable>baz</replaceable></filename> file manually " "to bring about the intended effect of <filename><replaceable>baz</" "replaceable>.rej</filename>." msgstr "" "<filename><replaceable>baz</replaceable>.rej</filename> の本来目指した効果を" "実現するように、<filename><replaceable>baz</replaceable></filename> ファイル" "を手動で編集します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt refresh</literal> to update the patch." msgstr "<literal>dquilt refresh</literal> としてパッチを更新します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Continue as usual with <literal>while dquilt push; do dquilt refresh; done</" "literal>." msgstr "" "<literal>while dquilt push; do dquilt refresh; done</literal> まで戻り継続し" "ます。" #. type: Content of: <book><chapter><section><para> msgid "" "This process can be automated using the <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> command as follows:" msgstr "" "このプロセスは <citerefentry> <refentrytitle>uupdate</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> コマンドを以下のように使うことで自動" "化できます:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" msgstr "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the <command>uscan</command> command downloads the updated source but it " "does not run the <command>uupdate</command> command, you should correct the " "<filename>debian/watch</filename> file to have <literal>debian uupdate</" "literal> at the end of the URL." msgstr "" "もし <command>uscan</command> コマンドが更新されたソースはダウンロードするが " "<command>uupdate</command> コマンドを実行しない場合には、URLの最後に " "<literal>debian uupdate</literal> となるように <filename>debian/watch</" "filename> ファイルを修正するべきです。" #. type: Content of: <book><chapter><section><para> msgid "" "If you set up a <filename>debian/watch</filename> file as described in <xref " "linkend=\"watch\"/>, you can skip the <command>wget</command> command. You " "simply run <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> in the <filename><replaceable>foo</replaceable>-" "<replaceable>oldversion</replaceable></filename> directory instead of the " "<command>uupdate</command> command. This will <emphasis>automagically</" "emphasis> look for the updated source, download it, and run the " "<command>uupdate</command> command. <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "<filename>debian/watch</filename> ファイルを<xref linkend=\"watch\"/> に記載" "されたように設定していれば、 <command>wget</command> コマンドをスキップするこ" "とが出来ます。<filename><replaceable>foo</replaceable>-" "<replaceable>oldversion</replaceable></filename> ディレクトリー中で " "<command>uupdate</command> コマンドを実行する代わりに、単に <citerefentry> " "<refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> コマンドを実行します。こうすると<emphasis>魔法のように</" "emphasis>更新されたソースを見つけ、それをダウンロードし、<command>uupdate</" "command> コマンドを実行します。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can release this updated source by repeating what you did in <xref " "linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref linkend=" "\"upload\"/>." msgstr "" "今まで <xref linkend=\"completebuild\"/> 、 <xref linkend=\"checkit\"/> 、" "<xref linkend=\"upload\"/> の中で実行してきたことを繰り返し、更新したソースを" "リリースできます。" #. type: Content of: <book><chapter><section><title> msgid "Updating the packaging style" msgstr "パッケージ化スタイルの更新" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If your sponsor or other maintainers object to updating the existing " "packaging style, don't bother arguing. There are more important things to " "do." msgstr "" "もしあなたのスポンサーや他のメンテナーが既存のパッケージスタイル更新に異存が" "ある場合には、更新することもまたその議論することは意味がありません。他にする" "べきより重要なことがあります。" #. type: Content of: <book><chapter><section><para> msgid "" "Updating the package style is not a required activity for the update of a " "package. However, doing so lets you use the full capabilities of the modern " "<systemitem role=\"package\">debhelper</systemitem> system and the " "<literal>3.0</literal> source format. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "パッケージスタイルの 更新はパッケージ更新のために必須活動ではありません。し" "かし、こうすることで最新の <systemitem role=\"package\">debhelper</" "systemitem> システムと <literal>3.0</literal> ソースフォーマットの全能力を活" "用できます。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you need to recreate deleted template files for any reason, you can run " "<command>dh_make</command> again in the same Debian package source tree with " "the <literal>--addmissing</literal> option. Then edit them appropriately." msgstr "" "もし何らかの理由で消去されたテンプレートファイルを追加する必要がある場合に" "は、同一の Debian ソースツリーの中で <literal>--addmissing</literal> オプショ" "ンとともに <command>dh_make</command> をもう一度実行してもいいです。そして、" "それらを適正に編集しましょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If the package has not been updated to use the <systemitem role=\"package" "\">debhelper</systemitem> v7+ <command>dh</command> syntax for the " "<filename>debian/rules</filename> file, update it to use <command>dh</" "command>. Update the <filename>debian/control</filename> file accordingly." msgstr "" "<filename>debian/rules</filename> ファイルに関して <systemitem role=\"package" "\">debhelper</systemitem> v7+ <command>dh</command> シンタックスへとパッケー" "ジが更新されていない場合は <command>dh</command> を使うように更新しましょう。" "<filename>debian/control</filename> ファイルもそれに合わせて変更しましょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you want to update the <filename>rules</filename> file created with the " "<filename>Makefile</filename> inclusion mechanism of the Common Debian Build " "System (<systemitem role=\"package\">cdbs</systemitem>) to the <command>dh</" "command> syntax, see the following to understand its <literal>DEB_*</" "literal> configuration variables." msgstr "" "コモン Debian ビルドシステム (<systemitem role=\"package\">cdbs</" "systemitem>) による <filename>Makefile</filename> 包含メカニズムで生成された " "<filename>rules</filename> ファイルを <command>dh</command> シンタックスに更" "新しようとする場合には、以下を参照し <literal>DEB_*</literal> 設定変数を理解" "して下さい。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "local copy of <filename>&cdbs-doc;</filename>" msgstr "<filename>&cdbs-doc;</filename> のローカルコピー" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" msgstr "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package without the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (native)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(native)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied." msgstr "" "<filename><replaceable>foo</replaceable>.diff.gz</filename> ファイル無しの " "<literal>1.0</literal> ソースパッケージの場合、<literal>3.0 (native)</" "literal> と言う内容の <filename>debian/source/format</filename> を作成するこ" "とで新規の <literal>3.0 (native)</literal> ソースフォーマットに更新できます。" "残りの <filename>debian/*</filename> ファイルは単にコピーするだけです。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can split <filename>big.diff</filename> into many small incremental " "patches using the <command>splitdiff</command> command." msgstr "" "<command>splitdiff</command> コマンドを用いると <filename>big.diff</" "filename> は多くの小さな増分パッチに分割できます。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package with the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (quilt)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(quilt)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied. Import the <filename>big.diff</filename> file generated by " "the command <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" "replaceable>.diff.gz > big.diff</literal> to your <command>quilt</" "command> system, if needed. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<filename><replaceable>foo</replaceable>.diff.gz</filename> ファイルありの " "<literal>1.0</literal> ソースパッケージの場合、<literal>3.0 (quilt)</" "literal> と言う内容の <filename>debian/source/format</filename> を作成するこ" "とで新規の <literal>3.0 (quilt)</literal> ソースフォーマットに更新できます。" "残りの <filename>debian/*</filename> ファイルは単にコピーするだけです。必要な" "場合、<literal>filterdiff -z -x '*/debian/*' <replaceable>foo</replaceable>." "diff.gz > big.diff</literal> コマンドにより生成される <filename>big.diff</" "filename> ファイルをあなたの <command>quilt</command> システムにインポートし" "ます。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged using another patch system such as <systemitem role=" "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" "systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " "<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, " "convert it to the <systemitem role=\"package\">quilt</systemitem> command " "using <filename>deb3</filename> at <ulink url=\"&deb3;\"/>." msgstr "" "<literal>-p0</literal> や <literal>-p1</literal> や <literal>-p2</literal> を" "使う <systemitem role=\"package\">dpatch</systemitem> や <systemitem role=" "\"package\">dbs</systemitem> や <systemitem role=\"package\">cdbs</" "systemitem> のような他のパッチシステムを用いてパッケージされ得ている場合に" "は、<ulink url=\"&deb3;\">&deb3;</ulink>にある <filename>deb3</filename> を用" "いて <systemitem role=\"package\">quilt</systemitem> コマンドに変換します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged with the <command>dh</command> command with the " "<literal>--with quilt</literal> option or with the <command>dh_quilt_patch</" "command> and <command>dh_quilt_unpatch</command> commands, remove these and " "make it use the newer <literal>3.0 (native)</literal> source format." msgstr "" "もし <literal>--with quilt</literal> オプション付きの <command>dh</command> " "コマンドとか、<command>dh_quilt_patch</command> と " "<command>dh_quilt_unpatch</command> コマンドを用いてパッケージされている場合" "には、これらを削除し新規の <literal>3.0 (native)</literal> ソースフォーマット" "を使うようにします。" #. type: Content of: <book><chapter><section><para> msgid "" "You should check <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> and adopt ACCEPTED proposals." msgstr "" "<ulink url=\"&dep;\">DEP - Debian エンハンスメント提案</ulink> を確認し、" "ACCEPTED (採用) となった提案を取り入れるべきです。" #. type: Content of: <book><chapter><section><para> msgid "" "You need to do the other tasks described in <xref linkend=\"newupstream\"/>, " "too." msgstr "" "<xref linkend=\"newupstream\"/> に記載された他の作業も行う必要があります。" #. type: Content of: <book><chapter><section><title> msgid "UTF-8 conversion" msgstr "UTF-8 変換" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream documents are encoded in old encoding schemes, converting them " "to <ulink url=\"&utf8;\">UTF-8</ulink> is a good idea." msgstr "" "アップストリームの文書が旧来のエンコーディング法にてエンコードされている場合" "には、それらを <ulink url=\"&utf8;\">UTF-8</ulink> に変換するのはいいことで" "す。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert encodings of plain text files." msgstr "" "<citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> を使いプレインテキストのエンコーディングを変換します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert from HTML files to UTF-8 plain text " "files. When you do this, make sure to execute it under UTF-8 locale." msgstr "" "<citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> を使用して HTML ファイルを UTF-8 のプレインテキストファイルに変" "換します。これを行う際には、必ず UTF-8 ロケールで実行して下さい。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" #. type: Content of: <book><chapter><section><title> msgid "Reminders for updating packages" msgstr "パッケージをアップグレードする際の注意点" #. type: Content of: <book><chapter><section><para> msgid "Here are few reminders for updating packages." msgstr "パッケージをアップグレードする際の注意点は以下です。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Preserve old <filename>changelog</filename> entries (sounds obvious, but " "there have been cases of people typing <literal>dch</literal> when they " "should have typed <literal>dch -i</literal>.)" msgstr "" "<filename>changelog</filename> の旧項目を保全します (自明ですが、" "<literal>dch -i</literal> とするべき時に <literal>dch</literal> とした過去事" "例があります。)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Existing Debian changes need to be reevaluated; throw away stuff that " "upstream has incorporated (in one form or another) and remember to keep " "stuff that hasn't been incorporated by upstream, unless there is a " "compelling reason not to." msgstr "" "現存の Debian による変更は再評価する必要があります。(何らかの形で)アップスト" "リームが組み込んだことは捨て、アップストリームが組み込まなかったことは残しま" "しょう。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If any changes were made to the build system (hopefully you'd know from " "inspecting upstream changes) then update the <filename>debian/rules</" "filename> and <filename>debian/control</filename> build dependencies if " "necessary." msgstr "" "ビルドシステムに変更が加えられた場合には (アップストリームの変更を精査した際" "に分かっているはずですよね)、 必要に応じて <filename>debian/rules</filename> " "と <filename>debian/control</filename> のビルド依存関係を更新します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> to " "see if someone has provided patches to bugs that are currently open." msgstr "" "現存もオープンのバグへのパッチを誰かが提供していないかを、<ulink url=\"&bts;" "\">Debian Bug Tracking System (BTS)</ulink> で確認します。" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the contents of the <filename>.changes</filename> file to make sure " "you are uploading to the correct distribution, the proper bug closures are " "listed in the <literal>Closes</literal> field, the <literal>Maintainer</" "literal> and <literal>Changed-By</literal> fields match, the file is GPG-" "signed, etc." msgstr "" "正しいディストリビューションへアップロードすること、 <literal>Closes</" "literal> フィールドに適切なバグのクローズがリストされていること、" "<literal>Maintainer</literal> と <literal>Changed-By</literal> フィールドが" "マッチしていること、ファイルが GPG 署名されていること等を確実にするように、" "<filename>.changes</filename> ファイルの内容を確認します。" #. type: Content of: <book><chapter><title> msgid "Uploading the package" msgstr "パッケージをアップロードする" #. type: Content of: <book><chapter><para> msgid "" "Now that you have tested your new package thoroughly, you want to release it " "to a public archive to share it." msgstr "" "あなたの新しいパッケージは徹底的にテストできたので、あなたはそれを共有すべく" "公開アーカイブにリリースしたいでしょう。" #. type: Content of: <book><chapter><section><title> msgid "Uploading to the Debian archive" msgstr "Debian アーカイブへアップロードする" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <xref linkend=\"socialdynamics\"/>." msgstr "<xref linkend=\"socialdynamics\"/>を参照下さい。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are publicly accessible archives such as <ulink url=\"&mentors-dn;\"/> " "which work almost the same way as the Debian archive and provide an upload " "area for non-DDs. You can set up an equivalent archive by yourself using " "the tools listed at <ulink url=\"&deb-archive;\"/>. So this section is " "useful for non-DDs, too." msgstr "" "Debian アーカイブとほぼ同様に機能し、非-DD に対してアップロードエリアを提供す" "る <ulink url=\"&mentors-dn;\"/> のような公開アーカイブがあります。<ulink " "url=\"&deb-archive;\"/> に列記されているツールを使い自分自身で同様のアーカイ" "ブを設定することも出来ます。だからこのセクションは非-DD にも有用です。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <systemitem role=\"package\">dput</systemitem> package seems to come " "with more features and to be becoming more popular than the <systemitem role=" "\"package\">dupload</systemitem> package. It uses the file <filename>/etc/" "dput</filename> for its global configuration and the file <filename>~/.dput." "cf</filename> for per-user configuration. It supports Ubuntu-related " "services out-of-the-box, too." msgstr "" "<systemitem role=\"package\">dput</systemitem> パッケージは、より多くの機能が" "あり <systemitem role=\"package\">dupload</systemitem> パッケージより人気が出" "てきています。それは、<filename>/etc/dput</filename> ファイルをグローバル設定" "に用い、 <filename>~/.dput.cf</filename> ファイルをユーザー毎の設定に用いま" "す。更にそれは、そのままUbuntu関連のサービスもサポートします。" #. type: Content of: <book><chapter><section><para> msgid "" "Once you become an official developer, <placeholder type=\"footnote\" id=" "\"0\"/> you can upload the package to the Debian archive. <placeholder type=" "\"footnote\" id=\"1\"/> You can do this manually, but it's easier to use the " "existing automated tools, like <citerefentry> <refentrytitle>dupload</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. We'll describe how it's done with <command>dupload</" "command>. <placeholder type=\"footnote\" id=\"2\"/>" msgstr "" "正規デベロッパー<placeholder type=\"footnote\" id=\"0\"/>になると、パッケージ" "を Debian アーカイブにアップロードできます。<placeholder type=\"footnote\" " "id=\"1\"/> 手動でもできますが、 <citerefentry> <refentrytitle>dupload</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> や <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "等の既存の自動化ツールを用いる方が楽です。ここでは <command>dupload</" "command> を使ってどうするかを説明します。<placeholder type=\"footnote\" id=" "\"2\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "First you have to set up <command>dupload</command>'s config file. You can " "either edit the system-wide <filename>/etc/dupload.conf</filename> file, or " "have your own <filename>~/.dupload.conf</filename> file override the few " "things you want to change." msgstr "" "まず <command>dupload</command> の設定ファイルを調整しなければいけません。 シ" "ステム全体の設定ファイルである <filename>/etc/dupload.conf</filename> を編集" "するか、あるいはあなた専用の設定ファイルである <filename>~/.dupload.conf</" "filename> を使って変更したい項目だけをオーバーライドさせてもかまいません。" #. type: Content of: <book><chapter><section><para> msgid "" "You can read the <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> manual page to understand what each " "of these options means." msgstr "" "またそれぞれのオプションが持つ意味を理解するため <citerefentry> " "<refentrytitle>dupload.conf</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry> マニュアルページを読むことができます。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. " "\"Uploading a package\"</ulink>." msgstr "" "<ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. \"Uploading " "a package\"</ulink> を参照下さい。" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>$default_host</literal> option determines which of the upload " "queues will be used by default. <literal>anonymous-ftp-master</literal> is " "the primary one, but it's possible that you will want to use another one. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>$default_host</literal> オプションはデフォルトで利用されるアップロー" "ドキューを指定します。<literal>anonymous-ftp-master</literal>がメインのアップ" "ロードキューですが、別のアップロードキューを利用したいこともあるでしょう。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "While connected to the Internet, you can upload your package as follows:" msgstr "" "インターネットにつながった状態で、以下のようにすればあなたのパッケージをアッ" "プロード出来ます。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dupload gentoo_0.9.12-1_i386.changes\n" msgstr "$ dupload gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dupload</command> checks that the SHA1/SHA256 file checksums match " "those listed in the <filename>.changes</filename> file. If they do not " "match, it will warn you to rebuild it as described in <xref linkend=" "\"completebuild\"/> so it can be properly uploaded." msgstr "" "<command>dupload</command> は各ファイルの SHA1/SHA256 チェックサムを計算し、 " "<filename>.changes</filename> ファイルの中の情報と照合します。 もしそれらが一" "致しない場合には、適正にアップロードされるように<xref linkend=\"completebuild" "\"/> の説明に従って最初から再ビルドをするよう警告します。" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&uploadqueue-readme;\"/>. Alternatively, you can use the " "<command>dcut</command> command from the <systemitem role=\"package\">dput</" "systemitem> package." msgstr "" "<ulink url=\"&uploadqueue;README\">&uploadqueue;README</ulink> を参照下さい。" "<systemitem role=\"package\">dput</systemitem> パッケージ中にある " "<command>dcut</command> コマンドをこれに代わる方法として用いることもできま" "す。" #. type: Content of: <book><chapter><section><para> msgid "" "If you encounter an upload problem at <ulink url=\"&uploadqueue;\"/>, you " "can fix this by manually uploading a GPG-signed <filename>*.commands</" "filename> file to there with <command>ftp</command>. <placeholder type=" "\"footnote\" id=\"0\"/> For example, using <filename>hello.commands</" "filename>:" msgstr "" "<ulink url=\"&uploadqueue;\">&uploadqueue;</ulink>へのアップロードで問題が" "あった場合には、GPG 署名した <filename>*.commands</filename> ファイルを " "<command>ftp</command> を用いて<command>ftp</command>で手動アップロードするこ" "とで修正出来ます。 <placeholder type=\"footnote\" id=\"0\"/> 例えば、" "<filename>hello.commands</filename> を使います:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" msgstr "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" #. type: Content of: <book><chapter><section><title> msgid "Including <filename>orig.tar.gz</filename> for upload" msgstr "アップロード用<filename>orig.tar.gz</filename>の内容" #. type: Content of: <book><chapter><section><para> msgid "" "When you first upload the package to the archive, you need to include the " "original <filename>orig.tar.gz</filename> source, too. If the Debian " "revision number of this package is neither <literal>1</literal> nor " "<literal>0</literal>, you must provide the <command>dpkg-buildpackage</" "command> option <literal>-sa</literal>." msgstr "" "はじめてパッケージをアーカイブにアップロードする際は、オリジナルの" "<filename>orig.tar.gz</filename> ソースファイルを含めなければなりません。当該" "パッケージの Debian リビジョン番号が <literal>1</literal> でも <literal>0</" "literal> でも無い場合には、<command>dpkg-buildpackage</command> に <literal>-" "sa</literal> オプションを付けなければなりません。" #. type: Content of: <book><chapter><section><para> msgid "For the <command>dpkg-buildpackage</command> command:" msgstr "<command>dpkg-buildpackage</command> コマンドの場合:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -sa\n" msgstr "$ dpkg-buildpackage -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>debuild</command> command:" msgstr "<command>debuild</command>コマンドの場合:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -sa\n" msgstr "$ debuild -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>pdebuild</command> command:" msgstr "<command>debuild</command>コマンドの場合:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts -sa\n" msgstr "$ pdebuild --debbuildopts -sa\n" #. type: Content of: <book><chapter><section><para> msgid "" "On the other hand, the <literal>-sd</literal> option will force the " "exclusion of the original <filename>orig.tar.gz</filename> source." msgstr "" "逆に、<literal>-sd</literal>オプションを付けると、オリジナルの<filename>orig." "tar.gz</filename> ソースファイルを強制的に除外します。" #. type: Content of: <book><chapter><section><title> msgid "Skipped uploads" msgstr "スキップされたアップロード" #. type: Content of: <book><chapter><section><para> msgid "" "If you created multiple entries in <filename>debian/changelog</filename> by " "skipping uploads, you must create a proper <filename>*_.changes</filename> " "file which includes all changes from the last upload. This can be done by " "specifying the <command>dpkg-buildpackage</command> option <literal>-v</" "literal> with the version, e.g., <literal><replaceable>1.2</replaceable></" "literal>." msgstr "" "アップロードをスキップすることで <filename>debian/changelog</filename> 中に複" "数の項目を作成した場合は、前回アップロード以来の全ての変更を含む適切な " "<filename>*_.changes</filename> ファイルを作成しなければいけません。 " "<command>dpkg-buildpackage</command> オプションの <literal>-v</literal> を、" "例えば <literal><replaceable>1.2</replaceable></literal> と言うバージョンに関" "して指定すると可能です。" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" msgstr "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -v<replaceable>1.2</replaceable>\n" msgstr "$ debuild -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" msgstr "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" #. type: Content of: <book><appendix><title> msgid "Advanced packaging" msgstr "上級パッケージング" #. type: Content of: <book><appendix><para> msgid "" "Here are some hints and pointers for advanced packaging topics which you are " "most likely to deal with. You are strongly advised to read all the " "references suggested here." msgstr "" "あなたが出会いそうな上級パッケージング課題に関するヒントや外部参照をいくつか" "記します。ここに提案されたレファレンス全てに目を通すことを切にお薦めします。" #. type: Content of: <book><appendix><section><title> msgid "Shared libraries" msgstr "共有ライブラリー" #. type: Content of: <book><appendix><section><para> msgid "" "Before packaging shared <ulink url=\"&library;\">libraries</ulink>, you " "should read the following primary references in detail." msgstr "" "共有 <ulink url=\"&library;\">ライブラリー</ulink> をパッケージングする前に、" "以下の 一次レファレンスを詳細に読むべきです。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" msgstr "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" msgstr "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" msgstr "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" #. type: Content of: <book><appendix><section><para> msgid "Here are some oversimplified hints for you to get started." msgstr "以下はあなたが手を付け始めるための少々簡略化しすぎたヒントです。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are <ulink url=\"&elf;\">ELF</ulink> object files " "containing compiled code." msgstr "" "共有ライブラリーとはコンパイルされたコードを含む <ulink url=\"&elf;\">ELF</" "ulink> オブジェクトファイルです。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are distributed as <filename>*.so</filename> files. " "(Neither <filename>*.a</filename> files nor <filename>*.la</filename> files)" msgstr "" "共有ライブラリーは <filename>*.so</filename> ファイルとして頒布されます。" "(<filename>*.a</filename> ファイルでも <filename>*.la</filename> ファイルでも" "ありません)" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are mainly used to share common codes among multiple " "executables with the <command>ld</command> mechanism." msgstr "" "主に、共有ライブラリーは <command>ld</command> メカニズムを用い複数の実行プロ" "グラム間でコードを共有するのに使用されます。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are sometimes used to provide multiple plugins to an " "executable with the <command>dlopen</command> mechanism." msgstr "" "時々、共有ライブラリーは <command>dlopen</command> メカニズムを用いある実行プ" "ログラムに複数のプラグインを提供するのに使用されます。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries export <ulink url=\"&symbol;\">symbols</ulink> which " "represent compiled objects such as variables, functions, and classes; and " "enables access to them from the linked executables." msgstr "" "共有ライブラリーは変数や関数やクラスのようなコンパイルされたオブジェクトを表" "す <ulink url=\"&symbol;\">シンボル</ulink> をエキスポートし、リンクされた実" "行プログラムからそれらへのアクセスを可能とします。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" msgstr "" "もしくは: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&soname;\">SONAME</ulink> of a shared library " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "共有ライブラリー <filename>lib<replaceable>foo</replaceable>.so</filename>." "<replaceable>1</replaceable> の <ulink url=\"&soname;\">SONAME</ulink>: " "<literal>objdump -p lib<replaceable>foo</replaceable>.so.<replaceable>1</" "replaceable> | grep SONAME</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of a shared library usually matches the library file name (but " "not always)." msgstr "" "共有ライブラリーの SONAME は通常ライブラリーのファイル名と一致します(例外もあ" "ります)。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" msgstr "" "もしくは: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of shared libraries linked to <filename><replaceable>/usr/bin/" "foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/foo</" "replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "<filename><replaceable>/usr/bin/foo</replaceable></filename> にリンクされた共" "有ライブラリーの SONAME: <literal>objdump -p <replaceable>/usr/bin/foo</" "replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time " "shared libraries\"</ulink>." msgstr "" "<ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time shared " "libraries\"</ulink> を参照下さい。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: the library package " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> with the SONAME ABI version " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: 共有ライブラリー " "<filename>lib<replaceable>foo</replaceable>.so.<replaceable>1</replaceable></" "filename> で SONAME ABI バージョンが <replaceable>1</replaceable> のライブラ" "リーパッケージ。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig" "\"</ulink>." msgstr "" "<ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig\"</" "ulink> を参照下さい。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The package maintainer scripts of the library package must call " "<command>ldconfig</command> under the specific circumstances to create the " "necessary symbolic links for the SONAME.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "ライブラリーパッケージのパッケージメンテナースクリプトは SONAME に必要なシン" "ボリックリンクを作成するために特定の環境下で <command>ldconfig</command> を呼" "ばなければいけません。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: the debugging " "symbols package which contains the debugging symbols for the shared library " "package <systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>." msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: 共有ライブラリー " "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem> のデバグシンボルを含む" "デバグシンボルパッケージ。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> and <ulink url=\"&policy-dev;\">Debian Policy Manual, " "8.4 \"Development files\"</ulink>." msgstr "" "See <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> and <ulink url=\"&policy-dev;\">Debian Policy Manual, " "8.4 \"Development files\"</ulink> を参照下さい。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: the development package which contains the header files etc. " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: 共有ラーブラリー <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> 用のヘッダーファイル他を含む開発用" "パッケージ 。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink>." msgstr "" "<ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink> を参" "照下さい。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not contain <filename>*.la</filename> Libtool archive " "files in general.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Debian パッケージは一般的に <filename>*.la</filename> Libtool アーカイブファ" "イルを含んではいけません。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "See <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." msgstr "" "<ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink> を参照下さい。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not use RPATH in general.<placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Debian パッケージは一般的に RPATH を使うべきではありません。<placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Although it is somewhat outdated and is only a secondary reference, <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "may still be useful." msgstr "" "少々内容が古くなった二次的なレファレンスですが、<ulink url=" "\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> はま" "だ有用かもしれません。" #. type: Content of: <book><appendix><section><title> msgid "" "Managing <filename>debian/<replaceable>package</replaceable>.symbols</" "filename>" msgstr "" "<filename>debian/<replaceable>package</replaceable>.symbols</filename> の管理" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Backward-incompatible ABI changes normally require you to update the SONAME " "of the library and the shared library package name to new ones." msgstr "" "バックワード非コンパティブルな ABI 変更をすると、通常ライブラリーの SONAME と" "共有ライブラリーパッケージ名を新規なものにそれぞれアップデートしないといけま" "せん。" #. type: Content of: <book><appendix><section><para> msgid "" "When you package a shared library, you should create <filename>debian/" "<replaceable>package</replaceable>.symbols</filename> file to manage the " "minimal version associated to each symbol for backward-compatible ABI " "changes under the same SONAME of the library for the same shared library " "package name.<placeholder type=\"footnote\" id=\"0\"/> You should read the " "following primary references in detail." msgstr "" "共有ライブラリーをパッケージする際には、同一共有ライブラリーパッケージ名のラ" "イブラリーの同一 SONAME の下でのバックワードコンパティブルな変更に関して、各" "シンボルと関連付けられる最小のバージョンが記された <filename>debian/" "<replaceable>package</replaceable>.symbols</filename> ファイルを作成すべきで" "す。<placeholder type=\"footnote\" id=\"0\"/> 以下の1次的レファレンスを詳細に" "読むべきです。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "For C++ libraries and other cases where tracking individual symbols is too " "difficult, follow <ulink url=\"&policy-library-shlibs;\">Debian Policy " "Manual, 8.6.4 \"The shlibs system\"</ulink>, instead." msgstr "" "C++ ライブラリーや個別シンボルを追跡するのが非常に困難な他の場合には、これに" "代えて <ulink url=\"&policy-library-shlibs;\">Debian Policy Manual, 8.6.4 " "\"The shlibs system\"</ulink> に従いましょう。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><para> msgid "" "Here is a rough example to create the <systemitem role=\"package\">libfoo1</" "systemitem> package to the upstream version <literal>1.3</literal> with the " "proper <filename>debian/libfoo1.symbols</filename> file." msgstr "" "過去バージョン <literal>1.3</literal> のアップストリームバージョンから適切な " "<filename>debian/libfoo1.symbols</filename> ファイルを用いて <systemitem " "role=\"package\">libfoo1</systemitem> パッケージをを作成する概略例は以下で" "す。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Prepare the skeleton debianized source tree using the upstream " "<filename>libfoo-1.3.tar.gz</filename> file." msgstr "" "アップストリームの <filename>libfoo-1.3.tar.gz</filename> ファイルを持ちいて " "Debian 化したソースツリーの骨子を準備します。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If this is the first packaging of the <systemitem role=\"package\">libfoo1</" "systemitem> package, create the <filename>debian/libfoo1.symbols</filename> " "file with empty content." msgstr "" "もし <systemitem role=\"package\">libfoo1</systemitem> パッケージの最初のパッ" "ケージングの場合は、内容が空の <filename>debian/libfoo1.symbols</filename> " "ファイルを作成します。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was packaged as the " "<systemitem role=\"package\">libfoo1</systemitem> package with the proper " "<filename>debian/libfoo1.symbols</filename> in its source package, use it " "again." msgstr "" "もし以前のアップストリームバージョン <literal>1.2</literal> が <systemitem " "role=\"package\">libfoo1</systemitem> パッケージとして適切な " "<filename>debian/libfoo1.symbols</filename> をそのパッケージ内に持ちいてパッ" "ケージされていた場合には、それを再び使いましょう。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "All previous versions of Debian packages are available at <ulink url=" "\"&snapshot;\">http://snapshot.debian.org/</ulink>. The Debian revision is " "dropped from the version to make it easier to backport the package: " "<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " "<literal>1.1-1</literal> and <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" msgstr "" "Debian パッケージの過去全てのバージョンは <ulink url=\"&snapshot;\">http://" "snapshot.debian.org/</ulink> から得られます。 パッケージのバックポートが楽に" "できるように Debian リビジョンはバージョンから落とします。: <literal>1.1</" "literal> << <literal>1.1-1~bpo70+1</literal> << <literal>1.1-1</" "literal> と <literal>1.2</literal> << <literal>1.2-1~bpo70+1</literal> " "<< <literal>1.2-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was not packaged " "with the <filename>debian/libfoo1.symbols</filename>, create it as the " "<filename>symbols</filename> file from all available binary packages of the " "same shared library package name containing the same SONAME of the library, " "for example, versions <literal>1.1-1</literal> and <literal>1.2-1</" "literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "もし過去のアップストリームバージョン <literal>1.2</literal> が " "<filename>debian/libfoo1.symbols</filename> を用いてパッケージされていない場" "合には、そのライブラリーの同一 SONAME を含む同一共有ライブラリーパッケージ名 " "の全ての手に入るバイナリーパッケージ、例えば <literal>1.1-1</literal> と " "<literal>1.2-1</literal> バージョンから、それを <filename>symbols</filename> " "として生成できます。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" msgstr "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Make trial builds of the source tree with tools such as <command>debuild</" "command> and <command>pdebuild</command>. (If this fails due to missing " "symbols etc., there were some backward-incompatible ABI changes which " "require you to bump the shared library package name to something like " "<systemitem role=\"package\">libfoo1a</systemitem> and you should start over " "again.)" msgstr "" "<command>debuild</command> and <command>pdebuild</command> 等のツールを使って" "ソースツリーのテストビルドをします。 (もしシンボルの欠如等でビルドがうまく行" "かない場合には、共有ライブラリーパッケージ名を <systemitem role=\"package" "\">libfoo1a</systemitem> 等と繰り上げる必要のある何らかのバックワード非コンパ" "ティブルな ABI 変更があったので、最初からやり直す必要があります。)" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" msgstr "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "The Debian revision is dropped from the version to make it easier to " "backport the package: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" msgstr "" "Debian リビジョンはパッケージのバックポートを容易にすべく外します: " "<literal>1.3</literal> << <literal>1.3-1~bpo70+1</literal> << " "<literal>1.3-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "If you see the diff printed by the <command>dpkg-gensymbols</command> as " "above, extract the updated proper <filename>symbols</filename> file from the " "generated binary package of the shared library. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "もし上記のように <command>dpkg-gensymbols</command> によって diff がプリント" "されるのを発見した場合には、生成された共有ラーブラリーのバイナリーパッケージ" "から適切な <filename>symbols</filename> ファイルを抽出しましょう。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" msgstr "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Build release packages with tools such as <command>debuild</command> and " "<command>pdebuild</command>." msgstr "" "<command>debuild</command> や <command>pdebuild</command> のようなツールでリ" "リースパッケージをビルドします。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" msgstr "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 \"Shared " "library ABI changes\"</ulink>." msgstr "" "<ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 \"Shared " "library ABI changes\"</ulink> を参照下さい。" #. type: Content of: <book><appendix><section><para> msgid "" "In addition to the above examples, we need to check the ABI compatibility " "further and bump versions for some symbols manually as needed. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "上記の例に加えて、更に ABI コンパティビリティーを確認し、必要に応じていくつか" "のシンボルのバージョンをマニュアル操作で繰り上げる必要があります。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><para> msgid "" "Although it is only a secondary reference, <ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> and its linked web pages may be " "useful." msgstr "" "2 次的なレファレンスではありますが、<ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> とそこからリンクされているウエッブ" "ページは有用かもしれません。" #. type: Content of: <book><appendix><section><title> msgid "Multiarch" msgstr "マルチアーチ" #. type: Content of: <book><appendix><section><para> msgid "" "The multiarch feature introduced to Debian wheezy integrates support for " "cross-architecture installation of binary packages (particularly " "<literal>i386</literal><-><literal>amd64</literal>, but also other " "combinations) in <systemitem role=\"package\">dpkg</systemitem> and " "<systemitem role=\"package\">apt</systemitem>. You should read the " "following references in detail." msgstr "" "Debian wheezy で導入されたマルチアーチフィーチャーは <systemitem role=" "\"package\">dpkg</systemitem> と <systemitem role=\"package\">apt</" "systemitem> の中でのバイナリーパッケージのアーキテクチャー間サポート (他の組" "み合わせもありますが、特に<literal>i386</literal><-><literal>amd64</" "literal>) を統合します。 以下のレファレンスを詳細に読んで下さい。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (upstream)" msgstr "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (アップスト" "リーム)" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian situation)" msgstr "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian の状況)" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Old special purpose library paths such as <filename>/lib32/</filename> and " "<filename>/lib64/</filename> are not used any more." msgstr "" "旧来の <filename>/lib32/</filename> や <filename>/lib64/</filename> 等の特定" "目的のライブラリーパスは使われなくなっています。" #. type: Content of: <book><appendix><section><para> msgid "" "It uses the triplet such as <literal>i386-linux-gnu</literal> and " "<literal>x86_64-linux-gnu</literal> for the install path of shared " "libraries. The actual triplet path is dynamically set into <literal>" "$(DEB_HOST_MULTIARCH)</literal> value by <citerefentry> <refentrytitle>dpkg-" "architecture</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for " "each build. For example, the path to install multiarch libraries are " "changed as follows.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "マルチアーチは共有ライブラリーのインストールパスに <literal>i386-linux-gnu</" "literal> や <literal>x86_64-linux-gnu</literal> 等のトリプレットを使います。" "実際のトリプレットパスは、ビルドごとに <citerefentry> <refentrytitle>dpkg-" "architecture</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> によっ" "て動的に <literal>$(DEB_HOST_MULTIARCH)</literal> 値として設定されます。例え" "ば、マルチアーチライブラリーをインストールするパスは以下のように変更されま" "す。<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Old path" msgstr "旧パス" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "i386 multiarch path" msgstr "i386 マルチアーチパス" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "amd64 multiarch path" msgstr "amd64 マルチアーチパス" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/</filename>" msgstr "<filename>/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/i386-linux-gnu/</filename>" msgstr "<filename>/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/</filename>" msgstr "<filename>/usr/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/i386-linux-gnu/</filename>" msgstr "<filename>/usr/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/usr/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><para> msgid "" "Here are some typical multiarch package split scenario examples for the " "followings:" msgstr "以下の場合に関する典型的なパッケージ分割シナリオの例を示します。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a library source <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" msgstr "" "ライブラリーソース <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>bar</replaceable>-1.tar.gz</filename> " "written in a compiled language" msgstr "" "コンパイラー用の言語で書かれたツールのソース <filename><replaceable>bar</" "replaceable>-1.tar.gz</filename>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>baz</replaceable>-1.tar.gz</filename> " "written in an interpreted language" msgstr "" "インタープリター用言語で書かれたツールのソース <filename><replaceable>baz</" "replaceable>-1.tar.gz</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package" msgstr "パッケージ" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Architecture:" msgstr "Architecture:" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Multi-Arch:" msgstr "Multi-Arch:" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package content" msgstr "パッケージ内容" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "any" msgstr "any" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "same" msgstr "same" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library, co-installable" msgstr "共有ライブラリー、同時インストール可能" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library debug symbols, co-installable" msgstr "共有ラーブラリーデバグシンボル、同時インストール可能" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library header files etc., co-installable" msgstr "共有ラーブラリーヘッダーファイル他、同時インストール可能" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "foreign" msgstr "foreign" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the run-time support programs, not co-installable" msgstr "実行時サポートプログラム、同時インストール不可" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "all" msgstr "all" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library documentation files" msgstr "共有ライブラリーのドキュメンテーションファイル" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the compiled program files, not co-installable" msgstr "コンパイルされ実行されるプログラムファイル、同時インストール不可" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the documentation files for the program" msgstr "プログラムのドキュメンテーションファイル" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the interpreted program files" msgstr "インタープリターで実行されるプログラムファイル" #. type: Content of: <book><appendix><section><para> msgid "" "Please note that the development package should contain a symlink for the " "associated shared library <emphasis role=\"strong\">without a version " "number</emphasis>. E.g.: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</" "filename> -> <filename>libfoo.so.1</filename>" msgstr "" "開発パッケージは関連した共有ライブラリーへの<emphasis role=\"strong\">バー" "ジョン番号無しの</emphasis>シンボリックリンクを含んでいるべきです。例えば: " "<filename>/usr/lib/x86_64-linux-gnu/libfoo.so</filename> -> " "<filename>libfoo.so.1</filename>" #. type: Content of: <book><appendix><section><title> msgid "Building a shared library package" msgstr "共有ライブラリーパッケージのビルド" #. type: Content of: <book><appendix><section><para> msgid "" "You can build a Debian library package enabling the multiarch support using " "<citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> as follows." msgstr "" "<citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> を以下のように使えばマルチアーチをサポートするようにして " "Debian のライブラリーパッケージをビルドできます。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Update <filename>debian/control</filename>." msgstr "<filename>debian/control</filename> を更新します。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Build-Depends: debhelper (>=9)</literal> for the source package " "section." msgstr "" "ソースパッケージセクションに <literal>Build-Depends: debhelper (>=9)</" "literal> を追加します。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Pre-Depends: ${misc:Pre-Depends}</literal> for each shared " "library binary package." msgstr "" "共有ライブラリーのバイナリーパッケージごとに <literal>Pre-Depends: ${misc:" "Pre-Depends}</literal> を追加します。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Multi-Arch:</literal> stanza for each binary package section." msgstr "" "<literal>Multi-Arch:</literal> スタンザを各バイナリーパッケージセクション毎に" "追加します。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Set <filename>debian/compat</filename> to \"9\"." msgstr "<filename>debian/compat</filename> を \"9\" と設定します。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Adjust the path from the normal <literal>/usr/lib/</literal> to the " "multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> for all " "packaging scripts." msgstr "" "すべてのパッケージングスクリプトに関して、通常の <literal>/usr/lib/</" "literal> から、マルチアーチの <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</" "literal> へとパスを調整します。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Call <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> in <filename>debian/rules</filename> to set " "<literal>DEB_HOST_MULTIARCH</literal> variable, first." msgstr "" "最初に <filename>debian/rules</filename> 中で <literal>DEB_HOST_MULTIARCH ?= " "$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)</literal> を呼び " "<literal>DEB_HOST_MULTIARCH</literal> 変数を設定します。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace <literal>/usr/lib/</literal> with <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> in <filename>debian/rules</filename>." msgstr "" "<filename>debian/rules</filename> 中の <literal>/usr/lib/</literal> を " "<literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> で置き換えます。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively, you can add <literal>--libdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> and <literal>--libexecdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> arguments to <literal>./configure</" "literal>. Please note that <literal>--libexecdir</literal> specifies the " "default path to install executable programs run by other programs rather " "than by users. Its Autotools default is <filename>/usr/libexec/</filename> " "but its Debian default is <filename>/usr/lib/</filename>." msgstr "" "これに代えて、<literal>./configure</literal> に <literal>--libdir=\\$" "${prefix}/lib/$(DEB_HOST_MULTIARCH)</literal> と <literal>--libexecdir=\\$" "${prefix}/lib/$(DEB_HOST_MULTIARCH)</literal> 引数を追加することもできます。" "注意いただきたいのは、ユーザーではなく他のプログラムによりのみ実行される実行" "プログラムをインストールするデフォルトパスを <literal>--libexecdir</literal> " "は設定します。その Autotools のデフォルトは <filename>/usr/libexec/</" "filename> ですが、Debian デフォルトは <filename>/usr/lib/</filename> です。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If <literal>./configure</literal> is used in the part of " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>, make sure to replace it with <literal>dh_auto_configure -- " "</literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "もし <filename>debian/rules</filename> 中の " "<literal>override_dh_auto_configure</literal> ターゲットの一部分として " "<literal>./configure</literal> が用いられている場合には、それを " "<literal>dh_auto_configure -- </literal> と置き換えるようにしましょう。" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace all occurrences of <literal>/usr/lib/</literal> with <literal>/usr/" "lib/*/</literal> in <filename>debian/<replaceable>foo</replaceable>.install</" "filename> files." msgstr "" "<filename>debian/<replaceable>foo</replaceable>.install</filename> ファイル中" "にある全ての <literal>/usr/lib/</literal> を <literal>/usr/lib/*/</literal> " "で置き換えます。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Generate files like <filename>debian/<replaceable>foo</replaceable>.links</" "filename> from <filename>debian/<replaceable>foo</replaceable>.links.in</" "filename> dynamically by adding a script to " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>." msgstr "" "<filename>debian/rules</filename> 中の <literal>override_dh_auto_configure</" "literal> ターゲットにスクリプトを追加し <filename>debian/<replaceable>foo</" "replaceable>.links.in</filename> から <filename>debian/<replaceable>foo</" "replaceable>.links</filename> を動的に生成します。" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" #. type: Content of: <book><appendix><section><para> msgid "" "Please make sure to verify that the shared library package contains only the " "expected files, and that your -dev package still works." msgstr "" "共有ライブラリーパッケージが期待されるファイルのみを含み、-dev パッケージも依" "然として動作することを確認しましょう。" #. type: Content of: <book><appendix><section><para> msgid "" "All files installed simultaneously as the multiarch package to the same file " "path should have exactly the same file content. You must be careful on " "differences generated by the data byte order and by the compression " "algorithm." msgstr "" "マルチアーチパッケージとして同時に同一パスにインストールされる全てのファイル" "はファイルの内容が完全に同じあるべきです。データーのバイトオーダーや圧縮アル" "ゴリズムにより生成される相違に注意すべきです。" #~ msgid "allowed" #~ msgstr "allowed" #~ msgid "the shared library header files (no <filename>*.a</filename> files)" #~ msgstr "" #~ "共有ラーブラリーのヘッダーファイル (<filename>*.a</filename> ファイル含ま" #~ "ず)" #~ msgid "the compiled program files" #~ msgstr "コンパイルされ実行されるプログラムファイル、同時インストール不可" #~ msgid "Guide for shared libraries" #~ msgstr "共有ライブラリーのガイド" #~ msgid "Multiarch shared libraries" #~ msgstr "Multiarch 共有ライブラリー" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/ru.tex������������������������������������������������������������������������0000644�0000000�0000000�00000000017�12256550104�012454� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\hyphenation{} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/ca.tex������������������������������������������������������������������������0000644�0000000�0000000�00000000017�12256550103�012410� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\hyphenation{} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/zh-tw.ent���������������������������������������������������������������������0000644�0000000�0000000�00000001510�12256550104�013064� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- This is UTF-8 file. Remember, the *first* definition of an entity wins. --> <!ENTITY othercredit ' <othercredit role="translator"><personname>Aron Xu</personname><email>happyaron.xu@gmail.com</email><contrib>简体中文翻译</contrib></othercredit> <othercredit role="translator"><personname>李 凌</personname><email>lilingv@gmail.com</email><contrib>简体中文翻译</contrib></othercredit> <othercredit role="translator"><personname>郑 原真</personname><email>ycheng@slat.org</email><contrib>简体中文翻译</contrib></othercredit> <othercredit role="converter"><personname>陳 侃如</personname><email>koster@debian.org</email><contrib>繁簡轉換</contrib></othercredit> <othercredit role="converter"><personname>青 木修</personname><email>osamu@debian.org</email><contrib>繁簡轉換</contrib></othercredit> '> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/zh-cn.ent���������������������������������������������������������������������0000644�0000000�0000000�00000001053�12256550104�013034� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- This is UTF-8 file. Remember, the *first* definition of an entity wins. --> <!ENTITY othercredit ' <othercredit role="translator"><personname>Aron Xu</personname><email>happyaron.xu@gmail.com</email><contrib></contrib>简体中文翻译</othercredit> <othercredit role="translator"><personname>李 凌</personname><email>lilingv@gmail.com</email><contrib></contrib>简体中文翻译</othercredit> <othercredit role="translator"><personname>郑 原真</personname><email>ycheng@slat.org</email><contrib></contrib>简体中文翻译</othercredit> '> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/zh-cn.tex���������������������������������������������������������������������0000644�0000000�0000000�00000000017�12256550104�013045� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\hyphenation{} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/po/de.po�������������������������������������������������������������������������0000644�0000000�0000000�00002157007�12262273145�012256� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# German translation of "Debian New Maintainers' Guide" # Copyright (C) 2000-2010 Debian German l10n team <debian-l10n-german@lists.debian.org> # This file is distributed under the same license as the maint-guide package. # # Eduard Bloch <blade@debian.org>, 2000, 2003, 2004. # Erik Schanze <mail@erikschanze.de>, 2005. # Tobias Quathamer <toddy@debian.org>, 2010, 2012. # Helge Kreutzmann <debian@helgefjell.de>, 2012, 2013. msgid "" msgstr "" "Project-Id-Version: maint-guide 1.2.32\n" "Report-Msgid-Bugs-To: Osamu Aoki <osamu@debian.org>\n" "POT-Creation-Date: 2014-01-06 00:00+0900\n" "PO-Revision-Date: 2013-12-25 20:35+0100\n" "Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n" "Language-Team: German <debian-l10n-german@lists.debian.org>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #. type: Attribute 'lang' of: <book> msgid "en" msgstr "de" #. type: Content of: <book><title> msgid "Debian New Maintainers' Guide" msgstr "Debian-Leitfaden für Neue Paketbetreuer" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Josip Rodin" msgstr "Josip Rodin" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "joy-mg@debian.org" msgstr "joy-mg@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "original contents" msgstr "Ursprüngliche Inhalte" #. type: Content of: <book><bookinfo><authorgroup><author><personname> msgid "Osamu Aoki" msgstr "Osamu Aoki" #. type: Content of: <book><bookinfo><authorgroup><author><email> msgid "osamu@debian.org" msgstr "osamu@debian.org" #. type: Content of: <book><bookinfo><authorgroup><author><contrib> msgid "updated contents" msgstr "Aktualisierte Inhalte" #. type: Content of: <book><bookinfo><releaseinfo> msgid "version &docversion;" msgstr "Version &docversion;" #. type: Content of: <book><bookinfo> msgid "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" msgstr "" "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2013</year> " "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " "<holder>Raphaël Hertzog</holder></copyright>" #. type: Content of: <book><bookinfo><legalnotice><para> msgid "" "This document may be used under the terms the GNU General Public License " "version 2 or higher." msgstr "" "Dieses Dokument darf gemäß der Bedingungen der GNU General Public License " "Version 2 oder neuer verwendet werden." #. type: Content of: <book><bookinfo><legalnotice><para> msgid "This document was made using these two documents as examples:" msgstr "" "Diesem Dokument liegen die Beispiele der folgenden zwei Dokumente zu Grunde:" #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " "Vyas." msgstr "" "Making a Debian Package (AKA the Debmake Manual), Copyright © 1997 Jaldhar " "Vyas." #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> msgid "" "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." msgstr "" "The New-Maintainer's Debian Packaging Howto, Copyright © 1997 Will Lowe." #. type: Content of: <book><chapter><title> msgid "Getting started The Right Way" msgstr "Einstieg, aber richtig!" #. type: Content of: <book><chapter><para> msgid "" "This document tries to describe the building of a Debian package to ordinary " "Debian users and prospective developers. It uses fairly non-technical " "language, and it's well covered with working examples. There is an old " "Latin saying: <emphasis>Longum iter est per praecepta, breve et efficax per " "exempla</emphasis> (It's a long way by the rules, but short and efficient " "with examples)." msgstr "" "Dieses Dokument versucht, einem typischen Debian-Benutzer und zukünftigen " "Entwickler in einer verständlichen Sprache die Technik der Paketerstellung " "für Debian beizubringen, begleitet von funktionierenden Beispielen. Ein " "altes lateinisches Sprichwort lautet: <emphasis>Longum iter est per " "praecepta, breve et efficax per exempla!</emphasis> (Es ist ein langer Weg " "mit Regeln, aber ein kurzer und effizienter mit Beispielen!)" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "The document assumes you are using a <literal>&base-release;</literal> or " "newer system. If you need to follow this text in an older system (including " "an older Ubuntu system etc.), you must install backported <systemitem role=" "\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</" "systemitem> packages, at least." msgstr "" "In diesem Dokument wird davon ausgegangen, dass Sie ein <literal>&Base-" "release;</literal>-System oder ein neueres System verwenden. Wenn Sie diesen " "Text auf einem älteren System (auch einem älteren Ubuntu-System o.ä.) lesen, " "müssen Sie mindestens die zurückportierten Pakete <systemitem role=\"package" "\">dpkg</systemitem> und <systemitem role=\"package\">debhelper</systemitem> " "installieren." #. type: Content of: <book><chapter><para> msgid "" "This document has been updated for the Debian <literal>&base-release;</" "literal> release. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Dieses Dokument wurde für die Debian-Veröffentlichung <literal>&Base-release;" "</literal> aktualisiert. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "You can learn about the basic handling of a Debian system from the <ulink " "url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to " "learn about Unix programming, too." msgstr "" "Sie können aus der <ulink url=\"&debref;\">Debian-Referenz</ulink> den " "grundlegenden Umgang mit einem Debian-System lernen. Sie enthält auch einige " "Hinweise, um etwas über Unix-Programmierung zu lernen." #. type: Content of: <book><chapter><para> msgid "" "One of the things that makes Debian such a top-notch distribution is its " "package system. While there is a vast quantity of software already in the " "Debian format, sometimes you need to install software that isn't. You may " "be wondering how you can make your own packages; and perhaps you think it is " "a very difficult task. Well, if you are a real novice on Linux, it is hard, " "but if you were a rookie, you wouldn't be reading this document " "now :-) You do need to know a little about Unix programming but you " "certainly don't need to be a wizard. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Eines der Dinge, die Debian zu einer hervorragenden Distribution machen, ist " "das Paket-System. Obwohl massenhaft Software im Debian-Format vorhanden ist, " "muss man manchmal auch Software installieren, die nicht in diesem Format " "vorliegt. Sie fragen sich vermutlich, wie man eigene Pakete erstellt und " "vielleicht meinen Sie, es sei eine sehr komplizierte Aufgabe. Nun, wenn Sie " "ein absoluter Linux-Neuling sind, dann ist es wirklich schwierig, aber als " "Anfänger würden Sie dieses Dokument jetzt nicht lesen. :-) Sie sollten schon " "ein wenig Kenntnisse über die Unix-Programmierung mitbringen, aber Sie " "brauchen ganz sicher kein Guru zu sein. <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><para> msgid "" "One thing is certain, though: to properly create and maintain Debian " "packages takes many hours. Make no mistake, for our system to work the " "maintainers need to be both technically competent and diligent." msgstr "" "Eines ist wohl sicher: um Debian-Pakete richtig zu bauen und zu warten, " "brauchen Sie viel Zeit. Schätzen Sie das nicht falsch ein; damit unser " "System funktioniert, muss der Betreuer sowohl technisch kompetent sein als " "auch fleißig und sorgfältig arbeiten." # FIMXE: Falsche Anführungszeichen im helpme-Link #. type: Content of: <book><chapter><para> msgid "" "If you need some help on packaging, please read <xref linkend=\"helpme\"/>." msgstr "" "Falls Sie Hilfe beim Erstellen des Pakets brauchen, lesen Sie bitte <xref " "linkend=\"helpme\"/>." #. type: Content of: <book><chapter><para> msgid "" "Newer versions of this document should always be available online at <ulink " "url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</" "systemitem> package. The translations may be available in packages such as " "<systemitem role=\"package\">maint-guide-es</systemitem>. Please note that " "this documentation may be slightly outdated." msgstr "" "Neuere Versionen dieses Dokuments sollten immer online über <ulink url=" "\"&maint-guide;\"/> und in dem Paket <systemitem role=\"package\">maint-" "guide</systemitem> zu finden sein. Die Übersetzungen sind in Paketen wie " "beispielsweise <systemitem role=\"package\">maint-guide-es</systemitem> " "verfügbar. Bitte beachten Sie, dass diese Dokumentation etwas veraltet sein " "kann." # FIXME: "each detailed step" → "each step in detail" #. type: Content of: <book><chapter><para> msgid "" "Since this is a tutorial, I choose to explain each detailed step for some " "important topics. Some of them may look irrelevant to you. Please be " "patient. I have also intentionally skipped some corner cases and provided " "only pointers to keep this document simple." msgstr "" "Da dies eine Anleitung ist, wird bei wichtigen Themen jeder Schritt im " "Detail erklärt. Teile davon mögen Ihnen irrelevant vorkommen. Haben Sie " "Geduld! Einige seltene Fälle werden übersprungen und stattdessen werden nur " "Verweise geliefert, um dieses Dokument nicht zu kompliziert werden zu lassen." #. type: Content of: <book><chapter><section><title> msgid "Social dynamics of Debian" msgstr "Soziale Dynamik von Debian" #. type: Content of: <book><chapter><section><para> msgid "" "Here are some observations of Debian's social dynamics, presented in the " "hope that it will prepare you for interactions with Debian." msgstr "" "Es folgen einige Beobachtungen über Debians soziale Dynamik. Die Darstellung " "ist mit der Hoffnung verbunden, dass es Sie für Ihre Arbeit mit Debian " "vorbereiten wird." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "We all are volunteers." msgstr "Wir sind alle Freiwillige." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You cannot impose on others what to do." msgstr "Sie können anderen nicht vorgeben, was getan werden soll." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be motivated to do things by yourself." msgstr "Sie sollten sich selbst für Ihre Tätigkeit motivieren." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Friendly cooperation is the driving force." msgstr "Freundliche Zusammenarbeit ist die Triebfeder." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution should not overstrain others." msgstr "Ihr Beitrag sollte andere nicht zu sehr belasten." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Your contribution is valuable only when others appreciate it." msgstr "Ihr Beitrag ist nur wertvoll, wenn andere ihn würdigen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Debian is not your school where you get automatic attention of teachers." msgstr "" "Debian ist keine Schulklasse, in der Sie automatisch vom Lehrer " "Aufmerksamkeit bekommen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should be able to learn many things by yourself." msgstr "Sie sollten in der Lage sein, viele Sachen selbst zu lernen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Attention from other volunteers is a very scarce resource." msgstr "" "Aufmerksamkeit von anderen Freiwilligen ist eine sehr knappe Ressource." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Debian is constantly improving." msgstr "Debian verbessert sich ständig." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You are expected to make high quality packages." msgstr "Es wird von Ihnen erwartet, hochqualitative Pakete zu erstellen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "You should adapt yourself to change." msgstr "Sie sollten sich an Änderungen selbst anpassen." #. type: Content of: <book><chapter><section><para> msgid "" "There are several types of people interacting around Debian with different " "roles." msgstr "" "Es werden gibt mehrere Arten von Personen, die innerhalb von Debian mit " "verschiedenen Rollen zusammenarbeiten." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream author</emphasis>: the person who made " "the original program." msgstr "" "<emphasis role=\"strong\">Ursprünglicher Autor (»upstream author«)</" "emphasis>: Die Person, die das ursprüngliche Programm geschrieben hat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who " "currently maintains the program." msgstr "" "<emphasis role=\"strong\">Betreuer des Originalprogramms (»upstream " "maintainer«)</emphasis>: Die Person, die das Programm zurzeit betreut." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">maintainer</emphasis>: the person making the " "Debian package of the program." msgstr "" "<emphasis role=\"strong\">Betreuer (»maintainer«)</emphasis>: Die Person, " "die ein Debian-Paket des Programms erstellt oder betreut." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">sponsor</emphasis>: a person who helps maintainers " "to upload packages to the official Debian package archive (after checking " "their contents)." msgstr "" "<emphasis role=\"strong\">Sponsor</emphasis>: Eine Person, die Betreuern " "hilft, Pakete in das offizielle Debian-Paketarchiv hochzuladen (nachdem sie " "den Inhalt überprüft hat)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">mentor</emphasis>: a person who helps novice " "maintainers with packaging etc." msgstr "" "<emphasis role=\"strong\">Mentor</emphasis>: Eine Person, die neuen " "Betreuern beim Paketieren usw. hilft." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): a member of the " "Debian project with full upload rights to the official Debian package " "archive." msgstr "" "<emphasis role=\"strong\">Debian-Entwickler (»Debian Developer«, DD)</" "emphasis>: Ein Mitglied des Debian-Projekts mit unbeschränkten Rechten, " "Pakete in das offizielle Debian-Paketarchiv hochzuladen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): a person with " "limited upload rights to the official Debian package archive." msgstr "" "<emphasis role=\"strong\">Debian-Betreuer (»Debian Maintainer«, DM)</" "emphasis>: Eine Person, die beschränkte Rechte hat, Pakete in das offizielle " "Debian-Paketarchiv hochzuladen." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you cannot become an official <emphasis role=\"strong" "\">Debian Developer</emphasis> (DD) overnight, because it takes more than " "technical skill. Please do not be discouraged by this. If it is useful to " "others, you can still upload your package either as a <emphasis role=\"strong" "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</" "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>." msgstr "" "Bitte beachten Sie, dass Sie nicht über Nacht offizieller <emphasis role=" "\"strong\">Debian-Entwickler</emphasis> (»Debian Developer«, DD) werden " "können, weil es dafür mehr als nur technische Fähigkeiten braucht. Bitte " "lassen Sie sich davon nicht entmutigen. Wenn Ihr Paket für andere nützlich " "ist, können Sie es entweder als <emphasis role=\"strong\">Betreuer</" "emphasis> über einen <emphasis role=\"strong\">Sponsor</emphasis> oder als " "<emphasis role=\"strong\">Debian-Betreuer</emphasis> trotzdem hochladen." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that you do not need to create any new package to become an " "official Debian Developer. Contributing to the existing packages can " "provide a path to becoming an official Debian Developer too. There are many " "packages waiting for good maintainers (see <xref linkend=\"choose\"/>)." msgstr "" "Bitte beachten Sie, dass Sie kein neues Paket erstellen müssen, um " "offizieller Debian-Entwickler zu werden. Auch Beiträge zu existierenden " "Paketen können ein Weg sein, offizieller Debian-Entwickler zu werden. Es " "gibt viele Pakete, die auf einen guten Betreuer warten (siehe <xref linkend=" "\"choose\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "Since we focus only on technical aspects of packaging in this document, " "please refer to the following to learn how Debian functions and how you can " "get involved." msgstr "" "Da in diesem Dokument nur auf technische Aspekte der Paketierung fokussiert " "wird, lesen Sie bitte die folgenden Texte, um zu erfahren, wie Debian " "funktioniert und wie Sie daran mitarbeiten können." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (Introductory slides)" msgstr "" "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" "\", and democracy</ulink> (einführenden Folien)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)" msgstr "" "<ulink url=\"&debianorghelp;\">Wie können Sie Debian helfen?</ulink> " "(offiziell)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " "\"Contributing to the Debian Project\"</ulink> (semi-official)" msgstr "" "<ulink url=\"http://www.debian.org/doc/FAQ/ch-contributing.de.html\">Die " "Debian GNU/Linux-FAQ, Kapitel 13 - »Zum Debian-Projekt beitragen«</ulink> " "(semi-offiziell)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " "(supplemental)" msgstr "" "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> (ergänzend)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (official)" msgstr "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (offiziell)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)" msgstr "" "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (ergänzend)" #. type: Content of: <book><chapter><section><title> msgid "Programs needed for development" msgstr "Programme, die zum Entwickeln notwendig sind" #. type: Content of: <book><chapter><section><para> msgid "" "Before you start anything, you should make sure that you have properly " "installed some additional packages needed for development. Note that the " "list doesn't contain any packages marked <literal>essential</literal> or " "<literal>required</literal> - we expect that you have those installed " "already." msgstr "" "Bevor Sie loslegen können, müssen Sie sicherstellen, dass einige zusätzliche " "Pakete richtig installiert sind, die für die Entwicklung benötigt werden. " "Beachten Sie, dass die Liste keine Pakete enthält, die als " "<literal>essential</literal> oder <literal>required</literal> markiert sind " "- wir gehen davon aus, dass Sie diese schon installiert haben." #. type: Content of: <book><chapter><section><para> msgid "" "The following packages come with the standard Debian installation, so you " "probably have them already (along with any additional packages they depend " "on). Still, you should check it with <literal>aptitude show " "<replaceable>package</replaceable></literal> or with <literal>dpkg -s " "<replaceable>package</replaceable></literal>." msgstr "" "Die folgenden Pakete sind in der Standardinstallation von Debian enthalten, " "also werden Sie sie vermutlich schon haben (und zusätzliche Pakete, von " "denen diese abhängen). Sie sollten dies dennoch mit <literal>aptitude show " "<replaceable>Paket</replaceable></literal> oder <literal>dpkg -s " "<replaceable>Paket</replaceable></literal> überprüfen." #. type: Content of: <book><chapter><section><para> msgid "" "The most important package to install on your development system is the " "<systemitem role=\"package\">build-essential</systemitem> package. Once you " "try to install that, it will <emphasis>pull in</emphasis> other packages " "required to have a basic build environment." msgstr "" "Das wichtigste Paket, dass auf Ihrem Entwicklungssystem installiert werden " "sollte, ist das Paket <systemitem role=\"package\">build-essential</" "systemitem>. Wenn Sie es installieren, wird es andere Pakete " "<emphasis>hinterherziehen (»pull in«)</emphasis>, die für eine grundlegende " "Build-Umgebung notwendig sind." #. type: Content of: <book><chapter><section><para> msgid "" "For some types of packages, that is all you will require; however, there is " "another set of packages that while not essential for all package builds are " "useful to have installed or may be required by your package:" msgstr "" "Für manche Arten von Paketen ist das alles, was Sie benötigen. Es gibt " "allerdings noch eine weitere Sammlung von Paketen, die - obwohl sie nicht " "essenziell für jede Paketerstellung sind - sinnvoll installiert werden " "können oder sogar von Ihrem Paket benötigt werden:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem>, and <systemitem role=\"package" "\">autotools-dev</systemitem> - many newer programs use configure scripts " "and <filename>Makefile</filename> files preprocessed with the help of " "programs like these (see <literal>info autoconf</literal>, <literal>info " "automake</literal>). <systemitem role=\"package\">autotools-dev</" "systemitem> keeps up-to-date versions of certain auto files and has " "documentation about the best way to use those files." msgstr "" "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" "\"package\">automake</systemitem> und <systemitem role=\"package\">autotools-" "dev</systemitem> - Viele neuere Programme benutzen configure-Skripte und " "<filename>Makefile</filename>-Dateien, die mit Hilfe dieser Programme " "vorproduziert wurden (siehe »<literal>info autoconf</literal>«, " "»<literal>info automake</literal>«). Das Paket <systemitem role=\"package" "\">autotools-dev</systemitem> enthält aktuelle Versionen von bestimmten auto-" "Dateien sowie Informationen über die beste Art und Weise, diese Dateien zu " "verwenden." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "There are also some more specialized but similar packages such as " "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" "\"package\">dh-make-php</systemitem>, etc." msgstr "" "Es gibt auch einige spezialisierte aber ähnliche Pakete wie <systemitem role=" "\"package\">dh-make-perl</systemitem>, <systemitem role=\"package\">dh-make-" "php</systemitem> usw." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debhelper</systemitem> and <systemitem role=" "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> is necessary to create the skeleton of our example package, and " "it will use some of the <systemitem role=\"package\">debhelper</systemitem> " "tools for creating packages. They are not essential for this purpose, but " "are <emphasis>highly</emphasis> recommended for new maintainers. It makes " "the whole process very much easier to start, and to control afterwards. " "(See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">dh-make</systemitem> und <systemitem role=" "\"package\">debhelper</systemitem> - <systemitem role=\"package\">dh-make</" "systemitem> wird benötigt, um eine Gerüst unseres Beispielpakets zu " "erstellen. Es verwendet einige der <systemitem role=\"package\">debhelper</" "systemitem>-Werkzeuge für die Paketerstellung. Sie sind nicht zwingend " "erforderlich, um Pakete zu erstellen, aber für neue Betreuer <emphasis>sehr</" "emphasis> empfohlen. Sie vereinfachen den Einstieg in den ganzen Prozess " "sehr, ebenso die spätere Kontrolle (siehe <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>debhelper</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, <filename>/usr/share/doc/debhelper/" "README</filename>). <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">devscripts</systemitem> - this package contains " "some useful scripts that can be helpful for maintainers, but they are also " "not necessary for building packages. Packages recommended and suggested by " "this package are worth looking into. (See <filename>&devscripts-readme;</" "filename>.)" msgstr "" "<systemitem role=\"package\">devscripts</systemitem> - Dieses Paket enthält " "einige nützliche Skripte, die für die Betreuer hilfreich sein können, aber " "nicht zum Bauen der Pakete benötigt werden. Die von diesem Paket empfohlenen " "und vorgeschlagenen Pakete sind ebenfalls einen Blick wert (siehe " "<filename>&devscripts-readme;</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you " "emulate being root which is necessary for some parts of the build process. " "(See <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">fakeroot</systemitem> - Dieses Hilfsprogramm " "ermöglicht Ihnen, die Identität von »root« vorzutäuschen, was für einige " "Teile des Build-Prozesses benötigt wird (siehe <citerefentry> " "<refentrytitle>fakeroot</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">file</systemitem> - this handy program can " "determine what type a file is. (See <citerefentry> <refentrytitle>file</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">file</systemitem> - Dieses nützliche Programm " "kann den Typ einer Datei feststellen (siehe <citerefentry> " "<refentrytitle>file</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " "compiler, necessary if your program is written in Fortran. (See " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gfortran</systemitem> - Der GNU-Fortran-95-" "Compiler wird benötigt, wenn Ihr Programm in Fortran geschrieben ist (siehe " "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git</systemitem> - this package provides a " "popular version control system designed to handle very large projects with " "speed and efficiency; it is used for many high profile open source projects, " "most notably the Linux kernel. (See <citerefentry> <refentrytitle>git</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, git Manual " "(<filename>&git-doc;</filename>).)" msgstr "" "<systemitem role=\"package\">git</systemitem> - Dieses Paket stellt ein " "beliebtes Versionskontrollsystem zur Verfügung, das dafür entworfen wurde, " "bei sehr großen Projekten schnell und effizient zu arbeiten. Es wird in " "vielen hoch angesehenen Open-Source-Projekten eingesetzt, beispielsweise " "beim Linux-Kernel (siehe <citerefentry> <refentrytitle>git</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, Git-Handbuch (<filename>&git-doc;</" "filename>))." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to " "digitally <emphasis>sign</emphasis> packages. This is especially important " "if you want to distribute it to other people, and you will certainly be " "doing that when your work gets included in the Debian distribution. (See " "<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">gnupg</systemitem> - Ein Werkzeug, mit dem Sie " "Pakete digital <emphasis>unterschreiben</emphasis> können. Dies ist " "besonders wichtig, wenn Sie das Paket an andere Leute verteilen wollen und " "das werden Sie sicher, wenn Ihre Arbeit in die Debian-Distribution " "aufgenommen wird (siehe <citerefentry> <refentrytitle>gpg</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " "necessary if your program is written in Pascal. Worthy of note here is " "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " "Compiler, which is also good at this task. (See <citerefentry> " "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">gpc</systemitem> - Der GNU-Pascal-Compiler wird " "benötigt, wenn Ihr Programm in Pascal geschrieben ist. Erwähnenswert ist an " "dieser Stelle der »Free Pascal Compiler« <systemitem role=\"package\">fp-" "compiler</systemitem>, der sich dafür ebenfalls gut eignet (siehe " "<citerefentry> <refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>ppc386</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lintian</systemitem> - this is the Debian " "package checker, which can let you know of any common mistakes after you " "build the package, and explains the errors found. (See <citerefentry> " "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)" msgstr "" "<systemitem role=\"package\">lintian</systemitem> - Das ist Debians Paket-" "Prüfer, der Sie nach der Paketerstellung über häufige Fehler informiert und " "die gefundenen Fehler erklärt (siehe <citerefentry> <refentrytitle>lintian</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <ulink url=" "\"&lintian-doc;\">Lintians Benutzerhandbuch</ulink>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patch</systemitem> - this very useful utility " "will take a file containing a difference listing (produced by the " "<command>diff</command> program) and apply it to the original file, " "producing a patched version. (See <citerefentry> <refentrytitle>patch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">patch</systemitem> - Ein sehr nützliches " "Programm, das eine Datei mit einer Auflistung der Unterschiede im " "Dateiinhalt (erstellt mit dem Programm <command>diff</command>) auf die " "ursprüngliche Datei anwendet und daraus die neue Version erzeugt (siehe " "<citerefentry> <refentrytitle>patch</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">patchutils</systemitem> - this package contains " "some utilities to work with patches such as the <command>lsdiff</command>, " "<command>interdiff</command> and <command>filterdiff</command> commands." msgstr "" "<systemitem role=\"package\">patchutils</systemitem> - Dieses Paket enthält " "einige Hilfsprogramme, um mit Patches zu arbeiten, beispielsweise die " "Befehle <command>lsdiff</command>, <command>interdiff</command> und " "<command>filterdiff</command>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">pbuilder</systemitem> - this package contains " "programs which are used for creating and maintaining <command>chroot</" "command> environment. Building Debian package in this <command>chroot</" "command> environment verifies the proper build dependency and avoid FTBFS " "(Fails To Build From Source) bugs. (see <citerefentry> " "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>)" msgstr "" "<systemitem role=\"package\">pbuilder</systemitem> - Dieses Paket enthält " "Programme, um eine <command>chroot</command>-Umgebung aufzubauen und zu " "betreuen. Beim Bauen eines Debian-Pakets in dieser <command>chroot</command>-" "Umgebung wird geprüft, ob die Build-Abhängigkeiten stimmen, wodurch FTBFS-" "Fehler (»Fails To Build From Source«, kann nicht aus den Quellen gebaut " "werden) verhindert werden (siehe <citerefentry> <refentrytitle>pbuilder</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry> und <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">perl</systemitem> - Perl is one of the most " "used interpreted scripting languages on today's Unix-like systems, often " "referred to as Unix's Swiss Army Chainsaw. (See <citerefentry> " "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">perl</systemitem> - Perl ist eine der am " "meisten gebrauchten interpretierten Skriptsprachen auf heutigen Unix-" "ähnlichen Systemen, oft bezeichnet als »Unix' Schweizer " "Offizierskettensäge« (siehe <citerefentry> <refentrytitle>perl</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">python</systemitem> - Python is another of the " "most used interpreted scripting languages on the Debian system, combining " "remarkable power with very clear syntax. (See <citerefentry> " "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>.)" msgstr "" "<systemitem role=\"package\">python</systemitem> - Python ist eine weitere " "der am meisten gebrauchten interpretierten Skriptsprachen auf Debian-" "Systemen, die bemerkenswerte Stärke mit einer sehr klaren Syntax kombiniert " "(siehe <citerefentry> <refentrytitle>python</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">quilt</systemitem> - this package helps you to " "manage large numbers of patches by keeping track of the changes each patch " "makes. Patches can be applied, un-applied, refreshed, and more. (See " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum></citerefentry>, and <filename>&quilt-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">quilt</systemitem> - Dieses Paket hilft Ihnen " "dabei, eine große Anzahl von Patches zu verwalten, indem es die Änderungen " "verfolgt, die jeder Patch vornimmt. Patches können angewandt, entfernt und " "erneuert werden sowie vieles mehr. (Lesen Sie <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum></citerefentry> " "und <filename>&quilt-pdf;</filename>)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " "usually those made for X11, also use these programs to generate " "<filename>Makefile</filename> files from sets of macro functions. (See " "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.)" msgstr "" "<systemitem role=\"package\">xutils-dev</systemitem> - Einige Programme, " "üblicherweise die für X11 erstellten, benutzen diese Programme zum Erzeugen " "von <filename>Makefile</filename>-Dateien aus einer Gruppe von Makro-" "Funktionen (siehe <citerefentry> <refentrytitle>imake</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>xmkmf</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>)." #. type: Content of: <book><chapter><section><para> msgid "" "The short descriptions that are given above only serve to introduce you to " "what each package does. Before continuing please read the documentation of " "each relevant program including ones installed through the package " "dependency such as <command>make</command>, at least, for the standard " "usage. It may seem like heavy going now, but later on you'll be " "<emphasis>very</emphasis> glad you read it. If you have specific questions " "later, I would suggest re-reading the documents mentioned above." msgstr "" "Die kurzen Erklärungen oben dienen nur dazu, Ihnen eine Einführung in die " "verschiedenen Pakete zu geben. Bevor Sie weitermachen, lesen Sie bitte die " "Dokumentation jedes relevanten Programms, auch die, die als Abhängigkeiten " "installiert wurden wie <command>make</command>, zumindest was die normale " "Arbeitsweise angeht. Das mag Ihnen am Anfang überflüssig vorkommen, aber " "schon bald werden Sie <emphasis>sehr</emphasis> froh darüber sein, sich " "schon vorher informiert zu haben. Falls Sie später gezielte Fragen haben, " "wird empfohlen, die oben erwähnten Dokumente erneut zu lesen." #. type: Content of: <book><chapter><section><title> msgid "Documentation needed for development" msgstr "Dokumentation, die zum Entwickeln gebraucht wird" #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>very important</emphasis> documentation which " "you should read along with this document:" msgstr "" "Das Folgende sind <emphasis>sehr wichtige</emphasis> Dokumente, die Sie " "neben diesem Dokument auch lesen sollten:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " "the structure and contents of the Debian archive, several OS design issues, " "the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which " "says where each file and directory should be), etc. For you, the most " "important thing is that it describes requirements that each package must " "satisfy to be included in the distribution. (See the local copies of " "<filename>&policy-pdf;</filename> and <filename>&fhs-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">debian-policy</systemitem> - Das <ulink url=" "\"&debian-policy;\">Debian Policy Manual</ulink> (Debian-Richtlinien-" "Handbuch) beinhalten Beschreibungen der Struktur und des Inhalts des Debian-" "Archivs, mehrere Besonderheiten des Betriebssystemdesigns, den »<ulink url=" "\"&fhs;\">Filesystem Hierarchy Standard</ulink>« (der beschreibt, wo jede " "Datei und jedes Verzeichnis sein sollte) usw. Das Wichtigste für Sie ist, " "dass sie die Anforderungen beschreiben, die ein Paket erfüllen muss, um in " "die Distribution aufgenommen zu werden (lesen Sie die lokalen Kopien " "<filename>&policy-pdf;</filename> und <filename>&fhs-pdf;</filename>)." # FIXME: Link auf Debian-Entwicklerreferenz auf Deutsch? #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">developers-reference</systemitem> - the <ulink " "url=\"&developers-reference;\">Debian Developer's Reference</ulink> " "describes all matters not specifically about the technical details of " "packaging, like the structure of the archive, how to rename, orphan, or " "adopt packages, how to do NMUs, how to manage bugs, best packaging " "practices, when and where to upload etc. (See the local copy of " "<filename>&developers-refpdf;</filename>.)" msgstr "" "<systemitem role=\"package\">developers-reference</systemitem> - Die <ulink " "url=\"&developers-reference;\">Debian-Entwicklerreferenz</ulink> beschreibt " "alle Dinge, die nicht speziell die technischen Details der Paketerstellung " "betreffen, beispielsweise die Struktur des Archivs, wie man Pakete " "umbenennt, aufgibt, adoptiert, NMUs durchführt, Fehler verwaltet, gute " "Pakete erstellt, wie und wo man ins Archiv hochlädt usw. (lesen Sie die " "lokale Kopie <filename>&developers-refpdf;</filename>)." #. type: Content of: <book><chapter><section><para> msgid "" "The following is the <emphasis>important</emphasis> documentation which you " "should read along with this document:" msgstr "" "Das Folgende sind <emphasis>wichtige</emphasis> Dokumente, die Sie neben " "diesem Dokument auch lesen sollten:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides a " "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " "System known as the GNU Autotools</ulink> whose most important components " "are Autoconf, Automake, Libtool, and gettext." msgstr "" "Das <ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> ist eine " "sehr gute Einführung für <ulink url=\"http://de.wikipedia.org/wiki/" "GNU_Build_System\">das GNU-Build-System, das als GNU Autotools bekannt ist</" "ulink>. Die wichtigsten Komponenten sind Autoconf, Automake, Libtool und " "Gettext." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">gnu-standards</systemitem> - this package " "contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-" "standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;" "\">Information for Maintainers of GNU Software</ulink>. Although Debian " "does not require these to be followed, these are still helpful as guidelines " "and common sense. (See the local copies of <filename>&gnu-standard-pdf;</" "filename> and <filename>&gnu-maintainer-pdf;</filename>.)" msgstr "" "<systemitem role=\"package\">gnu-standards</systemitem> - Dieses Paket " "enthält zwei Teile der Dokumentation des GNU-Projekts: die <ulink url=\"&gnu-" "standard;\">GNU Coding Standards</ulink> und <ulink url=\"&gnu-maintainer;" "\">Informationen für Betreuer von GNU-Software</ulink>. Obwohl Debian nicht " "verlangt, dass diese befolgt werden, sind sie trotzdem hilfreich als " "Richtlinie und sinnvoll (lesen Sie die lokalen Kopien von <filename>&gnu-" "standard-pdf;</filename> und <filename>&gnu-maintainer-pdf;</filename>)." #. type: Content of: <book><chapter><section><para> msgid "" "If this document contradicts any of the documents mentioned above, they are " "correct. Please file a bug report on the <systemitem role=\"package\">maint-" "guide</systemitem> package using <command>reportbug</command>." msgstr "" "Falls dieses Dokument einem der oben erwähnten Dokumente widerspricht, dann " "haben diese Recht. Bitte schreiben Sie einen Fehlerbericht zu dem Paket " "<systemitem role=\"package\">maint-guide</systemitem>." #. type: Content of: <book><chapter><section><para> msgid "" "The following is an alternative tutorial documentation which you may read " "along with this document:" msgstr "" "Das Folgende ist eine alternative Anleitung, die Sie zusammen mit diesem " "Dokument auch lesen können:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" msgstr "<ulink url=\"&debpkg-tutorial0;\">Debian-Paketier-Anleitung</ulink>" #. type: Content of: <book><chapter><section><title> msgid "Where to ask for help" msgstr "Wo man Hilfe bekommen kann" #. type: Content of: <book><chapter><section><para> msgid "" "Before you decide to ask your question in some public place, please read the " "fine documentation." msgstr "" "Bevor Sie sich entschließen, Ihre Frage an einer öffentlichen Stelle zu " "stellen, lesen Sie bitte die gute Dokumentation." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "files in <filename>/usr/share/doc/<replaceable>package</replaceable></" "filename> for all pertinent packages" msgstr "" "Dateien in <filename>/usr/share/doc/<replaceable>Paket</replaceable></" "filename> für alle einschlägigen Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>man</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "Inhalte von <literal><command>man</command> <replaceable>Befehl</" "replaceable></literal> für alle einschlägigen Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <literal><command>info</command> <replaceable>command</" "replaceable></literal> for all pertinent commands" msgstr "" "Inhalte von <literal><command>info</command> <replaceable>Befehl</" "replaceable></literal> für alle einschlägigen Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian." "org mailing list archive</ulink>" msgstr "" "Inhalte des <ulink url=\"&debian-mentors-ldo;\">Mailinglistenarchivs von " "debian-mentors@lists.debian.org</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org " "mailing list archive</ulink>" msgstr "" "Inhalte des <ulink url=\"&debian-devel-ldo;\"> Mailinglistenarchivs von " "debian-devel@lists.debian.org</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "You can use web search engines more effectively by including search strings " "such as <literal>site:lists.debian.org</literal> to limit the domain." msgstr "" "Sie können Websuchmaschinen effizienter benutzen, indem Sie bei dem " "Suchausdruck Angaben wie <literal>site:lists.debian.org</literal>, um den " "Suchbereich einzuschränken, verwenden." #. type: Content of: <book><chapter><section><para> msgid "" "Making a small test package is a good way to learn details of packaging. " "Inspecting existing well maintained packages is the best way to learn how " "other people make packages." msgstr "" "Das Erstellen eines kleinen Testpakets ist ein guter Weg, um die Details der " "Paketerstellung zu lernen. Das Untersuchen von existierenden, gut betreuten " "Paketen ist die beste Art, zu lernen, wie andere Leute Pakete machen." #. type: Content of: <book><chapter><section><para> msgid "" "If you still have questions about packaging that you couldn't find answers " "to in the available documentation and web resources, you can ask them " "interactively." msgstr "" "Falls Sie immer noch Fragen über das Paketieren haben, für die Sie keine " "Antworten in der verfügbaren Dokumentation und den Web-Ressourcen finden " "konnten, können Sie diese interaktiv stellen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " "list</ulink>. (This mailing list is for the novice.)" msgstr "" "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org-" "Mailingliste</ulink> (Diese Mailingliste ist für den Anfänger.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " "list</ulink>. (This mailing list is for the expert.)" msgstr "" "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org-" "Mailingliste</ulink> (Diese Mailingliste ist für den Experten.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</" "literal>." msgstr "" "<ulink url=\"&irc-debian;\">IRC</ulink> wie <literal>#debian-mentors</" "literal>." #. type: Content of: <book><chapter><section><para> msgid "" "The more experienced Debian developers will gladly help you, if you ask " "properly after making your required efforts." msgstr "" "Die erfahreneren Debian-Entwickler werden Ihnen gerne helfen, falls Sie nach " "den verlangten Recherchen Ihre Frage vernünftig formulieren." #. type: Content of: <book><chapter><section><para> msgid "" "When you receive a bug report (yes, actual bug reports!), you will know that " "it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking " "System</ulink> and read the documentation there, to be able to deal with the " "reports efficiently. I highly recommend reading the <ulink url=\"&devref-" "bug-handling;\">Debian Developer's Reference, 5.8. \"Handling bugs\"</" "ulink>." msgstr "" "Wenn Sie einen Fehlerbericht erhalten (ja, tatsächliche Fehlerberichte!), " "ist es Zeit für Sie, tiefer in die <ulink url=\"&bts;\">Debian-" "Fehlerdatenbank</ulink> einzusteigen und die dort vorhandene Dokumentation " "zu lesen, damit Sie mit den Berichten effizient umgehen können. Ich empfehle " "dringend, die <ulink url=\"&devref-bug-handling;\">Debian-" "Entwicklerreferenz, 5.8. »Handling bugs«</ulink> zu lesen." #. type: Content of: <book><chapter><section><para> msgid "" "Even if it all worked well, it's time to start praying. Why? Because in " "just a few hours (or days) users from all around the world will start to use " "your package, and if you made some critical error you'll get mailbombed by " "numerous angry Debian users... Just kidding. :-)" msgstr "" "Selbst wenn alles gut funktioniert hat, ist es jetzt an der Zeit, mit dem " "Beten anzufangen. Warum? Weil in wenigen Stunden (oder Tagen) Benutzer " "überall auf der Welt Ihr Paket verwenden werden, und wenn Sie einen " "kritischen Fehler gemacht haben, werden Sie von unzähligen verärgerten " "Debian-Benutzern mit E-Mails überschüttet ... war nur ein Scherz. :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Relax and be ready for bug reports, because there is a lot more work to be " "done before your package will be fully in line with Debian policies and its " "best practice guidelines (once again, read the <emphasis>real documentation</" "emphasis> for details). Good luck!" msgstr "" "Entspannen Sie sich und stellen Sie sich auf Fehlerberichte ein, denn es ist " "noch viel mehr Arbeit zu erledigen, bevor Ihr Paket vollständig im Einklang " "mit den Debian-Richtlinien sowie dessen bewährten Verfahren ist (nochmals: " "lesen Sie die <emphasis>wirkliche Dokumentation</emphasis> für Details). " "Viel Glück!" #. type: Content of: <book><chapter><title> msgid "First steps" msgstr "Erste Schritte" #. type: Content of: <book><chapter><para> msgid "" "Let's start by creating a package of your own (or, even better, adopting an " "existing one)." msgstr "" "Lassen Sie uns anfangen, indem Sie Ihr eigenes Paket erstellen (oder, noch " "besser, ein vorhandenes übernehmen)." #. type: Content of: <book><chapter><section><title> msgid "Debian package building workflow" msgstr "Arbeitsschritte beim Bau von Debian-Paketen" #. type: Content of: <book><chapter><section><para> msgid "" "If you are making a Debian package with an upstream program, the typical " "workflow of Debian package building involves generating several specifically " "named files for each step as follows." msgstr "" "Falls Sie ein Debian-Paket mit einem Programm von (anderen) Originalautoren " "erstellen, ist ein Teil der typischen Arbeitsschritte des Debian-Paketbaus " "die Erstellung mehrerer speziell benannter Dateien für jeden Schritt, wie " "folgt:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Get a copy of the upstream software, usually in a compressed tar format." msgstr "" "Besorgen Sie sich eine Kopie der Software der Originalautoren, normalerweise " "in einem komprimierten Tar-Format." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>Paket</replaceable>-<replaceable>Version</replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add Debian-specific packaging modifications to the upstream program under " "the <filename>debian</filename> directory, and create a non-native source " "package (that is, the set of input files used for Debian package building) " "in <literal>3.0 (quilt)</literal> format." msgstr "" "Fügen Sie Debian-spezifische Paketanpassungen zu dem Programm der " "Originalautoren im Verzeichnis <filename>debian</filename> hinzu und " "erstellen Sie ein nicht natives Quellpaket (d.h. die Menge an " "Eingabedateien, die zum Bau des Debian-Pakets verwandt wird) im Format " "<literal>3.0 (quilt)</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig." "tar.gz" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</replaceable>.orig.tar." "gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.debian.tar.gz" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</replaceable>-" "<replaceable>Revision</replaceable>.debian.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><footnote><para> msgid "" "For the older style of non-native Debian source packages in <literal>1.0</" "literal> format, <literal><replaceable>package</" "replaceable>_<replaceable>version</replaceable>-<replaceable>revision</" "replaceable>.diff.gz</literal> is used instead." msgstr "" "Für die Debian-Quellpakete im älteren <literal>1.0</literal>-Format wird " "stattdessen <literal><replaceable>Paket</replaceable>_<replaceable>Version</" "replaceable>-<replaceable>Revision</replaceable>.diff.gz</literal> benutzt." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>.dsc" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</replaceable>-" "<replaceable>Revision</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Build Debian binary packages, which are ordinary installable package files " "in <literal>.deb</literal> format (or <literal>.udeb</literal> format, used " "by the Debian Installer) from the Debian source package." msgstr "" "Aus Debian-Quellpaketen gebaute Debian-Binärpakete, die normale " "installierbare Paketdateien im <literal>.deb</literal>- (oder in dem vom " "Debian-Installer verwandten <literal>.udeb</literal>-)Format sind." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>-" "<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</replaceable>-" "<replaceable>Revision</replaceable>_<replaceable>Arch</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the character separating <literal><replaceable>package</" "replaceable></literal> and <literal><replaceable>version</replaceable></" "literal> was changed from <literal>-</literal> (hyphen) in the tarball name " "to <literal>_</literal> (underscore) in the Debian package filenames." msgstr "" "Bitte beachten Sie, dass das Zeichen, das <literal><replaceable>Paket</" "replaceable></literal> und <literal><replaceable>Version</replaceable></" "literal> trennt, von <literal>-</literal> (Bindestrich) im Tarball-Namen zu " "<literal>_</literal> (Unterstrich) im Debian-Paketdateinamen geändert wurde." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" "\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. The <emphasis role=\"strong" "\">package architecture</emphasis> follows the <ulink url=\"&policy-" "architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> and is " "automatically assigned by the package build process." msgstr "" "Lesen Sie <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink " "url=\"&policy-package;\">5.6.7 \"Package\"</ulink> und <ulink url=\"&policy-" "version;\">5.6.12 \"Version\"</ulink>. Die <emphasis role=\"strong" "\">Paketarchitektur</emphasis> folgt dem <ulink url=\"&policy-architecture;" "\">Debian Policy Manual, Kapitel 5.6.8 »Architecture«</ulink> und wird " "während des Paketbauprozesses automatisch zugewiesen." #. type: Content of: <book><chapter><section><para> msgid "" "In the file names above, replace the <literal><replaceable>package</" "replaceable></literal> part with the <emphasis role=\"strong\">package name</" "emphasis>, the <literal><replaceable>version</replaceable></literal> part " "with the <emphasis role=\"strong\">upstream version</emphasis>, the " "<literal><replaceable>revision</replaceable></literal> part with the " "<emphasis role=\"strong\">Debian revision</emphasis>, and the " "<literal><replaceable>arch</replaceable></literal> part with the <emphasis " "role=\"strong\">package architecture</emphasis>, as defined in the Debian " "Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Im obigen Dateinamen wird der <literal><replaceable>Paket</replaceable></" "literal>-Teil durch den <emphasis role=\"strong\">Paketnamen</emphasis>, der " "<literal><replaceable>Version</replaceable></literal>-Teil durch die " "<emphasis role=\"strong\">Version der Originalautoren</emphasis>, der " "<literal><replaceable>Revision</replaceable></literal>-Teil durch die " "<emphasis role=\"strong\">Debian-Revision</emphasis> und der " "<literal><replaceable>arch</replaceable></literal>-Teil mit der <emphasis " "role=\"strong\">Paketarchitektur</emphasis>, wie dies in dem »Debian Policy " "Manual« festgelegt ist, ersetzt. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "If instead you are making a Debian-specific package with no upstream, the " "typical workflow of Debian package building is simpler." msgstr "" "Falls Sie stattdessen ein Debian-spezifisches Paket ohne (andere) " "Originalautoren erstellen, ist der typische Arbeitsablauf bei der " "Paketerstellung einfacher." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a native Debian source package in the <literal>3.0 (native)</literal> " "format using a single compressed tar file in which all files are included." msgstr "" "Erstellen Sie ein natives Debian-Quellpaket im Format <literal>3.0 (native)</" "literal> mit einer einzelnen komprimierten Tar-Datei, in der alle Dateien " "enthalten sind." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</replaceable>.tar.gz" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</replaceable>.dsc" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Build Debian binary packages from the native Debian source package." msgstr "Bauen Sie Debian-Binärpakete aus den nativen Debian-Quellpaketen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> msgid "" "<replaceable>package</replaceable>_<replaceable>version</" "replaceable>_<replaceable>arch</replaceable>.deb" msgstr "" "<replaceable>Paket</replaceable>_<replaceable>Version</" "replaceable>_<replaceable>Arch</replaceable>.deb" #. type: Content of: <book><chapter><section><para> msgid "" "Each step of this outline is explained with detailed examples in later " "sections." msgstr "" "Jeder Schritt dieser Übersicht wird in späteren Abschnitten mit " "detaillierten Beispielen erklärt." #. type: Content of: <book><chapter><section><title> msgid "Choose your program" msgstr "Ihr Programm auswählen" #. type: Content of: <book><chapter><section><para> msgid "" "You have probably chosen the package you want to create. The first thing " "you need to do is check if the package is in the distribution archive " "already by using the following." msgstr "" "Sie haben sich wahrscheinlich schon ein Paket ausgesucht, das Sie erstellen " "wollen. Zuerst müssen Sie überprüfen, ob das Paket bereits in der " "Distribution existiert, indem Sie das Folgende benutzen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <command>aptitude</command> command" msgstr "den Befehl <command>aptitude</command>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page" msgstr "die Webseite <ulink url=\"&packages-do;\">Debian-Pakete</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> " "web page" msgstr "" "die Webseite <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</" "ulink>" # FIXME: Link auf Deutsch? #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. " "\"Adopting a package\"</ulink>." msgstr "" "Lesen Sie die <ulink url=\"&devref-adopt;\">Debian-Entwicklerreferenz 5.9.5. " "»Adoption eines Pakets«</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If the package already exists, well, install it! :-) If it happens to be " "<emphasis role=\"strong\">orphaned</emphasis> (that is, if its maintainer is " "set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>), you may be able to " "pick it up if it's still available. You may also adopt a package whose " "maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</" "emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Wenn es das Paket schon gibt, na, dann installieren Sie es! :-) Falls es " "<emphasis role=\"strong\">verwaist (»orphaned«)</emphasis> wurde (wenn als " "Betreuer »<ulink url=\"&qa-do;\">Debian QA Group</ulink>« eingetragen ist), " "dann können Sie es übernehmen, wenn es noch verfügbar ist. Sie können auch " "ein Paket adoptieren, dessen Betreuer einen »Request for " "Adoption« (<emphasis role=\"strong\">RFA</emphasis>) geschrieben hat. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "There are several package ownership status resources." msgstr "Es gibt mehrere Ressourcen zur Paketeigentümerschaft" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" msgstr "" "<ulink url=\"&wnpp-do;\">Arbeit-bedürfende und voraussichtliche Pakete</" "ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package " "<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</" "literal></ulink>" msgstr "" "<ulink url=\"&wnpp-bts;\">Debian-Fehlerdatenbank-Protokolle: Fehler im " "Pseudo-Paket <systemitem role=\"package\">wnpp</systemitem> in " "<literal>unstable</literal></ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" msgstr "" "<ulink url=\"&wnpp-dn;\">Debian-Pakete, die Aufmerksamkeit benötigen</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" "systemitem> bugs based on debtags</ulink>" msgstr "" "<ulink url=\"&wnpp-debtags;\">Durchsuchen Sie basierend auf Debtags die " "<systemitem role=\"package\">wnpp</systemitem>-Fehler</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Having said that, there will of course always be new programs that are worth " "packaging." msgstr "" "Trotzdem gibt es natürlich immer neue Programme, die es wert sind, für " "Debian paketiert zu werden." #. type: Content of: <book><chapter><section><para> msgid "" "As a side note, it's important to point out that Debian already has packages " "for most kinds of programs, and the number of packages already in the Debian " "archive is much larger than that of contributors with upload rights. Thus, " "contributions to packages already in the archive are far more appreciated " "(and more likely to receive sponsorship) by other developers <placeholder " "type=\"footnote\" id=\"0\"/>. You can contribute in various ways." msgstr "" "Als wichtige Randbemerkung sei darauf hingewiesen, dass Debian bereits für " "fast alle Arten von Programmen Pakete enthält und die Anzahl der Pakete im " "Debian-Archiv wesentlich größer ist als die der Mitwirkenden mit " "Berechtigung zum Hochladen. Daher werden Beiträge zu Paketen, die bereits im " "Archiv enthalten sind, von anderen Entwicklern wesentlich mehr gewürdigt " "(und haben bessere Chancen, gesponsert zu werden) <placeholder type=" "\"footnote\" id=\"0\"/>. Sie können auf verschiedene Arten beitragen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "taking over orphaned, yet actively used, packages" msgstr "Pakete übernehmen, die verwaist wurden, aber aktiv benutzt werden" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>" msgstr "" "Mitglied in einem <ulink url=\"&teams;\">Paketierungs-Team</ulink> werden" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "triaging bugs of very popular packages" msgstr "Fehler von sehr beliebten Paketen sortieren und bewerten" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" msgstr "" "Vorbereiten von <ulink url=\"&devref-nmu;\">QA- oder NMU-Uploads</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "If you are able to adopt the package, get the sources (with something like " "<literal>apt-get source <replaceable>packagename</replaceable></literal>) " "and examine them. This document unfortunately doesn't include comprehensive " "information about adopting packages. Thankfully you shouldn't have a hard " "time figuring out how the package works since someone has already done the " "initial setup for you. Keep reading, though; a lot of the advice below will " "still be applicable for your case." msgstr "" "Wenn Sie ein Paket übernehmen möchten, laden Sie sich das Quell-Paket " "herunter (z. B. mit »<literal>apt-get source <replaceable>Paketname</" "replaceable></literal>«) und nehmen Sie es unter die Lupe. Leider enthält " "dieses Dokument keine umfassende Anleitung zum Übernehmen von Paketen. Der " "Vorteil ist, dass schon jemand das Paket für Sie vorbereitet hat und Sie " "keine Schwierigkeiten haben sollten, herauszufinden, wie das Paket " "funktioniert. Doch lesen Sie weiter, denn viele der folgenden Ratschläge " "werden auch für Sie nützlich sein." #. type: Content of: <book><chapter><section><para> msgid "" "If the package is new, and you decide you'd like to see it in Debian, " "proceed as follows:" msgstr "" "Falls das Paket neu ist und Sie es gern in Debian integrieren möchten, gehen " "Sie wie folgt vor:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "First, you must know that the program works, and have tried it for some time " "to confirm its usefulness." msgstr "" "Zuerst sollten Sie sicher sein, dass das Programm funktioniert und es " "bereits einige Zeit ausprobiert haben, damit Sie die Nützlichkeit bestätigen " "können." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "You must check that no one else is already working on the package on the " "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> " "site. If no one else is working on it, file an ITP (Intent To Package) bug " "report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " "using <command>reportbug</command>. If someone's already on it, contact " "them if you feel you need to. If not - find another interesting program " "that nobody is maintaining." msgstr "" "Überprüfen Sie auf der Site »<ulink url=\"&wnpp-do;\">Arbeit-bedürfende und " "voraussichtliche Pakete</ulink>«, dass niemand bereits an diesem Paket " "arbeitet. Falls noch niemand daran arbeitet, schreiben Sie mit " "<command>reportbug</command> einen ITP-Fehlerbericht (»Intent To Package«; " "Absicht, das Paket zu erstellen) an das <systemitem role=\"package\">wnpp</" "systemitem>-Pseudopaket. Wenn schon jemand an dem Paket arbeitet, nehmen Sie " "mit ihm Verbindung auf, wenn es nötig ist. Andernfalls finden Sie bestimmt " "ein anderes interessantes Paket, das von niemandem betreut wird." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The software <emphasis role=\"strong\">must have a license</emphasis>." msgstr "" "Die Software <emphasis role=\"strong\">muss eine Lizenz haben</emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>main</literal> section, Debian Policy requires it <emphasis " "role=\"strong\">to be fully compliant with the Debian Free Software " "Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis " "role=\"strong\">not to require a package outside of <literal>main</literal></" "emphasis> for compilation or execution. This is the desired case." msgstr "" "Für den Bereich <literal>main</literal> verlangen die Debian-Richtlinien, " "dass es <emphasis role=\"strong\">die Debian-Richtlinien für Freie Software " "komplett erfüllt</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) und " "<emphasis>kein Paket außerhalb von <literal>main</literal> benötigt</" "emphasis>, um zu kompilieren oder ausgeführt zu werden. Dies ist der " "erwünschte Fall." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>contrib</literal> section, it must comply with the DFSG but " "it may require a package outside of <literal>main</literal> for compilation " "or execution." msgstr "" "Für den Bereich <literal>contrib</literal> muss es zu den DFSG konform sein, " "darf aber ein Paket außerhalb von <literal>main</literal> für die " "Kompilierung oder Ausführung erfordern." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "For the <literal>non-free</literal> section, it may be non-compliant with " "the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>." msgstr "" "Für den Bereich <literal>non-free</literal> darf es gegen Punkte der DFSG " "verstoßen, es <emphasis role=\"strong\">muss aber verteilbar sein</emphasis>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If you are unsure about where it should go, post the license text on <ulink " "url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for " "advice." msgstr "" "Sind Sie nicht sicher, wohin das Paket gehört, schicken Sie den Lizenztext " "an <ulink url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> " "und bitten um Rat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The program should <emphasis role=\"strong\">not</emphasis> introduce " "security and maintenance concerns to the Debian system." msgstr "" "Das Programm sollte <emphasis role=\"strong\">keine</emphasis> " "Sicherheitsprobleme und Betreuungssorgen zum Debian-System hinzufügen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should be well documented and its code needs to be " "understandable (i.e. not obfuscated)." msgstr "" "Das Programm sollte gut dokumentiert und der Quellcode verständlich (d.h. " "nicht verschleiert) sein." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "You should contact the program's author(s) to check if they agree with " "packaging it and are amicable to Debian. It is important to be able to " "consult with the author(s) in case of any problems with the program, so " "don't try to package unmaintained software." msgstr "" "Sie sollten den oder die Autoren des Programms kontaktieren und " "sicherstellen, dass sie mit dem Paketieren einverstanden und Debian " "wohlgesonnen sind. Es ist wichtig, dass die Autoren auch später im Fall von " "Problemen über das Programm befragt werden können. Versuchen Sie also nicht, " "aufgegebene Programme zu paketieren." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program certainly should <emphasis role=\"strong\">not</emphasis> run " "setuid root, or even better, it shouldn't need to be setuid or setgid to " "anything." msgstr "" "Das Programm sollte sicherlich <emphasis role=\"strong\">nicht</emphasis> " "als »setuid root« laufen, oder noch besser, es sollte für die Ausführung " "überhaupt keine setuid- oder setgid-Rechte brauchen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The program should not be a daemon, or go in an <filename>*/sbin</filename> " "directory, or open a port as root." msgstr "" "Das Programm sollte kein Daemon sein oder in die Verzeichnisse <filename>*/" "sbin</filename> installiert werden und auch keinen Port als Root öffnen." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, the last one is just a safety measures, and intended to save you " "from enraging users if you do something wrong in some setuid daemon... When " "you gain more experience in packaging, you'll be able to package such " "software." msgstr "" "Natürlich ist der zuletzt aufgeführt Punkte eher eine Sicherheitsmaßnahme " "und sollte Sie vor tobenden Benutzern schützen, falls Ihr setuid-Daemon " "irgendetwas Schlimmes anstellt … Wenn Sie mehr Erfahrungen im Erstellen von " "Paketen gesammelt haben, können Sie sich auch solche Software paketieren." #. type: Content of: <book><chapter><section><para> msgid "" "As a new maintainer, you are encouraged to get some experience in packaging " "with easier packages and discouraged from creating complicated packages." msgstr "" "Als neuer Betreuer wird Ihnen empfohlen, Erfahrung im Paketieren einfacher " "Pakete zu sammeln und Ihnen abgeraten, komplizierte Pakete zu erstellen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Simple packages" msgstr "Einfache Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (collection of data such as wallpaper " "graphics)" msgstr "" "einfaches Binärpaket, arch=all (Sammlung von Daten, wie " "Hintergrundgraphiken) " #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = all (executables written in an interpreted " "language such as POSIX shell)" msgstr "" "einfaches Binärpaket, arch=all (in interpretierten Sprachen wie POSIX-Shell " "geschriebene Programme)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Intermediate complexity packages" msgstr "Mittel-komplexe Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "single binary package, arch = any (ELF binary executables compiled from " "languages such as C and C++)" msgstr "" "einfaches Binärpaket, arch=any (ELF-Binärprogramme, kompiliert aus Sprachen " "wie C und C++)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "multiple binary packages, arch = any + all (packages for ELF binary " "executables + documentation)" msgstr "" "mehrere Binärpakete, arch=any+all (Pakete für ELF-Binärprogramme + " "Dokumentation)" # FIXME: xz auch i.O. #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "upstream source in a format other than <filename>tar.gz</filename> or " "<filename>tar.bz2</filename>" msgstr "" "Quelle der Originalautoren ist weder im Format <filename>tar.gz</filename> " "noch im Format <filename>tar.bz2</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "upstream source containing undistributable contents" msgstr "" "die Quellen der Originalautoren enthalten Inhalte, die nicht verteilt werden " "dürfen" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "High complexity packages" msgstr "Hochkomplexe Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "interpreter module package used by other packages" msgstr "Interpretermodulpakete, die von anderen Paketen verwandt werden" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "generic ELF library package used by other packages" msgstr "" "generische ELF-Bibliothekspakete, die von anderen Paketen verwandt werden" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "multiple binary packages including an ELF library package" msgstr "mehrere Binärpakete, darunter ein ELF-Bibliothekspaket" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "source package with multiple upstream sources" msgstr "Quellpakete mit mehreren Quellen von Originalautoren" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel module packages" msgstr "Kernelmodul-Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "kernel patch packages" msgstr "Kernel-Patch-Pakete" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "any package with non-trivial maintainer scripts" msgstr "jedes Paket mit nicht trivialen Betreuerskripten" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging high complexity packages is not too hard, but it requires a bit " "more knowledge. You should seek specific guidance for every complex feature. " "For example, some languages have their own sub-policy documents:" msgstr "" "Paketieren von hochkomplexen Paketen ist nicht zu schwer, erfordert aber ein " "bisschen mehr Wissen. Sie sollten spezielle Hilfestellungen für jede " "komplexe Funktionalität erbitten. Beispielsweise haben einige Sprachen ihre " "eigenen Unter-Richtliniendokumente:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>" msgstr "<ulink url=\"&policy-perl;\">Perl-Richtlinien</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-python;\">Python policy</ulink>" msgstr "<ulink url=\"&policy-python;\">Python-Richtlinien</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<ulink url=\"&policy-java;\">Java policy</ulink>" msgstr "<ulink url=\"&policy-java;\">Java-Richtlinien</ulink>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Do not worry about the missing <filename>Makefile</filename>. You can " "install the <command>hello</command> command by simply using " "<command>debhelper</command> as in <xref linkend=\"install\"/>, or by " "modifying the upstream source to add a new <filename>Makefile</filename> " "with the <literal>install</literal> target as in <xref linkend=\"modify\"/>." msgstr "" "Machen Sie sich keine Sorge um das fehlende <filename>Makefile</filename>. " "Sie können den Befehl <command>hello</command> einfach mittels " "<command>debhelper</command> wie in <xref linkend=\"install\"/> oder durch " "Veränderung der Quellen der Originalautoren installieren, indem Sie ein " "neues <filename>Makefile</filename> mit dem Ziel <literal>install</literal> " "wie in <xref linkend=\"modify\"/> hinzufügen." #. type: Content of: <book><chapter><section><para> msgid "" "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " "practice and experiment with all the steps of Debian packaging with simple " "packages while reading this tutorial. A trivial upstream tarball " "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a " "good starting point.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Es gibt einen alten lateinischen Spruch: <emphasis>fabricando fit faber</" "emphasis> (Übung macht den Meister). Es wird <emphasis>nachdrücklich</" "emphasis> empfohlen, zu üben und mit allen Schritten der Debian-Paketierung " "mit einfachen Paketen zu spielen, während diese Anleitung gelesen wird. Ein " "trivialer Tarball der Originalautoren ist <filename>hello-sh-1.0.tar.gz</" "filename>, der einen guten Startpunkt darstellt. Er wird wie folgt erstellt:" "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" msgstr "" "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" "$ cat > hello <<EOF\n" "#!/bin/sh\n" "# (C) 2011 Foo Bar, GPL2+\n" "echo \"Hello!\"\n" "EOF\n" "$ chmod 755 hello\n" "$ cd ..\n" "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" #. type: Content of: <book><chapter><section><title> msgid "Get the program, and try it out" msgstr "Besorgen Sie sich das Programm und probieren Sie es aus" #. type: Content of: <book><chapter><section><para> msgid "" "So the first thing to do is to find and download the original source code. " "Presumably you already have the source file that you picked up at the " "author's homepage. Sources for free Unix programs usually come in " "<command>tar</command>+<command>gzip</command> format with the extension " "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" "command> format with the extension <filename>.tar.bz2</filename>, or " "<command>tar</command>+<command>xz</command> format with the extension " "<filename>.tar.xz</filename>. These usually contain a directory called " "<filename><replaceable>package</replaceable>-<replaceable>version</" "replaceable></filename> with all the sources inside." msgstr "" "Als Erstes müssen Sie die Originalquellen des Programms finden und " "herunterladen. Wahrscheinlich haben Sie bereits die Quellcode-Datei von der " "Homepage des Autors. Quellen freier Unix-Programme sind üblicherweise im " "Format <command>tar</command>+<command>gzip</command> mit der Erweiterung " "<filename>.tar.gz</filename>, im Format <command>tar</command>" "+<command>bzip2</command> mit der Erweiterung <filename>.tar.bz2</filename> " "oder im Format <command>tar</command>+<command>xz</command> mit der " "Erweiterung <filename>.tar.xz</filename>.Sie enthalten üblicherweise ein " "Verzeichnis, das <filename><replaceable>Paket</replaceable>-" "<replaceable>Version</replaceable></filename> genannt ist, sowie alle " "Quellcode-Dateien darin." #. type: Content of: <book><chapter><section><para> msgid "" "If the latest version of the source is available through a VCS such as Git, " "Subversion, or CVS, you need to get it with <literal>git clone</literal>, " "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into " "<command>tar</command>+<command>gzip</command> format yourself by using the " "<literal>--exclude-vcs</literal> option." msgstr "" "Falls die neueste Version der Quellen über Versionskontrollsysteme wie Git, " "Subversion oder CVS verfügbar ist, müssen Sie sie mit »<literal>git clone</" "literal>«, »<literal>svn co</literal>« oder »<literal>csv co</literal>« " "herunterladen und dann selbst einen Tarball im Format <command>tar</command>" "+<command>gzip</command> erstellen, indem Sie die Option »<literal>--exclude-" "vcs</literal>« verwenden." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can identify the archive format using the <command>file</command> " "command when the file extension is not enough." msgstr "" "Sie können das Archivformat herausfinden, indem Sie den Befehl " "<command>file</command> verwenden, wenn die Dateierweiterung nicht genug ist." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes as some other sort of archive (for instance, " "the filename ends in <filename>.Z</filename> or <filename>.zip</" "filename><placeholder type=\"footnote\" id=\"0\"/>), you should also unpack " "it with the appropriate tools and repack it." msgstr "" "Kommt der Quellcode in einem anderen Archivtyp daher (beispielsweise wenn " "der Dateiname auf <filename>.Z</filename> oder <filename>.zip</filename> " "endet <placeholder type=\"footnote\" id=\"0\"/>), sollten Sie ihn auch mit " "den geeigneten Werkzeugen entpacken und neu einpacken." #. type: Content of: <book><chapter><section><para> msgid "" "If your program's source comes with some contents which do not comply with " "DFSG, you should also unpack it to remove such contents and repack it with a " "modified upstream version containing <literal>dfsg</literal>." msgstr "" "Falls die Quellen Ihres Programms Inhalte enthalten, die nicht den DFSG " "genügen, sollten Sie sie auch entpacken, um solche Inhalte zu entfernen, und " "mit einer geänderten Version der Originalautoren, die <literal>dfsg</" "literal> enhält, neu packen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This program is already packaged. The <ulink url=\"&gentoo-package;" "\">current version</ulink> uses Autotools as its build structure and is " "substantially different from the following examples, which were based on " "version 0.9.12." msgstr "" "Das Programm ist bereits paketiert worden. Die <ulink url=\"&gentoo-package;" "\">aktuelle Version</ulink> verwendet die Autotools als Baustruktur und " "unterscheidet sich signifikant von den folgenden Beispielen, die auf Version " "0.9.12 basieren." #. type: Content of: <book><chapter><section><para> msgid "" "As an example, I'll use a program called <command>gentoo</command>, a GTK+ " "file manager. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Als Beispiel verwende ich hier ein Programm namens <command>gentoo</" "command>, einen GTK+-Dateimanager. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Create a subdirectory under your home directory named <filename>debian</" "filename> or <filename>deb</filename> or anything you find appropriate (e." "g. just <filename>~/gentoo</filename> would do fine in this case). Place " "the downloaded archive in it, and extract it (with <literal>tar xzf " "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " "tools may or may not ignore these anomalies, so they may have problems " "unpacking them. Your shell command line may look something like this:" msgstr "" "Erstellen Sie ein Unterverzeichnis in Ihrem Home-Verzeichnis namens " "<filename>debian</filename> oder <filename>deb</filename> oder irgendetwas, " "das Sie passend finden (beispielsweise wäre in diesem Fall nur <filename>~/" "gentoo</filename> völlig in Ordnung). Kopieren Sie das heruntergeladene " "Archiv dorthin und entpacken Sie es (mit »<literal>tar xzf gentoo-0.9.12.tar." "gz</literal>«). Vergewissern Sie sich, dass es keine Warnmeldungen beim " "Entpacken gab, nicht mal so genannte <emphasis>irrelevante</emphasis>, da " "die Entpackwerkzeuge anderer Leute diese Anomalien ignorieren oder auch " "nicht ignorieren könnten und sie daher beim Entpacken Probleme bekommen " "könnten. Ihre Shell-Befehlszeile könnte dann wie folgt aussehen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" msgstr "" "$ mkdir ~/gentoo ; cd ~/gentoo\n" "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" "$ tar xvzf gentoo-0.9.12.tar.gz\n" "$ ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Now you have another subdirectory, called <filename>gentoo-0.9.12</" "filename>. Change to that directory and <emphasis>thoroughly</emphasis> " "read the provided documentation. Usually there are files named " "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." "lsm</filename> or <filename>*.html</filename>. You must find instructions " "on how to compile and install the program (most probably they'll assume you " "want to install to the <filename>/usr/local/bin</filename> directory; you " "won't be doing that, but more on that later in <xref linkend=\"destdir\"/>)." msgstr "" "Jetzt haben Sie ein neues Unterverzeichnis namens <filename>gentoo-0.9.12</" "filename>. Wechseln Sie dorthin und lesen Sie die mitgelieferte " "Dokumentation <emphasis>aufmerksam</emphasis> durch. Meistens gibt es " "Dateien mit den Namen <filename>README*</filename>, <filename>INSTALL*</" "filename>, <filename>*.lsm</filename> oder <filename>*.html</filename>. Sie " "müssen eine Anleitung finden, wie man das Programm kompiliert und " "installiert (meistens wird von einer Installation in das Verzeichnis " "<filename>/usr/local/bin</filename> ausgegangen, aber das werden Sie nicht " "machen. Mehr dazu später in <xref linkend=\"destdir\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "You should start packaging with a completely clean (pristine) source " "directory, or simply with freshly unpacked sources." msgstr "" "Sie sollten das Paketieren mit einem komplett aufgeräumten (»pristine«, " "makellosen) Quellcode-Verzeichnis anfangen oder die Quellen einfach frisch " "entpacken." #. type: Content of: <book><chapter><section><title> msgid "Simple build systems" msgstr "Einfache Bausysteme" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Many modern programs come with a script <filename>configure</filename> which " "when executed creates a <filename>Makefile</filename> customized for your " "system." msgstr "" "Viele moderne Programme kommen mit einem Skript <filename>configure</" "filename>, das bei der Ausführung eine für Ihr System angepasstes " "<filename>Makefile</filename> erstellt." #. type: Content of: <book><chapter><section><para> msgid "" "Simple programs usually come with a <filename>Makefile</filename> and can be " "compiled just by invoking <literal>make</literal>.<placeholder type=" "\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, " "which runs included self-tests. Installation to the destination directories " "is usually done with <literal>make install</literal>." msgstr "" "Einfache Programme enthalten normalerweise eine <filename>Makefile</" "filename>-Datei und können rein durch den Aufruf von »<literal>make</" "literal>« kompiliert werden. <placeholder type=\"footnote\" id=\"0\"/> " "Einige von ihnen unterstützen »<literal>make check</literal>«, wodurch die " "mitgelieferten Selbsttests gestartet werden. Die Installation in das " "Zielverzeichnis wird üblicherweise mittels »<literal>make install</literal>« " "durchgeführt." #. type: Content of: <book><chapter><section><para> msgid "" "Now try to compile and run your program, to make sure it works properly and " "doesn't break something else while it's installing or running." msgstr "" "Versuchen Sie nun, das Programm zu kompilieren und auszuführen. Stellen Sie " "sicher, dass es einwandfrei funktioniert und nichts anderes während der " "Installation oder der Ausführung kaputt macht." #. type: Content of: <book><chapter><section><para> msgid "" "Also, you can usually run <literal>make clean</literal> (or better " "<literal>make distclean</literal>) to clean up the build directory. " "Sometimes there's even a <literal>make uninstall</literal> which can be used " "to remove all the installed files." msgstr "" "Meistens können Sie außerdem »<literal>make clean</literal>« (oder besser " "»<literal>make distclean</literal>«) ausführen, um im Build-Verzeichnis " "aufzuräumen. Manchmal gibt es sogar ein »<literal>make uninstall</literal>«, " "womit alle installierten Dateien gelöscht werden können." #. type: Content of: <book><chapter><section><title> msgid "Popular portable build systems" msgstr "Beliebte portable Bausysteme" #. type: Content of: <book><chapter><section><para> msgid "" "A lot of free software programs are written in the <ulink url=\"&c-program;" "\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these " "use Autotools or CMake to make them portable across different platforms. " "These build tools need to be used to generate the <filename>Makefile</" "filename> and other required source files first. Then, such programs are " "built using the usual <literal>make; make install</literal>." msgstr "" "Viele freie Software-Programme sind in den Sprachen <ulink url=\"http://de." "wikipedia.org/wiki/C_(Programmiersprache)\">C</ulink> oder <ulink url=" "\"http://de.wikipedia.org/wiki/C++\">C++</ulink> geschrieben. Die meisten " "von ihnen verwenden Autotools oder CMake, um auf verschiedene Plattformen " "portierbar zu sein. Diese Bauwerkzeuge müssen zuerst benutzt werden, um das " "<filename>Makefile</filename> und andere benötigte Quelldateien zu erzeugen. " "Anschließend werden solche Programme mit dem üblichen »<literal>make; make " "install</literal>« gebaut." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Autotools is too big to deal in this small tutorial. This section is meant " "to provide keywords and references only. Please make sure to read the " "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and the local " "copy of <filename>&autotools-readme;</filename>, if you need to use it." msgstr "" "Autotools ist zu umfangreich, um in dieser Anleitung berücksichtigt zu " "werden. Dieser Abschnitt dient nur der Bereitstellung von Schlüsselwörtern " "und Referenzen. Falls Sie sie benötigen, stellen Sie sicher, dass Sie das " "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> und die " "lokale Kopie der <filename>&autotools-readme;</filename> lesen." #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&gnu-build-system;\">Autotools</ulink> is the GNU build system " "comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, " "and <ulink url=\"&gettext;\">gettext</ulink>. You can recognize such " "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" "filename>, and <filename>Makefile.in</filename> files. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"http://de.wikipedia.org/wiki/GNU_Build_System\">Autotools</" "ulink> ist das GNU-Buildsystem, das aus <ulink url=\"&autoconf;\">Autoconf</" "ulink>, <ulink url=\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;" "\">Libtool</ulink> und <ulink url=\"http://de.wikipedia.org/wiki/GNU_gettext" "\">gettext</ulink> besteht. Sie erkennen solche Quellen an den Dateien " "<filename>configure.ac</filename>, <filename>Makefile.am</filename> und " "<filename>Makefile.in</filename>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "The first step of the Autotools workflow is usually that upstream runs " "<literal>autoreconf -i -f</literal> in the source directory and distributes " "the generated files along with the source." msgstr "" "Der erste Schritt im Arbeitsablauf der Autotools ist üblicherweise, dass der " "ursprüngliche Autor »<literal>autoreconf -i -f</literal>« im " "Quellenverzeichnis aufruft und die Quellen dann mit den erzeugten Dateien " "verteilt." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" msgstr "" "configure.ac-----+-> autoreconf -+-> configure\n" "Makefile.am -----+ | +-> Makefile.in\n" "src/Makefile.am -+ | +-> src/Makefile.in\n" " | +-> config.h.in\n" " automake\n" " aclocal\n" " aclocal.m4\n" " autoheader\n" #. type: Content of: <book><chapter><section><para> msgid "" "Editing <filename>configure.ac</filename> and <filename>Makefile.am</" "filename> files requires some knowledge of <command>autoconf</command> and " "<command>automake</command>. See <literal>info autoconf</literal> and " "<literal>info automake</literal>." msgstr "" "Das Bearbeiten der Dateien <filename>configure.ac</filename> und " "<filename>Makefile.am</filename> erfordert etwas Wissen über " "<command>autoconf</command> und <command>automake</command>. Siehe " "»<literal>info autoconf</literal>« und »<literal>info automake</literal>«." #. type: Content of: <book><chapter><section><para> msgid "" "The second step of the Autotools workflow is usually that the user obtains " "this distributed source and runs <literal>./configure && make</" "literal> in the source directory to compile the program into an executable " "command <command><replaceable>binary</replaceable></command>." msgstr "" "Der zweite Schritt im Arbeitsablauf der Autotools ist üblicherweise, dass " "der Benutzer diese verteilten Quellen erhält und »<literal>./configure &" "& make</literal>« in den Quellen aufruft, um das Programm zu einem " "ausführbaren <command><replaceable>Binärdatei</replaceable></command>-Befehl " "zu kompilieren." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" msgstr "" "Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" "src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" "config.h.in -----+ +-> config.h -----+\n" " |\n" " config.status -+\n" " config.guess --+\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can change many things in the <filename>Makefile</filename>; for " "instance you can change the default location for file installation using the " "option <literal>./configure --prefix=/usr</literal>." msgstr "" "Sie können in der Datei <filename>Makefile</filename> viele Dinge ändern, " "beispielsweise können Sie den voreingestellten Installationsort für Dateien " "ändern, idem Sie die Befehlszeilenoption »<command>./configure --prefix=/" "usr</command>« benutzen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You can automate this by using <systemitem role=\"package\">dh-autoreconf</" "systemitem> package. See <xref linkend=\"customrules\"/>." msgstr "" "Sie können dies automatisieren, indem Sie das Paket <systemitem role=" "\"package\">dh-autoreconf</systemitem> installieren. Lesen Sie <xref linkend=" "\"customrules\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Although it is not required, updating the <filename>configure</filename> and " "other files with <literal>autoreconf -i -f</literal> may improve the " "compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Obwohl es nicht erforderlich ist, kann die Aktualisierung der Datei " "<filename>configure</filename> und anderer Dateien mittels " "»<literal>autoreconf -i -f</literal>« die Kompatibilität der Quellen " "verbessern. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You " "can recognize such sources by the <filename>CMakeLists.txt</filename> file." msgstr "" "<ulink url=\"http://de.wikipedia.org/wiki/CMake\">CMake</ulink> ist ein " "alternatives Build-System. Sie erkennen solche Quellen an der Datei " "<filename>CMakeLists.txt</filename>." #. type: Content of: <book><chapter><section><title> msgid "Package name and version" msgstr "Name und Version des Pakets" #. type: Content of: <book><chapter><section><para> msgid "" "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " "you can take <literal>gentoo</literal> as the (source) <emphasis role=" "\"strong\">package name</emphasis> and <literal>0.9.12</literal> as the " "<emphasis role=\"strong\">upstream version</emphasis>. These are used in " "the <filename>debian/changelog</filename> file described later in <xref " "linkend=\"changelog\"/>, too." msgstr "" "Falls die Quellen der Originalautoren als <filename>gentoo-0.9.12.tar.gz</" "filename> existieren, können Sie <literal>gentoo</literal> als " "(Quell-)<emphasis role=\"strong\">Paketnamen</emphasis> und <literal>0.9.12</" "literal> als die <emphasis role=\"strong\">Versionsnummer der " "Originalautoren</emphasis> verwenden. Diese werden in der Datei " "<filename>debian/changelog</filename> verwandt, die auch später in <xref " "linkend=\"changelog\"/> beschrieben wird." #. type: Content of: <book><chapter><section><para> msgid "" "Although this simple approach works most of the times, you may need to " "adjust <emphasis role=\"strong\">package name</emphasis> and <emphasis role=" "\"strong\">upstream version</emphasis> by renaming the upstream source to " "follow Debian Policy and existing convention." msgstr "" "Obwohl dieser einfache Ansatz meistens funktioniert, könnte es sein, dass " "Sie den <emphasis role=\"strong\">Paketnamen</emphasis> und die <emphasis " "role=\"strong\">Versionsnummer der Originalautoren</emphasis> durch " "Umbenennen der Originalquellen anpassen müssen, damit dies den Debian-" "Richtlinien und bestehenden Konventionen genügt." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default package name field length of <command>aptitude</command> is 30. " "For more than 90% of packages, the package name is less than 24 characters." msgstr "" "Die Standardpaketnamenfeldlänge von <command>aptitude</command> beträgt 30. " "Für mehr als 90% der Pakete ist die Länge des Namens weniger als 24 Zeichen." #. type: Content of: <book><chapter><section><para> msgid "" "You must choose the <emphasis role=\"strong\">package name</emphasis> to " "consist only of lower case letters (<literal>a-z</literal>), digits " "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" "literal>) signs, and periods (<literal>.</literal>). It must be at least two " "characters long, must start with an alphanumeric character, and must not be " "the same as existing ones. It is a good idea to keep its length within 30 " "characters. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Sie müssen den <emphasis role=\"strong\">Paketnamen</emphasis> so wählen, " "dass er nur aus Kleinbuchstaben (<literal>a-z</literal>), Ziffern " "(<literal>0-9</literal>), Plus- (<literal>+</literal>) und Minus- (<literal>-" "</literal>) Zeichen und Punkten (<literal>.</literal>) besteht. Er muss " "mindestens zwei Zeichen lang sein, mit einem alphanumerischen Zeichen " "beginnen und darf mit keinem existierenden übereinstimmen. Es empfiehlt " "sich, die Länge unter 31 Zeichen zu halten. <placeholder type=\"footnote\" " "id=\"0\"/>" # FIXME: Link auf Deutsch? #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you follow the <ulink url=\"&devref-newpackage;\">Debian Developer's " "Reference 5.1. \"New packages\"</ulink>, the ITP process will usually catch " "this kind of issues." msgstr "" "Falls Sie <ulink url=\"&devref-newpackage;\">Debian-Entwicklerreferenz 5.1. " "»Neue Pakete«</ulink> folgen, wird der ITP-Prozess normalerweise solche " "Dinge abfangen." #. type: Content of: <book><chapter><section><para> msgid "" "If upstream uses some generic term such as <literal>test-suite</literal> for " "its name, it is a good idea to rename it to identify its contents explicitly " "and avoid namespace pollution. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Falls die Originalautoren einen generischen Ausdruck wie <literal>test-" "suite</literal> für den Namen verwenden, ist es eine gute Idee, es " "umzubenennen, um den Inhalt explizit zu identifizieren und den Namensraum " "sauber zu halten. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "This stricter rule should help you avoid confusing file names." msgstr "" "Diese strengere Regel sollte Ihnen helfen, verwirrende Namen zu vermeiden." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The default version field length of <command>aptitude</command> is 10. The " "Debian revision with preceding hyphen usually consumes 2. For more than 80% " "of packages, the upstream version is less than 8 characters and the Debian " "revision is less than 2 characters. For more than 90% of packages, the " "upstream version is less than 10 characters and the Debian revision is less " "than 3 characters." msgstr "" "Die Standardversionsfeldlänge von <command>aptitude</command> beträgt 10. " "Die Debian-Revision mit einleitendem Bindestrich verwendet typischerweise 2 " "Zeichen. Für mehr als 80% der Pakete ist die Versionsnummer der " "Originalautoren weniger als 8 Zeichen lang und die Debian-Revision weniger " "als 2 Zeichen. Für mehr als 90% der Pakete ist die Versionsnummer der " "Originalautoren weniger als 10 Zeichen lang und die Debian-Revision weniger " "als 3 Zeichen." #. type: Content of: <book><chapter><section><para> msgid "" "You should choose the <emphasis role=\"strong\">upstream version</emphasis> " "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus " "(<literal>+</literal>), tildes (<literal>~</literal>), and periods " "(<literal>.</literal>). It must start with a digit (<literal>0-9</" "literal>). <placeholder type=\"footnote\" id=\"0\"/> It is good idea to " "keep its length within 8 characters if possible. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "Sie sollten die <emphasis role=\"strong\">Versionsnummer der " "Originalautoren</emphasis> so wählen, dass sie nur aus alphanumerischen " "Zeichen (<literal>0-9A-Za-z</literal>), Pluszeichen (<literal>+</literal>), " "Tilden (<literal>~</literal>) und Satzpunkten (<literal>.</literal>) " "besteht. Sie muss mit einer Ziffer (<literal>0-9</literal>) beginnen. " "<placeholder type=\"footnote\" id=\"0\"/> Es ist eine gute Idee, die Länge " "falls möglich innerhalb von 8 Zeichen zu halten. <placeholder type=\"footnote" "\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream does not use a normal versioning scheme such as " "<literal>2.30.32</literal> but uses some kind of date such as " "<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " "part of the version, make sure to remove them from the <emphasis role=" "\"strong\">upstream version</emphasis>. Such information can be recorded in " "the <filename>debian/changelog</filename> file. If you need to invent a " "version string, use the <literal>YYYYMMDD</literal> format such as " "<literal>20110429</literal> as upstream version. This ensures that " "<command>dpkg</command> interprets later versions correctly as upgrades. If " "you need to ensure smooth transition to the normal version scheme such as " "<literal>0.1</literal> in future, use the <literal>0~YYMMDD</literal> format " "such as <literal>0~110429</literal> as upstream version, instead." msgstr "" "Falls die Originalautoren kein normales Versionierungsschema wie " "<literal>2.30.32</literal> sondern eine Art von Datum wie <literal>11Apr29</" "literal>, einen zufälligen Kodenamen oder einen VCS-Hashwert als Teil der " "Version verwenden, stellen Sie sicher, dass sie das von der <emphasis role=" "\"strong\">Version der Originalautoren</emphasis> entfernen. Diese " "Informationen können in der Datei <filename>debian/changelog</filename> " "festgehalten werden. Falls Sie eine Versionsnummer erfinden müssen, " "vewrenden Sie das Format <literal>YYYYMMDD</literal>, wie <literal>20110429</" "literal>, als Versionsnummer der Originalautoren. Das stellt sicher, dass " "<command>dpkg</command> neuere Versionen korrekt als Upgrades interpretiert. " "Falls Sie in der Zukunft reibungslose Übergänge zu dem normalen " "Versionsschemata wie <literal>0.1</literal> sicherstellen müssen, verwenden " "Sie das stattdessen das Format <literal>0~YYMMDD</literal>, wie " "<literal>0~110429</literal>, als Versionsnummer der Originalautoren." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Version strings may be <emphasis role=\"strong\">upstream version</emphasis> " "(<literal><replaceable>version</replaceable></literal>), <emphasis role=" "\"strong\">Debian revision</emphasis> (<literal><replaceable>revision</" "replaceable></literal>), or <emphasis role=\"strong\">version</emphasis> " "(<literal><replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal>). See <xref linkend=\"newrevision\"/> for how the " "<emphasis role=\"strong\">Debian revision</emphasis> is incremented." msgstr "" "Versionsnummern können die <emphasis role=\"strong\">Versionsnummer der " "Originalautoren</emphasis> (<literal><replaceable>Version</replaceable></" "literal>), die <emphasis role=\"strong\">Debian-Revision</emphasis> " "(<literal><replaceable>Revision</replaceable></literal>) oder die <emphasis " "role=\"strong\">Version</emphasis> (<literal><replaceable>Version</" "replaceable>-<replaceable>Revision</replaceable></literal>) sein. Lesen Sie " "<xref linkend=\"newrevision\"/>, um zu erfahren, wie die <emphasis role=" "\"strong\">Debian-Revision</emphasis> erhöht wird." #. type: Content of: <book><chapter><section><para> msgid "" "Version strings <placeholder type=\"footnote\" id=\"0\"/> can be compared " "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> as follows." msgstr "" "Versionsnummern <placeholder type=\"footnote\" id=\"0\"/> können mit " "<citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> wie folgt verglichen werden:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" msgstr "$ dpkg --compare-versions <replaceable>Ver1</replaceable> <replaceable>Op</replaceable> <replaceable>Ver2</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "The version comparison rule can be summarized as:" msgstr "Die Versionsvergleichsregeln können wie folgt zusammengefasst werden:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Strings are compared from the head to the tail." msgstr "Zeichenketten werden von Anfang bis Ende verglichen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are larger than digits." msgstr "Buchstaben sind größer als Ziffern." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Numbers are compared as integers." msgstr "Zahlen werden als Ganzzahlen verglichen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "Letters are compared in ASCII code order." msgstr "Buchstaben werden in ASCII-Sortierreihenfolge verglichen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "There are special rules for period (<literal>.</literal>), plus (<literal>+</" "literal>), and tilde (<literal>~</literal>) characters, as follows." msgstr "" "Es gibt besondere Regeln für Punkt (<literal>.</literal>), Plus- (<literal>" "+</literal>) und Tilde- (<literal>~</literal>) Zeichen, wie folgt:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" msgstr "" "<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" "literal> < <literal>0.99</literal> < <literal>1</literal> < " "<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" "literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " "<literal>2.0</literal>" #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case occurs when upstream releases <filename>gentoo-0.9.12-" "ReleaseCandidate-99.tar.gz</filename> as the pre-release of " "<filename>gentoo-0.9.12.tar.gz</filename>. You need to make sure that the " "upgrade works properly by renaming the upstream source to " "<filename>gentoo-0.9.12~rc99.tar.gz</filename>." msgstr "" "Ein schwieriger Fall tritt auf, wenn die Originalautoren " "<filename>gentoo-0.9.12-ReleaseCandidate-99.tar.gz</filename> als " "Vorabveröffentlichung von <filename>gentoo-0.9.12.tar.gz</filename> " "veröffentlichen. Sie müssen sicherstellen, dass das Upgrade korrekt " "funktioniert, indem Sie die Quellen der Originalautoren in " "<filename>gentoo-0.9.12~rc99.tar.gz</filename> umbenennen." #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>dh_make</command>" msgstr "Einrichten von <command>dh_make</command>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The following text assumes you are using Bash as your login shell. If you " "use some other login shell such as Z shell, use their corresponding " "configuration files instead of <filename>~/.bashrc</filename>." msgstr "" "Der folgende Text setzt voraus, dass Sie Bash als Ihre Login-Shell benutzen. " "Falls Sie eine andere Login-Shell wie beispielsweise die Z-Shell verwenden, " "benutzen Sie die entsprechenden Konfigurationsdateien statt <filename>~/." "bashrc</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Set up the shell environment variables <literal>$DEBEMAIL</literal> and " "<literal>$DEBFULLNAME</literal> so that various Debian maintenance tools " "recognize your email address and name to use for packages. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Richten Sie die Umgebungsvariablen <literal>$DEBEMAIL</literal> und <literal>" "$DEBFULLNAME</literal> in der Shell ein, damit verschiedene Debian-" "Wartungswerkzeuge Ihre E-Mail-Adresse und Ihren Namen für Pakete verwenden " "können. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"your.email.address@example.org\"\n" "DEBFULLNAME=\"Firstname Lastname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" msgstr "" "$ cat >>~/.bashrc <<EOF\n" "DEBEMAIL=\"Ihre.E-Mail.Adresse@example.org\"\n" "DEBFULLNAME=\"Vorname Nachname\"\n" "export DEBEMAIL DEBFULLNAME\n" "EOF\n" "$ . ~/.bashrc\n" #. type: Content of: <book><chapter><section><title> msgid "Initial non-native Debian package" msgstr "Das erste nicht native Debian-Paket" #. type: Content of: <book><chapter><section><para> msgid "" "Normal Debian packages are non-native Debian packages made from upstream " "programs. If you wish to create a non-native Debian package of an upstream " "source <filename>gentoo-0.9.12.tar.gz</filename>, you can create an initial " "non-native Debian package for it by issuing the <command>dh_make</command> " "command as follows." msgstr "" "Normale Debian-Pakete sind nicht native Debian-Pakete, die aus Quellen von " "Originalautoren erzeugt werden. Falls Sie ein nicht natives Debian-Paket von " "den Quellen der Originalautoren <filename>gentoo-0.9.12.tar.gz</filename> " "erstellen wollen, können sie ein erstes nicht natives Debian-Paket dafür " "mittels des Befehl <command>dh_make</command> wie folgt erstellen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" msgstr "" "$ cd ~/gentoo\n" "$ wget http://example.org/gentoo-0.9.12.tar.gz\n" "$ tar -xvzf gentoo-0.9.12.tar.gz\n" "$ cd gentoo-0.9.12\n" "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the upstream source provides the <filename>debian</filename> directory " "and its contents, run the <command>dh_make</command> command with the extra " "option <literal>--addmissing</literal>. The new source <literal>3.0 " "(quilt)</literal> format is robust enough not to break even for these " "packages. You may need to update the contents provided by the upstream for " "your Debian package." msgstr "" "Wenn die originalen Quellen das Verzeichnis <filename>debian</filename> und " "seinen Inhalt enthalten, rufen Sie den Befehl <command>dh_make</command> mit " "der zusätzlichen Option <literal>--addmissing</literal> auf. Das neue " "Quellformat <literal>3.0 (quilt)</literal> ist robust genug, selbst mit " "solchen Paketen umzugehen. Sie müssen wahrscheinlich die vom Originalautor " "bereitgestellten Inhalte für Ihr Debian-Paket aktualisieren." #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of your original source " "archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> " "<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> for details." msgstr "" "Natürlich ersetzen Sie den Dateinamen mit dem Namen Ihres ursprünglichen " "Quellcode-Archivs. <placeholder type=\"footnote\" id=\"0\"/> Siehe " "<citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry> für Details." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are several choices here: <literal>s</literal> for Single binary " "package, <literal>i</literal> for arch-Independent package, <literal>m</" "literal> for Multiple binary packages, <literal>l</literal> for Library " "package, <literal>k</literal> for Kernel module package, <literal>n</" "literal> for kernel patch package, and <literal>b</literal> for <systemitem " "role=\"package\">cdbs</systemitem> package. This document focuses on the " "use of the <command>dh</command> command (from the package <systemitem role=" "\"package\">debhelper</systemitem>) to create a single binary package, but " "also touches on how to use it for arch-independent or multiple binary " "packages. The package <systemitem role=\"package\">cdbs</systemitem> offers " "an alternative packaging script infrastructure to the <command>dh</command> " "command and is outside the scope of this document." msgstr "" "Es gibt hier mehrere Auswahlmöglichkeiten: »<literal>s</literal>« für " "»Single binary package« (einzelnes Binärpaket), »<literal>i</literal>« für " "»Arch-Independent package« (Architektur-unabhängiges Paket), »<literal>m</" "literal>« für »Multiple binary packages« (mehrere Binärpakete), »<literal>l</" "literal>« für »Library package« (Bibliothekspaket), »<literal>k</literal>« " "für »Kernel module package« (Kernelmodulpaket), »<literal>n</literal>« für " "»Kernel patch package« (Kernelpatch-Paket) und »<literal>b</literal>« für " "»<systemitem role=\"package\">cdbs</systemitem>«-Pakete. Dieses Dokument " "konzentriert sich auf den Befehl <command>dh</command> (aus dem Paket " "<systemitem role=\"package\">debhelper</systemitem>), um ein einzelnes " "Binärpaket zu erstellen, aber zeigt auch auf, wie es für " "architekturunabhängige Pakete oder mehrere Binärpakete verwandt werden kann. " "Das Paket <systemitem role=\"package\">cdbs</systemitem> bietet eine " "alternative Paketierungs-Skriptinfrastruktur zum Befehl <command>dh</" "command> und wird in diesem Dokument nicht behandelt." #. type: Content of: <book><chapter><section><para> msgid "" "You should see some output asking you what sort of package you want to " "create. Gentoo is a single binary package - it creates only one binary " "package, i.e, one <filename>.deb</filename> file - so we will select the " "first option (with the <literal>s</literal> key), check the information on " "the screen, and confirm by pressing <literal><replaceable>ENTER</" "replaceable></literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Sie sollten irgendeine Ausgabe sehen, die Sie fragt, welche Art Paket Sie " "erstellen wollen. Gentoo ist ein »single binary package« - es wird nur ein " "Binärpaket, d.h. eine <filename>.deb</filename>-Datei erstellt, also wählen " "Sie die erste Option (mit der »<literal>s</literal>«-Taste), überprüfen " "nochmal die Informationen auf dem Bildschirm und bestätigen mit " "»<literal><replaceable>EINGABE</replaceable></literal>«. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "This execution of <command>dh_make</command> creates a copy of the upstream " "tarball as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent " "directory to accommodate the creation of the non-native Debian source " "package with the name <filename>debian.tar.gz</filename> later." msgstr "" "Dieser Aufruf von <command>dh_make</command> erstellt eine Kopie des " "ursprünglichen Tarballs als <filename>gentoo_0.9.12.orig.tar.gz</filename> " "im übergeordneten Verzeichnis, um später die Erstellung eines nicht nativen " "Debian-Quellpakets mit dem Namen <filename>debian.tar.gz</filename> zu " "ermöglichen." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" msgstr "" "$ cd ~/gentoo ; ls -F\n" "gentoo-0.9.12/\n" "gentoo-0.9.12.tar.gz\n" "gentoo_0.9.12.orig.tar.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please note two key features of this filename <filename>gentoo_0.9.12.orig." "tar.gz</filename>:" msgstr "" "Bitte beachten Sie zwei entscheidende Merkmale in dem Dateinamen " "<filename>gentoo_0.9.12.orig.tar.gz</filename>:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Package name and version are separated by the character <literal>_</literal> " "(underscore)." msgstr "" "Paketname und Version sind durch das Zeichen »<literal>_</" "literal>« (Unterstrich) getrennt." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The string <filename>.orig</filename> is inserted before the <filename>.tar." "gz</filename>." msgstr "" "Die Zeichenkette <filename>.orig</filename> wurde vor dem <filename>.tar.gz</" "filename> eingefügt." #. type: Content of: <book><chapter><section><para> msgid "" "You should also notice that many template files are created in the source " "under the <filename>debian</filename> directory. These will be explained in " "<xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should also " "understand that packaging cannot be a fully automated process. You will " "need to modify the upstream source for Debian (see <xref linkend=\"modify\"/" ">). After this, you need to use the proper methods for building Debian " "packages (<xref linkend=\"build\"/>), testing them (<xref linkend=\"checkit" "\"/>), and uploading them (<xref linkend=\"upload\"/>). All the steps will " "be explained." msgstr "" "Beachten Sie außerdem, dass viele Schablonendateien im Quellverzeichnis im " "Unterverzeichnis <filename>debian</filename> erstellt werden. Diese werden " "in <xref linkend=\"dreq\"/> und <xref linkend=\"dother\"/> erklärt. " "Weiterhin sollte Ihnen klar sein, dass das Paketieren kein vollautomatischer " "Prozess sein kann. Sie müssen die ursprünglichen Quellen für Debian " "verändern (siehe <xref linkend=\"modify\"/>). Danach müssen Sie die " "geeigneten Methoden für den Bau des Debian-Paketes verwenden (<xref linkend=" "\"build\"/>), sie testen (<xref linkend=\"checkit\"/>) und hochladen (<xref " "linkend=\"upload\"/>). Alle diese Schritte werden erläutert." #. type: Content of: <book><chapter><section><para> msgid "" "If you accidentally erased some template files while working on them, you " "can recover them by running <command>dh_make</command> with the <literal>--" "addmissing</literal> option again in a Debian package source tree." msgstr "" "Wenn Sie versehentlich einige der Schablonendateien gelöscht haben, während " "Sie sie bearbeitet haben, können Sie diese wiederherstellen, indem Sie " "erneut <command>dh_make</command> mit der Option <literal>--addmissing</" "literal> in einem Debian-Quellverzeichnis aufrufen." #. type: Content of: <book><chapter><section><para> msgid "" "Updating an existing package may get complicated since it may be using older " "techniques. While learning the basics, please stick to creating a fresh " "package; further explanations are given in <xref linkend=\"update\"/>." msgstr "" "Das Aktualisieren eines existierenden Pakets kann kompliziert werden, weil " "es eventuell ältere Techniken verwendet. Während Sie die Grundlagen lernen, " "bleiben Sie bei der Erstellung eines neuen Pakets; weitere Erklärungen " "werden in <xref linkend=\"update\"/> gegeben." #. type: Content of: <book><chapter><section><para> msgid "" "Please note that the source file does not need to contain any build system " "discussed in <xref linkend=\"simplemake\"/> and <xref linkend=\"portable\"/" ">. It could be just a collection of graphical data etc. Installation of " "files may be carried out using only <systemitem role=\"package\">debhelper</" "systemitem> configuration files such as <filename>debian/install</filename> " "(see <xref linkend=\"install\"/>)." msgstr "" "Bitte beachten Sie, dass die Quellen kein in <xref linkend=\"simplemake\"/> " "und <xref linkend=\"portable\"/> beschriebenes Bausystem enthalten müssen. " "Es könnte eine reine Sammlung von graphischen Daten usw. sein. Die " "Installation der Dateien könnten rein mit <systemitem role=\"package" "\">debhelper</systemitem>-Konfigurationsdateien wie <filename>debian/" "install</filename> (siehe <xref linkend=\"install\"/>) erfolgen." #. type: Content of: <book><chapter><section><title> msgid "Initial native Debian package" msgstr "Das erste native Debian-Paket" #. type: Content of: <book><chapter><section><para> msgid "" "If a package contains source files you are only maintaining for Debian, " "possibly only for local use, it may be simpler to create it as a Debian " "native package. If you have source files in <filename>~/mypackage-1.0</" "filename>, you can create an initial native Debian package for it by issuing " "the <command>dh_make</command> command as follows." msgstr "" "Falls ein Paket Quelldateien enthält, die Sie nur für Debian betreuen, " "vielleicht sogar nur für lokale Benutzung, könnte es einfacher sein, es als " "natives Debian-Paket zu erstellen. Falls Sie Quellen in <filename>~/" "MeinPaket-1.0</filename> haben, können Sie dafür ein initiales natives " "Debian-Paket erstellen, indem Sie den folgenden <command>dh_make</command>-" "Befehl ausführen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd ~/mypackage-1.0\n" "$ dh_make --native\n" msgstr "" "$ cd ~/MeinPaket-1.0\n" "$ dh_make --native\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then the <filename>debian</filename> directory and its contents are created " "just like <xref linkend=\"non-native-dh-make\"/>. This does not create a " "tarball since this is a native Debian package. But that is the only " "difference. The rest of the packaging activities are practically the same." msgstr "" "Dann werden das Verzeichnis <filename>debian</filename> und seine Inhalte " "genau wie bei <xref linkend=\"non-native-dh-make\"/> erstellt. Dies erstellt " "keinen Tarball, da dies ein natives Debian-Paket ist. Das ist aber auch der " "einzige Unterschied. Der Rest der Paketierungsaktivitäten ist praktisch " "identisch." #. type: Content of: <book><chapter><title> msgid "Modifying the source" msgstr "Den Quellcode verändern" #. type: Content of: <book><chapter><para> msgid "" "Please note that there isn't space here to go into <emphasis>all</emphasis> " "the details of fixing upstream sources, but here are some basic steps and " "problems people often run across." msgstr "" "Bitte beachten Sie, dass an dieser Stelle nicht auf <emphasis>alle</" "emphasis> Details eingegangen wird, wie die ursprünglichen Quellen " "korrigiert werden können, aber hier sind ein paar grundlegende Schritte und " "Probleme, auf die man häufig stößt." #. type: Content of: <book><chapter><section><title> msgid "Setting up <command>quilt</command>" msgstr "Einrichten von <command>quilt</command>" # FIXME: Doppelpunkt #. type: Content of: <book><chapter><section><para> msgid "" "The program <command>quilt</command> offers a basic method for recording " "modifications to the upstream source for Debian packaging. It's useful to " "have a slightly customized default, so let's create an alias " "<command>dquilt</command> for Debian packaging by adding the following lines " "to <filename>~/.bashrc</filename>. The second line provides the same shell " "completion feature of the <command>quilt</command> command to the " "<command>dquilt</command> command." msgstr "" "Das Programm <command>quilt</command> bietet eine grundlegende Methode, um " "Änderungen an den ursprünglichen Quellen für das Debian-Paket aufzuzeichnen. " "Es ist sinnvoll, eine leicht geänderte Voreinstellungen zu verwenden, daher " "sollte ein Alias <command>dquilt</command> für die Debian-Paketierung " "erstellt werden, indem folgendes zur <filename>~/.bashrc</filename> " "hinzugefügt wird; dabei stellt die zweite Zeile die gleichen Shell-" "Vervollständigungsfunktionalität wie der Befehl <command>quilt</command> für " "den Befehl <command>dquilt</command> bereit:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" msgstr "" "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" "complete -F _quilt_completion $_quilt_complete_opt dquilt\n" # FIXME: Doppelpunkt #. type: Content of: <book><chapter><section><para> msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows." msgstr "Dann erstellen Sie die <filename>~/.quiltrc-dpkg</filename> wie folgt:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # if in Debian packaging tree with unset $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" msgstr "" "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n" "if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" " # falls in Debian-Paketbaum mit ungesetztem $QUILT_PATCHES\n" " QUILT_PATCHES=\"debian/patches\"\n" " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n" " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" "fi\n" #. type: Content of: <book><chapter><section><para> msgid "" "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <filename>&quilt-pdf;</filename> on how to " "use <command>quilt</command>." msgstr "" "Siehe <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> und <filename>&quilt-pdf;</filename> für eine " "Anleitung, wie <command>quilt</command> benutzt wird." #. type: Content of: <book><chapter><section><title> msgid "Fixing upstream bugs" msgstr "Fehler in den ursprünglichen Quellen korrigieren" #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume you find an error in the upstream <filename>Makefile</filename> " "as follows where <literal>install: gentoo</literal> should have been " "<literal>install: gentoo-target</literal>." msgstr "" "Nehmen wir an, Sie finden den folgenden Fehler in der ursprünglichen " "<filename>Makefile</filename>, wo statt »<literal>install: gentoo</literal>« " "besser »<literal>install: gentoo-target</literal>« stehen sollte." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <filename>debian/patches</filename> directory should exist now if you " "ran <command>dh_make</command> as described before. This example operation " "creates it just in case you are updating an existing package." msgstr "" "Das Verzeichnis <filename>debian/patches</filename> sollte inzwischen " "existieren, wenn Sie <command>dh_make</command> wie vorher beschrieben " "ausgeführt haben. In diesem Beispiel wird es sicherheitshalber erstellt, nur " "für den Fall, dass Sie ein existierendes Paket aktualisieren." #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this and record it with the <command>dquilt</command> command as " "<filename>fix-gentoo-target.patch</filename>. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Wir beheben dies und speichern es mit dem Befehl <command>quilt</command> " "wie folgt als <filename>fix-gentoo-target.patch</filename>. <placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ mkdir debian/patches\n" "$ dquilt new fix-gentoo-target.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "You change the <filename>Makefile</filename> file as follows." msgstr "Sie können die Datei <filename>Makefile</filename> wie folgt ändern." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" msgstr "" "install: gentoo-target\n" " install ./gentoo $(BIN)\n" " install icons/* $(ICONS)\n" " install gentoorc-example $(HOME)/.gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "Ask <command>dquilt</command> to generate the patch to create " "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " "description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</" "ulink>." msgstr "" "Jetzt muss <command>dquilt</command> noch mitgeteilt werden, dass der Patch " "erzeugt werden soll, so dass die Datei <filename>debian/patches/fix-gentoo-" "target.patch</filename> erstellt wird. Außerdem sollen Sie eine Beschreibung " "gemäß <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</ulink> " "hinzufügen." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt refresh\n" "$ dquilt header -e\n" "... Patch beschreiben\n" #. type: Content of: <book><chapter><section><title> msgid "Installation of files to their destination" msgstr "Installation von Dateien in ihr Zielverzeichnis" #. type: Content of: <book><chapter><section><para> msgid "" "Most third-party software installs itself in the <filename>/usr/local</" "filename> directory hierarchy. On Debian this is reserved for private use " "by the system administrator, so packages must not use directories such as " "<filename>/usr/local/bin</filename> but should instead use system " "directories such as <filename>/usr/bin</filename>, obeying the <ulink url=" "\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)." msgstr "" "Die meisten Programme Dritter installieren sich in die Verzeichnishierachie " "<filename>/usr/local</filename>. Unter Debian ist diese für die private " "Benutzung durch den Systemadministrator reserviert, daher dürfen Pakete " "Verzeichnisse wie <filename>/usr/local/bin</filename> nicht verwenden, " "sondern sollten stattdessen Systemverzeichnisse wie <filename>/usr/bin</" "filename> verwenden und dem <ulink url=\"&fhs;\">Filesystem Hierarchy " "Standard</ulink> (FHS) folgen." #. type: Content of: <book><chapter><section><para> msgid "" "Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> is used to automate building the program, and " "executing <literal>make install</literal> installs programs directly to the " "desired destination (following the <literal>install</literal> target in the " "<filename>Makefile</filename>). In order for Debian to provide pre-built " "installable packages, it modifies the build system to install programs into " "a file tree image created under a temporary directory instead of the actual " "destination." msgstr "" "Normalerweise wird <citerefentry> <refentrytitle>make</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> benutzt, um das Programm " "automatisch zu bauen. Der Aufruf von »<literal>make install</literal>« " "installiert das Programm dann direkt in das Ziel (gemäß dem " "<literal>install</literal>-Ziel der <filename>Makefile</filename>). Damit " "Debian vorab erstellte installierbare Pakete bereitstellen kann, verändert " "es das Bausystem, um Programme in ein Dateisystem-Abbild, welches unter " "einem temporären Verzeichnis erstellt wurde, anstatt an das tatsächliche " "Ziel zu installieren." # FIXME: Doppelpunkt #. type: Content of: <book><chapter><section><para> msgid "" "These two differences between normal program installation on one hand and " "the Debian packaging system on the other can be transparently addressed by " "the <systemitem role=\"package\">debhelper</systemitem> package through the " "<command>dh_auto_configure</command> and <command>dh_auto_install</command> " "commands if the following conditions are met." msgstr "" "Diese beiden Unterschiede zwischen einerseits der normalen " "Programminstallation und andererseits dem Paketieren für Debian können vom " "Paket <systemitem role=\"package\">Debhelper</systemitem> transparent " "adressiert werden. Es benutzt dazu die Befehle <command>dh_auto_configure</" "command> und <command>dh_auto_install</command>, sofern die folgenden " "Bedingungen erfüllt sind." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." msgstr "" "Lesen Sie <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " "Support for Staged Installs</ulink>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <filename>Makefile</filename> must follow GNU conventions and support " "the <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" " "id=\"0\"/>" msgstr "" "Das <filename>Makefile</filename> muss den GNU-Konventionen folgen und die " "Variable <literal>$(DESTDIR)</literal> unterstützen. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "The source must follow the Filesystem Hierarchy Standard (FHS)." msgstr "Die Quelle muss dem »Filesystem Hierarchy Standard« (FHS) folgen." #. type: Content of: <book><chapter><section><para> msgid "" "Programs that use GNU <command>autoconf</command> follow the GNU conventions " "automatically, so they can be trivial to package. On the basis of this and " "other heuristics, it is estimated that the <systemitem role=\"package" "\">debhelper</systemitem> package will work for about 90% of packages " "without making any intrusive changes to their build system. So packaging is " "not as complicated as it may seem." msgstr "" "Programme, die GNU <command>autoconf</command> einsetzen, folgen automatisch " "den GNU-Konventionen, so dass sie trivial zu paketieren sind. Auf Grund " "dieser Tatsache und weiterer Heuristik wird geschätzt, dass das Paket " "<systemitem role=\"package\">debhelper</systemitem> für ungefähr 90% aller " "Pakete richtig funktionieren wird, ohne dass irgendwelche tiefgreifenden " "Änderungen an deren Build-System vorgenommen werden müssen. Daher ist das " "Paketieren nicht so kompliziert, wie es zunächst aussieht." #. type: Content of: <book><chapter><section><para> msgid "" "If you need to make changes in the <filename>Makefile</filename>, you should " "be careful to support the <literal>$(DESTDIR)</literal> variable. Although " "it is unset by default, the <literal>$(DESTDIR)</literal> variable is " "prepended to each file path used for the program installation. The " "packaging script will set <literal>$(DESTDIR)</literal> to the temporary " "directory." msgstr "" "Falls Sie Änderungen an dem <filename>Makefile</filename> vornehmen müssen, " "sollten Sie vorsichtig sein, dass die Variable <literal>$(DESTDIR)</literal> " "unterstützt wird. Obwohl sie standardmäßig nicht gesetzt ist, wird die " "Variable <literal>$(DESTDIR)</literal> jedem Dateipfad vorangestellt, der " "für die Programminstallation verwendet wird. Das Skript für das Paketieren " "setzt <literal>$(DESTDIR)</literal> auf das temporäre Verzeichnis." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "For a source package generating multiple binary packages, the " "<command>dh_auto_install</command> command uses <filename>debian/tmp</" "filename> as the temporary directory while the <command>dh_install</command> " "command with the help of <filename>debian/<replaceable>package-1</" "replaceable>.install</filename> and <filename>debian/<replaceable>package-2</" "replaceable>.install</filename> files will split the contents of " "<filename>debian/tmp</filename> into <filename>debian/" "<replaceable>package-1</replaceable></filename> and <filename>debian/" "<replaceable>package-2</replaceable></filename> temporary directories, to " "create <filename><replaceable>package-1</replaceable>_*.deb</filename> and " "<filename><replaceable>package-2</replaceable>_*.deb</filename> binary " "packages." msgstr "" "Bei einem Quellpaket, das mehrere Binärpakete erstellt, verwendet der Befehl " "<command>dh_auto_install</command> das temporäre Verzeichnis " "<filename>debian/tmp</filename>. Der Befehl <command>dh_install</command> " "teilt dann den Inhalt von <filename>debian/tmp</filename> mit Hilfe von " "<filename>debian/<replaceable>Paket-1</replaceable>.install</filename> und " "<filename>debian/<replaceable>Paket-2</replaceable>.install</filename> in " "die temporären Verzeichnisse <filename>debian/<replaceable>Paket-1</" "replaceable></filename> und <filename>debian/<replaceable>Paket-2</" "replaceable></filename> auf, um daraus die Binärpakete " "<filename><replaceable>Paket-1</replaceable>_*.deb</filename> und " "<filename><replaceable>Paket-2</replaceable>_*.deb</filename> zu erstellen." #. type: Content of: <book><chapter><section><para> msgid "" "For a source package generating a single binary package, the temporary " "directory used by the <command>dh_auto_install</command> command will be set " "to <filename>debian/<replaceable>package</replaceable></filename>. " "<placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in " "the temporary directory will be installed on users' systems when they " "install your package; the only difference is that <command>dpkg</command> " "will be installing the files to paths relative to the root directory rather " "than your working directory." msgstr "" "Bei einem Quellpaket, das ein einzelnes Binärpaket erstellt, wird das " "temporäre Verzeichnis, das vom Befehl <command>dh_auto_install</command> " "benutzt wird, auf <filename>debian/<replaceable>Paket</replaceable></" "filename> gesetzt. <placeholder type=\"footnote\" id=\"0\"/> Alles, was im " "temporären Verzeichnis enthalten ist, wird auf dem System eines Benutzers " "installiert, wenn dieser Ihr Paket installiert. Der einzige Unterschied ist, " "dass <command>dpkg</command> die Dateien relativ zum Wurzelverzeichnis statt " "zu Ihrem Arbeitsverzeichnis installieren wird." #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that even though your program installs in <filename>debian/" "<replaceable>package</replaceable></filename>, it still needs to behave " "correctly when installed from the <filename>.deb</filename> package under " "the root directory. So you must not allow the build system to hardcode " "strings like <literal>/home/me/deb/<replaceable>package</replaceable>-" "<replaceable>version</replaceable>/usr/share/<replaceable>package</" "replaceable></literal> into files in the package." msgstr "" "Vergessen Sie nicht, dass Ihr Programm zwar unter <filename>debian/" "<replaceable>Paket</replaceable></filename> installiert wird, es sich aber " "trotzdem korrekt verhalten muss, wenn es aus dem <filename>.deb</filename>-" "Paket unter dem Wurzelverzeichnis installiert wird. Daher dürfen durch das " "Build-System keine fest eingestellten Zeichenketten wie <literal>/home/ich/" "deb/<replaceable>Paket</replaceable>-<replaceable>Version</replaceable>/usr/" "share/<replaceable>Paket</replaceable></literal> in Dateien im Paket " "geschrieben werden." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This is just an example to show what a <filename>Makefile</filename> should " "look like. If the <filename>Makefile</filename> is created by the " "<command>./configure</command> command, the correct way to fix this kind of " "<filename>Makefile</filename> is to execute <command>./configure</command> " "from the <command>dh_auto_configure</command> command with default options " "including <literal>--prefix=/usr</literal>." msgstr "" "Dies ist nur ein Beispiel, wie ein <filename>Makefile</filename> aussehen " "sollte. Falls die <filename>Makefile</filename>-Datei durch den Befehl " "<command>./configure</command> erstellt wird, ist die richtige " "Vorgehensweise, um diese Art <filename>Makefile</filename> zu korrigieren, " "<command>./configure</command> durch den Befehl <command>dh_auto_configure</" "command> aufrufen zu lassen. Dabei kommen die voreingestellten Optionen zum " "Tragen, einschließlich der Option <literal>--prefix=/usr</literal>." #. type: Content of: <book><chapter><section><para> msgid "" "Here's the relevant part of <systemitem role=\"package\">gentoo</" "systemitem>'s <filename>Makefile</filename><placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "Dies ist der relevante Abschnitt aus dem <filename>Makefile</" "filename><placeholder type=\"footnote\" id=\"0\"/> von <systemitem role=" "\"package\">gentoo</systemitem>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" msgstr "" "# Where to put executable commands on 'make install'?\n" "BIN = /usr/local/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = /usr/local/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "We see that the files are set to install under <filename>/usr/local</" "filename>. As explained above, that directory hierarchy is reserved for " "local use on Debian, so change those paths to:" msgstr "" "Sie sehen, dass die Dateien unter <filename>/usr/local</filename> " "installiert werden sollen. Wie oben erklärt ist diese Verzeichnis-Hierarchie " "unter Debian für lokale Benutzung reserviert, ändern Sie daher diese Pfade " "in:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" msgstr "" "# Where to put executable commands on 'make install'?\n" "BIN = $(DESTDIR)/usr/bin\n" "# Where to put icons on 'make install'?\n" "ICONS = $(DESTDIR)/usr/share/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The exact locations that should be used for binaries, icons, documentation, " "etc. are specified in the Filesystem Hierarchy Standard (FHS). You should " "browse through it and read the sections relevant to your package." msgstr "" "Der genaue Ort, der für Programme, Icons, Dokumentation usw. verwandt werden " "sollte, ist im »Filesystem Hierarchy Standard« (FHS) spezifiziert. Sie " "sollten ihn durchblättern und die für Ihr Paket relevanten Abschnitte lesen." #. type: Content of: <book><chapter><section><para> msgid "" "So, we should install executable commands in <filename>/usr/bin</filename> " "instead of <filename>/usr/local/bin</filename>, the manual page in " "<filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/" "man1</filename>, and so on. Notice how there's no manual page mentioned in " "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" "filename>, but since Debian Policy requires that every program has one, " "we'll make one later and install it in <filename>/usr/share/man/man1</" "filename>." msgstr "" "Sie sollten also ausführbare Befehle in <filename>/usr/bin/</filename> statt " "<filename>/usr/local/bin/</filename> installieren, die Handbuchseiten in " "<filename>/usr/share/man/man1/</filename> statt <filename>/usr/local/man/" "man1/</filename> usw. Beachten Sie, dass im <filename>Makefile</filename> " "von <systemitem role=\"package\">gentoo</systemitem> keine Handbuchseite " "auftaucht. Da die Debian-Richtlinien aber verlangen, dass jedes Programm " "eine hat, schreiben Sie später eine und installieren sie unter <filename>/" "usr/share/man/man1/</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "Some programs don't use <filename>Makefile</filename> variables to define " "paths such as these. This means you might have to edit some real C sources " "in order to fix them to use the right locations. But where to search, and " "exactly what for? You can find this out by issuing:" msgstr "" "Manche Programme nutzen die <filename>Makefile</filename>-Variablen nicht, " "um solche Pfade zu definieren. Das bedeutet, dass Sie wahrscheinlich die C-" "Quelltexte direkt bearbeiten müssen, damit diese dann die richtigen Pfade " "benutzen. Aber wo soll man suchen, und wonach eigentlich genau? Sie können " "dies herausfinden, indem Sie folgendes eingeben:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" msgstr "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>grep</command> will run recursively through the source tree and " "tell you the filename and the line number for all matches." msgstr "" "<command>Grep</command> durchsucht das Quellverzeichnis rekursiv und gibt " "Ihnen den Dateinamen und die Zeilennummer für alle Treffer aus." #. type: Content of: <book><chapter><section><para> msgid "" "Edit those files and in those lines replace <literal>usr/local/lib</literal> " "with <literal>usr/lib</literal>. This can be done automatically as follows:" msgstr "" "Sie müssen diese Dateien nun bearbeiten und in den entsprechenden Zeilen " "<literal>usr/local/lib</literal> durch <literal>usr/lib</literal> ersetzen. " "Dies kann wie folgt automatisch erledigt werden:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you want to confirm each substitution instead, this can be done " "interactively as follows:" msgstr "" "Falls Sie stattdessen jede Ersetzung bestätigen möchten, kann dies wie folgt " "interaktiv durchgeführt werden:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" msgstr "" "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" " $(find . -type f -name '*.[c|h]')\n" #. type: Content of: <book><chapter><section><para> msgid "" "Next you should find the <literal>install</literal> target (searching for " "the line that starts with <literal>install:</literal> will usually work) and " "rename all references to directories other than ones defined at the top of " "the <filename>Makefile</filename>." msgstr "" "Als nächstes sollten Sie das »install«-Ziel suchen (suchen Sie nach der " "Zeile, die mit <literal>install:</literal> beginnt, das funktioniert " "üblicherweise) und alle Verweise auf Verzeichnisse umbenennen, die nicht " "denen entsprechen, die Sie am Anfang der <filename>Makefile</filename> " "definiert haben." #. type: Content of: <book><chapter><section><para> msgid "" "Originally, <systemitem role=\"package\">gentoo</systemitem>'s " "<literal>install</literal> target said:" msgstr "" "Ursprünglich sah das <literal>install</literal>-Ziel von <systemitem role=" "\"package\">gentoo</systemitem> wie folgt aus:" #. type: Content of: <book><chapter><section><para> msgid "" "Let's fix this upstream bug and record it with the <command>dquilt</command> " "command as <filename>debian/patches/install.patch</filename>." msgstr "" "Wir beheben diesen Fehler der Originalautoren und speichern es mit dem " "Befehl <command>dquilt</command> als <filename>debian/patches/install.patch</" "filename>." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" msgstr "" "$ dquilt new install.patch\n" "$ dquilt add Makefile\n" #. type: Content of: <book><chapter><section><para> msgid "In your editor, change this for the Debian package as follows:" msgstr "Wir ändern dies für das Debian-Paket im Editor wie folgt:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" msgstr "" "install: gentoo-target\n" " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" " install ./gentoo $(BIN)\n" " install -m644 icons/* $(ICONS)\n" " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You'll have noticed that there's now an <literal>install -d</literal> " "command before the other commands in the rule. The original " "<filename>Makefile</filename> didn't have it because usually <literal>/usr/" "local/bin</literal> and other directories already exist on the system where " "you are running <literal>make install</literal>. However, since we will be " "installing into a newly created private directory tree, we will have to " "create each and every one of those directories." msgstr "" "Sie haben bemerkt, dass jetzt der Befehl »<literal>install -d</literal>« vor " "den anderen Befehlen in dieser Regel steht. Das ursprüngliche " "<filename>Makefile</filename> hatte das nicht, weil normalerweise <literal>/" "usr/local/bin/</literal> und andere Verzeichnisse schon auf dem System " "vorhanden sind, wenn Sie »<literal>make install</literal>« aufrufen. Weil " "wir aber in unseren frisch erstellten Verzeichnisbaum installieren, müssen " "wir jedes einzelne dieser Verzeichnisse anlegen." #. type: Content of: <book><chapter><section><para> msgid "" "We can also add in other things at the end of the rule, like the " "installation of additional documentation that the upstream authors sometimes " "omit:" msgstr "" "Wir können am Ende der Regel noch weitere Dinge einfügen, wie beispielsweise " "die Installation zusätzlicher Dokumentation, die die Originalautoren " "manchmal weglassen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" msgstr "" " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" #. type: Content of: <book><chapter><section><para> msgid "" "Check carefully, and if everything is okay, ask <command>dquilt</command> to " "generate the patch to create <filename>debian/patches/install.patch</" "filename> and add its description." msgstr "" "Überprüfen Sie sorgfältig und falls alles in Ordnung ist, bitten Sie " "<command>dquilt</command>, den Patch zu erstellen und die Datei " "<filename>debian/patches/install.patch</filename> neu zu erstellen. Fügen " "Sie außerdem noch eine Beschreibung hinzu." #. type: Content of: <book><chapter><section><para> msgid "Now you have a series of patches." msgstr "Jetzt haben Sie eine Reihenfolge von Patches." #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>" msgstr "" "Die Fehlerkorrektur der originalen Quellen: <filename>debian/patches/fix-" "gentoo-target.patch</filename>" #. type: Content of: <book><chapter><section><orderedlist><listitem><para> msgid "" "Debian specific packaging modification: <filename>debian/patches/install." "patch</filename>" msgstr "" "Die Debian-spezifische Änderung für's Paketieren: <filename>debian/patches/" "install.patch</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Whenever you make changes that are not specific to the Debian package such " "as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to " "send them to the upstream maintainer so they can be included in the next " "version of the program and be useful to everyone else. Also remember to " "avoid making your fixes specific to Debian or Linux - or even Unix! Make " "them portable. This will make your fixes much easier to apply." msgstr "" "Wann immer Sie Änderungen machen, die nicht spezifisch für das Debian-Paket " "sind (so wie <filename>debian/patches/fix-gentoo-target.patch</filename>), " "sollten Sie diese dem Betreuer des Originalprogramms zukommen lassen, damit " "er sie in der nächsten Programmversion verwenden kann und sie für andere " "auch nützlich sind. Denken Sie auch daran, Ihre Patches nicht spezifisch für " "Debian oder Linux (oder sogar Unix!) zu gestalten, sondern sie portierbar zu " "erstellen. Dadurch können Ihre Änderungen wesentlich leichter übernommen " "werden." #. type: Content of: <book><chapter><section><para> msgid "" "Note that you don't have to send the <filename>debian/*</filename> files " "upstream." msgstr "" "Beachten Sie, dass Sie dem Originalautoren die <filename>debian/*</filename>-" "Dateien nicht schicken müssen." #. type: Content of: <book><chapter><section><title> msgid "Differing libraries" msgstr "Unterschiedliche Bibliotheken" #. type: Content of: <book><chapter><section><para> msgid "" "There is one other common problem: libraries are often different from " "platform to platform. For example, a <filename>Makefile</filename> can " "contain a reference to a library which doesn't exist on the Debian system. " "In that case, we need to change it to a library which does exist in Debian, " "and serves the same purpose." msgstr "" "Es gibt ein anderes typisches Problem: Bibliotheken variieren oft von " "Plattform zu Plattform. Beispielsweise kann ein <filename>Makefile</" "filename> eine Referenz auf eine Bibliothek enthalten, die auf Debian-" "Systemen nicht existiert. In diesem Fall müssen wir sie auf eine Bibliothek " "ändern, die unter Debian existiert und den gleichen Zweck erfüllt." #. type: Content of: <book><chapter><section><para> msgid "" "Let's assume a line in your program's <filename>Makefile</filename> (or " "<filename>Makefile.in</filename>) as the following." msgstr "" "Nehmen wir an, eine Datei in dem <filename>Makefile</filename> (oder " "<filename>Makefile.in</filename>) Ihres Programms lautet wie folgt:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "LIBS = -lfoo -lbar\n" msgstr "LIBS = -lfoo -lbar\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If there are API changes from the <literal>foo</literal> library to the " "<literal>foo2</literal> library, required changes to the source code need to " "be made to match the new API." msgstr "" "Falls es API-Änderungen von der Bibliothek <literal>foo</literal> zu der " "Bibliothek <literal>foo2</literal> gibt, müssen die Quellen entsprechend " "angepasst werden, um auf die neue API zu passen." # FIXME Kein Space here? #. type: Content of: <book><chapter><section><para> msgid "" "If your program doesn't compile since the <literal>foo</literal> library " "doesn't exist and its equivalent is provided by the <literal>foo2</literal> " "library on the Debian system, you can fix this build problem as " "<filename>debian/patches/foo2.patch</filename> by changing <literal>foo</" "literal> into <literal>foo2</literal>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Falls Ihr Programm nicht übersetzt, da die Bibliothek <literal>foo</literal> " "nicht existiert und auf Debian-Systemen ihr äquivalent von der Bibliothek " "<literal>foo2</literal> bereitgestellt wird, können Sie dieses Bauproblem " "mittels <filename>debian/patches/foo2.patch</filename> beheben, indem Sie " "<literal>foo</literal> in <literal>foo2</literal> ändern. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dquilt new foo2.patch\n" "$ dquilt add Makefile\n" "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "… Patch beschreiben\n" #. type: Content of: <book><chapter><title> msgid "Required files under the <filename>debian</filename> directory" msgstr "Benötigte Dateien im Verzeichnis <filename>debian</filename>" #. type: Content of: <book><chapter><para><footnote><para> msgid "" "In this chapter, files in the <filename>debian</filename> directory are " "referred to without the leading <filename>debian/</filename> for simplicity " "whenever the meaning is obvious." msgstr "" "In diesem Kapitel werden zur Vereinfachung Dateien im Verzeichnis " "<filename>debian</filename> ohne das einleitende <filename>debian/</" "filename> referenziert, wann immer die Bedeutung eindeutig ist." #. type: Content of: <book><chapter><para> msgid "" "There is a new subdirectory under the program's source directory, called " "<filename>debian</filename>. There are a number of files in this directory " "that we should edit in order to customize the behavior of the package. The " "most important of them are <filename>control</filename>, " "<filename>changelog</filename>, <filename>copyright</filename>, and " "<filename>rules</filename>, which are required for all packages. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Im Quellverzeichnis des Programms gibt es ein neues Unterverzeichnis, das " "<filename>debian</filename> heißt. In diesem Verzeichnis sind einige " "Dateien, die wir ändern müssen, um die Eigenschaften des Pakets anzupassen. " "Die wichtigsten davon sind <filename>control</filename>, " "<filename>changelog</filename>, <filename>copyright</filename> und " "<filename>rules</filename>, die für jedes Paket benötigt werden. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "<filename>control</filename>" msgstr "<filename>control</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains various values which <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command>, and other package management tools " "will use to manage the package. It is defined by the <ulink url=\"&policy-" "control;\">Debian Policy Manual, 5 \"Control files and their fields\"</" "ulink>." msgstr "" "Diese Datei enthält verschiedene Werte, die <command>dpkg</command>, " "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" "command>, <command>aptitude</command> und andere Paketverwaltungswerkzeuge " "verwenden, um das Paket zu verwalten. Sie wird in dem <ulink url=\"&policy-" "control;\">Debian Policy Manual, Kapitel 5 »Control files and their fields«</" "ulink> festgelegt." #. type: Content of: <book><chapter><section><para> msgid "" "Here is the <filename>control</filename> file <command>dh_make</command> " "created for us:" msgstr "" "Dies ist die Datei <filename>control</filename>, die <command>dh_make</" "command> für uns erstellt hat:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <insert the upstream URL, if relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: <insert up to 60 chars description>\n" "13 <insert long description, indented with spaces>\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: unknown\n" " 3 Priority: extra\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9)\n" " 6 Standards-Version: 3.9.4\n" " 7 Homepage: <URL der Originalautoren einfügen, falls relevant>\n" " 8\n" " 9 Package: gentoo\n" "10 Architecture: any\n" "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "12 Description: < bis zu 60 Zeichen Beschreibung einfügen>\n" "13 <lange Beschreibung einfügen, mit Leerzeichen eingerückt>\n" #. type: Content of: <book><chapter><section><para> msgid "(I've added the line numbers.)" msgstr "(Die Zeilennummerierung habe ich hinzugefügt.)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 1-7 are the control information for the source package. Lines 9-13 " "are the control information for the binary package." msgstr "" "Die Zeilen 1-7 sind die Steuerinformationen für das Quellcode-Paket. Zeilen " "9-13 sind die Steuerinformationen für das Binärpaket." #. type: Content of: <book><chapter><section><para> msgid "Line 1 is the name of the source package." msgstr "Zeile 1 ist der Name des Quellcode-Pakets." #. type: Content of: <book><chapter><section><para> msgid "Line 2 is the section of the distribution the source package goes into." msgstr "" "Zeile 2 bestimmt den Bereich der Distribution, in die das Quellcode-Paket " "gehört." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections" "\"</ulink> and <ulink url=\"§ions-unstable;\">List of sections in " "<literal>sid</literal></ulink>." msgstr "" "Lesen Sie das <ulink url=\"&policy-subsections;\">Debian Policy Manual, " "Kapitel 2.4 »Sections«</ulink> und <ulink url=\"§ions-unstable;\">Liste " "der Abschnitte in <literal>sid</literal></ulink>." # FIXME email → e-mail #. type: Content of: <book><chapter><section><para> msgid "" "As you may have noticed, the Debian archive is divided into multiple areas: " "<literal>main</literal> (the free software), <literal>non-free</literal> " "(the not really free software) and <literal>contrib</literal> (free software " "that depends on non-free software). Each of these is divided into sections " "that classify packages into rough categories. So we have <literal>admin</" "literal> for administrator-only programs, <literal>devel</literal> for " "programmer tools, <literal>doc</literal> for documentation, <literal>libs</" "literal> for libraries, <literal>mail</literal> for email readers and " "daemons, <literal>net</literal> for network apps and daemons, <literal>x11</" "literal> for X11 programs that don't fit anywhere else, and many more. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Sie haben bestimmt schon gemerkt, dass das Debian-Archiv in mehrere Bereiche " "aufgeteilt ist: <literal>main</literal> (freie Software), <literal>non-free</" "literal> (nicht wirklich freie Software) und <literal>contrib</literal> " "(freie Software, die von non-free-Software abhängt). Jeder davon ist in " "Abschnitte eingeteilt, die die Pakete in grobe Kategorien sortieren. " "Dementsprechend gibt es <literal>admin</literal> für Programme für " "Administratoren, <literal>devel</literal> für Programmierwerkzeuge, " "<literal>doc</literal> für Dokumentation, <literal>libs</literal> für " "Programmbibliotheken, <literal>mail</literal> für E-Mail-Leseprogramme und -" "Daemons, <literal>net</literal> für Netzwerk-Anwendungen und Daemons, " "<literal>x11</literal> für X11-Programme, die nirgendwo anders unterkommen, " "und viele mehr. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Let's change it then to x11. (A <literal>main/</literal> prefix is implied " "so we can omit it.)" msgstr "" "Verändern Sie den Bereich also zu x11 (das Präfix <literal>main/</literal> " "wird impliziert, also können wir es weglassen)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities" "\"</ulink>." msgstr "" "Lesen Sie das <ulink url=\"&policy-priorities;\">Debian Policy Manual, " "Kapitel 2.5 »Priorities«</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 3 describes how important it is that the user installs this package. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Zeile 3 beschreibt, wie wichtig es ist, dass der Benutzer das Paket " "installiert. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>optional</literal> priority will usually work for new packages " "that do not conflict with others claiming <literal>required</literal>, " "<literal>important</literal>, or <literal>standard</literal> priority." msgstr "" "Die Priorität <literal>optional</literal> ist normalerweise für neue Pakete " "sinnvoll, die nicht mit anderen Paketen der Prioritäten <literal>required</" "literal>, <literal>important</literal> oder <literal>standard</literal> " "kollidieren." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The <literal>extra</literal> priority will usually work for new packages " "that conflict with others with non-<literal>extra</literal> priorities." msgstr "" "Die Priorität <literal>extra</literal> ist normalerweise für neue Pakete " "sinnvoll, die mit anderen Paketen kollidieren, die eine andere Priorität als " "<literal>extra</literal> besitzen." #. type: Content of: <book><chapter><section><para> msgid "" "Section and priority are used by front-ends like <command>aptitude</command> " "when they sort packages and select defaults. Once you upload the package to " "Debian, the value of these two fields can be overridden by the archive " "maintainers, in which case you will be notified by email." msgstr "" "Bereich und Priorität werden von Oberflächen wie <command>aptitude</command> " "benutzt, um Pakete zu sortieren und Standardparameter auszuwählen. Wenn Sie " "das Paket für Debian hochladen, können die Werte dieser beiden Felder von " "den Archivbetreuern überschrieben werden. Sie erhalten dann eine Nachricht " "darüber per E-Mail." #. type: Content of: <book><chapter><section><para> msgid "" "As this is a normal priority package and doesn't conflict with anything " "else, we will change the priority to <literal>optional</literal>." msgstr "" "Da es sich um ein Paket mit normaler Priorität handelt und es nichts anderes " "stört, ändern wir die Priorität auf »<literal>optional</literal>«." #. type: Content of: <book><chapter><section><para> msgid "" "Line 4 is the name and email address of the maintainer. Make sure that this " "field includes a valid <literal>To</literal> header for email, because after " "you upload it, the bug tracking system will use it to deliver bug emails to " "you. Avoid using commas, ampersands, or parentheses." msgstr "" "Zeile 4 ist der Name und die E-Mail-Adresse des Betreuers. Sie müssen " "sicherstellen, dass dieses Feld eine gültige »<literal>To</literal>«-" "Kopfzeile für eine E-Mail enthält, weil nach dem Hochladen die " "Fehlerdatenbank diesen Eintrag nutzt, um die Fehler-E-Mails an Sie " "zuzustellen. Benutzen Sie keine Kommata, kaufmännische Und-Zeichen (&) " "oder Klammern." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " "Manual, 7.7 \"Relationships between source and binary packages - Build-" "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</" "ulink>." msgstr "" "Lesen Sie das <ulink url=\"&policy-relationships;#s-sourcebinarydeps" "\">Debian Policy Manual, Kapitel 7.7 »Relationships between source and " "binary packages - Build-Depends, Build-Depends-Indep, Build-Conflicts, Build-" "Conflicts-Indep«</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "Line 5 includes the list of packages required to build your package as the " "<literal>Build-Depends</literal> field. You can also have the " "<literal>Build-Depends-Indep</literal> field as an additional line, here. " "<placeholder type=\"footnote\" id=\"0\"/> Some packages like <systemitem " "role=\"package\">gcc</systemitem> and <systemitem role=\"package\">make</" "systemitem> which are required by the <systemitem role=\"package\">build-" "essential</systemitem> package are implied. If you need to have other tools " "to build your package, you should add them to these fields. Multiple " "entries are separated with commas; read on for the explanation of binary " "package dependencies to find out more about the syntax of these lines." msgstr "" "Zeile 5 enthält die Liste der Pakete, die zum Bauen des Pakets benötigt " "werden, im Feld <literal>Build-Depends</literal>. Sie können hier ebenso das " "Feld <literal>Build-Depends-Indep</literal> in einer zusätzlichen Zeile " "benutzen <placeholder type=\"footnote\" id=\"0\"/>. Einige Pakete wie " "<systemitem role=\"package\">gcc</systemitem> und <systemitem role=\"package" "\">make</systemitem> werden impliziert, weil sie vom Paket <systemitem role=" "\"package\">build-essential</systemitem> benötigt werden. Falls Sie andere " "Werkzeuge zum Bauen Ihres Pakets brauchen, müssen Sie sie zu diesen Feldern " "hinzufügen. Mehrere Einträge werden durch Kommata getrennt; mehr über die " "Syntax dieser Zeilen finden Sie in den Erläuterungen der binären " "Paketabhängigkeiten." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For all packages packaged with the <command>dh</command> command in the " "<filename>debian/rules</filename> file, you must have <literal>debhelper " "(>=9)</literal> in the <literal>Build-Depends</literal> field to satisfy " "the Debian Policy requirement for the <literal>clean</literal> target." msgstr "" "Bei allen Paketen, die auf den Befehl <command>dh</command> in der Datei " "<filename>debian/rules</filename> zugreifen, müssen Sie »<literal>debhelper " "(>=9)</literal>« in das Feld <literal>Build-Depends</literal> eintragen, " "um die Debian-Richtlinien für das Ziel <literal>clean</literal> zu erfüllen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Source packages which have binary packages with <literal>Architecture: any</" "literal> are rebuilt by the autobuilder. Since this autobuilder procedure " "installs only the packages listed in the <literal>Build-Depends</literal> " "field before running <literal>debian/rules build</literal> (see <xref " "linkend=\"autobuilder\"/>), the <literal>Build-Depends</literal> field needs " "to list practically all the required packages and <literal>Build-Depends-" "Indep</literal> is rarely used." msgstr "" "Quellpakete, die binäre Pakete mit »<literal>Architecture: any</literal>« " "erstellen, werden vom automatischen Bausystem (»Autobuilder«) neu gebaut. Da " "während dieser Autobuilder-Prozedur nur die in <literal>Build-Depends</" "literal> aufgeführten Pakete vor der Ausführung von <literal>debian/rules " "build</literal> installiert werden (siehe <xref linkend=\"autobuilder\"/>), " "muss das Feld <literal>Build-Depends</literal> praktisch alle erforderlichen " "Pakete auflisten. Das Feld <literal>Build-Depends-Indep</literal> wird daher " "selten benutzt." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For source packages with binary packages all of which are " "<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" "literal> field may list all the required packages unless they are already " "listed in the <literal>Build-Depends</literal> field to satisfy the Debian " "Policy requirement for the <literal>clean</literal> target." msgstr "" "Quellpakete, die nur binäre Pakete mit »<literal>Architecture: all</" "literal>« erstellen, können im Feld <literal>Build-Depends-Indep</literal> " "alle erforderlichen Pakete auflisten, es sei denn, diese sind bereits im " "Feld <literal>Build-Depends</literal> aufgeführt, um die Debian-Richtlinie " "für das Ziel <literal>clean</literal> zu erfüllen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This somewhat strange situation is a feature well documented in the <ulink " "url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 55</" "ulink>. This is not due to the use of the <command>dh</command> command in " "the <filename>debian/rules</filename> file but due to how the <command>dpkg-" "buildpackage</command> works. The same situation applies to the <ulink url=" "\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build " "system for Ubuntu</ulink>." msgstr "" "Diese etwas merkwürdige Situation ist eine Besonderheit, die in dem <ulink " "url=\"&policy-build-depends-indep;\">Debian Policy Manual, Fußnote 55</" "ulink> sehr gut dokumentiert ist. Es liegt nicht an der Verwendung des " "Befehls <command>dh</command> in der Datei <filename>debian/rules</" "filename>, sondern daran, wie das Programm <command>dpkg-buildpackage</" "command> arbeitet. Dieselbe Situation gilt auch für das <ulink url=\"https://" "bugs.launchpad.net/launchpad-buildd/+bug/238141\">»auto build system« von " "Ubuntu</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "If you are not sure which one should be used, use the <literal>Build-" "Depends</literal> field to be on the safe side. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Wenn Sie sich nicht sicher sind, welches von beiden Sie benutzen sollten, " "verwenden Sie das Feld <literal>Build-Depends</literal>, um auf der sicheren " "Seite zu sein. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "To find out what packages your package needs to be built run the command:" msgstr "" "Um herauszufinden, welche Pakete Ihr Paket zum Bauen benötigt, führen Sie " "diesen Befehl aus:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-depcheck -d ./configure\n" msgstr "$ dpkg-depcheck -d ./configure\n" #. type: Content of: <book><chapter><section><para> msgid "" "To manually find exact build dependencies for <command><replaceable>/usr/bin/" "foo</replaceable></command>, execute" msgstr "" "Um die genauen Build-Abhängigkeiten für <command><replaceable>/usr/bin/foo</" "replaceable></command> manuell herauszufinden, führen Sie" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" msgstr "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" #. type: Content of: <book><chapter><section><para> msgid "" "and for each library listed, e.g., <command>libfoo.so.6</command>, execute" msgstr "" "aus. Rufen Sie dann für jede aufgelistete Bibliothek, beispielsweise " "<command>libfoo.so.6</command>, diesen Befehl auf:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg -S libfoo.so.6\n" msgstr "$ dpkg -S libfoo.so.6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Then just take the <literal>-dev</literal> version of every package as a " "<literal>Build-Depends</literal> entry. If you use <command>ldd</command> " "for this purpose, it will report indirect lib dependencies as well, " "resulting in the problem of excessive build dependencies." msgstr "" "Dann nehmen Sie einfach die Entwicklerversion (<literal>-dev</literal>) " "jedes Pakets als einen <literal>Build-Depends</literal>-Eintrag. Falls Sie " "dafür <command>ldd</command> benutzen, werden auch indirekt abhängende " "Bibliotheken aufgelistet und überflüssige Bauabhängigkeiten geliefert." #. type: Content of: <book><chapter><section><para> msgid "" "<systemitem role=\"package\">gentoo</systemitem> also happens to require " "<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" "\"package\">libgtk1.2-dev</systemitem> and <systemitem role=\"package" "\">libglib1.2-dev</systemitem> to build, so we'll add them here next to " "<systemitem role=\"package\">debhelper</systemitem>." msgstr "" "<systemitem role=\"package\">Gentoo</systemitem> benötigt noch <systemitem " "role=\"package\">xlibs-dev</systemitem>, <systemitem role=\"package" "\">libgtk1.2-dev</systemitem> und <systemitem role=\"package\">libglib1.2-" "dev</systemitem> um gebaut werden zu können, deshalb hängen wir diese direkt " "hinter <systemitem role=\"package\">debhelper</systemitem> an." # FIXME: Debian Policy Manual → Debian Policy #. type: Content of: <book><chapter><section><para> msgid "" "Line 6 is the version of the <ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink> standards this package follows, the one you read while making " "your package." msgstr "" "Zeile 6 enthält die Version des <ulink url=\"&debian-policy;\">Debian Policy " "Manual</ulink>, dessen Standards dieses Paket entspricht, also die Version, " "die Sie gelesen haben, während Sie Ihr Paket erstellten." #. type: Content of: <book><chapter><section><para> msgid "On line 7 you can put the URL of the software's upstream homepage." msgstr "" "In Zeile 7 können Sie die URL der Homepage der Originalautoren der Software " "notieren." #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the name of the binary package. This is usually the same as the " "name of the source package, but it doesn't necessarily have to be that way." msgstr "" "Zeile 9 enthält den Namen des Binärpakets. Üblicherweise ist dies der " "gleiche Name wie der des Quellpakets, aber das muss nicht immer so sein." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " "\"Architecture\"</ulink> for exact details." msgstr "" "Lesen Sie <ulink url=\"&policy-architecture;\">Debian Policy Manual, Kapitel " "5.6.8 »Architecture«</ulink> für die genauen Details." #. type: Content of: <book><chapter><section><para> msgid "" "Line 10 describes the architectures the binary package can be compiled for. " "This value is usually one of the following depending on the type of the " "binary package. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Zeile 10 beschreibt die Architekturen, für die das binäre Paket kompiliert " "werden kann. Dieser Wert ist normalerweise einer der folgenden, abhängig von " "der Art des binären Pakets: <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: any</literal>" msgstr "<literal>Architecture: any</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture dependent one usually in a " "compiled language." msgstr "" "Das erstellte Binärpaket ist archiekturabhängig, typischerweise in einer " "kompilierten Sprache." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Architecture: all</literal>" msgstr "<literal>Architecture: all</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "The generated binary package is an architecture independent one usually " "consisting of text, images, or scripts in an interpreted language." msgstr "" "Das erstellte Binärpaket ist architekturunabhängig, besteht typischerweise " "aus Text, Bilder oder Skripten in einer interpretierten Sprache." #. type: Content of: <book><chapter><section><para> msgid "" "We leave line 10 as is since this is written in C. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> will fill in the appropriate architecture value " "for any machine this source package gets compiled on." msgstr "" "Wir belassen Zeile 10, da es in C geschrieben ist. " "<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" "manvolnum></citerefentry> wird den geeigneten Architekturwert für jede " "Maschine, auf der diese Quellen gebaut werden, einfügen." #. type: Content of: <book><chapter><section><para> msgid "" "If your package is architecture independent (for example, a shell or Perl " "script, or a document), change this to <literal>all</literal>, and read " "later in <xref linkend=\"rules\"/> about using the <literal>binary-indep</" "literal> rule instead of <literal>binary-arch</literal> for building the " "package." msgstr "" "Falls Ihr Paket unabhängig von der Architektur funktioniert (beispielsweise " "ein Shell- oder Perl-Skript oder Dokumentation), ändern Sie dies in " "»<literal>all</literal>« und lesen Sie später unter <xref linkend=\"rules\"/" "> über die Benutzung der Regel <literal>binary-indep</literal> statt " "<literal>binary-arch</literal> für den Bau des Pakets." #. type: Content of: <book><chapter><section><para> msgid "" "Line 11 shows one of the most powerful features of the Debian packaging " "system. Packages can relate to each other in various ways. Apart from " "<literal>Depends</literal>, other relationship fields are " "<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" "Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " "<literal>Provides</literal>, and <literal>Replaces</literal>." msgstr "" "Zeile 11 zeigt eine der mächtigsten Eigenschaften des Paketsystems von " "Debian. Pakete können auf verschiedene Arten miteinander in Beziehung " "stehen. Neben <literal>Depends</literal> (hängt ab von) gibt es noch die " "Beziehungsfelder <literal>Recommends</literal> (empfiehlt), " "<literal>Suggests</literal> (schlägt vor), <literal>Pre-Depends</literal> " "(setzt voraus), <literal>Breaks</literal> (beschädigt), <literal>Conflicts</" "literal> (kollidiert mit), <literal>Provides</literal> (enthält) und " "<literal>Replaces</literal> (ersetzt)." #. type: Content of: <book><chapter><section><para> msgid "" "The package management tools usually behave the same way when dealing with " "these relations; if not, it will be explained. (See <citerefentry> " "<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, etc.)" msgstr "" "Die verschiedenen Paketverwaltungswerkzeuge verhalten sich normalerweise bei " "der Behandlung dieser Beziehungen gleich; wenn nicht, wird dies erklärt " "(siehe <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>8</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>dselect</" "refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>apt</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, " "<citerefentry> <refentrytitle>aptitude</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> usw.)." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " "\"Declaring relationships between packages\"</ulink>." msgstr "" "Lesen Sie <ulink url=\"&policy-relationships;\">Debian Policy Manual, " "Kapitel 7 »Declaring relationships between packages«</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "Here is a simplified description of package relationships. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Es folgt eine vereinfachte Beschreibung der Paketbeziehungen. <placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Depends</literal>" msgstr "<literal>Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed unless the packages it depends on are " "installed. Use this if your program absolutely will not run (or will cause " "severe breakage) unless a particular package is present." msgstr "" "Das Paket wird erst installiert, wenn die hier aufgelisteten Pakete " "ebenfalls installiert sind. Benutzen Sie dies, falls ihr Programm ohne ein " "bestimmtes Paket überhaupt nicht läuft (oder schwere Schäden verursacht)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Recommends</literal>" msgstr "<literal>Recommends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages that are not strictly necessary but are typically used " "with your program. When a user installs your program, all front-ends will " "probably prompt them to install the recommended packages. " "<command>aptitude</command> and <command>apt-get</command> install " "recommended packages along with your package by default (but the user can " "disable this behavior). <command>dpkg</command> will ignore this field." msgstr "" "Benutzen Sie dies für Pakete, die nicht absolut notwendig sind, die aber " "typischerweise mit Ihrem Programm verwendet werden. Wenn ein Benutzer Ihr " "Programm installiert, fragen wahrscheinlich alle Oberflächen nach, ob die " "empfohlenen Pakete auch installiert werden sollen. <command>aptitude</" "command> und <command>apt-get</command> installieren alle empfohlenen Pakete " "zusammen mit Ihrem Paket (aber der Benutzer kann diese Voreinstellung " "deaktivieren). <command>dpkg</command> ignoriert dieses Feld." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Suggests</literal>" msgstr "<literal>Suggests</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this for packages which will work nicely with your program but are not " "at all necessary. When a user installs your program, they will probably not " "be prompted to install suggested packages. <command>aptitude</command> can " "be configured to install suggested packages along with your package but this " "is not its default. <command>dpkg</command> and <command>apt-get</command> " "will ignore this field." msgstr "" "Benutzen Sie dies für Pakete, die mit Ihrem Programm gut zusammenarbeiten, " "aber absolut nicht notwendig sind. Wenn ein Benutzer Ihr Programm " "installiert, werden sie wahrscheinlich nicht gefragt, ob die vorgeschlagenen " "Pakete auch installiert werden sollen. <command>aptitude</command> kann so " "konfiguriert werden, dass es vorgeschlagene Pakete zusammen mit Ihrem Paket " "installiert, aber dies ist nicht die Voreinstellung.<command>dpkg</command> " "und <command>apt-get</command> ignorieren dieses Feld." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Pre-Depends</literal>" msgstr "<literal>Pre-Depends</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is stronger than <literal>Depends</literal>. The package will not be " "installed unless the packages it pre-depends on are installed and " "<emphasis>correctly configured</emphasis>. Use this <emphasis>very</" "emphasis> sparingly and only after discussing it on the <ulink url=\"&debian-" "devel-ldo;\">debian-devel@lists.debian.org</ulink> mailing list. Read: " "don't use it at all. :-)" msgstr "" "Dies ist stärker als <literal>Depends</literal>. Das Paket wird nicht " "installiert, bevor die hier aufgelisteten Pakete fertig installiert " "<emphasis>und richtig konfiguriert</emphasis> sind. Benutzen Sie dies " "<emphasis>sehr</emphasis> sparsam und nur, nachdem auf der Mailingliste " "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org</ulink> " "darüber diskutiert wurde. Lies: Verwenden Sie es überhaupt nicht. :-)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Conflicts</literal>" msgstr "<literal>Conflicts</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "The package will not be installed until all the packages it conflicts with " "have been removed. Use this if your program absolutely will not run or will " "cause severe problems if a particular package is present." msgstr "" "Das Paket wird nicht installiert, bevor alle Pakete, mit denen es " "kollidiert, entfernt wurden. Benutzen Sie dies, wenn ihr Programm überhaupt " "nicht läuft oder schwere Probleme verursacht, solange ein bestimmtes Paket " "installiert ist." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Breaks</literal>" msgstr "<literal>Breaks</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "When installed the package will break all the listed packages. Normally a " "<literal>Breaks</literal> entry specifies that it applies to versions " "earlier than a certain value. The resolution is generally to use higher-" "level package management tools to upgrade the listed packages." msgstr "" "Wenn dieses Paket installiert ist, werden alle aufgeführten Pakete als " "beschädigt markiert. Normalerweise gibt ein Eintrag unter <literal>Breaks</" "literal> an, dass er auf Versionen älter als einen bestimmten Wert zutrifft. " "Die Lösung besteht üblicherweise darin, höhergradige " "Paketverwaltungswerkzeuge zu verwenden, um ein Upgrade der aufgeführten " "Pakete durchzuführen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Provides</literal>" msgstr "<literal>Provides</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "For some types of packages where there are multiple alternatives virtual " "names have been defined. You can get the full list in the <ulink url=" "\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> file. Use " "this if your program provides a function of an existing virtual package." msgstr "" "Für einige Paketarten mit mehreren Alternativen wurden virtuelle Namen " "definiert. Die vollständige Liste dieser virtuellen Pakete finden Sie in der " "Datei <ulink url=\"&virtual-package;\">virtual-package-names-list.txt.gz</" "ulink>. Benutzen Sie dies, wenn Ihr Paket die Funktionalität eines " "existierenden virtuellen Pakets bietet." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>Replaces</literal>" msgstr "<literal>Replaces</literal>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use this when your program replaces files from another package, or " "completely replaces another package (used in conjunction with " "<literal>Conflicts</literal>). Files from the named packages will be " "overwritten with the files from your package." msgstr "" "Benutzen Sie dies, wenn Ihr Paket Dateien eines anderen Pakets überschreibt " "oder ein anderes Paket vollständig ersetzt (wird zusammen mit " "<literal>Conflicts</literal> benutzt). Dateien der genannten Pakete werden " "mit den Dateien aus Ihrem Paket überschrieben." #. type: Content of: <book><chapter><section><para> msgid "" "All these fields have uniform syntax. They are a list of package names " "separated by commas. These package names may also be lists of alternative " "package names, separated by vertical bar symbols <literal>|</literal> (pipe " "symbols)." msgstr "" "All diese Felder haben eine einheitliche Syntax. Es ist jeweils eine durch " "Kommata getrennte Liste der Paketnamen. Diese Paketnamen können auch aus " "einer Liste von alternativen Paketnamen bestehen, die durch senkrechte " "Striche »<literal>|</literal>« (»pipe«-Zeichen) getrennt werden." #. type: Content of: <book><chapter><section><para> msgid "" "The fields may restrict their applicability to particular versions of each " "named package. The restriction of each individual package is listed in " "parentheses after its name, and should contain a relation from the list " "below followed by a version number value. The relations allowed are: " "<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " "<literal>>=</literal>, and <literal>>></literal> for strictly " "lower, lower or equal, exactly equal, greater or equal, and strictly " "greater, respectively. For example," msgstr "" "Die Anwendung der Felder kann auf bestimmte Versionen eines genannten Pakets " "beschränkt werden. Die Einschränkung jedes einzelnen Pakets wird in Klammern " "nach seinem Namen aufgeführt und sollte einen Vergleich aus der folgenden " "Liste enthalten, gefolgt von einem Versionsnummernwert. Die erlaubten " "Vergleiche sind <literal><<</literal>, <literal><=</literal>, " "<literal>=</literal>, <literal>>=</literal> und <literal>>></" "literal> für strikt niedriger, niedriger oder gleich, genau gleich, höher " "oder gleich und strikt höher. Ein Beispiel:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" msgstr "" "Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" "Conflicts: baz\n" "Recommends: libbaz4 (>> 4.0.7)\n" "Suggests: quux\n" "Replaces: quux (<< 5), quux-foo (<= 7.6)\n" #. type: Content of: <book><chapter><section><para> msgid "" "The last feature you need to know about is <literal>${shlibs:Depends}</" "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" "literal>, etc." msgstr "" "Die letzte Funktionalität, über die Sie Bescheid wissen müssen, ist <literal>" "${shlibs:Depends}</literal>, <literal>${perl:Depends}</literal>, <literal>" "${misc:Depends}</literal>, usw." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates shared library dependencies for binary " "packages. It generates a list of <ulink url=\"&elf;\">ELF</ulink> " "executables and shared libraries it has found for each binary package. This " "list is used for substituting <literal>${shlibs:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> berechnet die Abhängigkeiten von gemeinsam " "benutzten Bibliotheken für Binärpakete. Es erstellt eine Liste von <ulink " "url=\"&elf;\">ELF</ulink>-Programmen und gemeinsam benutzten Bibliotheken, " "die es für jedes Binärpaket gefunden hat. Diese Liste wird zur Ersetzung von " "<literal>${shlibs:Depends}</literal> verwandt." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> calculates Perl dependencies. It generates a " "list of a dependencies on <literal>perl</literal> or <literal>perlapi</" "literal> for each binary package. This list is used for substituting " "<literal>${perl:Depends}</literal>." msgstr "" "<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> berechnet Perl-Abhängigkeiten. Es erstellt für " "jedes Binärpaket eine Liste von Abhängigkeiten von <literal>perl</literal> " "oder <literal>perlapi</literal>. Diese Liste wird zur Ersetzung von <literal>" "${perl:Depends}</literal> verwandt." #. type: Content of: <book><chapter><section><para> msgid "" "Some <systemitem role=\"package\">debhelper</systemitem> commands may cause " "the generated package to depend on some additional packages. All such " "commands generate a list of required packages for each binary package. This " "list is used for substituting <literal>${misc:Depends}</literal>." msgstr "" "Einige <systemitem role=\"package\">debhelper</systemitem>-Befehle können " "dazu führen, dass das erstellte Paket von einigen zusätzlichen Paketen " "abhängt. Alle diese Befehle erstellen eine Liste von benötigten Paketen für " "jedes Binärpaket. Diese Liste wird zur Ersetzung von <literal>${misc:Depends}" "</literal> verwandt." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> generates <filename>DEBIAN/control</filename> for " "each binary package while substituting <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." msgstr "" "<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> erstellt für jedes Binärpaket <filename>DEBIAN/" "control</filename> und ersetzt dabei <literal>${shlibs:Depends}</literal>, " "<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, usw." #. type: Content of: <book><chapter><section><para> msgid "" "Having said all that, we can leave the <literal>Depends</literal> field " "exactly as it is now, and insert another line after it saying " "<literal>Suggests: file</literal>, because <systemitem role=\"package" "\">gentoo</systemitem> can use some features provided by the <systemitem " "role=\"package\">file</systemitem> package." msgstr "" "Nach all diesen Erklärungen können wir das Feld <literal>Depends</literal> " "aber exakt so belassen, wie es jetzt ist und eine weitere Zeile dahinter " "einfügen, in der »<literal>Suggests: file</literal>« steht, weil <systemitem " "role=\"package\">gentoo</systemitem> einige Funktionen des Pakets " "<systemitem role=\"package\">file</systemitem> nutzen kann." #. type: Content of: <book><chapter><section><para> msgid "" "Line 9 is the Homepage URL. Let's assume this to be at <ulink url=\"&gentoo;" "\"/>." msgstr "" "Zeile 9 ist die Homepage-URL. Nehmen wir an, diese sei <ulink url=\"&gentoo;" "\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "Line 12 is the short description. Terminals are conventionally 80 columns " "wide so this shouldn't be longer than about 60 characters. I'll change it " "to <literal>fully GUI-configurable, two-pane X file manager</literal>." msgstr "" "Zeile 12 enthält eine Kurzbeschreibung. Terminals sind typischerweise 80 " "Zeichen breit, also sollte die Kurzbeschreibung nicht länger als etwa 60 " "Zeichen sein. Ich ändere es in <literal>fully GUI-configurable, two-pane X " "file manager</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "These descriptions are in English. Translations of these descriptions are " "provided by <ulink url=\"&ddtp;\">The Debian Description Translation Project " "- DDTP</ulink>." msgstr "" "Diese Beschreibungen sind auf Englisch. Übersetzungen dieser Beschreibungen " "werden durch das <ulink url=\"&ddtp;\">Debian Description Translation " "Project - DDTP</ulink> bereitgestellt." #. type: Content of: <book><chapter><section><para> msgid "" "Line 13 is where the long description goes. This should be a paragraph " "which gives more details about the package. Column 1 of each line should be " "empty. There must be no blank lines, but you can put a single <literal>.</" "literal> (dot) in a column to simulate that. Also, there must be no more " "than one blank line after the long description. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "In die Zeile 13 kommt eine ausführliche Beschreibung. Sie sollte aus einem " "kleinen Text bestehen, der mehr über das Paket verrät. Die erste Spalte " "jeder Zeile muss leer sein. Es dürfen keine leeren Zeilen vorkommen, Sie " "können aber welche simulieren, indem Sie einen einzelnen »<literal>.</" "literal>« (Punkt) in die Zeile einsetzen. Es darf nach der ausführlichen " "Beschreibung auch nicht mehr als eine Leerzeile vorkommen. <placeholder type=" "\"footnote\" id=\"0\"/>" # FIXME: Link auf Deutsch? #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-bpp-vcs;\">Debian Developer's Reference, 6.2.5. " "\"Version Control System location\"</ulink>." msgstr "" "Lesen Sie <ulink url=\"&devref-bpp-vcs;\">Debian-Entwicklerreferenz, 6.2.5. " "»Ort des Versionsverwaltungssystems«</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "We can insert <literal>Vcs-*</literal> fields to document the Version " "Control System (VCS) location between lines 6 and 7. <placeholder type=" "\"footnote\" id=\"0\"/> Let's assume that the <systemitem role=\"package" "\">gentoo</systemitem> package has its VCS located in the Debian Alioth Git " "Service at <literal>git://git.debian.org/git/collab-maint/gentoo.git</" "literal>." msgstr "" "Wir können zwischen die Zeilen 6 und 7 die Felder <literal>Vcs-*</literal> " "einfügen, um das Versionskontrollsystem (VCS) zu dokumentieren. <placeholder " "type=\"footnote\" id=\"0\"/> Wir nehmen an, dass das Paket <systemitem role=" "\"package\">gentoo</systemitem> sein VCS im Git-Service von Debian Alioth " "unter <literal>git://git.debian.org/git/collab-maint/gentoo.git</literal> " "hat." #. type: Content of: <book><chapter><section><para> msgid "Finally, here is the updated <filename>control</filename> file:" msgstr "" "Zum Schluss ist dies die aktualisierte Datei <filename>control</filename>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" msgstr "" " 1 Source: gentoo\n" " 2 Section: x11\n" " 3 Priority: optional\n" " 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 5 Build-Depends: debhelper (>=9), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" " 6 Standards-Version: 3.9.4\n" " 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n" " 8 Vcs-browser: http://git.debian.org/?p=collab-maint/gentoo.git\n" " 9 Homepage: &gentoo;\n" "10\n" "11 Package: gentoo\n" "12 Architecture: any\n" "13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" "14 Suggests: file\n" "15 Description: fully GUI-configurable, two-pane X file manager\n" "16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" "17 user do (almost) all of the configuration and customizing from within the\n" "18 program itself. If you still prefer to hand-edit configuration files,\n" "19 they're fairly easy to work with since they are written in an XML format.\n" "20 .\n" "21 gentoo features a fairly complex and powerful file identification system,\n" "22 coupled to an object-oriented style system, which together give you a lot\n" "23 of control over how files of different types are displayed and acted upon.\n" "24 Additionally, over a hundred pixmap images are available for use in file\n" "25 type descriptions.\n" "26 .\n" "29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" "30 for its interface.\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>copyright</filename>" msgstr "<filename>copyright</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file contains information about the copyright and license of the " "upstream sources. <ulink url=\"&policy-copyright;\">Debian Policy Manual, " "12.5 \"Copyright information\"</ulink> dictates its content and <ulink url=" "\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</filename></" "ulink> provides guidelines for its format." msgstr "" "Diese Datei enthält Informationen über das Copyright und die Lizenz der " "Quellen der Originalautoren. <ulink url=\"&policy-copyright;\">Debian Policy " "Manual, Kapitel 12.5 »Copyright information«</ulink> gibt den Inhalt vor und " "<ulink url=\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</" "filename></ulink> bietet Hilfestellungen für ihr Format." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> can give you a template <filename>copyright</" "filename> file. Let's use the <literal>--copyright gpl2</literal> option " "here to get a template file for the <systemitem role=\"package\">gentoo</" "systemitem> package released under GPL-2." msgstr "" "<command>Dh_make</command> kann eine Vorlage für die Datei " "<filename>copyright</filename> erzeugen. Verwenden Sie hier die Option " "»<literal>--copyright gpl2</literal>«, um eine Vorlage für das Paket " "<systemitem role=\"package\">gentoo</systemitem> zu erhalten, das unter " "GPL-2 veröffentlicht wurde." #. type: Content of: <book><chapter><section><para> msgid "" "You must fill in missing information to complete this file, such as the " "place you got the package from, the actual copyright notice, and the " "license. For certain common free software licenses (GNU GPL-1, GNU GPL-2, " "GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0, " "or the Artistic license), you can just refer to the appropriate file in the " "<filename>/usr/share/common-licenses/</filename> directory that exists on " "every Debian system. Otherwise, you must include the complete license." msgstr "" "Sie müssen hier fehlende Informationen eintragen, um die Datei zu " "vervollständigen, beispielsweise die Quelle, von der Sie das Paket bezogen " "haben, die tatsächlichen Copyright-Vermerke und die Lizenz. Bei den " "verbreiteten Lizenzen von freier Software (GNU GPL-1, GNU GPL-2, GNU GPL-3, " "LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0 oder der " "Artistic license) können Sie auf die entsprechende Datei im Verzeichnis " "<filename>/usr/share/common-licenses/</filename> verweisen, das auf jedem " "Debian-System existiert. Anderenfalls müssen Sie die vollständige Lizenz " "einfügen." #. type: Content of: <book><chapter><section><para> msgid "" "In short, here's what <systemitem role=\"package\">gentoo</systemitem>'s " "<filename>copyright</filename> file should look like:" msgstr "" "Zusammengefasst sollte die Datei <filename>copyright</filename> von " "<systemitem role=\"package\">gentoo</systemitem> so aussehen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" msgstr "" " 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135\n" " 2 Name: gentoo\n" " 3 Maintainer: Josip Rodin <joy-mg@debian.org>\n" " 4 Source: http://sourceforge.net/projects/gentoo/files/\n" " 5\n" " 6 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" " 7 License: GPL-2+\n" " 8\n" " 9 Files: icons/*\n" "10 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" "11 License: GPL-2+\n" "12\n" "13 Files: debian/*\n" "14 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" "15 License: GPL-2+\n" "16\n" "17 License: GPL-2+\n" "18 This program is free software; you can redistribute it and/or modify\n" "19 it under the terms of the GNU General Public License as published by\n" "20 the Free Software Foundation; either version 2 of the License, or\n" "21 (at your option) any later version. \n" "22 .\n" "23 This program is distributed in the hope that it will be useful,\n" "24 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "25 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "26 GNU General Public License for more details.\n" "27 .\n" "28 You should have received a copy of the GNU General Public License along\n" "29 with this program; if not, write to the Free Software Foundation, Inc.,\n" "30 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" "31 .\n" "32 On Debian systems, the full text of the GNU General Public\n" "33 License version 2 can be found in the file\n" "34 `/usr/share/common-licenses/GPL-2'.\n" #. type: Content of: <book><chapter><section><para> msgid "" "Please follow the HOWTO provided by the ftpmasters and sent to debian-devel-" "announce: <ulink url=\"&howto-copyright;\"/>." msgstr "" "Bitte befolgen Sie das »HOWTO«, das von den FTP-Masters zur Verfügung " "gestellt wird und an debian-devel-announce geschickt wurde: <ulink url=" "\"&howto-copyright;\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>changelog</filename>" msgstr "<filename>changelog</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This is a required file, which has a special format described in <ulink url=" "\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</" "ulink>. This format is used by <command>dpkg</command> and other programs " "to obtain the version number, revision, distribution, and urgency of your " "package." msgstr "" "Dies ist eine zwingend vorgeschriebene Datei, deren Format in den <ulink url=" "\"&policy-dpkgchangelog;\">Debian Policy Manual, Kapitel 4.4 »debian/" "changelog«</ulink> beschrieben wird. Dieses Format benötigen <command>dpkg</" "command> und andere Programme um die Versionsnummer, Revision, Distribution " "und die Dringlichkeit Ihres Pakets zu bestimmen." #. type: Content of: <book><chapter><section><para> msgid "" "For you, it is also important, since it is good to have documented all " "changes you have done. It will help people downloading your package to see " "whether there are issues with the package that they should know about. It " "will be saved as <filename>/usr/share/doc/gentoo/changelog.Debian.gz</" "filename> in the binary package." msgstr "" "Für Sie ist die Datei ebenfalls wichtig, weil es sinnvoll ist, alle von " "Ihnen vorgenommenen Änderungen zu dokumentieren. Damit können Leute, die Ihr " "Paket herunterladen, einfacher herausfinden, ob es Probleme mit dem Paket " "gibt, die sie kennen sollten. Diese Datei wird im Binärpaket als <filename>/" "usr/share/doc/gentoo/changelog.Debian.gz</filename> gespeichert." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one, and this is what it looks " "like:" msgstr "" "<command>dh_make</command> hat eine Standardvorlage erstellt, die so " "aussieht:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" msgstr "" "1 gentoo (0.9.12-1) unstable; urgency=low\n" "2\n" "3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> ist die Fehlernummer Ihres ITP>\n" "4\n" "5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "6\n" #. type: Content of: <book><chapter><section><para> msgid "" "Line 1 is the package name, version, distribution, and urgency. The name " "must match the source package name; distribution should be " "<literal>unstable</literal>, and urgency shouldn't be changed to anything " "higher than <literal>low</literal>. :-)" msgstr "" "In der Zeile 1 stehen der Paketname, die Version, die Distribution und die " "Dringlichkeit. Der Name muss mit dem Namen des Quellpakets übereinstimmen, " "die Distribution sollte <literal>unstable</literal> sein und die " "Dringlichkeit sollte nicht auf etwas höheres als <literal>low</literal> " "geändert werden. :-)" #. type: Content of: <book><chapter><section><para> msgid "" "Lines 3-5 are a log entry, where you document changes made in this package " "revision (not the upstream changes - there is a special file for that " "purpose, created by the upstream authors, which you will later install as " "<filename>/usr/share/doc/gentoo/changelog.gz</filename>). Let's assume your " "ITP (Intent To Package) bug report number was <literal>12345</literal>. New " "lines must be inserted just below the uppermost line that begins with " "<literal>*</literal> (asterisk). You can do it with <citerefentry> " "<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " "or manually with a text editor." msgstr "" "Zeilen 3-5 sind ein Protokolleintrag, in denen Sie die in dieser " "Paketrevision gemachten Änderungen dokumentieren können (hier kommen keine " "Änderungen des Originalautors hinein; für diese Zwecke gibt es eine " "spezielle Datei, die von den Originalautoren erstellt wurde und die Sie " "später als <filename>/usr/share/doc/gentoo/changelog.gz</filename> " "installieren werden). Wir nehmen an, dass die Nummer Ihres ITP-" "Fehlerberichts (»Intent To Package«; Absicht, ein Paket zu erstellen) " "»<literal>12345</literal>« lautet. Neue Zeilen werden direkt unter der " "obersten Zeile, die mit einem Stern (»<literal>*</literal>«) beginnt, " "eingefügt. Sie können das mit <citerefentry> <refentrytitle>dch</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> oder per Hand mit " "einem Texteditor erledigen." #. type: Content of: <book><chapter><section><para> msgid "" "In order to prevent a package being accidentally uploaded before completing " "the package, it is good idea to change the distribution value to an invalid " "distribution value <literal>UNRELEASED</literal>." msgstr "" "Um zu verhindern, dass ein Paket versehentlich hochgeladen wird, bevor es " "fertig ist, empfiehlt es sich, den Distributionswert auf den ungültigen " "Ausdruck <literal>UNRELEASED</literal> zu setzen." #. type: Content of: <book><chapter><section><para> msgid "You will end up with something like this:" msgstr "Schließlich kommen Sie zu einer Datei wie dieser hier:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" msgstr "" "1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" "2\n" "3 * Initial Release. Closes: #12345\n" "4 * This is my first Debian package.\n" "5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" "6\n" "7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" "8\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "If you use the <literal>dch -r</literal> command to make this last change, " "please make sure to save the <filename>changelog</filename> file explicitly " "by the editor." msgstr "" "Falls Sie den Befehl <literal>dch -r</literal> zur Durchführung dieser " "letzten Änderung verwenden, stellen Sie sicher, dass Sie die Datei " "<filename>changelog</filename> explizit im Editor speichern." #. type: Content of: <book><chapter><section><para> msgid "" "Once you are satisfied with all the changes and documented them in " "<filename>changelog</filename>, you should change the distribution value " "from <literal>UNRELEASED</literal> to the target distribution value " "<literal>unstable</literal> (or even <literal>experimental</literal>). " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Sobald Sie mit allen Änderungen zufrieden und sie im <filename>changelog</" "filename> dokumentiert haben, sollten Sie den Wert der Distribution von " "<literal>UNRELEASED</literal> auf den Ziel-Distributionswert " "<literal>unstable</literal> (oder sogar <literal>experimental</literal>) " "ändern. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can read more about updating the <filename>changelog</filename> file " "later in <xref linkend=\"update\"/>." msgstr "" "Sie können später mehr über Aktualisierungen der Datei <filename>changelog</" "filename> in <xref linkend=\"update\"/> lesen." #. type: Content of: <book><chapter><section><title> msgid "<filename>rules</filename>" msgstr "<filename>rules</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Now we need to take a look at the exact rules which <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> will use to actually create the package. This file is in fact " "another <filename>Makefile</filename>, but different from the one(s) in the " "upstream source. Unlike other files in <filename>debian</filename>, this " "one is marked as executable." msgstr "" "Wir werfen nun einen Blick auf die genauen Regeln, die <citerefentry> " "<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> verwenden wird, um das Paket zu bauen. Diese Datei ist in " "Wirklichkeit ein weiteres <filename>Makefile</filename>, aber anders als die " "von den Originalautoren mitgelieferten. Im Unterschied zu den anderen " "Dateien im Verzeichnis <filename>debian</filename> ist diese Datei als " "ausführbar gekennzeichnet." #. type: Content of: <book><chapter><section><section><title> msgid "Targets of the <filename>rules</filename> file" msgstr "Ziele der Datei <filename>rules</filename>" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can start learning how to write <filename>Makefile</filename> from " "<ulink url=\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. The " "full documentation is available as <ulink url=\"&gnu-make;\"></ulink> or as " "the <systemitem role=\"package\">make-doc</systemitem> package in the " "<literal>non-free</literal> archive area." msgstr "" "Sie können das Schreiben von <filename>Makefile</filename>s von <ulink url=" "\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink> anfangen zu " "lernen. Die komplette Dokumentation ist als <ulink url=\"&gnu-make;\"></" "ulink> oder als das Paket <systemitem role=\"package\">make-doc</systemitem> " "im Archivbereich <literal>non-free</literal> verfügbar." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " "building script: debian/rules\"</ulink> explains the details." msgstr "" "<ulink url=\"&policy-debianrules;\">Debian Policy Manual, Kapitel 4.9 »Main " "building script: debian/rules«</ulink> erklärt die Details." # FIXME: s/specify/after wich ... is specified/ #. type: Content of: <book><chapter><section><section><para> msgid "" "Every <filename>rules</filename> file, like any other <filename>Makefile</" "filename>, consists of several rules, each of which defines a target and how " "it is carried out. <placeholder type=\"footnote\" id=\"0\"/> A new rule " "begins with its target declaration in the first column. The following lines " "beginning with the TAB code (ASCII 9) specify the recipe for carrying out " "that target. Empty lines and lines beginning with <literal>#</literal> " "(hash) are treated as comments and ignored. <placeholder type=\"footnote\" " "id=\"1\"/>" msgstr "" "Jede <filename>rules</filename>-Datei, wie jedes andere <filename>Makefile</" "filename>, besteht aus mehreren Regeln, von der jede ein Ziel und eine " "Ausführung definiert.<placeholder type=\"footnote\" id=\"0\"/> Eine neue " "Regel beginnt mit der Ziel-Deklaration in der ersten Spalte. Die folgenden " "Zeilen beginnen mit einem Tabulator (ASCII 9), nach dem das Rezept zur " "Durchführung des Ziels angegeben wird. Leere Zeilen und Zeilen, die mit " "einem <literal>#</literal> (Hash) anfangen, werden als Kommentare behandelt " "und ignoriert. <placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><para> msgid "" "A rule that you want to execute is invoked by its target name as a command " "line argument. For example, <literal>debian/rules <replaceable>build</" "replaceable></literal> and <literal>fakeroot make -f debian/rules " "<replaceable>binary</replaceable></literal> execute rules for " "<literal><replaceable>build</replaceable></literal> and " "<literal><replaceable>binary</replaceable></literal> targets respectively." msgstr "" "Eine Regel, die Sie ausführen möchten, wird durch ihren Zielnamen als " "Befehlszeilenargument aufgerufen. Beispielsweise führen <literal>debian/" "rules <replaceable>build</replaceable></literal> und <literal>fakeroot make -" "f debian/rules <replaceable>binary</replaceable></literal> die Regeln für " "die Ziele <literal><replaceable>build</replaceable></literal> respektive " "<literal><replaceable>binary</replaceable></literal> aus." #. type: Content of: <book><chapter><section><section><para> msgid "Here is a simplified explanation of the targets:" msgstr "Es folgt eine vereinfachte Erklärungen der Ziele:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>clean</literal> target: to clean all compiled, generated, and " "useless files in the build-tree. (Required)" msgstr "" "<literal>clean</literal>-Ziel: Löschen aller kompilierten, erzeugten und " "nicht benötigten Dateien im Bauverzeichnis (erforderlich)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build</literal> target: to build the source into compiled programs " "and formatted documents in the build-tree. (Required)" msgstr "" "<literal>build</literal>-Ziel: Bauen der Quellen zu kompilierten Programmen " "und formatierten Dokumenten im Bauverzeichnis (erforderlich)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-arch</literal> target: to build the source into arch-" "dependent compiled programs in the build-tree. (Required)" msgstr "" "<literal>build-arch</literal>-Ziel: Bauen der Quellen zu kompilierten " "architekturabhängigen Programmen im Bauverzeichnis (erforderlich)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>build-indep</literal> target: to build the source into arch-" "independent formatted documents in the build-tree. (Required)" msgstr "" "<literal>build-indep</literal>-Ziel: Bauen der Quellen " "inarchitekturunabhängige formatierten Dokumente im Bauverzeichnis " "(erforderlich)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>install</literal> target: to install files into a file tree for " "each binary package under the <filename>debian</filename> directory. If " "defined, <literal>binary*</literal> targets effectively depend on this " "target. (Optional)" msgstr "" "<literal>install</literal>-Ziel: Installieren der Dateien in einen " "Verzeichnisbaum unterhalb des Verzeichnisses <filename>debian</filename> für " "jedes Binärpaket. Falls sie festgelegt wurden, hängen <literal>binary*</" "literal>-Ziele effektiv von diesem Ziel ab (optional)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage</literal> as in <xref " "linkend=\"completebuild\"/>." msgstr "" "Dieses Ziel wird von »<literal>dpkg-buildpackage</literal>« wie in <xref " "linkend=\"completebuild\"/> beschrieben benutzt" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary</literal> target: to create all binary packages (effectively " "a combination of <literal>binary-arch</literal> and <literal>binary-indep</" "literal> targets). (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary</literal>-Ziel: Erstellen aller Binärpakete (effektiv ist " "dies die Kombination der <literal>binary-arch</literal>- und <literal>binary-" "indep</literal>-Ziele) (erforderlich) <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "This target is used by <literal>dpkg-buildpackage -B</literal> as in <xref " "linkend=\"autobuilder\"/>." msgstr "" "Dieses Ziel wird von »<literal>dpkg-buildpackage -B</literal>« wie in <xref " "linkend=\"autobuilder\"/> beschrieben benutzt" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-arch</literal> target: to create arch-dependent " "(<literal>Architecture: any</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-arch</literal>-Ziel: Erstellen Architektur-abhängiger " "(<literal>Architecture: any</literal>) Binärpakete im übergeordneten " "Verzeichnis (erforderlich) <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "This target is used by <literal>dpkg-buildpackage -A</literal>." msgstr "Dieses Ziel wird von »<literal>dpkg-buildpackage -A</literal>« benutzt" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>binary-indep</literal> target: to create arch-independent " "(<literal>Architecture: all</literal>) binary packages in the parent " "directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<literal>binary-indep</literal>-Ziel: Erstellen Architektur-unabhängiger " "(<literal>Architecture: all</literal>) Binärpakete im übergeordneten " "Verzeichnis (erforderlich) <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>get-orig-source</literal> target: to obtain the most recent version " "of the original source package from an upstream archive. (Optional)" msgstr "" "<literal>get-orig-source</literal>-Ziel: Herunterladen der neuesten Version " "des Quellpakets von dem Archiv der Originalautoren (optional)" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably overwhelmed by now, but things are much simpler upon " "examination of the <filename>rules</filename> file that <command>dh_make</" "command> gives us as a default." msgstr "" "Sie sind jetzt wahrscheinlich überwältigt, aber nach der genaueren " "Betrachtung der Datei <filename>rules</filename>, die uns <command>dh_make</" "command> als Vorgabe erstellt hat, wird alles viel einfacher werden." #. type: Content of: <book><chapter><section><section><title> msgid "Default <filename>rules</filename> file" msgstr "Die vorgegebene Datei <filename>rules</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Newer <command>dh_make</command> generates a very simple but powerful " "default <filename>rules</filename> file using the <command>dh</command> " "command:" msgstr "" "Neuere Versionen von <command>dh_make</command> erzeugen als Vorgabe eine " "sehr einfache, doch mächtige Datei <filename>rules</filename>, indem sie den " "Befehl <command>dh</command> verwenden:" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" msgstr "" " 1 #!/usr/bin/make -f\n" " 2 # -*- makefile -*-\n" " 3 # Sample debian/rules that uses debhelper.\n" " 4 # This file was originally written by Joey Hess and Craig Small.\n" " 5 # As a special exception, when this file is copied by dh-make into a\n" " 6 # dh-make output file, you may use that output file without restriction.\n" " 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n" " 8\n" " 9 # Uncomment this to turn on verbose mode.\n" "10 #export DH_VERBOSE=1\n" "11\n" "12 %:\n" "13 dh $@\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "(I've added the line numbers. In the actual <filename>rules</filename> " "file, the leading spaces are a TAB code.)" msgstr "" "(Die Zeilennummerierung habe ich hinzugefügt. In der richtigen " "<filename>rules</filename>-Datei sind die führenden Leerzeichen Tabulatoren.)" #. type: Content of: <book><chapter><section><section><para> msgid "" "You are probably familiar with lines like line 1 from shell and Perl " "scripts. It tells the operating system that this file is to be processed " "with <filename>/usr/bin/make</filename>." msgstr "" "Sie sind wahrscheinlich mit ähnlichen Zeilen wie der Zeile 1 aus Shell- oder " "Perl-Skripten vertraut. Sie teilt dem Betriebssystem mit, dass das Skript " "mit <filename>/usr/bin/make</filename> verarbeitet werden soll." #. type: Content of: <book><chapter><section><section><para> msgid "" "Line 10 can be uncommented to set the <literal>DH_VERBOSE</literal> variable " "to 1, so that the <command>dh</command> command outputs which <command>dh_*</" "command> commands it is executing. You can also add a line <literal>export " "DH_OPTIONS=-v</literal> here, so that each <command>dh_*</command> command " "outputs which commands it is executing. This helps you to understand " "exactly what is going on behind this simple <filename>rules</filename> file " "and to debug its problems. This new <command>dh</command> is designed to " "form a core part of the <systemitem role=\"package\">debhelper</systemitem> " "tools, and not to hide anything from you." msgstr "" "In Zeile 10 kann der Kommentar entfernt werden, damit die Variable " "<literal>DH_VERBOSE</literal> auf 1 gesetzt wird. Dann gibt der Befehl " "<command>dh</command> aus, welche <command>dh_*</command>-Befehle er " "ausführt. Sie können hier auch eine Zeile »<literal>export DH_OPTIONS=-v</" "literal>« hinzufügen. Dann gibt jeder <command>dh_*</command>-Befehl aus, " "welche Befehle von jedem <command>dh_*</command>-Befehl ausgeführt werden. " "Das hilft Ihnen dabei, zu verstehen, was genau hinter den Kulissen dieser " "einfachen <filename>rules</filename>-Datei passiert. So können Sie Probleme " "besser finden. Das neue <command>dh</command> ist als ein zentraler " "Bestandteil der <systemitem role=\"package\">debhelper</systemitem>-" "Werkzeuge entwickelt worden und versteckt nichts vor Ihnen." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "This uses the new <systemitem role=\"package\">debhelper</systemitem> v7+ " "features. Its design concepts are explained in <ulink url=\"&debhelper-" "slides;\">Not Your Grandpa's Debhelper</ulink> presented at DebConf9 by the " "<systemitem role=\"package\">debhelper</systemitem> upstream. Under " "<literal>lenny</literal>, <command>dh_make</command> created a much more " "complicated <filename>rules</filename> file with explicit rules and many " "<command>dh_*</command> scripts listed for each one, most of which are now " "unnecessary (and show the package's age). The new <command>dh</command> " "command is simpler and frees us from doing the routine work \"manually\". " "You still have full power to customize the process with " "<literal>override_dh_*</literal> targets. See <xref linkend=\"customrules\"/" ">. It is based only on the <systemitem role=\"package\">debhelper</" "systemitem> package and does not obfuscate the package building process as " "the <systemitem role=\"package\">cdbs</systemitem> package tends to." msgstr "" "Dies verwendet die neuen Möglichkeiten von <systemitem role=\"package" "\">debhelper</systemitem> v7+. Dessen Designkonzepte werden in <ulink url=" "\"&debhelper-slides;\">»Not Your Grandpa's Debhelper«</ulink> erklärt, das " "auf der DebConf9 vom <systemitem role=\"package\">debhelper</systemitem>-" "Betreuer präsentiert wurde. Unter <literal>lenny</literal> erzeugte " "<command>dh_make</command> eine wesentlich kompliziertere Datei " "<filename>rules</filename> mit expliziten Regeln und vielen <command>dh_*</" "command>-Skripten, die für jedes aufgeführt wurden, wobei die meisten jetzt " "unnötig sind (und das Alter des Pakets zeigen). Der neue <command>dh</" "command>-Befehl ist einfacher und befreit uns von der »manuellen« " "Durchführung dieser Routinearbeit. Sie haben mit den <literal>override_dh_*</" "literal>-Zielen weiterhin die vollständige Kontrolle über diesen Prozess mit " "den Zielen <literal>override_dh_*</literal>. Siehe <xref linkend=" "\"customrules\"/>. Es basiert lediglich auf dem Paket <systemitem role=" "\"package\">debhelper</systemitem> und verschleiert den Prozess des " "Paketbaus nicht, wie dies beim Paket <systemitem role=\"package\">cdbs</" "systemitem> sein kann." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "You can verify the actual sequences of <command>dh_*</command> programs " "invoked for a given <literal><replaceable>target</replaceable></literal> " "without really running them by invoking <literal>dh --no-act " "<replaceable>target</replaceable></literal> or <literal>debian/rules -- '--" "no-act <replaceable>target</replaceable>'</literal>." msgstr "" "Sie können überprüfen, welche Sequenzen von <command>dh_*</command>-" "Programmen für ein bestimmtes <literal><replaceable>Ziel</replaceable></" "literal> tatsächlich aufgerufen werden, indem Sie »<literal>dh --no-act " "<replaceable>Ziel</replaceable></literal>« oder »<literal>debian/rules -- '--" "no-act <replaceable>Ziel</replaceable>'</literal>« ausführen. Dadurch werden " "die Sequenzen nicht ausgeführt." #. type: Content of: <book><chapter><section><section><para> msgid "" "Lines 12 and 13 are where all the work is done with an implicit rule using " "the pattern rule. The percent sign means \"any targets\", which then call a " "single program, <command>dh</command>, with the target name. <placeholder " "type=\"footnote\" id=\"0\"/> The <command>dh</command> command is a wrapper " "script which runs appropriate sequences of <command>dh_*</command> programs " "depending on its argument. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "In den Zeilen 12 und 13 wird die gesamte Arbeit mit einer impliziten Regel, " "die die Muster-Regel verwendet, erledigt. Das Prozentzeichen steht für ein " "»beliebiges Ziel«, das dann lediglich ein Programm aufruft, nämlich " "<command>dh</command> mit dem Namen des Ziels. <placeholder type=\"footnote" "\" id=\"0\"/> Der Befehl <command>dh</command> ist ein Skript, das abhängig " "vom übergebenen Argument die entsprechenden Sequenzen von <command>dh_*</" "command>-Programmen ausführt. <placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules clean</literal> runs <literal>dh clean</literal>, " "which in turn runs the following:" msgstr "" "»<literal>debian/rules clean</literal>« ruft »<literal>dh clean</literal>« " "auf, das wiederum das Folgende ausführt:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" msgstr "" "dh_testdir\n" "dh_auto_clean\n" "dh_clean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>debian/rules build</literal> runs <literal>dh build</literal>; " "which in turn runs the following:" msgstr "" "»<literal>debian/rules build</literal>« ruft »<literal>dh build</literal>« " "auf, das wiederum das Folgende ausführt:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" msgstr "" "dh_testdir\n" "dh_auto_configure\n" "dh_auto_build\n" "dh_auto_test\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "The following example assumes your <filename>debian/compat</filename> has a " "value equal or more than 9 to avoid invoking any python support commands " "automatically." msgstr "" "Im folgenden Beispiel wird angenommen, dass <filename>debian/compat</" "filename> einen Wert gleich oder größer als 9 hat, um die Python-" "Unterstützungsbefehle automatisch aufzurufen." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " "binary</literal>; which in turn runs the following<placeholder type=" "\"footnote\" id=\"0\"/>:" msgstr "" "»<literal>fakeroot debian/rules binary</literal>« ruft »<literal>fakeroot dh " "binary</literal>« auf, das wiederum das Folgende ausführt <placeholder type=" "\"footnote\" id=\"0\"/>:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" msgstr "" "dh_testroot\n" "dh_prep\n" "dh_installdirs\n" "dh_auto_install\n" "dh_install\n" "dh_installdocs\n" "dh_installchangelogs\n" "dh_installexamples\n" "dh_installman\n" "dh_installcatalogs\n" "dh_installcron\n" "dh_installdebconf\n" "dh_installemacsen\n" "dh_installifupdown\n" "dh_installinfo\n" "dh_installinit\n" "dh_installmenu\n" "dh_installmime\n" "dh_installmodules\n" "dh_installlogcheck\n" "dh_installlogrotate\n" "dh_installpam\n" "dh_installppp\n" "dh_installudev\n" "dh_installwm\n" "dh_installxfonts\n" "dh_bugfiles\n" "dh_lintian\n" "dh_gconf\n" "dh_icons\n" "dh_perl\n" "dh_usrlocal\n" "dh_link\n" "dh_compress\n" "dh_fixperms\n" "dh_strip\n" "dh_makeshlibs\n" "dh_shlibdeps\n" "dh_installdeb\n" "dh_gencontrol\n" "dh_md5sums\n" "dh_builddeb\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-arch</literal> runs <literal>fakeroot " "dh binary-arch</literal>; which in turn runs the same sequence as " "<literal>fakeroot dh binary</literal> but with the <literal>-a</literal> " "option appended for each command." msgstr "" "»<literal>fakeroot debian/rules binary-arch</literal>« ruft " "»<literal>fakeroot dh binary-arch</literal>« auf, das wiederum dieselbe " "Sequenz ausführt wie »<literal>fakeroot dh binary</literal>«, allerdings " "wird an jeden Befehl die Option »<literal>-a</literal>« angehängt." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<literal>fakeroot debian/rules binary-indep</literal> runs <literal>fakeroot " "dh binary-indep</literal>; which in turn runs almost the same sequence as " "<literal>fakeroot dh binary</literal> but excluding <command>dh_strip</" "command>, <command>dh_makeshlibs</command>, and <command>dh_shlibdeps</" "command> with the <literal>-i</literal> option appended for each remaining " "command." msgstr "" "»<literal>fakeroot debian/rules binary-indep</literal>« ruft " "»<literal>fakeroot dh binary-indep</literal>« auf, das wiederum fast " "dieselbe Sequenz ausführt wie »<literal>fakeroot dh binary</literal>«, " "allerdings wird an jeden Befehl die Option »<literal>-i</literal>« angehängt " "und die Befehle <command>dh_strip</command>, <command>dh_makeshlibs</" "command> und <command>dh_shlibdeps</command> weggelassen." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "For complete information on what all these <command>dh_*</command> scripts " "do exactly, and what their other options are, please read their respective " "manual pages and the <systemitem role=\"package\">debhelper</systemitem> " "documentation." msgstr "" "Für die komplette Information darüber, was die ganzen <command>dh_*</" "command>-Skripte genau durchführen und wie ihre Optionen lauten, lesen Sie " "bitte deren Handbuchseiten und die Dokumentation von <systemitem role=" "\"package\">debhelper</systemitem>." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "These commands support other build environments such as <filename>setup.py</" "filename> which can be listed by executing <literal>dh_auto_build --list</" "literal> in a package source directory." msgstr "" "Diese Befehle unterstützen andere Bauumgebungen wie <filename>setup.py</" "filename>, die durch Ausführen von <literal>dh_auto_build --list</literal> " "in einem Paketbauverzeichnis aufgelistet werden können." #. type: Content of: <book><chapter><section><section><para> msgid "" "The functions of <command>dh_*</command> commands are largely self-evident " "from their names. <placeholder type=\"footnote\" id=\"0\"/> There are a few " "notable ones that are worth giving (over)simplified explanations here " "assuming a typical build environment based on a <filename>Makefile</" "filename>. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "Die Funktion der Befehle <command>dh_*</command> sind größtenteils aus ihren " "Namen selbsterklärend. <placeholder type=\"footnote\" id=\"0\"/> Es gibt " "einige bemerkenswerte, für die es Sinn ergibt, hier unter der Annahme einer " "typischen Bauumgebung, basierend auf einem <filename>Makefile</filename>, " "eine stark vereinfachte Erläuterung bereitzustellen. <placeholder type=" "\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>distclean</literal>, <literal>realclean</literal>, " "or <literal>clean</literal>, and executes that." msgstr "" "Tatsächlich wird nach dem ersten verfügbaren Ziel aus der Liste " "<literal>distclean</literal>, <literal>realclean</literal> oder " "<literal>clean</literal> in dem <filename>Makefile</filename> gesucht und " "dieses ausgeführt." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_clean</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>distclean</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_clean</command> führt normalerweise das Folgende aus, wenn " "ein <filename>Makefile</filename> existiert und das Ziel <literal>distclean</" "literal> enthält. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make distclean\n" msgstr "make distclean\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_configure</command> usually executes the following if " "<filename>./configure</filename> exists (arguments abbreviated for " "readability)." msgstr "" "<command>dh_auto_configure</command> führt normalerweise das Folgende aus, " "wenn die Datei <filename>configure</filename> existiert (Argumente zur " "besseren Lesbarkeit abgekürzt)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" msgstr "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_build</command> usually executes the following to execute " "the first target of <filename>Makefile</filename> if it exists." msgstr "" "<command>dh_auto_build</command> führt normalerweise das Folgende aus, um " "das erste Ziel des <filename>Makefile</filename>s auszuführen, falls dieses " "existiert." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make\n" msgstr "make\n" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "It actually looks for the first available target in the <filename>Makefile</" "filename> out of <literal>test</literal> or <literal>check</literal>, and " "executes that." msgstr "" "Tatsächlich wird nach dem ersten verfügbaren Ziel aus der Liste " "<literal>test</literal> oder <literal>check</literal> in dem " "<filename>Makefile</filename> gesucht und dieses ausgeführt." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_test</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>test</literal> " "target. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<command>dh_auto_test</command> führt normalerweise das Folgende aus, falls " "ein <filename>Makefile</filename> mit dem Ziel <literal>test</literal> " "existiert. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "make test\n" msgstr "make test\n" # FIXME: folded ??? #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "<command>dh_auto_install</command> usually executes the following if a " "<filename>Makefile</filename> exists with the <literal>install</literal> " "target (line folded for readability)." msgstr "" "<command>dh_auto_install</command> führt normalerweise das Folgende aus, " "falls ein <filename>Makefile</filename> mit dem Ziel <literal>install</" "literal> existiert (Zeile zur besseren Lesbarkeit umgebrochen)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "make install \\\n" " DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" msgstr "" "make install \\\n" " DESTDIR=<replaceable>/Pfad/zum</replaceable>/<replaceable>Paket</replaceable>_<replaceable>Version</replaceable>-<replaceable>Revision</replaceable>/debian/<replaceable>Paket</replaceable>\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "All targets which require the <command>fakeroot</command> command will " "contain <command>dh_testroot</command>, which exits with an error if you are " "not using this command to pretend to be root." msgstr "" "Alle Ziele, die den Befehl <command>fakeroot</command> erfordern, werden " "<command>dh_testroot</command> enthalten. Falls Sie nicht diesen Befehl " "benutzen, um vorzugeben, »root« zu sein, wird er mit einer Fehlermeldung " "beendet." #. type: Content of: <book><chapter><section><section><para> msgid "" "The important part to know about the <filename>rules</filename> file created " "by <command>dh_make</command> is that it is just a suggestion. It will work " "for most packages but for more complicated ones, don't be afraid to " "customize it to fit your needs." msgstr "" "Das Wichtigste, was Sie über die Datei <filename>rules</filename> wissen " "müssen, die von <command>dh_make</command> erzeugt wurde, ist, dass sie " "lediglich ein Vorschlag ist. Sie funktioniert für die meisten Pakete, aber " "für etwas kompliziertere Pakete sollten Sie sich nicht scheuen, sie für Ihre " "Zwecke anzupassen." #. type: Content of: <book><chapter><section><section><para> msgid "" "Although <literal>install</literal> is not a required target, it is " "supported. <literal>fakeroot dh install</literal> behaves like " "<literal>fakeroot dh binary</literal> but stops after <command>dh_fixperms</" "command>." msgstr "" "Obwohl »<literal>install</literal>« kein erforderliches Ziel ist, wird es " "unterstützt. »<literal>fakeroot dh install</literal>« verhält sich wie " "»<literal>fakeroot dh binary</literal>«, stoppt aber nach " "<command>dh_fixperms</command>." #. type: Content of: <book><chapter><section><section><title> msgid "Customization of <filename>rules</filename> file" msgstr "Anpassungen der Datei <filename>rules</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "There are many ways to customize the <filename>rules</filename> file created " "with the new <command>dh</command> command." msgstr "" "Es gibt viele Arten, die <filename>rules</filename>-Datei anzupassen, die " "den neuen Befehl <command>dh</command> verwendet." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " "should activate its customization function by <literal>dh $@ --with " "<replaceable>custom-name</replaceable></literal>." msgstr "" "Falls ein Paket die Datei <filename>/usr/share/perl5/Debian/Debhelper/" "Sequence/<replaceable>Eigener_Name</replaceable>.pm</filename> installiert, " "können Sie dessen angepasste Funktion mittels »<literal>dh $@ --with " "<replaceable>Eigener-Name</replaceable></literal>« aktivieren." #. type: Content of: <book><chapter><section><section><para> msgid "" "The <literal>dh $@</literal> command can be customized as follows. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Der Befehl »<literal>dh $@</literal>« kann wie folgt angepasst werden. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> msgid "" "Use of the <command>dh_python2</command> command is preferred over use of " "<command>dh_pysupport</command> or <command>dh_pycentral</command> " "commands. Do not use the <command>dh_python</command> command." msgstr "" "Die Benutzung des Befehls <command>dh_python2</command> wird gegenüber den " "Befehlen <command>dh_pysupport</command> oder <command>dh_pycentral</" "command> bevorzugt. Verwenden Sie nicht den Befehl <command>dh_python</" "command>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_python2</command> command. (The best choice " "for Python.) <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Unterstützung des Befehls <command>dh_python2</command> hinzufügen (Die " "beste Wahl für Python). <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Aufnahme des Pakets <systemitem role=\"package\">python</systemitem> in " "»<literal>Build-Depends</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python2</literal>." msgstr "Verwenden Sie stattdessen »<literal>dh $@ --with python2</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python</" "systemitem> framework." msgstr "" "Hiermit werden Python-Module mit dem Rahmenwerk <systemitem role=\"package" "\">python</systemitem> bearbeitet." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pysupport</command> command. (deprecated)" msgstr "" "Unterstützung für den Befehl <command>dh_pysupport</command> hinzufügen. " "(veraltet)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-support</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Aufnahme des Pakets <systemitem role=\"package\">python-support</systemitem> " "in »<literal>Build-Depends</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with pysupport</literal>." msgstr "Verwenden Sie »<literal>dh $@ --with pysupport</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "support</systemitem> framework." msgstr "" "Hiermit werden Python-Module mit dem Rahmenwerk <systemitem role=\"package" "\">python-support</systemitem> bearbeitet." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_pycentral</command> command. (deprecated)" msgstr "" "Unterstützung für den Befehl <command>dh_pycentral</command> hinzufügen. " "(veraltet)" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">python-central</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Aufnahme des Pakets <systemitem role=\"package\">python-central</systemitem> " "in »<literal>Build-Depends</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with python-central</literal> instead." msgstr "" "Verwenden Sie stattdessen »<literal>dh $@ --with python-central $@</" "literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This also deactivates the <command>dh_pysupport</command> command." msgstr "" "Hierdurch wird auch der Befehl <command>dh_pysupport</command> deaktiviert." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This handles Python modules using the <systemitem role=\"package\">python-" "central</systemitem> framework." msgstr "" "Hiermit werden Python-Module mit dem Rahmenwerk <systemitem role=\"package" "\">python-central</systemitem> bearbeitet." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_installtex</command> command." msgstr "" "Unterstützung für den Befehl <command>dh_installtex</command> hinzufügen." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">tex-common</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Aufnahme des Pakets <systemitem role=\"package\">tex-common</systemitem> in " "»<literal>Build-Depends</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with tex</literal> instead." msgstr "Verwenden Sie stattdessen »<literal>dh $@ --with tex $@</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This registers Type 1 fonts, hyphenation patterns, and formats with TeX." msgstr "" "Hiermit werden Type-1-Schriften, Muster für Silbentrennung und Formate für " "TeX registriert." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_quilt_patch</command> and " "<command>dh_quilt_unpatch</command> commands." msgstr "" "Unterstützung für die Befehle <command>dh_quilt_patch</command> und " "<command>dh_quilt_unpatch</command> hinzufügen." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">quilt</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Aufnahme des Pakets <systemitem role=\"package\">quilt</systemitem> in " "»<literal>Build-Depends</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with quilt</literal> instead." msgstr "Verwenden Sie stattdessen »<literal>dh $@ --with quilt</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This applies and un-applies patches to the upstream source from files in the " "<filename>debian/patches</filename> directory for a source package in the " "<literal>1.0</literal> format." msgstr "" "Hiermit werden für ein Quellpaket im Format <literal>1.0</literal> aus " "Dateien im Verzeichnis <filename>debian/patches</filename> Patches auf die " "ursprünglichen Quellen angewendet und auch wieder rückgängig gemacht." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This is not needed if you use the new <literal>3.0 (quilt)</literal> source " "package format." msgstr "" "Dies wird nicht benötigt, falls Sie das neue Quellpaketformat <literal>3.0 " "(quilt)</literal> benutzen." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_dkms</command> command." msgstr "Unterstützung für den Befehl <command>dh_dkms</command> hinzufügen." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dkms</systemitem> package in " "<literal>Build-Depends</literal>." msgstr "" "Aufnahme des Pakets <systemitem role=\"package\">dkms</systemitem> in " "»<literal>Build-Depends</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with dkms</literal> instead." msgstr "Verwenden Sie stattdessen »<literal>dh $@ --with dkms $@</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "This correctly handles DKMS usage by kernel module packages." msgstr "" "Hiermit wird die korrekte Verwendung von DKMS durch die Kernelmodul-Pakete " "sichergestellt." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autotools-dev_updateconfig</command> and " "<command>dh_autotools-dev_restoreconfig</command> commands." msgstr "" "Unterstützung für die Befehle <command>dh_autotools-dev_updateconfig</" "command> und <command>dh_autotools-dev_restoreconfig</command> hinzufügen." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">autotools-dev</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Aufnahme des Pakets <systemitem role=\"package\">autotools-dev</systemitem> " "in »<literal>Build-Depends</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autotools-dev</literal> instead." msgstr "" "Verwenden Sie stattdessen »<literal>dh $@ --with autotools-dev</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates and restores <filename>config.sub</filename> and " "<filename>config.guess</filename>." msgstr "" "Hiermit werden die Dateien <filename>config.sub</filename> und " "<filename>config.guess</filename> aktualisiert und wiederhergestellt." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "Add support for the <command>dh_autoreconf</command> and " "<command>dh_autoreconf_clean</command> commands." msgstr "" "Unterstützung für den Befehle <command>dh_autoreconf</command> und " "<command>dh_autoreconf_clean</command> hinzufügen." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Include the <systemitem role=\"package\">dh-autoreconf</systemitem> package " "in <literal>Build-Depends</literal>." msgstr "" "Aufnahme des Pakets <systemitem role=\"package\">dh-autoreconf</systemitem> " "in »<literal>Build-Depends</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with autoreconf</literal> instead." msgstr "" "Verwenden Sie stattdessen »<literal>dh $@ --with autoreconf</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This updates the GNU Build System files and restores them after the build." msgstr "" "Hiermit werden die Dateien des GNU-Bausystems aktualisiert und nach dem Bau " "wiederhergestellt." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>dh_girepository</command> command." msgstr "" "Unterstützung für den Befehl <command>dh_girepository</command> hinzufügen." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">gobject-introspection</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "Aufnahme des Pakets <systemitem role=\"package\">gobject-introspection</" "systemitem> in »<literal>Build-Depends</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with gir</literal> instead." msgstr "Verwenden Sie stattdessen »<literal>dh $@ --with gir</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This computes dependencies for packages shipping GObject introspection data " "and generates the <literal>${gir:Depends}</literal> substitution variable " "for the package dependency." msgstr "" "Das berechnet Abhängigkeiten für Pakete, die GObject-Introspektionsdaten " "ausliefern und erstellt die Ersetzungsvariable <literal>${gir:Depends}</" "literal> für die Paketabhängigkeiten." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "Add support for the <command>bash</command> completion feature." msgstr "" "Unterstützung für die Vervollständigung in der <command>bash</command> " "hinzufügen." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Includes the <systemitem role=\"package\">bash-completion</systemitem> " "package in <literal>Build-Depends</literal>." msgstr "" "Aufnahme des Pakets <systemitem role=\"package\">bash-completion</" "systemitem> in »<literal>Build-Depends</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Use <literal>dh $@ --with bash-completion</literal> instead." msgstr "" "Verwenden Sie stattdessen »<literal>dh $@ --with bash-completion</literal>«." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "This installs <command>bash</command> completions using a configuration file " "at <filename>debian/<replaceable>package</replaceable>.bash-completion</" "filename>." msgstr "" "Hiermit wird die Vervollständigung durch <command>bash</command> unter " "Verwendung einer Konfigurationsdatei in <filename>debian/<replaceable>Paket</" "replaceable>.bash-completion</filename> installiert." #. type: Content of: <book><chapter><section><section><para> msgid "" "Many <command>dh_*</command> commands invoked by the new <command>dh</" "command> command can be customized by the corresponding configuration files " "in the <filename>debian</filename> directory. See <xref linkend=\"dother\"/" "> and the manpage of each command for the customization of such features." msgstr "" "Viele <command>dh_*</command>-Befehle, die vom neuen <command>dh</command>-" "Befehl aufgerufen werden, können durch entsprechende Konfigurationsdateien " "im <filename>debian</filename>-Verzeichnis angepasst werden. Siehe <xref " "linkend=\"dother\"/> sowie die Handbuchseite jedes Befehls für Anpassungen " "dieser Funktionalitäten." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Under <literal>lenny</literal>, if you wanted to change the behavior of a " "<command>dh_*</command> script you found the relevant line in the " "<filename>rules</filename> file and adjusted it." msgstr "" "Falls Sie unter <literal>Lenny</literal> das Verhalten eines <command>dh_*</" "command>-Skripts ändern wollten, mussten Sie die entsprechende Zeile in der " "Datei <filename>rules</filename> aufsuchen und dort anpassen." #. type: Content of: <book><chapter><section><section><para> msgid "" "You may need to run <command>dh_*</command> commands invoked via the new " "<command>dh</command> with added arguments, or to run additional commands " "with them, or to skip them. For such cases, you create an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target with " "its rule in the <filename>rules</filename> file defining an " "<literal>override_dh_<replaceable>foo</replaceable></literal> target for the " "<command>dh_<replaceable>foo</replaceable></command> command you want to " "change. It basically says <emphasis>run me instead</emphasis>. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Es kann nötig sein, über <command>dh</command> aufgerufene <command>dh_*</" "command>-Befehle mit zusätzlichen Argumenten oder zusätzliche Befehle mit " "ihnen auszuführen oder sie ganz auszulassen. In solchen Fällen können Sie " "ein <literal>override_dh_<replaceable>foo</replaceable></literal>-Ziel mit " "der entsprechenden Regel in der Datei <filename>rules</filename> erstellen, " "das ein <literal>override_dh_<replaceable>foo</replaceable></literal>-Ziel " "für den Befehl <command>dh_<replaceable>foo</replaceable></command> " "definiert, den Sie ändern wollen. Im Grunde bedeutet das nur " "»<emphasis>führe stattdessen mich aus</emphasis>«. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Please note that the <command>dh_auto_*</command> commands tend to do more " "than what has been discussed in this (over)simplified explanation to take " "care of all the corner cases. It is a bad idea to use " "<literal>override_dh_*</literal> targets to substitute simplified equivalent " "commands (except for the <literal>override_dh_auto_clean</literal> target) " "since it may bypass such smart <systemitem role=\"package\">debhelper</" "systemitem> features." msgstr "" "Bitte beachten Sie, dass die <command>dh_auto_*</command>-Befehle dazu " "neigen, mehr als die in dieser stark vereinfachten Erklärung dargestellten " "Tätigkeiten zu erledigen, um Randfälle zu berücksichtigen. Es ist keine gute " "Idee, <literal>override_dh_*</literal>-Ziele zu verwenden, um die " "vereinfachten äquivalenten Befehle als Ersatz zu verwenden (außer beim Ziel " "<literal>override_dh_auto_clean</literal>), da damit solche pfiffigen " "<systemitem role=\"package\">debhelper</systemitem>-Funktionalitäten " "umgangen werden." #. type: Content of: <book><chapter><section><section><para> msgid "" "So, for instance, if you want to store system configuration data in the " "<filename>/etc/gentoo</filename> directory instead of the usual <filename>/" "etc</filename> directory for the recent <systemitem role=\"package\">gentoo</" "systemitem> package using Autotools, you can override the default <literal>--" "sysconfig=/etc</literal> argument given by the <command>dh_auto_configure</" "command> command to the <command>./configure</command> command by the " "following." msgstr "" "Falls Sie beispielsweise mittels der Autotools Systemkonfigurationsdaten des " "aktuellen <systemitem role=\"package\">gentoo</systemitem>-Pakets im " "Verzeichnis <filename>/etc/gentoo</filename> statt des normalen " "Verzeichnisses <filename>/etc</filename> speichern wollen, können Sie das " "Vorgabeargument <literal>--sysconfig=/etc</literal> im Befehl " "<command>dh_auto_configure</command> an den Befehl <command>./configure</" "command> durch das Folgende außer Kraft setzten:" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure -- --sysconfig=/etc/gentoo\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "The arguments given after <literal>--</literal> are appended to the default " "arguments of the auto-executed program to override them. Using the " "<command>dh_auto_configure</command> command is better than directly " "invoking the <command>./configure</command> command here since it will only " "override the <literal>--sysconfig</literal> argument and retains any other, " "benign arguments to the <command>./configure</command> command." msgstr "" "Die nach dem <literal>--</literal> übergebenen Argumente werden zu den " "vorgegebenen Argumenten des automatisch ausgeführten Programms hinzugefügt, " "um sie zu überschreiben. Die Benutzung des Befehls " "<command>dh_auto_configure</command> ist besser als der direkte Aufruf von " "<command>./configure</command>, weil in diesem Fall lediglich das Argument " "<literal>--sysconfig</literal> überschrieben wird und andere, sehr wohl " "beabsichtigte, Argumente für den Befehl <command>./configure</command> " "erhalten bleiben." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "<command>dh_auto_build</command> without any arguments will execute the " "first target in the <filename>Makefile</filename>." msgstr "" "<command>dh_auto_build</command> ohne Argumente führt das erste Ziel in dem " "<filename>Makefile</filename> aus." #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify <literal>build</" "literal> as its target to build it <placeholder type=\"footnote\" id=\"0\"/" ">, you create an <literal>override_dh_auto_build</literal> target to enable " "this." msgstr "" "Falls das <filename>Makefile</filename> in den Quellen von <systemitem role=" "\"package\">gentoo</systemitem> zum Bauen explizit das Ziel <literal>build</" "literal> benötigt, <placeholder type=\"footnote\" id=\"0\"/>, können Sie ein " "Ziel namens <literal>override_dh_auto_build</literal> erstellen, um dies zu " "ermöglichen." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" msgstr "" "override_dh_auto_build:\n" " dh_auto_build -- build\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "This ensures <literal>$(MAKE)</literal> is run with all the default " "arguments given by the <command>dh_auto_build</command> command plus the " "<literal>build</literal> argument." msgstr "" "Hiermit wird sichergestellt, dass <literal>$(MAKE)</literal> mit allen " "voreingestellten Argumenten des Befehls <command>dh_auto_build</command> " "plus dem Argument <literal>build</literal> ausgeführt wird." #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> requires you to specify the " "<literal>packageclean</literal> target to clean it for the Debian package " "instead of using <literal>distclean</literal> or <literal>clean</literal> " "targets, you can create an <literal>override_dh_auto_clean</literal> target " "to enable thit." msgstr "" "Falls das <filename>Makefile</filename> in den Quellen von <systemitem role=" "\"package\">gentoo</systemitem> zum Aufräumen für das Debianpaket explizit " "das Ziel <literal>packageclean</literal> benötigt statt der Ziele " "<literal>distclean</literal> oder <literal>clean</literal>, können Sie ein " "Ziel namens <literal>override_dh_auto_clean</literal> erstellen, um dies zu " "nutzen." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" msgstr "" "override_dh_auto_clean:\n" " $(MAKE) packageclean\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "If the <filename>Makefile</filename> in the source for <systemitem role=" "\"package\">gentoo</systemitem> contains a <literal>test</literal> target " "which you do not want to run for the Debian package building process, you " "can use an empty <literal>override_dh_auto_test</literal> target to skip it." msgstr "" "Falls das <filename>Makefile</filename> in den Quellen von <systemitem role=" "\"package\">gentoo</systemitem> das Ziel <literal>test</literal> enthält, " "das Sie im Paketbau-Prozess für Debian nicht ausführen wollen, können Sie " "ein leeres Ziel namens <literal>override_dh_auto_test</literal> erstellen, " "um dies zu übergehen." #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "override_dh_auto_test:\n" msgstr "override_dh_auto_test:\n" #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "The <filename>debian/changelog</filename> and <filename>debian/NEWS</" "filename> files are always automatically installed. The upstream changelog " "is found by converting filenames to lower case and matching them against " "<filename>changelog</filename>, <filename>changes</filename>, " "<filename>changelog.txt</filename>, and <filename>changes.txt</filename>." msgstr "" "Die Dateien <filename>debian/changelog</filename> und <filename>debian/NEWS</" "filename> werden immer automatisch installiert. Das Changelog der " "Originalautoren wird gefunden, indem die Dateinamen in Kleinbuchstaben " "umgewandelt werden und mit <filename>changelog</filename>, " "<filename>changes</filename>, <filename>changelog.txt</filename> und " "<filename>changes.txt</filename> verglichen werden." #. type: Content of: <book><chapter><section><section><para> msgid "" "If <systemitem role=\"package\">gentoo</systemitem> has an unusual upstream " "changelog file called <filename>FIXES</filename>, " "<command>dh_installchangelogs</command> will not install that file by " "default. The <command>dh_installchangelogs</command> command requires " "<filename>FIXES</filename> as its argument to install it. <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Wenn <systemitem role=\"package\">gentoo</systemitem> eine unübliche " "ursprüngliche Changelog-Datei namens <filename>FIXES</filename> enthält, " "wird diese standardmäßig von <command>dh_installchangelogs</command> nicht " "installiert. Der Befehl <command>dh_installchangelogs</command> braucht den " "Namen <filename>FIXES</filename> als Argument, um die Datei zu installieren. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><screen> #, no-wrap msgid "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" msgstr "" "override_dh_installchangelogs:\n" " dh_installchangelogs FIXES\n" #. type: Content of: <book><chapter><section><section><para> msgid "" "When you use the new <command>dh</command> command, use of explicit targets " "such as the ones listed in <xref linkend=\"targets\"/>, other than the " "<literal>get-orig-source</literal> target, may make it difficult to " "understand their exact effects. Please limit explicit targets to " "<literal>override_dh_*</literal> targets and completely independent ones, if " "possible." msgstr "" "Wenn Sie den neuen <command>dh</command>-Befehl benutzen, wird es schwierig, " "die genauen Effekte von expliziten Zielen wie den in <xref linkend=\"targets" "\"/> aufgelisteten zu verstehen. Eine Ausnahme stellt <literal>get-orig-" "source</literal> dar. Bitte beschränken Sie daher - soweit möglich - " "explizite Ziele auf solche mit den Namen <literal>override_dh_*</literal> " "sowie vollständig davon unabhängige." #. type: Content of: <book><chapter><title> msgid "Other files under the <filename>debian</filename> directory" msgstr "Andere Dateien im Verzeichnis <filename>debian</filename>" # FIXME: Link auf Entwicklerreferenz auf Deutsch? #. type: Content of: <book><chapter><para> msgid "" "To control most of what <systemitem role=\"package\">debhelper</systemitem> " "does while building the package, you put optional configuration files under " "the <filename>debian</filename> directory. This chapter will provide an " "overview of what each of these does and its format. Please read the <ulink " "url=\"&debian-policy;\">Debian Policy Manual</ulink> and <ulink url=" "\"&developers-reference;\">Debian Developer's Reference</ulink> for " "guidelines for packaging." msgstr "" "Um kontrollieren zu können, was genau <systemitem role=\"package" "\">debhelper</systemitem> während des Paketbauens durchführt, erstellen Sie " "optionale Konfigurationsdateien im Verzeichnis <filename>debian</filename>. " "In diesem Kapitel finden Sie einen Überblick darüber, wofür die einzelnen " "Dateien benötigt werden und wie ihr jeweiliges Format aussieht. Bitte lesen " "Sie das <ulink url=\"&debian-policy;\">Debian Policy Manual</ulink> und die " "<ulink url=\"&developers-reference;\">Debian-Entwicklerreferenz</ulink> für " "einen Leitfaden zum Paketieren." #. type: Content of: <book><chapter><para> msgid "" "The <command>dh_make</command> command will create some template " "configuration files under the <filename>debian</filename> directory. Most " "of them come with filenames suffixed by <literal>.ex</literal>. Some of " "them come with filenames prefixed by the binary package name such as " "<literal><replaceable>package</replaceable></literal>. Take a look at all " "of them. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Der Befehl <command>dh_make</command> erstellt einige Vorlagen für " "Konfigurationsdateien im Verzeichnis <filename>debian</filename>. Die " "meisten sind mit dem Suffix »<literal>.ex</literal>« versehen. Andere haben " "den Namen des Binärpakets als Präfix wie beispielsweise " "<literal><replaceable>Paket</replaceable></literal>. Schauen Sie sich alle " "an. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><para> msgid "" "Some template configuration files for <systemitem role=\"package" "\">debhelper</systemitem> may not be created by the <command>dh_make</" "command> command. In such cases, you need to create them with an editor." msgstr "" "Der Befehl <command>dh_make</command> erstellt für <systemitem role=\"package" "\">debhelper</systemitem> nicht alle Konfigurationsdateien. Falls Sie diese " "benötigen, müssen Sie sie mit einem Editor erstellen." #. type: Content of: <book><chapter><para> msgid "If you wish or need to activate any of these, please do the following:" msgstr "" "Falls Sie eine dieser Dateien verwenden möchten oder müssen, machen Sie " "bitte folgendes:" #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename template files by removing the <literal>.ex</literal> or <literal>." "EX</literal> suffix if they have one;" msgstr "" "Benennen Sie die Vorlagedateien um, indem Sie das Suffix <literal>.ex</" "literal> oder <literal>.EX</literal> entfernen, falls vorhanden." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "rename the configuration files to use the actual binary package name in " "place of <literal><replaceable>package</replaceable></literal>;" msgstr "" "Benennen Sie die Konfigurationsdateien um, so dass sie den tatsächlichen " "Paketnamen anstatt <literal><replaceable>Paket</replaceable></literal> " "verwenden." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "modify template file contents to suit your needs;" msgstr "Passen Sie die Inhalte der Vorlagedateien Ihren Bedürfnissen an." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "remove template files which you do not need;" msgstr "Löschen Sie Vorlagedateien, die Sie nicht benötigen." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>control</filename> file (see <xref linkend=\"control\"/" ">), if necessary;" msgstr "" "Passen Sie die Datei <filename>control</filename> an, falls notwendig (siehe " "<xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><itemizedlist><listitem><para> msgid "" "modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/>), " "if necessary." msgstr "" "Passen Sie die Datei <filename>rules</filename> an, falls notwendig (siehe " "<xref linkend=\"rules\"/>)." #. type: Content of: <book><chapter><para> msgid "" "Any <systemitem role=\"package\">debhelper</systemitem> configuration files " "without a <filename><replaceable>package</replaceable></filename> prefix, " "such as <filename>install</filename>, apply to the first binary package. " "When there are many binary packages, their configurations can be specified " "by prefixing their name to their configuration filenames such as " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "Alle <systemitem role=\"package\">debhelper</systemitem>-" "Konfigurationsdateien ohne ein <filename><replaceable>Paket</replaceable></" "filename>-Präfix, wie beispielsweise die Datei <filename>install</filename>, " "beziehen sich auf das erste Binärpaket. Wenn es mehrere Binärpakete gibt, " "können die jeweiligen Konfigurationen dadurch zugeordnet werden, dass der " "Name des Pakets als Präfix vor den Namen der Konfigurationsdatei gestellt " "wird. Beispiele sind <filename><replaceable>Paket-1</replaceable>.install</" "filename>, <filename><replaceable>Paket-2</replaceable>.install</filename> " "usw." #. type: Content of: <book><chapter><section><title> msgid "<filename>README.Debian</filename>" msgstr "<filename>README.Debian</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Any extra details or discrepancies between the original package and your " "Debian version should be documented here." msgstr "" "Alle zusätzlichen Details oder Unterschiede zwischen dem ursprünglichen " "Paket und Ihrer Debian-Version sollten hier dokumentiert werden." #. type: Content of: <book><chapter><section><para> msgid "" "<command>dh_make</command> created a default one; this is what it looks like:" msgstr "" "<command>dh_make</command> erstellt eine Standardvorlage, die so aussieht:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" msgstr "" "gentoo for Debian\n" "-----------------\n" "<possible notes regarding this package - if none, delete this file>\n" " -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have nothing to be documented, remove this file. See <citerefentry> " "<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Falls Sie nichts zu dokumentieren haben, löschen Sie diese Datei. Siehe " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<filename>compat</filename>" msgstr "<filename>compat</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>compat</filename> file defines the <systemitem role=\"package" "\">debhelper</systemitem> compatibility level. Currently, you should set it " "to the <systemitem role=\"package\">debhelper</systemitem> v9 as follows:" msgstr "" "Die Datei <filename>compat</filename> legt die <systemitem role=\"package" "\">debhelper</systemitem>-Kompatibilitätsstufe fest. Derzeit sollten Sie " "<systemitem role=\"package\">debhelper</systemitem> V9 verwenden, indem Sie " "folgendes ausführen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ echo 9 > debian/compat\n" msgstr "$ echo 9 > debian/compat\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>conffiles</filename>" msgstr "<filename>conffiles</filename>" # FIXME: D.2.5 außerhalb der Anführungsstriche? #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian " "Policy Manual, \"D.2.5 Conffiles\"</ulink>." msgstr "" "Lesen Sie <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> und das <ulink url=\"&policy-conffiles;\">Debian " "Policy Manual, »D.2.5 Conffiles«</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "One of the most annoying things about software is when you spend a great " "deal of time and effort customizing a program, only to have an upgrade stomp " "all over your changes. Debian solves this problem by marking such " "configuration files as conffiles. <placeholder type=\"footnote\" id=\"0\"/> " "When you upgrade a package, you'll be asked whether you want to keep your " "old configuration files or not." msgstr "" "Eine der ärgerlichsten Sachen bei Software ist es, wenn Sie richtig viel " "Zeit und Mühe in die Konfiguration eines Programms investieren und schon das " "nächste Upgrade alle Ihre Änderungen zunichte macht. Debian löst dieses " "Problem, indem diese Konfigurationsdateien als Conffiles markiert werden. " "<placeholder type=\"footnote\" id=\"0\"/>. Wenn Sie ein Upgrade eines Pakets " "durchführen werden, werden Sie gefragt, ob Sie Ihre alte " "Konfigurationsdateien behalten wollen oder nicht." #. type: Content of: <book><chapter><section><para> msgid "" "<citerefentry><refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> <emphasis>automatically</emphasis> flags any " "files under the <filename>/etc</filename> directory as conffiles, so if your " "program only has conffiles there you do not need to specify them in this " "file. For most package types, the only place conffiles should ever be is " "under <filename>/etc</filename>, and so this file doesn't need to exist." msgstr "" "<citerefentry> <refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> markiert <emphasis>automatisch</emphasis> alle " "Dateien im Verzeichnis <filename>/etc</filename> als »conffiles«. Wenn Ihr " "Programm also nur dort Konfigurationsdateien besitzt, müssen Sie sie nicht " "in dieser Datei auflisten. Bei den meisten Paketarten sollte der einzige " "Ort, an dem sich jemals Conffiles befinden, <filename>/etc</filename> sein " "und daher muss diese Datei nicht existieren." #. type: Content of: <book><chapter><section><para> msgid "" "If your program uses configuration files but also rewrites them on its own, " "it's best not to make them conffiles because <command>dpkg</command> will " "then prompt users to verify the changes all the time." msgstr "" "Falls Ihr Programm Konfigurationsdateien nutzt, diese aber auch selbst " "bearbeitet, ist es das Beste, diese nicht als Conffiles zu kennzeichnen, " "weil sonst <command>dpkg</command> den Benutzer jedes Mal auffordert, " "Änderungen zu bestätigen." #. type: Content of: <book><chapter><section><para> msgid "" "If the program you're packaging requires every user to modify the " "configuration files in the <filename>/etc</filename> directory, there are " "two popular ways to arrange for them to not be conffiles, keeping " "<command>dpkg</command> quiet." msgstr "" "Falls es für das Programm, das Sie paketieren, erforderlich ist, dass jeder " "Benutzer die Konfigurationsdateien im Verzeichnis <filename>/etc</filename> " "anpassen muss, gibt es zwei populäre Arten, es so einzurichten, dass sie " "keine Conffiles sind, um <command>dpkg</command> ruhig zu stellen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a symlink under the <filename>/etc</filename> directory pointing to a " "file under the <filename>/var</filename> directory generated by the " "maintainer scripts." msgstr "" "Erstellen Sie einen symbolischen Link im Verzeichnis <filename>/etc</" "filename>, der auf eine Datei im Verzeichnis <filename>/var</filename> " "zeigt. Dieser kann von den Betreuerskripten erzeugt werden." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a file generated by the maintainer scripts under the <filename>/etc</" "filename> directory." msgstr "" "Erstellen Sie eine Datei, die von den Betreuerskripten im Verzeichnis " "<filename>/etc</filename> erzeugt wird." #. type: Content of: <book><chapter><section><para> msgid "" "For information on maintainer scripts, see <xref linkend=\"maintscripts\"/>." msgstr "" "Für weitere Informationen über die Betreuerskripte lesen Sie <xref linkend=" "\"maintscripts\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.cron.*</filename>" msgstr "<filename><replaceable>Paket</replaceable>.cron.*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package requires regularly scheduled tasks to operate properly, you " "can use these files to set that up. You can set up regular tasks that " "either happen hourly, daily, weekly, or monthly, or alternatively happen at " "any other time that you wish. The filenames are:" msgstr "" "Falls Ihr Paket immer wiederkehrende Aufgaben erledigen muss, um korrekt zu " "arbeiten, können Sie diese Dateien benutzen, um das einzurichten. Sie können " "regelmäßige Aufgaben erstellen, die stündlich, täglich, wöchentlich oder " "monatlich ausgeführt werden. Alternativ kann dies auch zu jedem anderen von " "Ihnen gewünschten Zeitpunkt stattfinden. Die Dateinamen lauten:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.hourly</filename> - " "Installed as <filename>/etc/cron.hourly/<replaceable>package</replaceable></" "filename>; run once an hour." msgstr "" "<filename><replaceable>Paket</replaceable>.cron.hourly</filename> - Wird als " "<filename>/etc/cron.hourly/<replaceable>Paket</replaceable></filename> " "installiert: Ausführung einmal pro Stunde." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.daily</filename> - " "Installed as <filename>/etc/cron.daily/<replaceable>package</replaceable></" "filename>; run once a day." msgstr "" "<filename><replaceable>Paket</replaceable>.cron.daily</filename> - Wird als " "<filename>/etc/cron.daily/<replaceable>Paket</replaceable></filename> " "installiert: Ausführung einmal pro Tag." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.weekly</filename> - " "Installed as <filename>/etc/cron.weekly/<replaceable>package</replaceable></" "filename>; run once a week." msgstr "" "<filename><replaceable>Paket</replaceable>.cron.weekly</filename> - Wird als " "<filename>/etc/cron.weekly/<replaceable>Paket</replaceable></filename> " "installiert: Ausführung einmal pro Woche." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.monthly</filename> - " "Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></" "filename>: run once a month." msgstr "" "<filename><replaceable>Paket</replaceable>.cron.monthly</filename> - Wird " "als <filename>/etc/cron.monthly/<replaceable>Paket</replaceable></filename> " "installiert: Ausführung einmal pro Monat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<filename><replaceable>package</replaceable>.cron.d</filename> - Installed " "as <filename>/etc/cron.d/<replaceable>package</replaceable></filename>: for " "any other time." msgstr "" "<filename><replaceable>Paket</replaceable>.cron.d</filename> - Wird als " "<filename>/etc/cron.d/<replaceable>Paket</replaceable></filename> " "installiert: Ausführung zu anderen Zeiten." #. type: Content of: <book><chapter><section><para> msgid "" "Most of these files are shell scripts, with the exception of " "<filename><replaceable>package</replaceable>.cron.d</filename> which follows " "the format of <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>." msgstr "" "Die meisten dieser Dateien sind Shellskripte. Die einzige Ausnahme stellt " "<filename><replaceable>Paket</replaceable>.cron.d</filename> dar, das im " "Format einer <citerefentry> <refentrytitle>crontab</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> vorliegen muss." #. type: Content of: <book><chapter><section><para> msgid "" "No explicit <filename>cron.*</filename> file is needed to set up log " "rotation; for that, see <citerefentry><refentrytitle>dh_installlogrotate</" "refentrytitle> <manvolnum>1</manvolnum></citerefentry> and " "<citerefentry><refentrytitle>logrotate</refentrytitle><manvolnum>8</" "manvolnum></citerefentry>." msgstr "" "Es wird keine dedizierte <filename>cron.*</filename>-Datei für das Rotieren " "der Protokolldateien benötigt. Dafür lesen Sie bitte " "<citerefentry><refentrytitle>dh_installlogrotate</refentrytitle> " "<manvolnum>1</manvolnum></citerefentry> und " "<citerefentry><refentrytitle>logrotate</refentrytitle> <manvolnum>8</" "manvolnum></citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<filename>dirs</filename>" msgstr "<filename>dirs</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies any directories which we need but which are not created " "by the normal installation procedure (<literal>make install DESTDIR=...</" "literal> invoked by <literal>dh_auto_install</literal>). This generally " "means there is a problem with the <filename>Makefile</filename>." msgstr "" "In dieser Datei werden alle Verzeichnisse festgelegt, die wir brauchen, die " "aber von der normalen Installationsprozedur (»<literal>make install " "DESTDIR=...</literal>«, aufgerufen von »<literal>dh_auto_install</literal>«) " "aus irgendwelchen Gründen nicht erstellt werden. Dies bedeutet fast immer, " "dass es ein Problem mit dem <filename>Makefile</filename> gibt." #. type: Content of: <book><chapter><section><para> msgid "" "Files listed in an <filename>install</filename> file don't need their " "directories created first. See <xref linkend=\"install\"/>." msgstr "" "Für Dateien, die in der Datei <filename>install</filename> aufgelistet sind, " "müssen die Verzeichnisse nicht zuerst erstellt werden. Siehe <xref linkend=" "\"install\"/>." #. type: Content of: <book><chapter><section><para> msgid "" "It is best to try to run the installation first and only use this if you run " "into trouble. There is no preceding slash on the directory names listed in " "the <filename>dirs</filename> file." msgstr "" "Am besten ist es, wenn Sie zunächst die Installation ausprobieren und diesen " "Mechanismus nur dann benutzen, wenn es dabei Probleme gibt. Es gibt keinen " "einleitenden Schrägstrich bei den Verzeichnisnamen, die in der Datei " "<filename>dirs</filename> aufgeführt sind." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.doc-base</filename>" msgstr "<filename><replaceable>Paket</replaceable>.doc-base</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has documentation other than manual and info pages, you " "should use the <systemitem role=\"package\">doc-base</systemitem> file to " "register it, so the user can find it with e.g. <citerefentry> " "<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>, or <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Hat Ihr Programm außer Handbuch- und Info-Seiten noch andere Dokumentation, " "sollten Sie die Datei <systemitem role=\"package\">doc-base</systemitem> " "benutzen, um diese zu registrieren, damit der Benutzer sie mit Programmen " "wie <citerefentry> <refentrytitle>dhelp</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>dwww</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> oder <citerefentry> " "<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> finden kann." #. type: Content of: <book><chapter><section><para> msgid "" "This usually includes HTML, PS and PDF files, shipped in <filename>/usr/" "share/doc/<replaceable>packagename</replaceable>/</filename>." msgstr "" "Das schließt normalerweise HTML-, PS- und PDF-Dateien ein, die sich in " "<filename>/usr/share/doc/<replaceable>Paketname</replaceable>/</filename> " "befinden." #. type: Content of: <book><chapter><section><para> msgid "" "This is what <systemitem role=\"package\">gentoo</systemitem>'s doc-base " "file <filename>gentoo.doc-base</filename> looks like:" msgstr "" "So sieht die doc-base-Datei <filename>gentoo.doc-base</filename> für das " "Paket <systemitem role=\"package\">gentoo</systemitem> aus:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" msgstr "" "Document: gentoo\n" "Title: Gentoo Manual\n" "Author: Emil Brink\n" "Abstract: This manual describes what Gentoo is, and how it can be used.\n" "Section: File Management\n" "Format: HTML\n" "Index: /usr/share/doc/gentoo/html/index.html\n" "Files: /usr/share/doc/gentoo/html/*.html\n" # FIXME Manual → manual #. type: Content of: <book><chapter><section><para> msgid "" "For information on the file format, see <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> and the Debian <systemitem role=\"package\">doc-base</" "systemitem> Manual at the local copy <filename>&doc-base;</filename> " "provided by the <systemitem role=\"package\">doc-base</systemitem> package." msgstr "" "Informationen über das Format dieser Datei finden Sie in <citerefentry> " "<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" "citerefentry> und der Debian-Anleitung von <systemitem role=\"package\">doc-" "base</systemitem> in der lokalen Kopie <filename>&doc-base;</filename>, die " "vom Paket <systemitem role=\"package\">doc-base</systemitem> bereitgestellt " "wird." #. type: Content of: <book><chapter><section><para> msgid "" "For more details on installing additional documentation, look in <xref " "linkend=\"destdir\"/>." msgstr "" "Für weitere Details über das Installieren von zusätzlicher Dokumentation " "sehen Sie bitte in <xref linkend=\"destdir\"/> nach." #. type: Content of: <book><chapter><section><title> msgid "<filename>docs</filename>" msgstr "<filename>docs</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "This file specifies the file names of documentation files we can have " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> install into the temporary directory for us." msgstr "" "Diese Datei enthält die Dateinamen der Dokumentationsdateien, die " "<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> für uns in das temporäre Verzeichnis installiert." #. type: Content of: <book><chapter><section><para> msgid "" "By default, it will include all existing files in the top-level source " "directory that are called <filename>BUGS</filename>, <filename>README*</" "filename>, <filename>TODO</filename> etc." msgstr "" "Standardmäßig schließt das alle Dateien im obersten Verzeichnis des " "Quellcodes ein, die da heißen »<filename>BUGS</filename>«, " "»<filename>README*</filename>«, »<filename>TODO</filename>« usw." #. type: Content of: <book><chapter><section><para> msgid "" "For <systemitem role=\"package\">gentoo</systemitem>, some other files are " "also included:" msgstr "" "Für <systemitem role=\"package\">gentoo</systemitem> werden noch weitere " "Dateien hinzugefügt:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" msgstr "" "BUGS\n" "CONFIG-CHANGES\n" "CREDITS\n" "NEWS\n" "README\n" "README.gtkrc\n" "TODO\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>emacsen-*</filename>" msgstr "<filename>emacsen-*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package supplies Emacs files that can be bytecompiled at package " "installation time, you can use these files to set it up." msgstr "" "Falls Ihr Paket Emacs-Dateien bereitstellt, die während der Installation des " "Pakets kompiliert werden, können Sie diese Dateien dafür nutzen." #. type: Content of: <book><chapter><section><para> msgid "" "They are installed into the temporary directory by <citerefentry> " "<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>." msgstr "" "Sie werden durch <citerefentry> <refentrytitle>dh_installemacsen</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> ins temporäre " "Verzeichnis installiert." #. type: Content of: <book><chapter><section><para> msgid "If you don't need these, remove them." msgstr "Falls Sie dies nicht benötigen, löschen Sie die Dateien." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.examples</filename>" msgstr "<filename><replaceable>Paket</replaceable>.examples</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs files and " "directories listed in this file as example files." msgstr "" "Der Befehl <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> installiert die in dieser Datei " "aufgelisteten Dateien und Verzeichnisse als Beispieldateien." #. type: Content of: <book><chapter><section><title> msgid "" "<filename><replaceable>package</replaceable>.init</filename> and " "<filename><replaceable>package</replaceable>.default</filename>" msgstr "" "<filename><replaceable>Paket</replaceable>.init</filename> und " "<filename><replaceable>Paket</replaceable>.default</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package is a daemon that needs to be run at system start-up, you've " "obviously disregarded my initial recommendation, haven't you? :-)" msgstr "" "Falls Ihr Paket einen Daemon enthält, der beim Hochfahren des Systems " "gestartet werden muss, haben Sie offensichtlich meine anfängliche Empfehlung " "missachtet, stimmt's? :-)" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.init</filename> file is " "installed as the <filename>/etc/init.d/<replaceable>package</replaceable></" "filename> script which starts and stops the daemon. Its fairly generic " "skeleton template is provided by the <command>dh_make</command> command as " "<filename>init.d.ex</filename>. You'll likely have to rename and edit it, a " "lot, while making sure to provide <ulink url=\"&lsb;\">Linux Standard Base</" "ulink> (LSB) compliant headers. It gets installed into the temporary " "directory by <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>." msgstr "" "Die Datei <filename><replaceable>Paket</replaceable>.init</filename> wird " "als Skript <filename>/etc/init.d/<replaceable>Paket</replaceable></filename> " "installiert, das den Daemon startet und beendet. Die Vorlage mit einem sehr " "allgemeinen Grundgerüst wird als <filename>init.d.ex</filename> vom Befehl " "<command>dh_make</command> bereitgestellt. Sie müssen sie umbenennen und " "wahrscheinlich (viel) anpassen. Gleichzeitig müssen Sie darauf achten, dass " "die Kopfzeilen konform zur <ulink url=\"&lsb;\">Linux Standard Base</ulink> " "(LSB) sind. Es wird von <citerefentry> <refentrytitle>dh_installinit</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> in das temporäre " "Verzeichnis installiert." #. type: Content of: <book><chapter><section><para> msgid "" "The <filename><replaceable>package</replaceable>.default</filename> file " "will be installed as <filename>/etc/default/<replaceable>package</" "replaceable></filename>. This file sets defaults that are sourced by the " "init script. This <filename><replaceable>package</replaceable>.default</" "filename> file is most often used to disable running a daemon, or to set " "some default flags or timeouts. If your init script has certain " "configurable features, you can set them in the " "<filename><replaceable>package</replaceable>.default</filename> file, " "instead of in the init script itself." msgstr "" "Die Datei <filename><replaceable>Paket</replaceable>.default</filename> wird " "als <filename>/etc/default/<replaceable>Paket</replaceable></filename> " "installiert. Diese Datei legt Voreinstellungen fest, die vom Init-Skript " "eingelesen werden. Diese Datei <filename><replaceable>package</replaceable>." "default</filename> wird meistens zur Deaktivierung der Ausführung eines " "Daemons oder zur Einstellung einiger voreingestellter Schalter oder " "Zeitüberschreitungen verwandt. Falls in Ihrem init-Skript bestimmte " "einstellbare Funktionen sind, können Sie diese in der Datei " "<filename><replaceable>package</replaceable>.default</filename> statt im " "init-Skript selbst einstellen." #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream program provides a file for the init script, you can either " "use it or not. If you don't use their init script then create a new one in " "<filename><replaceable>package</replaceable>.init</filename>. However if " "the upstream init script looks fine and installs in the right place you " "still need to set up the <filename>rc*</filename> symlinks. To do this you " "will need to override <command>dh_installinit</command> in the " "<filename>rules</filename> file with the following lines:" msgstr "" "Falls Ihr Programm der Originalautoren eine Datei für ein Init-Skript " "bereitstellt, können Sie dies entweder benutzten oder ein eigenes erstellen. " "Falls Sie das mitgelieferte init-Skript nicht verwenden, erstellen Sie ein " "neues in <filename><replaceable>Paket</replaceable>.init</filename>. Falls " "das von den Originalautoren mitgelieferte Init-Skript aber gut aussieht und " "an der richtigen Stelle installiert wird, müssen Sie trotzdem die " "symbolischen Links für <filename>rc*</filename> erzeugen. Dafür müssen Sie " "<command>dh_installinit</command> in der Datei <filename>rules</filename> " "mit den folgenden Zeilen überschreiben:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" msgstr "" "override_dh_installinit:\n" " dh_installinit --onlyscripts\n" #. type: Content of: <book><chapter><section><para> msgid "If you don't need this, remove the files." msgstr "Falls Sie das nicht benötigen, löschen Sie die Dateien." #. type: Content of: <book><chapter><section><title> msgid "<filename>install</filename>" msgstr "<filename>install</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This replaces the deprecated <citerefentry> <refentrytitle>dh_movefiles</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command which is " "configured by the <filename>files</filename> file." msgstr "" "Dies ersetzt den veralteten Befehl <citerefentry> " "<refentrytitle>dh_movefiles</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, der durch die Datei <filename>files</filename> konfiguriert " "wurde." #. type: Content of: <book><chapter><section><para> msgid "" "If there are files that need to be installed into your package but your " "standard <literal>make install</literal> won't do it, put the filenames and " "destinations into this <filename>install</filename> file. They are " "installed by <citerefentry> <refentrytitle>dh_install</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=" "\"0\"/> You should first check there is not a more specific tool to use. " "For example, documents should be in the <filename>docs</filename> file and " "not in this one." msgstr "" "Falls es Dateien gibt, die in Ihr Paket installiert werden müssen, die aber " "vom Standardaufruf »<literal>make install</literal>« nicht erfasst werden, " "schreiben Sie diese Dateinamen und Ziele in die Datei <filename>install</" "filename>. Sie werden dann von <citerefentry> <refentrytitle>dh_install</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> installiert. " "<placeholder type=\"footnote\" id=\"0\"/> Sie sollten zunächst überprüfen, " "ob es nicht ein spezielleres Werkzeug gibt, das verwendet werden kann. " "Beispielsweise sollten Dokumente in der Datei <filename>docs</filename> " "stehen und nicht in dieser hier." #. type: Content of: <book><chapter><section><para> msgid "" "This <filename>install</filename> file has one line per file installed, with " "the name of the file (relative to the top build directory) then a space then " "the installation directory (relative to the install directory). One example " "of where this is used is if a binary <filename>src/<replaceable>bar</" "replaceable></filename> is left uninstalled; the <filename>install</" "filename> file might look like:" msgstr "" "Diese Datei <filename>install</filename> enthält pro Zeile eine zu " "installierende Datei, zunächst den Namen der Datei (relativ zum obersten " "Verzeichnis des Paketbaus), dann ein Leerzeichen und zuletzt das " "Installationsverzeichnis (relativ zum Install-Verzeichnis). Ein Beispiel, wo " "dies benutzt werden kann, ist eine Binärdatei <filename>src/" "<replaceable>bar</replaceable></filename>, die nicht installiert wurde. Die " "Datei <filename>install</filename> könnte so aussehen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "src/<replaceable>bar</replaceable> usr/bin\n" msgstr "src/<replaceable>bar</replaceable> usr/bin\n" #. type: Content of: <book><chapter><section><para> msgid "" "This means when this package is installed, there will be an executable " "command <filename>/usr/bin/<replaceable>bar</replaceable></filename>." msgstr "" "Wenn dieses Paket installiert ist, bedeutet dies, dass es einen ausführbaren " "Befehl <filename>/usr/bin/<replaceable>bar</replaceable></filename> geben " "wird." #. type: Content of: <book><chapter><section><para> msgid "" "Alternatively, this <filename>install</filename> can have the name of the " "file only without the installation directory when the relative directory " "path does not change. This format is usually used for a large package that " "splits the output of its build into multiple binary packages using " "<filename><replaceable>package-1</replaceable>.install</filename>, " "<filename><replaceable>package-2</replaceable>.install</filename>, etc." msgstr "" "Alternativ kann die Datei <filename>install</filename> nur den Dateinamen " "ohne Installationsverzeichnis enthalten, wenn sich der relative " "Verzeichnispfad nicht ändert. Dieses Format wird üblicherweise für große " "Pakete benutzt, die das Ergebnis des Baus auf mehrere Binärpakete verteilen. " "Dafür verwenden diese <filename><replaceable>Paket-1</replaceable>.install</" "filename>, <filename><replaceable>Paket-2</replaceable>.install</filename> " "usw." #. type: Content of: <book><chapter><section><para> msgid "" "The <command>dh_install</command> command will fall back to looking in " "<filename>debian/tmp</filename> for files, if it doesn't find them in the " "current directory (or wherever you've told it to look using <literal>--" "sourcedir</literal>)." msgstr "" "Der Befehl <command>dh_install</command> fällt darauf zurück, im Verzeichnis " "<filename>debian/tmp</filename> nach Dateien zu suchen, wenn er sie im " "aktuellen Verzeichnis nicht findet (oder wo auch immer Sie das Programm mit " "<literal>--sourcedir</literal> angewiesen haben, zu suchen)." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.info</filename>" msgstr "<filename><replaceable>Paket</replaceable>.info</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has info pages, you should install them using <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing them in a <filename><replaceable>package</" "replaceable>.info</filename> file." msgstr "" "Falls Ihr Paket »info«-Seiten hat, sollten Sie diese mit <citerefentry> " "<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> installieren, indem Sie sie in einer Datei " "<filename><replaceable>Paket</replaceable>.info</filename> auflisten." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.links</filename>" msgstr "<filename><replaceable>Paket</replaceable>.links</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If you need to create additional symlinks in package build directories as " "package maintainer, you should install them using <citerefentry> " "<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> by listing their full paths of source and destination files in " "a <filename><replaceable>package</replaceable>.links</filename> file." msgstr "" "Falls Sie zusätzliche symbolische Links in den Paketbauverzeichnissen als " "Paketbetreuer erstellen müssen, sollten Sie mit <citerefentry> " "<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> installieren, indem Sie deren komplette Pfade der Quell- und " "Zieldateien in einer Datei <filename><replaceable>Paket</replaceable>.links</" "filename> aufführen." #. type: Content of: <book><chapter><section><title> msgid "" "<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</" "filename>" msgstr "" "<filename>{<replaceable>Paket</replaceable>.|source/}lintian-overrides</" "filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " "diagnostic for a case where Debian policy allows exceptions to some rule, " "you can use <filename><replaceable>package</replaceable>.lintian-overrides</" "filename> or <filename>source/lintian-overrides</filename> to quieten it. " "Please read Lintian User's Manual (<filename>&lintian-doc;</filename>) and " "refrain from abusing this." msgstr "" "Falls die Debian-Richtlinien eine Ausnahme von einer Regel erlauben, erzeugt " "<systemitem role=\"package\">lintian</systemitem> eventuell eine falsche " "Meldung. Wenn dies der Fall ist, können Sie <filename><replaceable>Paket</" "replaceable>.lintian-overrides</filename> oder <filename>source/lintian-" "overrides</filename> benutzen, um die Meldung zu unterdrücken. Bitte lesen " "Sie das Benutzerhandbuch von Lintian (<filename>&lintian-doc;</filename>) " "und missbrauchen Sie diesen Mechanismus nicht." #. type: Content of: <book><chapter><section><para> msgid "" "<filename><replaceable>package</replaceable>.lintian-overrides</filename> is " "for the binary package named <systemitem role=\"package" "\"><replaceable>package</replaceable></systemitem> and is installed into " "<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" "filename> by the <command>dh_lintian</command> command." msgstr "" "<filename><replaceable>Paket</replaceable>.lintian-overrides</filename> ist " "für das Binärpaket <systemitem role=\"package\"><replaceable>Paket</" "replaceable></systemitem> und wird als <filename>usr/share/lintian/overrides/" "<replaceable>Paket</replaceable></filename> vom Befehl <command>dh_lintian</" "command> installiert." #. type: Content of: <book><chapter><section><para> msgid "" "<filename>source/lintian-overrides</filename> is for the source package. " "This is not installed." msgstr "" "<filename>source/lintian-overrides</filename> ist für das Quellpaket. Diese " "Datei wird nicht installiert." #. type: Content of: <book><chapter><section><title> msgid "<filename>manpage.*</filename>" msgstr "<filename>manpage.*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Your program(s) should have a manual page. If they don't, you should create " "them. The <command>dh_make</command> command creates some template files " "for manual pages. These need to be copied and edited for each command " "missing its manual page. Please make sure to remove unused templates." msgstr "" "Ihr(e) Programm(e) sollte(n) eine Handbuchseite haben. Ist keine vorhanden, " "sollten Sie sie erstellen. Der Befehl <command>dh_make</command> erzeugt " "einige Vorlagendateien für Handbuchseiten. Diese müssen für jeden Befehl " "kopiert und bearbeitet werden, dem eine Handbuchseite fehlt. Bitte löschen " "Sie alle nicht benutzten Vorlagen." #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.1.ex</filename>" msgstr "<filename>manpage.1.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "Manual pages are normally written in <citerefentry> <refentrytitle>nroff</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. The " "<filename>manpage.1.ex</filename> template is written in <command>nroff</" "command>, too. See the <citerefentry> <refentrytitle>man</refentrytitle> " "<manvolnum>7</manvolnum> </citerefentry> manual page for a brief description " "of how to edit such a file." msgstr "" "Handbuchseiten werden üblicherweise in <citerefentry> <refentrytitle>nroff</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> geschrieben. Das " "Beispiel <filename>manpage.1.ex</filename> ist auch in <command>nroff</" "command> geschrieben. In der Handbuchseite von <citerefentry> " "<refentrytitle>man</refentrytitle> <manvolnum>7</manvolnum> </citerefentry> " "finden Sie eine kurze Erklärung, wie solche Dateien bearbeitet werden können." #. type: Content of: <book><chapter><section><section><para> msgid "" "The final manual page file name should give the name of the program it is " "documenting, so we will rename it from <literal>manpage</literal> to " "<literal>gentoo</literal>. The file name also includes <literal>.1</" "literal> as the first suffix, which means it's a manual page for a user " "command. Be sure to verify that this section is indeed the correct one. " "Here's a short list of manual page sections:" msgstr "" "Der endgültige Name der Handbuchseite sollte den Namen des Programms, das " "dokumentiert wird, angeben. Deshalb ändern wir den Namen von " "»<literal>manpage</literal>« nach »<literal>gentoo</literal>«. Der Dateiname " "muss auch eine »<literal>.1</literal>« als erstes Suffix erhalten, was " "bedeutet, dass es sich um eine Handbuchseite für einen Benutzerbefehl " "handelt. Vergewissern Sie sich, dass dieser Abschnitt tatsächlich richtig " "ist. Hier ist eine kurze Liste der Abschnitte für Handbuchseiten:" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Section" msgstr "Abschnitt" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Description" msgstr "Beschreibung" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> msgid "Notes" msgstr "Hinweise" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "1" msgstr "1" # FIXME command -> commands #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "User command" msgstr "Dienstprogramme für Benutzer" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Executable commands or scripts" msgstr "Ausführbare Befehle oder Skripte" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "2" msgstr "2" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System calls" msgstr "Systemaufrufe" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions provided by the kernel" msgstr "Vom Kernel bereitgestellte Funktionen" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "3" msgstr "3" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Library calls" msgstr "Bibliotheksfunktionen" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Functions within system libraries" msgstr "Funktionen innerhalb Systembibliotheken" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "4" msgstr "4" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Special files" msgstr "Besondere Dateien" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Usually found in <filename>/dev</filename>" msgstr "Normalerweise innerhalb von <filename>/dev</filename>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "5" msgstr "5" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "File formats" msgstr "Dateiformate" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "E.g. <filename>/etc/passwd</filename>'s format" msgstr "Z.B. Format von <filename>/etc/passwd</filename>" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "6" msgstr "6" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games" msgstr "Spiele" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Games or other frivolous programs" msgstr "Spiele oder andere belanglose Programme" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "7" msgstr "7" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Macro packages" msgstr "Makropakete" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Such as <command>man</command> macros" msgstr "Wie <command>man</command>-Makros" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "8" msgstr "8" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "System administration" msgstr "Systemadministration" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Programs typically only run by root" msgstr "Programme, die typischerweise nur von Root ausgeführt werden" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "9" msgstr "9" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Kernel routines" msgstr "Kernelroutinen" #. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> msgid "Non-standard calls and internals" msgstr "Nicht standardisierte Aufrufe und Interna" #. type: Content of: <book><chapter><section><section><para> msgid "" "So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " "called <filename>gentoo.1</filename>. If there was no <filename>gentoo.1</" "filename> man page in the original source, you should create it by renaming " "the <filename>manpage.1.ex</filename> template to <filename>gentoo.1</" "filename> and editing it using information from the example and from the " "upstream docs." msgstr "" "Also bekommt <systemitem role=\"package\">gentoo</systemitem>s Handbuchseite " "den Namen <filename>gentoo.1</filename>. Falls es in den ursprünglichen " "Quellen keine Handbuchseite namens <filename>gentoo.1</filename> gibt, " "müssen Sie diese erstellen, indem Sie die Vorlage <filename>manpage.1.ex</" "filename> in <filename>gentoo.1</filename> umbenennen und sie bearbeiten. " "Dabei verwenden Sie die Informationen aus dem Beispiel und die Dokumentation " "des Originalautors." #. type: Content of: <book><chapter><section><section><para><footnote><para> msgid "" "Note that <command>help2man</command>'s placeholder man page will claim that " "more detailed documentation is available in the info system. If the command " "is missing an <command>info</command> page, you should manually edit the man " "page created by the <command>help2man</command> command." msgstr "" "Beachten Sie, dass die Platzhalter-Handbuchseite von <command>help2man</" "command> behaupten wird, dass detailliertere Informationen im <command>info</" "command>-System vorhanden seien. Falls dem Befehl eine Info-Seite fehlt, " "sollten Sie die von <command>help2man</command> erstellte Handbuchseite " "manuell bearbeiten." #. type: Content of: <book><chapter><section><section><para> msgid "" "You can use the <command>help2man</command> command to generate a man page " "out of the <literal>--help</literal> and <literal>--version</literal> output " "of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Sie können auch den Befehl <command>help2man</command> benutzen, um eine " "Handbuchseite aus der Ausgabe des Programms mit den Optionen »<literal>--" "help</literal>« und »<literal>--version</literal>« zu erzeugen. <placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.sgml.ex</filename>" msgstr "<filename>manpage.sgml.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "If on the other hand you prefer writing SGML instead of <command>nroff</" "command>, you can use the <filename>manpage.sgml.ex</filename> template. If " "you do this, you have to:" msgstr "" "Falls Sie es andererseits bevorzugen, in SGML anstatt <command>nroff</" "command> zu schreiben, können Sie die Vorlage <filename>manpage.sgml.ex</" "filename> benutzen. Dann müssen Sie Folgendes tun:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "rename the file to something like <filename>gentoo.sgml</filename>." msgstr "" "Benennen Sie die Datei um, beispielsweise in <filename>gentoo.sgml</" "filename>." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-to-man</systemitem> package" msgstr "" "Installieren Sie das Paket <systemitem role=\"package\">docbook-to-man</" "systemitem>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add <literal>docbook-to-man</literal> to the <literal>Build-Depends</" "literal> line in the <filename>control</filename> file" msgstr "" "Fügen Sie <literal>docbook-to-man</literal> der Zeile <literal>Build-" "Depends</literal> in der Datei <filename>control</filename> hinzu." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add an <literal>override_dh_auto_build</literal> target to your " "<filename>rules</filename> file:" msgstr "" "Fügen Sie das Target <literal>override_dh_auto_build</literal> in Ihrer " "Datei <filename>rules</filename> hinzu:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><section><title> msgid "<filename>manpage.xml.ex</filename>" msgstr "<filename>manpage.xml.ex</filename>" #. type: Content of: <book><chapter><section><section><para> msgid "" "If you prefer XML over SGML, you can use the <literal>manpage.xml.ex</" "literal> template. If you do this, you have to:" msgstr "" "Falls Sie XML gegenüber SGML bevorzugen, können Sie die Vorlage " "<literal>manpage.xml.ex</literal> benutzen. Dann müssen Sie Folgendes tun:" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "rename the source file to something like <literal>gentoo.1.xml</literal>" msgstr "Umbenennen der Quelldatei in etwas wie <literal>gentoo.1.xml</literal>" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "install the <systemitem role=\"package\">docbook-xsl</systemitem> package " "and an XSLT processor like <systemitem role=\"package\">xsltproc</" "systemitem> (recommended)" msgstr "" "Installieren Sie das Paket <systemitem role=\"package\">docbook-xsl</" "systemitem> und einen XSLT-Prozessor wie <systemitem role=\"package" "\">xsltproc</systemitem> (empfohlen)." #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> msgid "" "add the <literal>docbook-xsl</literal>, <literal>docbook-xml</literal>, and " "<literal>xsltproc</literal> packages to the <literal>Build-Depends</literal> " "line in the <literal>control</literal> file" msgstr "" "Fügen Sie <literal>docbook-xsl</literal>, <literal>docbook-xml</literal> und " "<literal>xsltproc</literal> der Zeile <literal>Build-Depends</literal> in " "der Datei <filename>control</filename> hinzu" #. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" msgstr "" "override_dh_auto_build:\n" " xsltproc --nonet \\\n" " --param make.year.ranges 1 \\\n" " --param make.single.year.ranges 1 \\\n" " --param man.charmap.use.subset 0 \\\n" " -o debian/ \\\n" "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" " debian/gentoo.1.xml\n" " dh_auto_build\n" #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.manpages</filename>" msgstr "<filename><replaceable>Paket</replaceable>.manpages</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "If your package has manual pages, you should install them using " "<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> by listing them in a " "<filename><replaceable>package</replaceable>.manpages</filename> file." msgstr "" "Falls Ihr Paket Handbuchseiten hat, sollten Sie sie mit <citerefentry> " "<refentrytitle>dh_installman</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> installieren, indem Sie sie in einer Dateie " "<filename><replaceable>Paket</replaceable>.manpages</filename> auflisten." #. type: Content of: <book><chapter><section><para> msgid "" "To install <filename>docs/gentoo.1</filename> as a manpage for the " "<systemitem role=\"package\">gentoo</systemitem> package, create a " "<filename>gentoo.manpages</filename> file as follows." msgstr "" "Um <filename>docs/gentoo.1</filename> als Handbuchseite für das Paket " "<systemitem role=\"package\">gentoo</systemitem> zu installieren, erstellen " "Sie eine Datei <filename>gentoo.manpages</filename> folgendermaßen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "docs/gentoo.1\n" msgstr "docs/gentoo.1\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>menu</filename>" msgstr "<filename>menu</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "X Window System users usually have a window manager with a menu that can be " "customized to launch programs. If they have installed the Debian " "<systemitem role=\"package\">menu</systemitem> package, a set of menus for " "every program on the system will be created for them." msgstr "" "Benutzer des X-Window-Systems haben normalerweise einen Fenstermanager mit " "einem Menü, das konfiguriert werden kann, um Programme zu starten. Falls sie " "das Debian-Paket <systemitem role=\"package\">menu</systemitem> installiert " "haben, werden Menüeinträge für die installierten Programme automatisch " "hinzugefügt." #. type: Content of: <book><chapter><section><para> msgid "" "Here's the default <filename>menu.ex</filename> file that <command>dh_make</" "command> created." msgstr "" "Hier ist die Standarddatei <filename>menu.ex</filename>, die von " "<command>dh_make</command> erstellt wurde:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" msgstr "" "?package(gentoo):needs=X11|text|vc|wm \\\n" " section=Applications/see-menu-manual\\\n" " title=gentoo command=/usr/bin/gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "The first field after the colon character is <literal>needs</literal>, and " "it specifies what kind of interface the program needs. Change this to one " "of the listed alternatives, e.g. <literal>text</literal> or <literal>X11</" "literal>." msgstr "" "Das erste Feld nach dem Doppelpunkt ist <literal>needs</literal> und " "bestimmt, welche Art der Benutzerschnittstelle das Programm braucht. Ändern " "Sie dies auf eine der aufgeführten Alternativen, beispielsweise " "<literal>text</literal> oder <literal>X11</literal>." # FIXME Komma vor »2.1« #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The current list of sections is in <ulink url=\"&menu-structure;\">The " "Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>. There was " "a major reorganization of menu structure for <literal>squeeze</literal>." msgstr "" "Die derzeitige Liste der Abschnitte befindet sich in <ulink url=\"&menu-" "structure;\">The Debian Menu sub-policy, Kapitel 2.1 »Preferred menu " "structure«</ulink>. Für <literal>squeeze</literal> gab es eine große " "Reorganisation der Menüstruktur." #. type: Content of: <book><chapter><section><para> msgid "" "The next is the <literal>section</literal> that the menu and submenu entry " "should appear in. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Das nächste ist der Abschnitt (<literal>section</literal>), in dem der Menü- " "und Untermenüeintrag später erscheinen soll. <placeholder type=\"footnote\" " "id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>title</literal> field is the name of the program. You can " "start this one in uppercase if you like. Just keep it short." msgstr "" "Das Feld <literal>title</literal> enthält den Namen des Programms. Dieser " "kann mit Großbuchstaben beginnen, sollte aber kurz gehalten werden." #. type: Content of: <book><chapter><section><para> msgid "" "Finally, the <literal>command</literal> field is the command that runs the " "program." msgstr "" "Zuletzt das Feld <literal>command</literal>, das den Befehlsaufruf zum " "Starten des Programms enthält." #. type: Content of: <book><chapter><section><para> msgid "" "Let's change the file name to <filename>menu</filename> and change the menu " "entry to this:" msgstr "" "Lassen Sie uns den Dateinamen in <filename>menu</filename> und den " "Menüeintrag wie folgt ändern:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" msgstr "" "?package(gentoo): needs=X11 \\\n" " section=Applications/Tools \\\n" " title=Gentoo command=gentoo\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also add other fields like <literal>longtitle</literal>, " "<literal>icon</literal>, <literal>hints</literal> etc. See <citerefentry> " "<refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>, and <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> for more information." msgstr "" "Sie können noch weitere Felder wie <literal>longtitle</literal>, " "<literal>icon</literal>, <literal>hints</literal> usw. hinzufügen. Siehe " "<citerefentry> <refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>menufile</" "refentrytitle> <manvolnum>5</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> und <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</" "ulink> für weitere Informationen." #. type: Content of: <book><chapter><section><title> msgid "<filename>NEWS</filename>" msgstr "<filename>NEWS</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "Der Befehl <citerefentry> <refentrytitle>dh_installchangelogs</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> installiert diese " "Datei." #. type: Content of: <book><chapter><section><title> msgid "<filename>{pre,post}{inst,rm}</filename>" msgstr "<filename>{post|pre}{inst|rm}</filename>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Despite this use of the <command>bash</command> shorthand expression " "<filename>{pre,post}{inst,rm}</filename> to indicate these filenames, you " "should use pure POSIX syntax for these maintainer scripts for compatibility " "with <command>dash</command> as the system shell." msgstr "" "Trotz der hier verwendeten Abkürzungssyntax <filename>{pre,post}{inst,rm}</" "filename> von <command>bash</command>, um die Dateinamen zu bezeichnen, " "sollten Sie reine POSIX-Syntax für diese Betreuerskripte verwenden, um " "kompatibel zu der Verwendung von <command>dash</command> als System-Shell zu " "bleiben." #. type: Content of: <book><chapter><section><para> msgid "" "These <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename>, and <filename>prerm</filename> files " "<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " "scripts</emphasis>. They are scripts which are put in the control area of " "the package and run by <command>dpkg</command> when your package is " "installed, upgraded, or removed." msgstr "" "Die Dateien <filename>postinst</filename>, <filename>preinst</filename>, " "<filename>postrm</filename> und <filename>prerm</filename> <placeholder type=" "\"footnote\" id=\"0\"/> werden <emphasis>Betreuerskripte</emphasis> (engl. " "»maintainer scripts«)genannt. Diese Skripte werden für die Steuerung des " "Pakets verwendet und von <command>dpkg</command> aufgerufen, wenn Ihr Paket " "installiert, aktualisiert oder entfernt wird." #. type: Content of: <book><chapter><section><para> msgid "" "As a novice maintainer, you should avoid any manual editing of maintainer " "scripts because they are problematic. For more information refer to the " "<ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 \"Package " "maintainer scripts and installation procedure\"</ulink>, and take a look at " "the example files provided by <command>dh_make</command>." msgstr "" "Als neuer Betreuer sollten Sie das manuelle Bearbeiten dieser " "Betreuerskripte vermeiden, da sie problematisch sind. Für weitere " "Informationen lesen Sie in dem <ulink url=\"&policy-mantainerscripts;" "\">Debian Policy Manual, Kapitel 6 »Package maintainer scripts and " "installation procedure«</ulink> und sehen Sie sich die Beispieldateien an, " "die von <command>dh_make</command> erstellt wurden." #. type: Content of: <book><chapter><section><para> msgid "" "If you did not listen to me and have created custom maintainer scripts for a " "package, you should make sure to test them not only for <emphasis role=" "\"strong\">install</emphasis> and <emphasis role=\"strong\">upgrade</" "emphasis> but also for <emphasis role=\"strong\">remove</emphasis> and " "<emphasis role=\"strong\">purge</emphasis>." msgstr "" "Falls Sie nicht auf mich gehört haben und eigene Betreuerskripte für ein " "Paket erstellt haben, müssen Sie sicherstellen, dass Sie sie nicht nur für " "den Aufruf mit <emphasis role=\"strong\">install</emphasis> und <emphasis " "role=\"strong\">upgrade</emphasis> getestet haben, sondern auch für " "<emphasis role=\"strong\">remove</emphasis> und <emphasis role=\"strong" "\">purge</emphasis>." #. type: Content of: <book><chapter><section><para> msgid "" "Upgrades to the new version should be silent and non-intrusive (existing " "users should not notice the upgrade except by discovering that old bugs have " "been fixed and perhaps that there are new features)." msgstr "" "Upgrades auf die neue Version sollen ohne Rückfragen geschehen und keine " "Störungen oder Unterbrechungen zur Folge haben (Benutzer, die das Paket " "verwenden, sollen nicht bemerken, dass ein Upgrade durchgeführt wurde. Sie " "sollen nur feststellen, dass alte Fehler behoben wurden und das Paket " "eventuell neue Fähigkeiten hat)." #. type: Content of: <book><chapter><section><para> msgid "" "When the upgrade is necessarily intrusive (eg., config files scattered " "through various home directories with totally different structure), you may " "consider as the last resort switching the package to a safe fallback state " "(e.g., disabling a service) and providing the proper documentation required " "by policy (<filename>README.Debian</filename> and <filename>NEWS.Debian</" "filename>). Don't bother the user with <command>debconf</command> notes " "invoked from these maintainer scripts for upgrades." msgstr "" "Wenn das Upgrade nicht ohne Störung ablaufen kann (beispielsweise weil " "Konfigurationsdateien über verschiedene Home-Verzeichnisse verteilt sind, " "die einen vollkommen anderen Aufbau haben), können Sie als letzte " "Möglichkeit für das Paket eine sichere Voreinstellung wählen (beispielsweise " "den Service deaktivieren) und die von den Richtlinien verlangte ausführliche " "Information (<filename>README.Debian</filename> und <filename>NEWS.Debian</" "filename>) bereitstellen. Belästigen Sie den Benutzer nicht mit " "<command>debconf</command>-Hinweisen, die von den Betreuerskripten bei " "Upgrades angezeigt werden." #. type: Content of: <book><chapter><section><para> msgid "" "The <systemitem role=\"package\">ucf</systemitem> package provides a " "<emphasis>conffile-like</emphasis> handling infrastructure to preserve user " "changes for files that may not be labeled as <emphasis>conffiles</emphasis> " "such as those managed by the maintainer scripts. This should minimize " "issues associated with them." msgstr "" "Das Paket <systemitem role=\"package\">ucf</systemitem> stellt eine ähnliche " "Infrastruktur wie für Dateien zur Verfügung, die als <emphasis>Conffile</" "emphasis> gekennzeichnet wurden. Damit bleiben von Benutzern durchgeführte " "Änderungen an Dateien erhalten, auch wenn diese Dateien nicht als " "<emphasis>Conffiles</emphasis> gekennzeichnet werden können. Beispiele " "hierfür sind Dateien, die von den Betreuerskripten verwaltet werden. " "Hierdurch sollen Probleme in der Behandlung dieser Dateien minimiert werden." #. type: Content of: <book><chapter><section><para> msgid "" "These maintainer scripts are among the Debian enhancements that explain " "<emphasis role=\"strong\">why people choose Debian</emphasis>. You must be " "very careful not to turn them into a source of annoyance." msgstr "" "Diese Betreuerskripte gehören zu den Errungenschaften von Debian, die " "erklären, <emphasis role=\"strong\">warum jemand Debian verwendet</" "emphasis>. Sie müssen sehr darauf achten, diese Skripte zu einem Grund für " "Ärger werden zu lassen." #. type: Content of: <book><chapter><section><title> msgid "<filename><replaceable>package</replaceable>.symbols</filename>" msgstr "<filename><replaceable>Paket</replaceable>.symbols</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "Packaging of library is not easy for a novice maintainer and should be " "avoided. Having said it, if your package has libraries, you should have " "<filename>debian/<replaceable>package</replaceable>.symbols</filename> " "files. See <xref linkend=\"librarysymbols\"/>." msgstr "" "Paketierung einer Bibliothek ist für einen neuen Betreuer nicht leicht und " "sollte vermieden werden. Hat Ihr Paket allerdings Bibliotheken, dann sollten " "Sie eine Datei <filename>debian/<replaceable>Paket</replaceable>.symbols</" "filename> haben. Lesen Sie <xref linkend=\"librarysymbols\"/>." #. type: Content of: <book><chapter><section><title> msgid "<filename>TODO</filename>" msgstr "<filename>TODO</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> command installs this." msgstr "" "Der Befehl <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> installiert diese Datei." #. type: Content of: <book><chapter><section><title> msgid "<filename>watch</filename>" msgstr "<filename>watch</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The <filename>watch</filename> file format is documented in the " "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> manpage. The <filename>watch</filename> file configures the " "<command>uscan</command> program (in the <systemitem role=\"package" "\">devscripts</systemitem> package) to watch the site where you originally " "got the source from. This is also used by the <ulink url=\"&dehs;\">Debian " "External Health Status (DEHS)</ulink> service." msgstr "" "Das Format der Datei <filename>watch</filename> ist in der Handbuchseite von " "<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> dokumentiert. Die Datei <filename>watch</filename> " "konfiguriert das Programm <command>uscan</command> (aus dem Paket " "<systemitem role=\"package\">devscripts</systemitem>), um die Seite zu " "überwachen, von der Sie die Originalquellen bezogen haben. Dies wird " "außerdem von dem Dienst <ulink url=\"&dehs;\">Debian External Health Status " "(DEHS)</ulink> benutzt." #. type: Content of: <book><chapter><section><para> msgid "Here are its contents:" msgstr "Hier sind seine Inhalte:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" msgstr "" "# watch control file for uscan\n" "version=3\n" "&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" #. type: Content of: <book><chapter><section><para> msgid "" "Normally with a <filename>watch</filename> file, the URL at <literal>&sf-" "net;/gentoo</literal> is downloaded and searched for links of the form " "<literal><a href=...></literal>. The basename (just the part after " "the final <literal>/</literal>) of each linked URL is compared against the " "Perl regular expression pattern (see <citerefentry> <refentrytitle>perlre</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." "+)\\.tar\\.gz</literal>. Out of the files that match, the one with the " "greatest version number is downloaded and the <command>uupdate</command> " "program is run to create an updated source tree." msgstr "" "Normalerweise würde mit einer <filename>watch</filename>-Datei die URL unter " "»<literal>&sf-net;/gentoo</literal>« heruntergeladen und nach Links im " "Format »<literal><a href=...></literal>« durchsucht. Der Basisname " "(nur der Teil nach dem letzten »<literal>/</literal>«) jeder verlinkten URL " "wird mit dem regulären Perl-Ausdruck (siehe <citerefentry> " "<refentrytitle>perlre</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>) »<literal>gentoo-(.+)\\.tar\\.gz</literal>« verglichen. Von " "allen Dateien, auf die der Ausdruck passt, wird die Datei mit der höchsten " "Versionsnummer heruntergeladen. Das Programm <command>uupdate</command> wird " "dann ausgeführt, um daraus den aktualisierten Quelltextbaum zu erzeugen." #. type: Content of: <book><chapter><section><para> msgid "" "Although this is true for other sites, the SourceForge download service at " "<ulink url=\"&sf-net;\"/> is an exception. When the <filename>watch</" "filename> file has an URL matching the Perl regexp <literal>^http://sf\\.net/" "</literal>, the <command>uscan</command> program replaces it with " "<literal>&qa-do;watch/sf.php/</literal> and then applies this rule. The URL " "redirector service at <ulink url=\"&qa-do;\"/> is designed to offer a stable " "redirect service to the desired file for any <filename>watch</filename> " "pattern of the form <literal>&sf-net;/<replaceable>project</replaceable>/" "<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This solves " "issues related to periodically changing SourceForge URLs." msgstr "" "Dies stimmt zwar für andere Websites, doch das Herunterladen von SourceForge " "unter <ulink url=\"&sf-net;\"/> ist eine Ausnahme. Wenn die Datei " "<filename>watch</filename> eine URL enthält, auf die der reguläre Perl-" "Ausdruck »<literal>^http://sf\\.net/</literal>« passt, wird diese vom " "Programm <command>uscan</command> durch »<literal>&qa-do;watch/sf.php/</" "literal>« ersetzt und erst dann die nachfolgenden Regeln angewendet. Die URL-" "Umleitungsfunktion unter <ulink url=\"&qa-do;\"/> ist entwickelt worden, um " "einen stabilen Umleitungsservice für jedes <filename>watch</filename>-Muster " "der Form »<literal>&sf-net;/<replaceable>Projekt</replaceable>/" "<replaceable>tar-Name</replaceable>-(.+)\\.tar\\.gz</literal>« in der Datei " "<filename>watch</filename> bereitzustellen. Hierdurch wird das Problem " "gelöst, dass SourceForge-URLs regelmäßig geändert werden." #. type: Content of: <book><chapter><section><title> msgid "<filename>source/format</filename>" msgstr "<filename>source/format</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "In the <filename>debian/source/format</filename> file, there should be a " "single line indicating the desired format for the source package (check " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> for an exhaustive list). After <literal>squeeze</" "literal>, it should say either:" msgstr "" "In der Datei <filename>debian/source/format</filename> soll eine einzelne " "Zeile stehen, in der das gewünschte Format für das Quellpaket angegeben wird " "(lesen Sie <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> für eine ausführliche Liste). Nach " "<literal>Squeeze</literal> sollte dort entweder:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (native)</literal> for Debian native packages or" msgstr "<literal>3.0 (native)</literal> für native Debian-Pakete oder" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>3.0 (quilt)</literal> for everything else." msgstr "<literal>3.0 (quilt)</literal> für alles andere stehen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for a summary on the switch " "to the new <literal>3.0 (quilt)</literal> and <literal>3.0 (native)</" "literal> source formats." msgstr "" "Siehe <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> für eine Zusammenfassung " "zum Wechsel auf die neue Quellformate <literal>3.0 (quilt)</literal> und " "<literal>3.0 (native)</literal>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Actually, this new format also supports multiple upstream tarballs and more " "compression methods. These are beyond the scope of this document." msgstr "" "Tatsächlich unterstützt dieses neue Format sogar mehrere ursprüngliche " "Tarbälle und mehr Kompressionsmethoden. Dies würde in diesem Dokument aber " "zu weit führen." #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format records modifications " "in a <command>quilt</command> patch series within <filename>debian/patches</" "filename>. Those changes are then automatically applied during extraction " "of the source package. <placeholder type=\"footnote\" id=\"0\"/> The Debian " "modifications are simply stored in a <filename>debian.tar.gz</filename> " "archive containing all files under the <filename>debian</filename> " "directory. This new format supports inclusion of binary files such as PNG " "icons by the package maintainer without requiring tricks. <placeholder type=" "\"footnote\" id=\"1\"/>" msgstr "" "Das neuere Quellformat <literal>3.0 (quilt)</literal> zeichnet Änderungen in " "einer Patchserie im Verzeichnis <filename>debian/patches</filename> für " "<command>quilt</command> auf. Diese Änderungen werden dann während des " "Entpackens des Quellpakets automatisch angewendet. <placeholder type=" "\"footnote\" id=\"0\"/> Die Debian-spezifischen Änderungen werden einfach in " "einem Archiv namens <filename>debian.tar.gz</filename> gespeichert, das alle " "Dateien im Verzeichnis <filename>debian</filename> enthält. Mit diesem neuen " "Format können binäre Dateien wie PNG-Icons vom Paketbetreuer eingebunden " "werden, ohne Tricks anwenden zu müssen. <placeholder type=\"footnote\" id=" "\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "When <command>dpkg-source</command> extracts a source package in " "<literal>3.0 (quilt)</literal> source format, it automatically applies all " "patches listed in <filename>debian/patches/series</filename>. You can avoid " "applying patches at the end of the extraction with the <literal>--skip-" "patches</literal> option." msgstr "" "Wenn <command>dpkg-source</command> ein Quellpaket im Quellformat " "<literal>3.0 (quilt)</literal> entpackt, werden automatisch alle Patches " "angewendet, die in <filename>debian/patches/series</filename> aufgeführt " "sind. Sie können das Anwenden der Patches nach dem Entpacken verhindern, " "indem Sie die Option <literal>--skip-patches</literal> benutzen." #. type: Content of: <book><chapter><section><title> msgid "<filename>source/local-options</filename>" msgstr "<filename>source/local-options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "When you want to manage Debian packaging activities under a VCS, you " "typically create one branch (e.g. <literal>upstream</literal>) tracking the " "upstream source and another branch (e.g. typically <literal>master</" "literal> for Git) tracking the Debian package. For the latter, you usually " "want to have unpatched upstream source with your <filename>debian/*</" "filename> files for the Debian packaging to ease merging of the new upstream " "source." msgstr "" "Wenn Sie die Paketierungsarbeiten für Debian in einem Versionskontrollsystem " "verwalten wollen, erstellen Sie üblicherweise einen Zweig (z. B. " "<literal>upstream</literal>), in dem Sie die Quellen des Originalautors " "verfolgen und einen weiteren Zweig (z. B. üblicherweise <literal>master</" "literal> für Git), in dem Sie das Debian-Paket verfolgen. Für letzteres " "wollen Sie sicherlich die unveränderten Ursprungsquellen zusammen mit Ihren " "<filename>debian/*</filename>-Dateien für das Paketieren haben, um das " "Zusammenführen von neuen Ursprungsquellen zu vereinfachen." #. type: Content of: <book><chapter><section><para> msgid "" "After you build a package, the source is normally left patched. You need to " "unpatch it manually by running <literal>dquilt pop -a</literal> before " "committing to the <literal>master</literal> branch. You can automate this " "by adding the optional <filename>debian/source/local-options</filename> file " "containing <literal>unapply-patches</literal>. This file is not included in " "the generated source package and changes the local build behavior only. " "This file may contain <literal>abort-on-upstream-changes</literal>, too (see " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." msgstr "" "Nachdem Sie ein Paket gebaut haben, bleiben die Patches im Quelltext " "normalerweise erhalten. Sie müssen sie manuell entfernen, indem Sie " "»<literal>dquilt pop -a</literal>« aufrufen, bevor Sie in den " "<literal>master</literal>-Zweig einchecken können. Sie können dies " "automatisieren, indem Sie die optionale Datei <filename>debian/source/local-" "options</filename> hinzufügen und dort »<literal>unapply-patches</literal>« " "hineinschreiben. Diese Datei wird nicht in das erzeugte Quellpaket " "aufgenommen und verändert nur das lokale Bauverhalten. Diese Datei kann auch " "»<literal>abort-on-upstream-changes</literal>« enthalten (siehe " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>)." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "unapply-patches\n" "abort-on-upstream-changes\n" msgstr "" "unapply-patches\n" "abort-on-upstream-changes\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>source/options</filename>" msgstr "<filename>source/local-options</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The autogenerated files in the source tree can be quite annoying for " "packaging since they generate meaningless large patch files. There are " "custom modules such as <command>dh_autoreconf</command> to ease this problem " "as described in <xref linkend=\"customrules\"/>." msgstr "" "Die automatisch erstellten Dateien im Quellbaum können für das Paketieren " "recht störend wirken, da sie unbedeutende große Patch-Dateien hervorrufen. " "Es gibt angepasste Module wie <command>dh_autoreconf</command>, um dieses " "Problem zu vereinfachen. Dies wird in <xref linkend=\"customrules\"/> " "beschrieben." #. type: Content of: <book><chapter><section><para> msgid "" "You can provide a Perl regular expression to the <literal>--extend-diff-" "ignore</literal> option argument of <citerefentry> <refentrytitle>dpkg-" "source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> to ignore " "changes made to the autogenerated files while creating the source package." msgstr "" "Sie können dem Optionsargument <literal>--extend-diff-ignore</literal> von " "<citerefentry> <refentrytitle>dpkg-source</refentrytitle><manvolnum>1</" "manvolnum> </citerefentry> einen regulären Perl-Ausdruck übergeben, um " "Änderungen, die an den automatisch erstellten Dateien beim Erstellen des " "Quellpakets vorgenommen wurden, zu ignorieren." #. type: Content of: <book><chapter><section><para> msgid "" "As a general solution to address this problem of the autogenerated files, " "you can store such a <command>dpkg-source</command> option argument in the " "<filename>source/options</filename> file of the source package. The " "following will skip creating patch files for <filename>config.sub</" "filename>, <filename>config.guess</filename>, and <filename>Makefile</" "filename>." msgstr "" "Als allgemeine Lösung, um dieses Problem der automatisch erstellten Dateien " "zu adressieren, können Sie so ein Optionsargument an <command>dpkg-source</" "command> in der Datei <filename>source/options</filename> des Quellpakets " "speichern. Folgendes wird die Erstellung von Patch-Dateien für " "<filename>config.sub</filename>, <filename>config.guess</filename> und " "<filename>Makefile</filename> überspringen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" msgstr "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" #. type: Content of: <book><chapter><section><title> msgid "<filename>patches/*</filename>" msgstr "<filename>patches/*</filename>" #. type: Content of: <book><chapter><section><para> msgid "" "The old <literal>1.0</literal> source format created a single large " "<filename>diff.gz</filename> file containing package maintenance files in " "<filename>debian</filename> and patch files for the source. Such a package " "is a bit cumbersome to inspect and understand for each source tree " "modification later. This is not so nice." msgstr "" "Das alte Quellformat <literal>1.0</literal> erzeugte eine einzelne große " "<filename>diff.gz</filename>-Datei, in der sowohl die Paketbetreuungsdateien " "unter <filename>debian</filename> als auch Patches für den Quelltext " "enthalten waren. So ein Paket ist etwas schwierig zu untersuchen und zu " "verstehen, wenn später der Quelltext geändert werden soll. Das ist nicht so " "schön." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Several methods of patch set maintenance have been proposed and are in use " "for Debian packages. The <command>quilt</command> system is the preferred " "maintenance system in use. Others include <command>dpatch</command>, " "<command>dbs</command>, and <command>cdbs</command>. Many of these keep " "such patches as <filename>debian/patches/*</filename> files." msgstr "" "Es wurden verschiedene Methoden für die Organisation der Patches in Debian-" "Paketen vorgeschlagen und auch angewendet. Das <command>quilt</command>-" "System ist das bevorzugteste Organisationssystem. Weitere Systeme sind u.A. " "<command>dpatch</command>, <command>dbs</command> und <command>cdbs</" "command>. Viele von diesen Systemen speichern solche Patches in " "<filename>debian/patches/*</filename>-Dateien ab." #. type: Content of: <book><chapter><section><para> msgid "" "The newer <literal>3.0 (quilt)</literal> source format stores patches in " "<filename>debian/patches/*</filename> files using the <command>quilt</" "command> command. These patches and other package data which are all " "contained under the <filename>debian</filename> directory are packaged as " "the <filename>debian.tar.gz</filename> file. Since the <command>dpkg-" "source</command> command can handle <command>quilt</command> formatted patch " "data in the <literal>3.0 (quilt)</literal> source without the <systemitem " "role=\"package\">quilt</systemitem> package, it does not need a " "<literal>Build-Depends</literal> on <systemitem role=\"package\">quilt</" "systemitem>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Das neuere Quellformat <literal>3.0 (quilt)</literal> speichert Patches in " "<filename>debian/patches/*</filename>-Dateien unter Verwendung des Befehls " "<command>quilt</command> ab. Diese Patches sowie andere Paketdaten bleiben " "alle innerhalb des Verzeichnisses <filename>debian</filename> und werden als " "<filename>debian.tar.gz</filename>-Datei gepackt. Da der Befehl " "<command>dpkg-source</command> in <literal>3.0 (quilt)</literal>-Quellen die " "Patch-Daten im <command>quilt</command>-Format verarbeiten kann, ohne auf " "das Paket <systemitem role=\"package\">quilt</systemitem> zurückzugreifen, " "wird keine <literal>Build-Depends</literal> für <systemitem role=\"package" "\">quilt</systemitem> benötigt. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If you are asking a sponsor to upload your package, this kind of clear " "separation and documentation of your changes is very important to expedite " "the package review by your sponsor." msgstr "" "Falls Sie einen Sponsor darum bitten, Ihr Paket hochzuladen, ist diese Art " "der klaren Aufteilung und Dokumentation Ihrer Änderungen sehr wichtig, um " "die Durchsicht Ihres Pakets durch den Sponsor zu beschleunigen." #. type: Content of: <book><chapter><section><para> msgid "" "The <command>quilt</command> command is explained in <citerefentry> " "<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. It records modifications to the source as a stack of " "<literal>-p1</literal> patch files in the <filename>debian/patches</" "filename> directory and the source tree is untouched outside of the " "<filename>debian</filename> directory. The order of these patches is " "recorded in the <filename>debian/patches/series</filename> file. You can " "apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Der Befehl <command>quilt</command> wird in der Handbuchseite von " "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> erklärt. Er zeichnet Änderungen an den Quellen als Stapel " "von <literal>-p1</literal>-Patch-Dateien im Verzeichnis <filename>debian/" "patches</filename> auf, dadurch bleibt der Quelltextbaum außerhalb des " "<filename>debian</filename>-Verzeichnisses unangetastet. Die Reihenfolge der " "Patches wird in der Datei <filename>debian/patches/series</filename> " "gespeichert. Sie können die Patches leicht anwenden (=push), entfernen " "(=pop) und aktualisieren. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "For <xref linkend=\"modify\"/>, we created three patches in <filename>debian/" "patches</filename>." msgstr "" "Für den Abschnitt <xref linkend=\"modify\"/> haben wir drei Patches in " "<filename>debian/patches</filename> erstellt." #. type: Content of: <book><chapter><section><para> msgid "" "Since Debian patches are located in <filename>debian/patches</filename>, " "please make sure to set up the <command>dquilt</command> command properly as " "described in <xref linkend=\"quiltrc\"/>." msgstr "" "Da die Debian-Patches in <filename>debian/patches</filename> enthalten sind, " "stellen Sie bitte sicher, dass der Befehl <command>dquilt</command> korrekt " "eingerichtet ist, so wie in <xref linkend=\"quiltrc\"/> beschrieben." #. type: Content of: <book><chapter><section><para> msgid "" "When anyone (including yourself) provides a patch " "<filename><replaceable>foo</replaceable>.patch</filename> to the source " "later, modifying a <literal>3.0 (quilt)</literal> source package is quite " "simple:" msgstr "" "Wenn später jemand (Sie selbst eingeschlossen) einen Patch namens " "<filename><replaceable>foo</replaceable>.patch</filename> für die Quellen " "erstellt, ist die Veränderung eines <literal>3.0 (quilt)</literal>-" "Quellpakets recht einfach:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... describe patch\n" msgstr "" "$ dpkg-source -x gentoo_0.9.12.dsc\n" "$ cd gentoo-0.9.12\n" "$ dquilt import ../<replaceable>foo</replaceable>.patch\n" "$ dquilt push\n" "$ dquilt refresh\n" "$ dquilt header -e\n" "... Patch beschreiben\n" #. type: Content of: <book><chapter><section><para> msgid "" "The patches stored in the newer <literal>3.0 (quilt)</literal> source format " "must be <emphasis>fuzz</emphasis> free. You can ensure this with " "<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." msgstr "" "Die Patches, die in dem neuen Quellformat <literal>3.0 (quilt)</literal> " "gespeichert werden, müssen frei von Ungenauigkeiten (<emphasis>fuzz</" "emphasis>) sein. Sie können dies mit »<literal>dquilt pop -a; while dquilt " "push; do dquilt refresh; done</literal>« sicherstellen." #. type: Content of: <book><chapter><title> msgid "Building the package" msgstr "Bau des Pakets" #. type: Content of: <book><chapter><para> msgid "We should now be ready to build the package." msgstr "Nun sollten wir soweit sein, das Paket zu bauen." #. type: Content of: <book><chapter><section><title> msgid "Complete (re)build" msgstr "Kompletter (Neu-)Bau" #. type: Content of: <book><chapter><section><para> msgid "" "In order to perform a complete (re)build of a package properly, you need to " "make sure you have installed" msgstr "" "Um ein Paket ordnungsgemäß komplett (neu) zu bauen, müssen Sie Folgendes " "installiert haben:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "the <systemitem role=\"package\">build-essential</systemitem> package," msgstr "Das Paket <systemitem role=\"package\">build-essential</systemitem>," #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>), and" msgstr "" "die im Feld <literal>Build-Depends</literal> aufgelisteten Pakete (siehe " "<xref linkend=\"control\"/>) und" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends-indep</literal> field (see " "<xref linkend=\"control\"/>)." msgstr "" "die im Feld <literal>Build-Depends-Indep</literal> aufgelisteten Pakete " "(siehe <xref linkend=\"control\"/>)." #. type: Content of: <book><chapter><section><para> msgid "Then you issue the following command in the source directory:" msgstr "" "Dann führen Sie den folgenden Befehl im Quellverzeichnis des Programms aus:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage\n" msgstr "$ dpkg-buildpackage\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make full binary and source packages for you. It " "will:" msgstr "" "Dies wird alles für Sie erledigen, um vollständige Binärpakete und " "Quellpakete zu erstellen. Im Einzelnen:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "clean the source tree (<literal>debian/rules clean</literal>)" msgstr "" "Aufräumen des Quellverzeichnisbaums (»<literal>debian/rules clean</" "literal>«)," #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the source package (<literal>dpkg-source -b</literal>)" msgstr "Bauen des Quellpakets (»<literal>dpkg-source -b</literal>«)," #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build the program (<literal>debian/rules build</literal>)" msgstr "Bauen des Programms (»<literal>debian/rules build</literal>«)," #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)" msgstr "" "Bauen der Binärpakete (»<literal>fakeroot debian/rules binary</literal>«)," #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "sign the source <filename>.dsc</filename> file, using <command>gpg</command>" msgstr "" "Unterschreiben der <filename>.dsc</filename>-Quelldatei mit <command>gpg</" "command>," #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "create and sign the upload <filename>.changes</filename> file, using " "<command>dpkg-genchanges</command> and <command>gpg</command>" msgstr "" "Erstellen und Unterschreiben der für das Hochladen notwendigen <filename>." "changes</filename>-Datei mit <command>dpkg-genchanges</command> und " "<command>gpg</command>." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This GPG key must be signed by a Debian developer to get connected to the " "web of trust and must be registered to <ulink url=\"&keyring;\">the Debian " "keyring</ulink>. This enables your uploaded packages to be accepted to the " "Debian archives. See <ulink url=\"&keycreate;\">Creating a new GPG key</" "ulink> and <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." msgstr "" "Dieser GPG-Schlüssel muss von einem Debian-Entwickler unterschrieben worden " "sein, um mit dem Vertrauensnetz verbunden zu sein, und muss <ulink url=" "\"&keyring;\">im Debian-Schlüsselring</ulink> registriert sein. Dies " "ermöglicht es, dass Ihre hochgeladenen Pakete im Debian-Archiv akzeptiert " "werden. Lesen Sie <ulink url=\"&keycreate;\">Creating a new GPG key</ulink> " "und <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The only input that will be required of you is your GPG secret pass phrase, " "twice. <placeholder type=\"footnote\" id=\"0\"/> If you are building Debian " "packages only for your own local use, you can skip promptings for the GPG " "signatures on the <filename>.dsc</filename> file and the <filename>.changes</" "filename> file like this:" msgstr "" "Die einzige benötigte Eingabe ist die zweimalige Eingabe Ihrer GPG-" "Passphrase. <placeholder type=\"footnote\" id=\"0\"/> Falls Sie Debian-" "Pakete nur für die lokale Verwendung bauen, können Sie wie folgt die Abfrage " "der GPG-Unterschriften für die Dateien <filename>.dsc</filename> und " "<filename>.changes</filename> überspringen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -us -uc\n" msgstr "$ dpkg-buildpackage -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "" "For a non-native Debian package, e.g., <systemitem role=\"package\">gentoo</" "systemitem>, you will see the following files in the parent directory " "(<filename>~/gentoo</filename>) after building packages:" msgstr "" "Für nicht native Debian-Pakete, z.B. <systemitem role=\"package\">gentoo</" "systemitem>, werden Sie die folgenden Dateien im übergeordneten Verzeichnis " "(<filename>~/gentoo</filename>) nach dem Paketbau sehen:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the original upstream source code tarball, merely renamed to the " "above so that it adheres to the Debian standard. Note that this was created " "initially by the <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." msgstr "" "Dies ist der ursprüngliche Quelltext-Tarball der Originalautoren, lediglich " "umbenannt, um dem Debian-Standard zu genügen. Beachten Sie, dass diese " "Umbenennung beim initialen Aufruf von »<literal>dh_make -f ../gentoo-0.9.12." "tar.gz</literal>« erfolgt ist." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.dsc</filename>" msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code. The file is generated " "from your <filename>control</filename> file, and is used when unpacking the " "source with <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry>. This file is GPG signed, so that " "people can be sure that it's really yours." msgstr "" "Dies ist eine Zusammenfassung des Inhalts des Quellcode-Pakets. Diese Datei " "wird aus Ihrer Datei <filename>control</filename> erzeugt und für das " "Entpacken des Quellcodes mittels <citerefentry> <refentrytitle>dpkg-source</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> benötigt. Diese " "Datei ist mit GPG unterschrieben, so dass man sich vergewissern kann, dass " "sie von Ihnen kommt." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" msgstr "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This compressed tarball contains your <filename>debian</filename> directory " "contents. Each and every addition you made to the original source code is " "stored as a <command>quilt</command> patch in <filename>debian/patches</" "filename>." msgstr "" "Dieser komprimierte Tarball enthält die Dateien aus Ihrem <filename>debian</" "filename>-Verzeichnis. Jede einzelne Änderung, die Sie am ursprünglichen " "Code vorgenommen haben, wird als <command>quilt</command>-Patch in " "<filename>debian/patches</filename> gespeichert." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can avoid applying <command>quilt</command> patches in the <literal>3.0 " "(quilt)</literal> source format at the end of the extraction with the " "<literal>--skip-patches</literal> option. Alternatively, you can run " "<literal>dquilt pop -a</literal> after normal operation." msgstr "" "Sie können das Anwenden der <command>quilt</command>-Patches im <literal>3.0 " "(quilt)</literal>-Quellformat am Ende des Auspackens verhindern, indem Sie " "die Option <literal>--skip-patches</literal> benutzen. Alternativ können Sie " "»<literal>dquilt pop -a</literal>« nach dem normalen Auspacken aufrufen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If someone else wants to re-create your package from scratch, they can " "easily do so using the above three files. The extraction procedure is " "trivial: just copy the three files somewhere else and run <literal>dpkg-" "source -x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Wenn jemand Ihr Paket von Grund auf neu bauen will, kann er dafür einfach " "die drei oben genannten Dateien verwenden. Das Verfahren des Auspackens ist " "trivial: Kopieren Sie einfach die drei Dateien in ein Verzeichnis und führen " "Sie »<literal>dpkg-source -x gentoo_0.9.12-1.dsc</literal>« aus. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package. You can use <command>dpkg</command> " "to install and remove this just like any other package." msgstr "" "Das ist Ihr fertiges Binärpaket. Sie können es mit <command>dpkg</command> " "installieren und wieder entfernen wie jedes andere Paket auch." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package revision; it " "is used by the Debian FTP archive maintenance programs to install the binary " "and source packages. It is partly generated from the <filename>changelog</" "filename> file and the <filename>.dsc</filename> file. This file is GPG " "signed, so that people can be sure that it's really yours." msgstr "" "Diese Datei beschreibt alle Änderungen in dieser Paket-Revision. Die " "Verwaltungsprogramme für Debians FTP-Archive benötigen diese Datei zur " "Installation der Binär- und Quellcodepakete im FTP-Archiv. Sie wird zum Teil " "aus den Dateien <filename>changelog</filename> und <filename>.dsc</filename> " "erzeugt. Diese Datei ist mit GPG unterschrieben, so dass man sicher sein " "kann, dass sie wirklich von Ihnen ist." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "As you keep working on the package, its behavior will change and new " "features will be added. People downloading your package can look at this " "file and quickly see what has changed. Debian archive maintenance programs " "will also post the contents of this file to the <ulink url=\"&debian-devel-" "changes-ldo;\">debian-devel-changes@lists.debian.org</ulink> mailing list." msgstr "" "Wenn Sie weiter an dem Paket arbeiten, wird sich sein Verhalten ändern und " "neue Funktionen werden hinzugefügt. Leute, die Ihr Paket herunterladen, " "können sich diese Datei ansehen und feststellen, was sich geändert hat. Die " "Verwaltungsprogramme für das Debian-Archiv werden den Inhalt dieser Datei " "auch an die Mailingliste <ulink url=\"&debian-devel-changes-ldo;\">debian-" "devel-changes@lists.debian.org</ulink> schicken." #. type: Content of: <book><chapter><section><para> msgid "" "The long strings of numbers in the <filename>.dsc</filename> and <filename>." "changes</filename> files are SHA1/SHA256 checksums for the files mentioned. " "Anyone downloading your files can test them with <citerefentry> " "<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> or <citerefentry> <refentrytitle>sha256sum</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> and if the numbers don't match, " "they'll know the file is corrupt or has been tampered with." msgstr "" "Die langen Zahlenreihen in den Dateien <filename>.dsc</filename> und " "<filename>.changes</filename> sind SHA1/SHA256-Prüfsummen der aufgelisteten " "Dateien. Jeder, der Ihr Paket herunterlädt, kann die enthaltenen Dateien mit " "<citerefentry> <refentrytitle>sha1sum</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> oder <citerefentry> <refentrytitle>sha256sum</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> testen. Wenn die " "Zahlen nicht übereinstimmen, weiß er, die geprüfte Datei ist beschädigt oder " "manipuliert." #. type: Content of: <book><chapter><section><para> msgid "" "For a native Debian package, e.g., <systemitem role=\"package\">mypackage</" "systemitem>, you will see the following files in the parent directory after " "building packages:" msgstr "" "Für ein natives Debian-Paket, z.B. <systemitem role=\"package\">MeinPaket</" "systemitem>, werden Sie die folgenden Dateien im übergeordneten Verzeichnis " "nach dem Paketbau sehen:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.tar.gz</filename>" msgstr "<filename>meinpaket_1.0.tar.gz</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is the source code tarball created from the <filename>mypackage-1.0</" "filename> directory by the <command>dpkg-source</command> command. (Its " "suffix is not <filename>orig.tar.gz</filename>.)" msgstr "" "Dies ist der Quellcode-Tarball, der von dem Verzeichnis " "<filename>MeinPaket-1.0</filename> durch den Befehl <command>dpkg-source</" "command> erstellt wurde. (Seine Endung ist nicht <filename>orig.tar.gz</" "filename>.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0.dsc</filename>" msgstr "<filename>meinpaket_1.0.dsc</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is a summary of the contents of the source code as in the non-native " "Debian package. (There is no Debian revision.)" msgstr "" "Dies ist eine Zusammenfassung der Inhalte des Quellcodes, wie in dem nicht " "nativen Debian-Paket. (Es gibt keine Debian-Revision.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.deb</filename>" msgstr "<filename>meinpaket_1.0_i386.deb</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This is your completed binary package as in the non-native Debian package. " "(There is no Debian revision.)" msgstr "" "Dies ist Ihr komplettes Binärpaket wie in dem nicht nativen Debian-Paket. " "(Es gibt keine Debian-Revision.)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<filename>mypackage_1.0_i386.changes</filename>" msgstr "<filename>meinpaket_1.0_i386.changes</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "This file describes all the changes made in the current package version as " "in the non-native Debian package. (There is no Debian revision.)" msgstr "" "Diese Datei beschreibt wie in dem nicht nativen Debian-Paket alle " "Änderungen, die in der aktuellen Paketversion erfolgten. (Es gibt keine " "Debian-Revision.)" #. type: Content of: <book><chapter><section><title> msgid "Autobuilder" msgstr "Autobuilder" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The actual autobuilder system involves much more complicated schemes than " "the one documented here. Such details are beyond the scope of this document." msgstr "" "Das tatsächliche Autobuilder-System besteht aus einem wesentlich " "komplizierteren Schema als dem hier dargestellten. Diese Details führen aber " "hier zu weit." #. type: Content of: <book><chapter><section><para> msgid "" "Debian supports many <ulink url=\"&ports;\">ports</ulink> with the <ulink " "url=\"&buildd;\">autobuilder network</ulink> running <command>buildd</" "command> daemons on computers of many different architectures. Although you " "do not need to do this yourself, you should be aware of what will happen to " "your packages. Let's look into roughly how they rebuild your packages for " "multiple architectures. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Debian unterstützt viele <ulink url=\"&ports;\">Portierungen</ulink> mit dem " "<ulink url=\"&buildd;\">Autobuilder-Netz</ulink>, das <command>buildd</" "command>-Daemons auf vielen verschiedenen Rechnerarchitekturen ausführt. " "Obwohl Sie dies nicht selbst durchführen müssen, sollte Ihnen bewusst sein, " "was mit Ihren Paketen passiert. Lassen Sie uns einen kurzen Blick darauf " "werfen, wie Ihre Pakete vom Autobuilder-Netz für verschiedene Architekturen " "neu gebaut werden. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "For <literal>Architecture: any</literal> packages, the autobuilder system " "performs a rebuild. It ensures the installation of" msgstr "" "Für Pakete mit »<literal>Architecture: any</literal>« für das Autobuilder-" "System eine Neuübersetzung durch. Es stellt folgende Installationen sicher:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "the <systemitem role=\"package\">build-essential</systemitem> package, and" msgstr "" "des Pakets <systemitem role=\"package\">build-essential</systemitem> und" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "packages listed in the <literal>Build-Depends</literal> field (see <xref " "linkend=\"control\"/>)." msgstr "" "der Pakete, die im Feld <literal>Build-Depends</literal> (siehe <xref " "linkend=\"control\"/>) aufgeführt sind." #. type: Content of: <book><chapter><section><para> msgid "Then it issues the following command in the source directory:" msgstr "Dann führt es den folgenden Befehl im Quellverzeichnis aus:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -B\n" msgstr "$ dpkg-buildpackage -B\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will do everything to make architecture dependent binary packages on " "another architecture. It will:" msgstr "" "Hiermit wird alles erledigt, um ein architekturabhängiges Binärpaket für " "eine andere Architektur zu erstellen. Im Einzelnen:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "build architecture dependent binary packages (<literal>fakeroot debian/rules " "binary-arch</literal>)" msgstr "" "Bauen der architekturabhängigen Binärpakete (»<literal>fakeroot debian/rules " "binary-arch</literal>«)" #. type: Content of: <book><chapter><section><para> msgid "This is why you see your package for other architectures." msgstr "" "Das ist der Grund, weshalb Sie Ihr Paket auch für andere Architekturen sehen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Unlike under the <systemitem role=\"package\">pbuilder</systemitem> package, " "the <command>chroot</command> environment under the <systemitem role=" "\"package\">sbuild</systemitem> package used by the autobuilder system does " "not enforce the use of a minimal system and may have many leftover packages " "installed." msgstr "" "Im Gegensatz zum <systemitem role=\"package\">pbuilder</systemitem>-Paket " "erzwingt die <command>chroot</command>-Umgebung im Paket <systemitem role=" "\"package\">sbuild</systemitem>, die vom Autobuilder-System verwendet wird, " "keine Verwendung einer Minimalumgebung. Daher können übriggebliebene Pakete " "installiert sein." #. type: Content of: <book><chapter><section><para> msgid "" "Although packages listed in the <literal>Build-Depends-Indep</literal> field " "are required to be installed for our normal packaging work (see <xref " "linkend=\"completebuild\"/>), they are not required to be installed for the " "autobuilder system since it builds only architecture dependent binary " "packages. <placeholder type=\"footnote\" id=\"0\"/> This distinction " "between normal packaging and autobuilding procedures is what dictates " "whether you should record such required packages in the <literal>Build-" "Depends</literal> or <literal>Build-Depends-Indep</literal> fields of the " "<filename>debian/control</filename> file (see <xref linkend=\"control\"/>)." msgstr "" "Obwohl Pakete, die im Feld <literal>Build-Depends-Indep</literal> aufgeführt " "sind, installiert sein müssen, wenn wir das Paket bauen (siehe <xref linkend=" "\"completebuild\"/>), müssen diese auf dem Autobuilder-System nicht " "installiert sein, weil es nur architekturabhängige Binärpakete baut. " "<placeholder type=\"footnote\" id=\"0\"/> Diese Unterscheidung zwischen dem " "normalen Bau und der Situation bei dem Autobuilder-Ablauf entscheidet " "darüber, ob Sie solche erforderlichen Pakete im Feld <literal>Build-Depends</" "literal> oder <literal>Build-Depends-Indep</literal> der Datei " "<filename>debian/control</filename> auflisten (siehe <xref linkend=\"control" "\"/>)." #. type: Content of: <book><chapter><section><title> msgid "<command>debuild</command> command" msgstr "Der Befehl <command>debuild</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can automate the <command>dpkg-buildpackage</command> command's package " "build process further with the <command>debuild</command> command. See " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." msgstr "" "Sie können den Prozess des Paketbauens mit <command>dpkg-buildpackage</" "command> mit dem Befehl <command>debuild</command> automatisieren. Siehe " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><para> msgid "" "Customization of the <command>debuild</command> command can be done through " "<filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</" "filename>. I would suggest at least the following items:" msgstr "" "Der Befehl <command>debuild</command> kann in den Dateien <filename>/etc/" "devscripts.conf</filename> oder <filename>~/.devscripts</filename> " "benutzerbezogen angepasst werden. Ich würde mindestens die folgenden " "Einträge empfehlen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "DEBSIGN_KEYID=Your_GPG_keyID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" msgstr "" "DEBSIGN_KEYID=Ihre_GPG_Schlüssel_ID\n" "DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "With these, packages are signed by your specified GPG key ID (good for " "sponsoring packages) and checked in detail by the <command>lintian</command> " "command." msgstr "" "Damit werden Ihre gebauten Pakete mit Ihrem GPG-Schlüssel unterschrieben " "(das ist gut für Sponsoren geeignet) und vom Befehl <command>lintian</" "command> detailliert überprüft." #. type: Content of: <book><chapter><section><para> msgid "" "Cleaning the source and rebuilding the package from your user account is as " "simple as:" msgstr "" "Jetzt kann das Säubern des Quellverzeichnisses und Neubauen des Pakets als " "Ihr Benutzer einfach so durchgeführt werden:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild\n" msgstr "$ debuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your own local use, you " "can skip promptings for the GPG signatures on the <filename>.dsc</filename> " "file and the <filename>.changes</filename> file like this:" msgstr "" "Falls Sie Debian-Pakete nur für die lokale Verwendung bauen, können Sie hier " "die Abfrage für die GPG-Unterschriften für die Dateien <filename>.dsc</" "filename> und <filename>.changes</filename> wie folgt überspringen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -us -uc\n" msgstr "$ debuild -us -uc\n" #. type: Content of: <book><chapter><section><para> msgid "You can clean the source tree as simply as:" msgstr "Sie können das Quellverzeichnis einfach so säubern:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild clean\n" msgstr "$ debuild clean\n" #. type: Content of: <book><chapter><section><title> msgid "<systemitem role=\"package\">pbuilder</systemitem> package" msgstr "Das Paket <systemitem role=\"package\">pbuilder</systemitem>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Since the <systemitem role=\"package\">pbuilder</systemitem> package is " "still evolving, you should check the actual configuration situation by " "consulting the latest official documentation." msgstr "" "Weil das Paket <systemitem role=\"package\">pbuilder</systemitem> ständig " "weiterentwickelt wird, sollten Sie die tatsächliche Konfiguration " "herausfinden, indem Sie die aktuelle offizielle Dokumentation durchlesen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&buildd-do;\"/> for more on Debian package auto-building." msgstr "" "Lesen Sie <ulink url=\"&buildd-do;\"/> für weitere Informationen über das " "automatische Bauen von Debian-Paketen." #. type: Content of: <book><chapter><section><para> msgid "" "For a clean room (<command>chroot</command>) build environment to verify the " "build dependencies, the <systemitem role=\"package\">pbuilder</systemitem> " "package is very useful. <placeholder type=\"footnote\" id=\"0\"/> This " "ensures a clean build from the source under the <literal>sid</literal> auto-" "builder for different architectures and avoids a severity serious FTBFS " "(Fails To Build From Source) bug which is always in the RC (release " "critical) category. <placeholder type=\"footnote\" id=\"1\"/>" msgstr "" "Um die Abhängigkeiten für den Bau in einer sauberen Umgebung " "(<command>chroot</command>) zu überprüfen, ist das Paket <systemitem role=" "\"package\">pbuilder</systemitem> sehr gut geeignet. <placeholder type=" "\"footnote\" id=\"0\"/> Es stellt sicher, dass das Paket aus den Quellen auf " "einem <literal>Sid</literal>-Autobuilder für verschiedene Architekturen " "gebaut werden kann. Weiterhin wird hierdurch ein schwerwiegender FTBFS-" "Fehler (»Fails To Build From Source«, kann nicht aus den Quellen gebaut " "werden) verhindert, der immer als release-kritisch (RC) angesehen wird. " "<placeholder type=\"footnote\" id=\"1\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " "package as follows:" msgstr "" "Lassen Sie uns das Paket <systemitem role=\"package\">pbuilder</systemitem> " "folgendermaßen anpassen:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "setting the <filename>/var/cache/pbuilder/result</filename> directory " "writable by your user account." msgstr "" "Machen Sie das Verzeichnis <filename>/var/cache/pbuilder/result</filename> " "für Ihr Benutzerkonto schreibbar." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" "hooks</replaceable></filename>, writable by the user, to place hook scripts " "in." msgstr "" "Erstellen Sie ein Verzeichnis, z.B. <filename><replaceable>/var/cache/" "pbuilder/hooks</replaceable></filename>, das ebenfalls für den Benutzer " "schreibbar ist, so dass Hook-Skripts dort abgelegt werden können." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "configuring <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" "filename> to include the following." msgstr "" "Konfigurieren Sie die Datei <filename>~/.pbuilderrc</filename> oder " "<filename>/etc/pbuilderrc</filename>, so dass sie folgendes enthält:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" msgstr "" "AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n" "HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "This will allow you to sign generated packages with your secret GPG key in " "the <filename>~/.gnupg/</filename> directory." msgstr "" "Hiermit können Sie erstellte Pakete mit Ihrem geheimen GPG-Schlüssel im " "Verzeichnis <filename>~/.gnupg/</filename> unterschreiben." #. type: Content of: <book><chapter><section><para> msgid "" "First let's initialize the local <systemitem role=\"package\">pbuilder</" "systemitem> <command>chroot</command> system as follows." msgstr "" "Lassen Sie uns zuerst das lokale <systemitem role=\"package\">pbuilder</" "systemitem>-<command>chroot</command>-System wie folgt initialisieren:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo pbuilder create\n" msgstr "$ sudo pbuilder create\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you already have a completed source package, issue the following commands " "in the directory where the <filename><replaceable>foo</replaceable>.orig.tar." "gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</" "filename>, and <filename><replaceable>foo</replaceable>.dsc</filename> files " "exist to update the local <systemitem role=\"package\">pbuilder</systemitem> " "<command>chroot</command> system and to build binary packages in it." msgstr "" "Falls Sie ein Quellpaket schon komplett fertiggestellt haben, führen Sie die " "folgenden Befehle in dem Verzeichnis aus, in dem die Dateien " "<filename><replaceable>foo</replaceable>.orig.tar.gz</filename>, " "<filename><replaceable>foo</replaceable>.debian.tar.gz</filename> und " "<filename><replaceable>foo</replaceable>.dsc</filename> liegen, um das " "lokale <systemitem role=\"package\">pbuilder</systemitem>-<command>chroot</" "command>-System zu aktualisieren und Binärpakete darin zu bauen." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" msgstr "" "$ sudo pbuilder --update\n" "$ sudo pbuilder --build <replaceable>foo_Version</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "The newly built packages without the GPG signatures will be located in " "<filename>/var/cache/pbuilder/result/</filename> with non-root ownership." msgstr "" "Die neu erstellten Pakete ohne GPG-Signaturen werden unter <filename>/var/" "cache/pbuilder/result/</filename> mit einem nicht-root-Eigentümer abgelegt." #. type: Content of: <book><chapter><section><para> msgid "" "The GPG signatures on the <filename>.dsc</filename> file and the <filename>." "changes</filename> file can be generated as:" msgstr "" "Die GPG-Unterschriften für die Dateien <filename>.dsc</filename> und " "<filename>.changes</filename> können wie folgt erstellt werden:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_version</replaceable>.dsc\n" "$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" msgstr "" "$ cd /var/cache/pbuilder/result/\n" "$ debsign <replaceable>foo_Version</replaceable>.dsc\n" "$ debsign <replaceable>foo_Version_Arch</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "If you have an updated source tree but have not generated the matching " "source package, issue the following commands in the source directory where " "the <filename>debian</filename> directory exists, instead." msgstr "" "Falls Sie bereits ein aktualisiertes Quellverzeichnis haben, ohne dass die " "dazu passenden Quellpakete erstellt wurden, führen Sie stattdessen die " "folgenden Befehle in dem Quellverzeichnis aus, in dem das Verzeichnis " "<filename>debian</filename> enthalten ist:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo pbuilder --update\n" "$ pdebuild\n" msgstr "" "$ sudo pbuilder --update\n" "$ pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "Here, if you are building Debian packages only for your local use, you can " "skip promptings for the GPG signatures on the <filename>.dsc</filename> file " "and the <filename>.changes</filename> file as:" msgstr "" "Falls Sie Debian-Pakete nur für die lokale Verwendung bauen, können Sie hier " "die Abfrage für die GPG-Unterschriften für die Dateien <filename>.dsc</" "filename> und <filename>.changes</filename> wie folgt überspringen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ AUTO_DEBSIGN=no pdebuild\n" msgstr "$ AUTO_DEBSIGN=no pdebuild\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can log into its <command>chroot</command> environment with the " "<literal>pbuilder --login --save-after-login</literal> command and configure " "it as you wish. This environment can be saved by leaving its shell prompt " "with <literal>^D</literal> (Control-D)." msgstr "" "Sie können sich in der erstellten <command>chroot</command>-Umgebung " "anmelden, indem Sie den Befehl »<literal>pbuilder --login --save-after-" "login</literal>« verwenden und diese dann so einrichten wie Sie wollen. " "Diese Umgebung kann gespeichert werden, indem die Shell-Eingabeaufforderung " "mittels <literal>^D</literal> (Steuerung-D) verlassen wird." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You can " "find many examples of hook scripts in the <filename>/usr/share/doc/pbuilder/" "examples</filename> directory." msgstr "" "Dies setzt <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal> voraus. Sie " "finden viele Beispiele für Hook-Skripte im Verzeichnis <filename>/usr/share/" "doc/pbuilder/examples</filename>." #. type: Content of: <book><chapter><section><para> msgid "" "The latest version of the <command>lintian</command> command can be executed " "in the <literal>chroot</literal> environment using the hook script " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> configured as follows. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Die aktuelle Version des Programms <command>lintian</command> kann in der " "<literal>chroot</literal>-Umgebung ausgeführt werden, indem das Hook-Skript " "<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" "filename> wie folgt eingerichtet wird. <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# use this version if you don't want lintian to fail the build\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" msgstr "" "#!/bin/sh\n" "set -e\n" "install_packages() {\n" " apt-get -y --force-yes install \"$@\"\n" " }\n" "install_packages lintian\n" "echo \"+++ lintian output +++\"\n" "su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" "# Verwenden Sie diese Version, falls Lintian beim Bau nicht fehlschlagen soll\n" "#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" "echo \"+++ end of lintian output +++\"\n" #. type: Content of: <book><chapter><section><para> msgid "" "You need to have access to the latest <literal>sid</literal> environment to " "build packages properly for <literal>sid</literal>. In practice, " "<literal>sid</literal> may be experiencing issues which makes it undesirable " "for you to migrate your whole system. The <systemitem role=\"package" "\">pbuilder</systemitem> package can help you to cope with this kind of " "situation." msgstr "" "Sie müssen Zugriff auf die neueste <literal>Sid</literal>-Umgebung haben, " "damit Sie Pakete korrekt für <literal>Sid</literal> bauen können. Allerdings " "kann es in <literal>Sid</literal> immer wieder mal Probleme geben, so dass " "Sie wahrscheinlich nicht Ihr gesamtes System umstellen wollen. Das Paket " "<systemitem role=\"package\">pbuilder</systemitem> bietet einen Ausweg für " "diese Situation." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are some restrictions for such updates of your <literal>stable</" "literal> package." msgstr "" "Es gibt für Aktualisierungen Ihrer <literal>Stable</literal>-Pakete einige " "Einschränkungen." #. type: Content of: <book><chapter><section><para> msgid "" "You may need to update your <literal>stable</literal> packages after their " "release for <literal>stable-proposed-updates</literal>, <literal>stable/" "updates</literal>, etc. <placeholder type=\"footnote\" id=\"0\"/> For such " "occasions, the fact you may be running a <literal>sid</literal> system is " "not a good enough excuse for failing to update them promptly. The " "<systemitem role=\"package\">pbuilder</systemitem> package can help you to " "access environments of almost any Debian derivative distribution of the same " "architecture." msgstr "" "Es kann vorkommen, dass Sie Ihre Pakete für <literal>Stable</literal> " "aktualisieren müssen, nachdem sie veröffentlicht worden sind, beispielsweise " "über <literal>stable-proposed-updates</literal>, <literal>stable/updates</" "literal> usw. <placeholder type=\"footnote\" id=\"0\"/> In einem solchen " "Fall sollten Sie Ihre Pakete zügig aktualisieren, die Ausrede, dass Sie ein " "<literal>Sid</literal>-System verwenden, ist nicht akzeptabel. Das Paket " "<systemitem role=\"package\">pbuilder</systemitem> kann Ihnen dabei helfen, " "auf nahezu jede Debian-basierte Distribution derselben Architektur " "zuzugreifen." #. type: Content of: <book><chapter><section><para> msgid "" "See <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>, and <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." msgstr "" "Siehe <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " "<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry> und <citerefentry> <refentrytitle>pbuilder</refentrytitle> " "<manvolnum>8</manvolnum> </citerefentry>." #. type: Content of: <book><chapter><section><title> msgid "<command>git-buildpackage</command> command and similars" msgstr "Der Befehl <command>git-buildpackage</command> und ähnliche" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more." msgstr "" "Lesen Sie <ulink url=\"&debref-vcs;\">Version control systems</ulink> für " "mehr Informationen." #. type: Content of: <book><chapter><section><para> msgid "" "If your upstream uses a source code management system (VCS) <placeholder " "type=\"footnote\" id=\"0\"/> to maintain their code, you should consider " "using it as well. This makes merging and cherry-picking upstream patches " "much easier. There are several specialized wrapper script packages for " "Debian package building for each VCS." msgstr "" "Falls der Autor des ursprünglichen Programms ein Quelltext-" "Verwaltungsprogramm (VCS) <placeholder type=\"footnote\" id=\"0\"/> zur " "Betreuung des Codes einsetzt, sollten Sie darüber nachdenken, dies ebenfalls " "zu tun. Damit wird das Zusammenführen und Herauspicken von Patches des " "Originalautors wesentlich einfacher. Es gibt verschiedene Pakete, die " "spezialisierte Wrapper-Skripte enthalten, die das Bauen eines Debian-Pakets " "mit dem jeweiligen VCS erleichtern." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">git-buildpackage</systemitem>: a suite to help " "with Debian packages in Git repositories." msgstr "" "<systemitem role=\"package\">git-buildpackage</systemitem>: Eine Suite zur " "Unterstützung von Debian-Paketen in Git-Depots." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: helper programs " "to maintain Debian packages with Subversion." msgstr "" "<systemitem role=\"package\">svn-buildpackage</systemitem>: Hilfsprogramme " "zur Betreuung von Debian-Paketen mit Subversion." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: a set of Debian " "package scripts for CVS source trees." msgstr "" "<systemitem role=\"package\">cvs-buildpackage</systemitem>: Eine Sammlung " "von Skripten für Debian-Pakete in CVS-Quelltextbäumen." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documents how " "to use the <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> service." msgstr "" "Das Dokument <ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> " "dokumentiert, wie der Dienst <ulink url=\"&debian-alioth;\">alioth.debian." "org</ulink> verwandt wird." #. type: Content of: <book><chapter><section><para> msgid "" "Use of <systemitem role=\"package\">git-buildpackage</systemitem> is " "becoming quite popular for Debian Developers to manage Debian packages with " "the Git server on <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>. " "<placeholder type=\"footnote\" id=\"0\"/> This package offers many commands " "to <emphasis>automate</emphasis> packaging activities." msgstr "" "Die Verwendung von <systemitem role=\"package\">git-buildpackage</" "systemitem> ist bei Debian-Entwicklern recht beliebt, um Debian-Pakete mit " "dem Git-Server auf <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> " "zu verwalten. <placeholder type=\"footnote\" id=\"0\"/> Dieses Paket bietet " "viele Befehle, um Paketierungsaktivitäten zu <emphasis>automatisieren</" "emphasis>." # FIXME: s/previous/a previous/ #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import previous Debian package to a Git " "repository." msgstr "" "<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: Import eines bestehenden Debian-Pakets in ein " "Git-Depot." # FIXME: s/new/a new/ #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: import new upstream tar to a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: Import eines neuen Tars der Originalautoren in " "ein Git-Depot." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: generate the Debian changelog from Git commit " "messages." msgstr "" "<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: Erstellung des Debian-Changelogs aus Git-Commit-" "Nachrichten." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository." msgstr "" "<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: Bau von Debian-Paketen aus einem Git-Depot." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: build Debian packages from a Git repository " "using <command>pbuilder</command>/<command>cowbuilder</command>." msgstr "" "<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>: Bau von Debian-Paketen aus einem Git-Depot mit " "<command>pbuilder</command>/<command>cowbuilder</command>." #. type: Content of: <book><chapter><section><para> msgid "These commands use 3 branches to track packaging activity." msgstr "" "Diese Befehle verwenden drei Zweige, um die Paktierungsaktivitäten " "nachzuverfolgen" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>main</literal> for Debian package source tree." msgstr "<literal>main</literal> für den Debian-Paketierungsquellbaum" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "<literal>upstream</literal> for upstream source tree." msgstr "<literal>upstream</literal> für den Quellbaum der Originalautoren" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "The <literal>--pristine-tar</literal> option invokes the <command>pristine-" "tar</command> command which can regenerate an exact copy of a pristine " "upstream tarball using only a small binary delta file and the contents of " "the tarball, which are typically kept in an <literal>upstream</literal> " "branch in the VCS." msgstr "" "Die Option <literal>--pristine-tar</literal> ruft den Befehl " "<command>pristine-tar</command> auf, der eine exakte Kopie des " "ursprünglichen Tarballs erneut erstellt und dabei nur eine kleine binäre " "Deltadatei und den Inhalt des Tarballs verwendet, der typischerweise im " "Zweig <literal>upstream</literal> des VCS gehalten wird." # FIXME: Missing Space bevor placeholder? #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>pristine-tar</literal> for upstream tarball generated by the " "<literal>--pristine-tar</literal> option.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<literal>pristine-tar</literal> für Tarbälle der Originalautoren, die mit " "der Option <literal>--pristine-tar</literal> erstellt wurden.<placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "Here are some web resources available for advanced audiences." msgstr "Hier sind einige Quellen im Web für fortgeschrittene Anwender." #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "Building Debian Packages with git-buildpackage (<filename>&git-buildpackage-" "doc;</filename>)" msgstr "" "»Building Debian Packages with git-buildpackage« (<filename>&git-" "buildpackage-doc;</filename>)" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" msgstr "»<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>«" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" msgstr "" "»<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</" "ulink>«" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" msgstr "" "»<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>«" #. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> msgid "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" msgstr "" "<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " "packaging</ulink>" #. type: Content of: <book><chapter><section><para> msgid "" "You can configure <systemitem role=\"package\">git-buildpackage</systemitem> " "with <filename>~/.gbp.conf</filename>. See <citerefentry> <refentrytitle>gbp." "conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Sie können <systemitem role=\"package\">git-buildpackage</systemitem> mit " "<filename>~/.gbp.conf</filename> konfigurieren. Lesen Sie <citerefentry> " "<refentrytitle>gbp.conf</refentrytitle> <manvolnum>5</manvolnum> </" "citerefentry>. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><title> msgid "Quick rebuild" msgstr "Schneller Neubau" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "Environment variables which are normally configured to proper values are not " "set by this method. Never create real packages to be uploaded using this " "<emphasis role=\"strong\">quick</emphasis> method." msgstr "" "Umgebungsvariablen, die normalerweise auf vernünftige Werte gesetzt sind, " "werden bei dieser Methode nicht eingerichtet. Erstellen Sie niemals echte " "Pakete, die hochgeladen werden sollen, mit dieser <emphasis role=\"strong" "\">schnellen</emphasis> Methode." #. type: Content of: <book><chapter><section><para> msgid "" "With a large package, you may not want to rebuild from scratch every time " "while you're tuning details in <filename>debian/rules</filename>. For " "testing purposes, you can make a <filename>.deb</filename> file without " "rebuilding the upstream sources like this<placeholder type=\"footnote\" id=" "\"0\"/>:" msgstr "" "Bei einem großen Paket wollen Sie bestimmt nicht alles nach jeder kleiner " "Änderung in <filename>debian/rules</filename> neu kompilieren. Für " "Testzwecke können Sie folgendermaßen eine <filename>.deb</filename>-Datei " "erstellen, ohne alle Schritte durchzumachen<placeholder type=\"footnote\" id=" "\"0\"/>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules binary\n" msgstr "$ fakeroot debian/rules binary\n" #. type: Content of: <book><chapter><section><para> msgid "Or simply do the following to see if it builds or not:" msgstr "" "Oder noch einfacher, falls Sie nur feststellen wollen, ob das Paket gebaut " "werden kann oder nicht:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ fakeroot debian/rules build\n" msgstr "$ fakeroot debian/rules build\n" #. type: Content of: <book><chapter><section><para> msgid "" "Once you are finished with your tuning, remember to rebuild following the " "proper procedure. You may not be able to upload correctly if you try to " "upload <filename>.deb</filename> files built this way." msgstr "" "Wenn Sie mit Ihren Anpassungen fertig sind, vergessen Sie nicht, das Paket " "gemäß der korrekten Prozedur neu zu bauen. Sie werden <filename>.deb</" "filename>-Dateien, die auf diese Weise gebaut wurden, nicht korrekt " "hochladen können." #. type: Content of: <book><chapter><title> msgid "Checking the package for errors" msgstr "Überprüfen des Pakets auf Fehler" #. type: Content of: <book><chapter><para> msgid "" "There are some techniques you should know for checking a package for errors " "before uploading it to the public archives." msgstr "" "Es gibt einige Techniken, die Sie zum Überprüfen eines Pakets auf Fehler vor " "dem Upload in das öffentliche Archiv wissen sollten." #. type: Content of: <book><chapter><para> msgid "" "It's also a good idea to carry out testing on a machine other than your " "own. You must watch closely for any warnings or errors for all the tests " "described here." msgstr "" "Es empfiehlt sich auch, das Testen auf einem von Ihrer Maschine " "verschiedenen Rechner auszuführen. Sie müssen genau auf alle Warnungen und " "Fehler für alle hier beschriebenen Tests achten." #. type: Content of: <book><chapter><section><title> msgid "Suspicious changes" msgstr "Merkwürdige Änderungen" #. type: Content of: <book><chapter><section><para> msgid "" "If you find a new autogenerated patch file such as <filename>debian-changes-" "*</filename> in the <filename>debian/patches</filename> directory after " "building your non-native Debian package in <literal>3.0 (quilt)</literal> " "format, chances are you changed some files by accident or the build script " "modified the upstream source. If it is your mistake, fix it. If it is " "caused by the build script, fix the root cause with <command>dh-autoreconf</" "command> as in <xref linkend=\"customrules\"/> or work around it with " "<filename>source/options</filename> as in <xref linkend=\"sourceopt\"/>." msgstr "" "Falls Sie nach dem Bau Ihres nicht nativen Debian-Pakets im Format " "<literal>3.0 (quilt)</literal> einen neuen, automatisch erstellen Patch wie " "<filename>debian-changes-*</filename> im Verzeichnis <filename>debian/" "patches</filename> finden, besteht die Möglichkeit, dass Sie Dateien " "versehentlich geändert haben oder das Bauskript die Quellen der " "Originalautoren verändert hat. Falls es Ihr Fehler ist, korrigieren Sie ihn. " "Falls er vom Bauskript ausgelöst wurde, korrigieren Sie das dahinterliegende " "Problem mit <command>dh-autoreconf</command> wie in <xref linkend=" "\"customrules\"/> oder umgehen Sie das Problem mit <filename>source/options</" "filename> wie in <xref linkend=\"sourceopt\"/>." #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's installation" msgstr "Überprüfen einer Paketinstallation" #. type: Content of: <book><chapter><section><para> msgid "" "You must test your package for whether it installs without problem. The " "<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " "</citerefentry> command helps you to test installing all the generated " "binary packages." msgstr "" "Sie müssen überprüfen, ob Ihr Paket ohne Probleme installiert werden kann. " "Der Befehl <citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> hilft Ihnen bei der Testinstallation aller " "erstellten Binärpakete." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n" msgstr "$ sudo debi gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "To prevent installation problem on different systems, you must make sure " "that there are no filenames conflicting with other existing packages, using " "the <filename>Contents-<replaceable>i386</replaceable></filename> file " "downloaded from the Debian archive. The <command>apt-file</command> command " "may be handy for this task. If there are collisions, please take action to " "avoid this real problem, whether by renaming the file, moving a common file " "to a separate package that multiple packages can depend on, using the " "alternatives mechanism (see <citerefentry><refentrytitle>update-" "alternatives</refentrytitle> <manvolnum>1</manvolnum></citerefentry>) in " "coordination with the maintainers of other affected packages, or declaring a " "<literal>Conflicts</literal> relationship in the <filename>debian/control</" "filename> file." msgstr "" "Um Installationsprobleme auf verschiedenen Systemen zu vermeiden, müssen Sie " "sicherstellen, dass es keine Dateinamenskonflikte mit anderen existierenden " "Paketen gibt, wobei Sie die vom Debian-Archiv heruntergeladene Datei " "<filename>Contents-<replaceable>i386</replaceable></filename> verwenden. Der " "Befehl <command>apt-file</command> kann für diese Aufgabe praktisch sein. " "Falls es Kollisionen gibt, kümmern Sie sich um dieses echte Problem, indem " "Sie die Datei umbenennen, eine gemeinsame Datei in ein separates Paket " "verschieben, von dem verschiedene Pakete abhängen können, in Absprache mit " "den Betreuern anderer betroffener Pakete den Alternatives-Mechanismus nutzen " "(siehe <citerefentry><refentrytitle>update-alternatives</refentrytitle> " "<manvolnum>1</manvolnum></citerefentry>) oder indem Sie eine " "<literal>Conflicts</literal>-Beziehung in der Datei <filename>debian/" "control</filename> festlegen." #. type: Content of: <book><chapter><section><title> msgid "Verifying a package's maintainer scripts" msgstr "Überprüfen der Betreuerskripte eines Pakets" #. type: Content of: <book><chapter><section><para> msgid "" "All maintainer scripts (that is, <filename>preinst</filename>, " "<filename>prerm</filename>, <filename>postinst</filename>, and " "<filename>postrm</filename> files) are hard to write correctly unless they " "are auto-generated by the <systemitem role=\"package\">debhelper</" "systemitem> programs. So do not use them if you are a novice maintainer " "(see <xref linkend=\"maintscripts\"/>)." msgstr "" "Alle Betreuerskripte (das heißt, die Dateien <filename>preinst</filename>, " "<filename>prerm</filename>, <filename>postinst</filename> und " "<filename>postrm</filename>) sind schwer korrekt zu schreiben, falls Sie " "nicht vom Programm <systemitem role=\"package\">debhelper</systemitem> " "automatisch erstellt werden. Verwenden Sie sie daher als neuer Betreuer " "nicht (siehe <xref linkend=\"maintscripts\"/>)." #. type: Content of: <book><chapter><section><para> msgid "" "If the package makes use of these non-trivial maintainer scripts, be sure to " "test not only for install but also for remove, purge, and upgrade " "processes. Many maintainer script bugs show up when packages are removed or " "purged. Use the <command>dpkg</command> command as follows to test them." msgstr "" "Falls das Paket nicht triviale Betreuerskripte verwendet, testen Sie nicht " "nur die Installation, sondern auch das Entfernen, das vollständige Entfernen " "und den Upgrade-Prozess. Viele Betreuerskriptfehler zeigen sich, wenn Pakete " "entfernt oder endgültig entfernt werden. Verwenden Sie für die Tests den " "Befehl <command>dpkg</command> wie folgt:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" msgstr "" "$ sudo dpkg -r gentoo\n" "$ sudo dpkg -P gentoo\n" "$ sudo dpkg -i gentoo_<replaceable>Version</replaceable>-<replaceable>Revision</replaceable>_<replaceable>i386</replaceable>.deb\n" #. type: Content of: <book><chapter><section><para> msgid "This should be done with sequences such as the following." msgstr "Dies sollte in einem Ablauf wie dem Folgenden passieren:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the previous version (if needed)." msgstr "Installieren Sie die vorhergehende Version (falls notwendig)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "upgrade it from the previous version." msgstr "Führen Sie ein Upgrade von der vorhergehenden Version durch" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "downgrade it back to the previous version (optional)." msgstr "führen Sie ein Downgrade auf eine vorherige Version durch (optional)" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "purge it." msgstr "entfernen Sie es vollständig" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install the new package." msgstr "Installieren Sie das neue Paket" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "remove it." msgstr "Entfernen Sie es" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "install it again." msgstr "Installieren Sie es wieder" #. type: Content of: <book><chapter><section><para> msgid "" "If this is your first package, you should create dummy packages with " "different versions to test your package in advance to prevent future " "problems." msgstr "" "Falls dies Ihr erstes Paket ist, sollten Sie ein Pseudo-Paket mit einer " "anderen Version erstellen, um Ihr Paket vorab zu testen und zukünftige " "Probleme zu vermeiden." #. type: Content of: <book><chapter><section><para> msgid "" "Bear in mind that if your package has previously been released in Debian, " "people will often be upgrading to your package from the version that was in " "the last Debian release. Remember to test upgrades from that version too." msgstr "" "Behalten Sie im Hinterkopf, dass die Benutzer ein Upgrade von der Version, " "die in der letzten Debian-Veröffentlichung enthalten war, durchführen " "werden, falls es schon mal veröffentlicht wurde. Denken Sie daran, auch " "Upgrades von dieser Version zu prüfen." #. type: Content of: <book><chapter><section><para> msgid "" "Although downgrading is not officially supported, supporting it is a " "friendly gesture." msgstr "" "Obwohl ein Downgrade offiziell nicht unterstützt wird, ist es eine nette " "Geste, dies dennoch zu unterstützen." #. type: Content of: <book><chapter><section><title> msgid "Using <systemitem role=\"package\">lintian</systemitem>" msgstr "<systemitem role=\"package\">lintian</systemitem> verwenden" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "You do not need to provide the <command>lintian</command> option <literal>-i " "-I --show-overrides</literal> if you customized <filename>/etc/devscripts." "conf</filename> or <filename>~/.devscripts</filename> as described in <xref " "linkend=\"debuild\"/>." msgstr "" "Sie müssen die Option <literal>-i -I --show-overrides</literal> von " "<command>lintian</command> angeben, falls Sie <filename>/etc/devscripts." "conf</filename> oder <filename>~/.devscripts</filename> wie in <xref linkend=" "\"debuild\"/> beschrieben angepasst haben." #. type: Content of: <book><chapter><section><para> msgid "" "Run <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> on your <filename>.changes</filename> file. The " "<command>lintian</command> command runs many test scripts to check for many " "common packaging errors. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Führen Sie <citerefentry> <refentrytitle>lintian</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> mit Ihrer Datei <filename>.changes</" "filename> aus. Der Befehl <command>lintian</command> führt viele Skripte " "aus, um auf typische Paketierungsfehler zu prüfen. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" msgstr "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "Of course, replace the filename with the name of the <filename>.changes</" "filename> file generated for your package. The output of the " "<command>lintian</command> command uses the following flags." msgstr "" "Selbstverständlich müssen Sie den Dateinamen mit dem Namen der Datei " "<filename>.changes</filename>, die für Ihr Paket erstellt wurde, ersetzen. " "Die Ausgabe des Befehls <command>lintian</command> verwendet die folgenden " "Schalter:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>E:</literal> for error; a sure policy violation or packaging error." msgstr "" "<literal>E:</literal> für Fehler; eine definitive Verletzung der Richtlinien " "oder ein Paketierungsfehler." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>W:</literal> for warning; a possible policy violation or packaging " "error." msgstr "" "<literal>W:</literal> für Warnungen; eine mögliche Verletzung der " "Richtlinien oder ein möglicher Paketierungsfehler." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>I:</literal> for info; information on certain aspects of packaging." msgstr "" "<literal>I:</literal> für Information; Informationen über bestimmte Aspekte " "der Paketierung." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>N:</literal> for note; a detailed message to help your debugging." msgstr "" "<literal>N:</literal> für Hinweis; eine detaillierte Meldung, um bei der " "Fehlersuche zu helfen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>O:</literal> for overridden; a message overridden by the " "<filename>lintian-overrides</filename> files but displayed by the <literal>--" "show-overrides</literal> option." msgstr "" "<literal>O:</literal> für »außer Kraft gesetzt«; eine Meldung, die durch " "Dateien <filename>lintian-overrides</filename> außer Kraft gesetzt, von der " "Option <literal>--show-overrides</literal> aber angezeigt wurde." #. type: Content of: <book><chapter><section><para> msgid "" "When you see warnings, tune the package to avoid them or verify that the " "warnings are spurious. If spurious, set up <filename>lintian-overrides</" "filename> files as described in <xref linkend=\"lintian\"/>." msgstr "" "Wenn Sie Warnungen sehen, passen Sie Ihr Paket an, um diese zu vermeiden " "oder überprüfen Sie, dass die Warnungen unberechtigt sind. Falls Sie " "unberechtigt sind, legen Sie Dateien <filename>lintian-overrides</filename> " "wie in <xref linkend=\"lintian\"/> beschrieben an." #. type: Content of: <book><chapter><section><para> msgid "" "Note that you can build the package with <command>dpkg-buildpackage</" "command> and run <command>lintian</command> on it in one command, if you use " "<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> or <citerefentry> <refentrytitle>pdebuild</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." msgstr "" "Beachten Sie, dass Sie das Paket mit <command>dpkg-buildpackage</command> " "bauen und <command>lintian</command> in einem Befehl darauf anwenden können, " "falls Sie <citerefentry> <refentrytitle>debuild</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> oder <citerefentry> " "<refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> verwenden." #. type: Content of: <book><chapter><section><title> msgid "The <command>debc</command> command" msgstr "Der Befehl <command>debc</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can list files in the binary Debian package with the <citerefentry> " "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "command." msgstr "" "Sie können Dateien im binären Debian-Paket mit dem Befehl <citerefentry> " "<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " "auflisten." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debc <replaceable>package</replaceable>.changes\n" msgstr "$ debc <replaceable>package</replaceable>.changes\n" #. type: Content of: <book><chapter><section><title> msgid "The <command>debdiff</command> command" msgstr "Der Befehl <command>debdiff</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare file contents in two source Debian packages with the " "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "Sie können Dateiinhalte in zwei Debian-Quellpaketen mit dem Befehl " "<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> vergleichen." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" msgstr "$ debdiff <replaceable>altes-Paket</replaceable>.dsc <replaceable>neues-Paket</replaceable>.dsc\n" #. type: Content of: <book><chapter><section><para> msgid "" "You can also compare file lists in two sets of binary Debian packages with " "the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command." msgstr "" "Sie können Dateilisten in zwei Gruppen von binären Debian-Paketen mit dem " "Befehl <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> vergleichen." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" msgstr "$ debdiff <replaceable>altes-Paket</replaceable>.changes <replaceable>neues-Paket</replaceable>.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "These are useful to identify what has been changed in the source packages " "and to check for inadvertent changes made when updating binary packages, " "such as unintentionally misplacing or removing files." msgstr "" "Sie sind nützlich, um zu identifizieren, wass in den Quellpaketen geändert " "wurde und auf unbeabsichtigte Änderungen beim Aktualisieren der Binärpakete " "zu prüfen, wie versehentlich fehlplatzierte oder entfernte Dateien." #. type: Content of: <book><chapter><section><title> msgid "The <command>interdiff</command> command" msgstr "Der Befehl <command>interdiff</command>" #. type: Content of: <book><chapter><section><para> msgid "" "You can compare two <filename>diff.gz</filename> files with the " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> command. This is useful for verifying that no " "inadvertent changes were made to the source by the maintainer when updating " "packages in the old <literal>1.0</literal> source format." msgstr "" "Sie können zwei <filename>diff.gz</filename>-Dateien mit dem Befehl " "<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> vergleichen. Dies ist zur Überprüfung, dass keine " "unbeabsichtigten Änderungen beim Aktualisieren von Paketen im alten " "<literal>1.0</literal>-Quellformat durch den Betreuer an den Quellen " "vorgenommen wurden, nützlich." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" msgstr "$ interdiff -z <replaceable>altes-Paket</replaceable>.diff.gz <replaceable>neues-Paket</replaceable>.diff.gz\n" #. type: Content of: <book><chapter><section><para> msgid "" "The new <literal>3.0</literal> source format stores changes in multiple " "patch files as described in <xref linkend=\"patches\"/>. You can trace " "changes of each <filename>debian/patches/*</filename> file using " "<command>interdiff</command>, too." msgstr "" "Das neue Quellformat <literal>3.0</literal> speichert Änderungen in mehreren " "Patch-Dateien, wie in <xref linkend=\"patches\"/> beschrieben. Sie können " "die Änderungen jeder <filename>debian/patches/*</filename>-Datei auch mit " "<command>interdiff</command> nachverfolgen." #. type: Content of: <book><chapter><section><title> msgid "The <command>mc</command> command" msgstr "Der Befehl <command>mc</command>" #. type: Content of: <book><chapter><section><para> msgid "" "Many of these file inspection operations can be made into an intuitive " "process by using a file manager like <citerefentry> <refentrytitle>mc</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> which will let you " "browse not only the contents of <filename>*.deb</filename> package files but " "also <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, " "<filename>*.diff.gz</filename>, and <filename>*.orig.tar.gz</filename> files." msgstr "" "Viele dieser Dateiüberprüfungsoperationen können in einen intuitiven Prozess " "mit einem Dateimanager wie <citerefentry> <refentrytitle>mc</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> verwandelt werden. Er ermöglicht es " "Ihnen, nicht nur die Inhalte eines <filename>*.deb</filename>-Pakets " "anzuschauen, sondern auch die von <filename>*.udeb</filename>, <filename>*." "debian.tar.gz</filename>, <filename>*.diff.gz</filename> und <filename>*." "orig.tar.gz</filename>-Dateien." #. type: Content of: <book><chapter><section><para> msgid "" "Be on the lookout for extra unneeded files or zero length files, both in the " "binary and source package. Often cruft doesn't get cleaned up properly; " "adjust your <filename>rules</filename> file to compensate for this." msgstr "" "Schauen Sie nach zusätzlichen, nicht benötigten Dateien oder solche der " "Länge 0, sowohl im binären als auch im Quellpaket. Oft werden " "(Programm-)Reste nicht korrekt bereinigt; passen Sie Ihre Datei " "<filename>rules</filename> an, um dies zu ermöglichen." #. type: Content of: <book><chapter><title> msgid "Updating the package" msgstr "Aktualisieren des Pakets" #. type: Content of: <book><chapter><para> msgid "After you release a package, you will soon need to update it." msgstr "" "Nachdem Sie ein Paket veröffentlichen, werden Sie es bald aktualisieren " "müssen" #. type: Content of: <book><chapter><section><title> msgid "New Debian revision" msgstr "Neue Debian-Revision" #. type: Content of: <book><chapter><section><para> msgid "" "Let's say that a bug report was filed against your package as " "<literal>#654321</literal>, and it describes a problem that you can solve. " "Here's what you need to do to create a new Debian revision of the package." msgstr "" "Nehmen wir an, dass ein Fehlerbericht für Ihr Paket unter <literal>#654321</" "literal> eingereicht wurde und er ein Problem beschreibt, das Sie lösen " "können. Sie können wie folgt eine neue Debian-Revision des Pakets erstellen:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to be recorded as a new patch, do the following." msgstr "" "Falls dies als neuer Patch aufgezeichnet werden soll, führen Sie das " "Folgende aus:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> to " "set the patch name;" msgstr "" "<literal>dquilt new <replaceable>Fehlernummer.patch</replaceable></literal>, " "um den Patch-Namen zu setzen" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt add <replaceable>buggy-file</replaceable></literal> to " "declare the file to be modified;" msgstr "" "<literal>dquilt add <replaceable>defekte_Datei</replaceable></literal>, um " "die zu korrigierende Datei anzugeben" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Correct the problem in the package source for the upstream bug;" msgstr "" "Korrigieren Sie das Problem in den Paketquellen für den Fehler der " "Originalautoren" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to record it to " "<filename><replaceable>bugname.patch</replaceable></filename>;" msgstr "" "<literal>dquilt refresh</literal>, um es in " "<filename><replaceable>Fehlernummer.patch</replaceable></filename> " "aufzuzeichnen" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to add its description;" msgstr "" "<literal>dquilt header -e</literal>, um seine Beschreibung hinzuzufügen" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "If this is to update an existing patch, do the following." msgstr "" "Falls hiermit ein existierender Patch aktualisiert wird, führen Sie das " "Folgende durch:" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> to recall " "the existing <filename><replaceable>foo.patch</replaceable></filename>;" msgstr "" "<literal>dquilt pop <replaceable>foo.patch</replaceable></literal>, um den " "existierenden <filename><replaceable>foo.patch</replaceable></filename> " "aufzurufen" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Correct the problem in the old <filename><replaceable>foo.patch</" "replaceable></filename>;" msgstr "" "Korrektur des Problems in der alten <filename><replaceable>foo.patch</" "replaceable></filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt refresh</literal> to update <filename><replaceable>foo." "patch</replaceable></filename>;" msgstr "" "<literal>dquilt refresh</literal>, um <filename><replaceable>foo.patch</" "replaceable></filename> zu aktualisieren" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt header -e</literal> to update its description;" msgstr "" "<literal>dquilt header -e</literal>, um seine Beschreibung zu aktualisieren" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>;" msgstr "" "<literal>while dquilt push; do dquilt refresh; done</literal>, um alle " "Patches anzuwenden und dabei <emphasis>fuzz</emphasis> (Unschärfe) zu " "entfernen" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "To get the date in the required format, use <literal>LANG=C date -R</" "literal>." msgstr "" "Um das Datum in das benötigte Format zu bekommen, verwenden Sie " "<literal>LANG=C date -R</literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Add a new revision at the top of the Debian <filename>changelog</filename> " "file, for example with <literal>dch -i</literal>, or explicitly with " "<literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</" "replaceable></literal> and then insert the comments using your preferred " "editor. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Fügen Sie eine neue Revision an den Anfang der Datei <filename>changelog</" "filename> hinzu, beispielsweise mit <literal>dch -i</literal> oder explizit " "mit <literal>dch -v <replaceable>Version</replaceable>-" "<replaceable>Revision</replaceable></literal> und fügen Sie dann die " "Kommentare mit ihrem Lieblingseditor ein. <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Include a short description of the bug and the solution in the changelog " "entry, followed by <literal>Closes: #654321</literal>. That way, the bug " "report will be <emphasis>automagically</emphasis> closed by the archive " "maintenance software the moment your package gets accepted into the Debian " "archive." msgstr "" "Fügen Sie eine kurze Beschreibung des Fehler und der Lösung in dem Changelog-" "Eintrag hinzu, gefolgt von <literal>Closes: #654321</literal>. Auf diese Art " "wird der Fehlerbericht <emphasis>automatisch</emphasis> von der " "Archivierungswartungssoftware in dem Moment, in dem Ihr Paket im Archiv " "akzeptiert wird, geschlossen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in the above to fix more bugs while updating the Debian " "<filename>changelog</filename> file with <literal>dch</literal> as needed." msgstr "" "Wiederholen Sie die obigen Schritte, um weitere Fehler zu beheben, während " "Sie die Debian-Datei <filename>changelog</filename> mit <literal>dch</" "literal> aktualisieren." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Repeat what you did in <xref linkend=\"completebuild\"/> and <xref linkend=" "\"checkit\"/>." msgstr "" "Wiederholen Sie die Tätigkeiten aus <xref linkend=\"completebuild\"/> und " "<xref linkend=\"checkit\"/>." # FIXME: Missing space(s) before footnote? #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Once you are satisfied, you should change the distribution value in " "<filename>changelog</filename> from <literal>UNRELEASED</literal> to the " "target distribution value <literal>unstable</literal> (or even " "<literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Sobald Sie zufrieden sind, sollten Sie den Wert der Distribution im " "<filename>changelog</filename> von <literal>UNRELEASED</literal> auf den " "Ziel-Distributionswert <literal>unstable</literal> (oder ggf. " "<literal>experimental</literal>) setzen.<placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Upload the package as <xref linkend=\"upload\"/>. The difference is that " "this time, the original source archive won't be included, as it hasn't been " "changed and it already exists in the Debian archive." msgstr "" "Laden Sie Ihr Paket wie in <xref linkend=\"upload\"/> beschrieben hoch. Der " "Unterschied besteht darin, dass Sie diesmal das ursprüngliche Quellarchiv " "nicht beifügen, da es sich nicht geändert hat und im Debian-Archiv bereits " "existiert." #. type: Content of: <book><chapter><section><para> msgid "" "One tricky case can occur when you make a local package to experiment with " "the packaging before uploading the normal version to the official archive, e." "g., <literal><replaceable>1.0.1</replaceable>-<replaceable>1</replaceable></" "literal>. For smoother upgrades, it is a good idea to create a " "<filename>changelog</filename> entry with a version string as " "<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" "literal>. You may unclutter <filename>changelog</filename> by consolidating " "such local change entries into a single entry for the official package. See " "<xref linkend=\"namever\"/> for the order of version strings." msgstr "" "Ein schwieriger Fall kann auftreten, falls Sie ein lokales Paket erstellen, " "um mit dem Paketieren zu experimentieren, bevor Sie die normale Version in " "das offizielle Archiv hochladen, z.B. <literal><replaceable>1.0.1</" "replaceable>-<replaceable>1</replaceable></literal>. Für reibungslosere " "Upgrades ist es eine gute Idee, einen <filename>changelog</filename>-Eintrag " "mit einer Versionszeichenkette wie <literal><replaceable>1.0.1</replaceable>-" "<replaceable>1~rc1</replaceable></literal> zu erstellen. Sie können " "<filename>changelog</filename> bereinigen, indem Sie Ihre lokalen " "Änderungseinträge in einen einzigen Eintrag für das offizielle Paket " "zusammenfassen, Lesen Sie <xref linkend=\"namever\"/> für die Reihenfolge " "von Versionszeichenketten." #. type: Content of: <book><chapter><section><title> msgid "Inspection of the new upstream release" msgstr "Überprüfung einer neuen Version der Originalautoren" #. type: Content of: <book><chapter><section><para> msgid "" "When preparing packages of a new upstream release for the Debian archive, " "you must check the new upstream release, first." msgstr "" "Wenn Sie Pakete für eine neue Veröffentlichung der Originalautoren für das " "Debian-Archiv vorbereiten, müssen Sie zuerst die neue Veröffentlichung der " "Originalautoren prüfen." #. type: Content of: <book><chapter><section><para> msgid "" "Start by reading the upstream <filename>changelog</filename>, " "<filename>NEWS</filename>, and whatever other documentation they may have " "released with the new version." msgstr "" "Beginnen Sie damit, dass Sie <filename>changelog</filename>, <filename>NEWS</" "filename> und welche andere Dokumentation mit der neuen Version " "veröffentlicht wurde, lesen." #. type: Content of: <book><chapter><section><para> msgid "" "You can then inspect changes between the old and new upstream sources as " "follows, watching out for anything suspicious." msgstr "" "Sie können dann Änderungen zwischen den alten und den neuen Quellen der " "Originalautoren wie folgt prüfen und dabei nach allem Verdächtigem Ausschau " "halten." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" msgstr "$ diff -urN <replaceable>foo</replaceable>-<replaceable>alteVersion</replaceable> <replaceable>foo</replaceable>-<replaceable>neueVersion</replaceable>\n" #. type: Content of: <book><chapter><section><para> msgid "" "Changes to some auto-generated files by Autotools such as <filename>missing</" "filename>, <filename>aclocal.m4</filename>, <filename>config.guess</" "filename>, <filename>config.h.in</filename>, <filename>config.sub</" "filename>, <filename>configure</filename>, <filename>depcomp</filename>, " "<filename>install-sh</filename>, <filename>ltmain.sh</filename>, and " "<filename>Makefile.in</filename> may be ignored. You may delete them before " "running <command>diff</command> on the source for inspection." msgstr "" "Änderungen durch Autotools an einigen automatisch erstellten Dateien wie " "<filename>missing</filename>, <filename>aclocal.m4</filename>, " "<filename>config.guess</filename>, <filename>config.h.in</filename>, " "<filename>config.sub</filename>, <filename>configure</filename>, " "<filename>depcomp</filename>, <filename>install-sh</filename>, " "<filename>ltmain.sh</filename> und <filename>Makefile.in</filename> können " "ignoriert werden. Sie können sie vor der Ausführung von <command>diff</" "command> in den Quellen für die Prüfung löschen." #. type: Content of: <book><chapter><section><title> msgid "New upstream release" msgstr "Neue Version der Originalautoren" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is packaged in the old <literal>1.0</literal> format, this can " "be done by running <literal>zcat /<replaceable>path</replaceable>/" "<replaceable>to</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" "literal> in the new extracted source, instead." msgstr "" "Falls ein Paket <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> im alten Format <literal>1.0</literal> paketiert ist, kann dies " "stattdessen durch <literal>zcat /<replaceable>Pfad</replaceable>/" "<replaceable>nach</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>alte_Version</replaceable>.diff.gz|patch -p1</" "literal> in der neuen entpackten Quelle durchgeführt werden." #. type: Content of: <book><chapter><section><para> msgid "" "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> is properly packaged in the newer <literal>3.0 (native)</" "literal> or <literal>3.0 (quilt)</literal> formats, packaging a new upstream " "version is essentially moving the old <filename>debian</filename> directory " "to the new source. This can be done by running <literal>tar xvzf /" "<replaceable>path</replaceable>/<replaceable>to</replaceable>/" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian." "tar.gz</literal> in the new extracted source. <placeholder type=\"footnote" "\" id=\"0\"/> Of course, you need to do some obvious chores." msgstr "" "Falls ein Paket <systemitem role=\"package\"><replaceable>foo</replaceable></" "systemitem> korrekt im neueren Format <literal>3.0 (native)</literal> oder " "<literal>3.0 (quilt)</literal> paketiert ist, besteht das Paketieren einer " "neuen Version der Originalautoren im wesentlichen im Verschieben des alten " "Verzeichnisses <filename>debian</filename> in die neuen Quellen. Dies kann " "durch Ausführung von <literal>tar xvzf /<replaceable>Pfad</replaceable>/" "<replaceable>zu</replaceable>/<replaceable>foo</" "replaceable>_<replaceable>alteVersion</replaceable>.debian.tar.gz</literal> " "in den entpackten Quellen passieren. <placeholder type=\"footnote\" id=\"0\"/" "> Natürlich müssen Sie einige offensichtliche Hausaufgaben machen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Create a copy of the upstream source as the " "<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename> " "file." msgstr "" "Erstellen Sie eine Kopie der Quellen der Originalautoren als " "<filename>foo_<replaceable>neueVersion</replaceable>.orig.tar.gz</filename>-" "Datei." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Update the Debian <filename>changelog</filename> file with <literal>dch -v " "<replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." msgstr "" "Aktualisieren Sie die Debian-Datei <filename>changelog</filename> mit " "<literal>dch -v <replaceable>neueVersion</replaceable>-<replaceable>1</" "replaceable></literal>." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "Add an entry with <literal>New upstream release</literal>." msgstr "" "Fügen Sie einen Eintrag mit <literal>New upstream release</literal> hinzu." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>in the new upstream release</" "emphasis> that fix reported bugs and close those bugs by adding " "<literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "Beschreiben Sie genau die Änderungen <emphasis>in der neuen Veröffentlichung " "der Originalautoren</emphasis>, die berichtete Fehler schließen, und " "schließen Sie diese Fehler, indem Sie <literal>Closes: " "#<replaceable>Fehler_Nummer</replaceable></literal> hinzufügen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Describe concisely the changes <emphasis>to the new upstream release</" "emphasis> by the maintainer that fix reported bugs and close those bugs by " "adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." msgstr "" "Beschreiben Sie genau die Änderungen <emphasis>an der neuen Veröffentlichung " "der Originalautoren</emphasis> durch den Betreuer, die berichtete Fehler " "schließen, und schließen Sie diese Fehler, indem Sie <literal>Closes: " "#<replaceable>Fehler_Nummer</replaceable></literal> hinzufügen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " "patches while removing <emphasis>fuzz</emphasis>." msgstr "" "<literal>while dquilt push; do dquilt refresh; done</literal>, um alle " "Patches anzuwenden und gleichzeitig <emphasis>fuzz</emphasis> (Unschärfe) zu " "entfernen." #. type: Content of: <book><chapter><section><para> msgid "" "If the patch/merge did not apply cleanly, inspect the situation (clues are " "left in <filename>.rej</filename> files)." msgstr "" "Falls das Patchen/Zusammenfügen nicht reibungsfrei lief, prüfen Sie die " "Situation (Hinweise verbleiben in <filename>.rej</filename>-Dateien)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source was integrated into the upstream source," msgstr "" "Falls ein Patch, den Sie an den Quellen angewandt hatten, in die Quellen der " "Originalautoren integriert wurde " #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt delete</literal> to remove it." msgstr "führen Sie <literal>dquilt delete</literal> aus, um ihn zu entfernen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If a patch you applied to the source conflicted with new changes in the " "upstream source," msgstr "" "Falls ein Patch, den Sie auf die Quellen anwandten, mit den neuen Änderungen " "in den Quellen der Originalautoren in Konflikt steht, " #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<literal>dquilt push -f</literal> to apply old patches while forcing rejects " "as <filename><replaceable>baz</replaceable>.rej</filename>." msgstr "" "wenden Sie <literal>dquilt push -f</literal> an, um die alten Patches " "anzuwenden und Rückweisungen als <filename><replaceable>baz</replaceable>." "rej</filename> zu erzwingen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Edit the <filename><replaceable>baz</replaceable></filename> file manually " "to bring about the intended effect of <filename><replaceable>baz</" "replaceable>.rej</filename>." msgstr "" "Bearbeiten Sie die Datei <filename><replaceable>baz</replaceable></filename> " "manuell, um den geplanten Effekt von <filename><replaceable>baz</" "replaceable>.rej</filename> zu erreichen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "<literal>dquilt refresh</literal> to update the patch." msgstr "<literal>dquilt refresh</literal>, um den Patch zu aktualisieren" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Continue as usual with <literal>while dquilt push; do dquilt refresh; done</" "literal>." msgstr "" "Fahren Sie mit <literal>while dquilt push; do dquilt refresh; done</literal> " "wie gewohnt fort." #. type: Content of: <book><chapter><section><para> msgid "" "This process can be automated using the <citerefentry> " "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> command as follows:" msgstr "" "Dieser Prozess kann mit dem Befehl <citerefentry> <refentrytitle>uupdate</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> wie folgt " "automatisiert werden:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" "$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "... document changes made\n" msgstr "" "$ apt-get source <replaceable>foo</replaceable>\n" "...\n" "dpkg-source: info: <replaceable>foo</replaceable> wird nach <replaceable>foo</replaceable>-<replaceable>AlteVersion</replaceable> extrahiert\n" "dpkg-source: info: <replaceable>foo</replaceable>_<replaceable>AlteVersion</replaceable>.orig.tar.gz wird entpackt\n" "dpkg-source: info: <replaceable>foo</replaceable>_<replaceable>AlteVersion</replaceable>-1.debian.tar.gz wird angewandt\n" "$ ls -F\n" "<replaceable>foo</replaceable>-<replaceable>AlteVersion</replaceable>/\n" "<replaceable>foo</replaceable>_<replaceable>AlteVersion</replaceable>-1.debian.tar.gz\n" "<replaceable>foo</replaceable>_<replaceable>AlteVersion</replaceable>-1.dsc\n" "<replaceable>foo</replaceable>_<replaceable>AlteVersion</replaceable>.orig.tar.gz\n" "$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>NeueVersion</replaceable>.tar.gz\n" "$ cd <replaceable>foo</replaceable>-<replaceable>AlteVersion</replaceable>\n" "$ uupdate -v <replaceable>NeueVersion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>NeueVersion</replaceable>.tar.gz\n" "$ cd ../<replaceable>foo</replaceable>-<replaceable>NeueVersion</replaceable>\n" "$ while dquilt push; do dquilt refresh; done\n" "$ dch\n" "… Änderungen dokumentieren\n" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If the <command>uscan</command> command downloads the updated source but it " "does not run the <command>uupdate</command> command, you should correct the " "<filename>debian/watch</filename> file to have <literal>debian uupdate</" "literal> at the end of the URL." msgstr "" "Falls der Befehl <command>uscan</command> die aktualisierten Quellen " "herunterlädt aber nicht den Befehl <command>uupdate</command> ausführt, " "sollten Sie die Datei <filename>debian/watch</filename> korrigieren, um " "<literal>debian uupdate</literal> am Ende der URL zu haben." #. type: Content of: <book><chapter><section><para> msgid "" "If you set up a <filename>debian/watch</filename> file as described in <xref " "linkend=\"watch\"/>, you can skip the <command>wget</command> command. You " "simply run <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> in the <filename><replaceable>foo</replaceable>-" "<replaceable>oldversion</replaceable></filename> directory instead of the " "<command>uupdate</command> command. This will <emphasis>automagically</" "emphasis> look for the updated source, download it, and run the " "<command>uupdate</command> command. <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "Falls Sie eine wie in <xref linkend=\"watch\"/> beschriebene Datei " "<filename>debian/watch</filename> eingerichtet haben, könen Sie den Befehl " "<command>wget</command> überspringen. Sie führen einfach <citerefentry> " "<refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> in dem Verzeichnis <filename><replaceable>foo</replaceable>-" "<replaceable>alteVersion</replaceable></filename> statt des Befehls " "<command>uupdate</command> aus. Damit wird <emphasis>automatisch</emphasis> " "nach den aktualisierten Quellen geschaut, sie heruntergeladen und der Befehl " "<command>uupdate</command> ausgeführt. <placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "You can release this updated source by repeating what you did in <xref " "linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref linkend=" "\"upload\"/>." msgstr "" "Sie können diese aktualisierten Quellen veröffentlichen, in dem Sie die " "Schritte aus <xref linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/> " "und <xref linkend=\"upload\"/> wiederholen." #. type: Content of: <book><chapter><section><title> msgid "Updating the packaging style" msgstr "Den Paketstil aktualisieren" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "If your sponsor or other maintainers object to updating the existing " "packaging style, don't bother arguing. There are more important things to " "do." msgstr "" "Falls Ihr Sponsor oder andere Betreuer dem Aktualisieren des " "Paketierungsstils widersprechen, argumentieren Sie nicht. Es gibt wichtigere " "Dinge zu erledigen." #. type: Content of: <book><chapter><section><para> msgid "" "Updating the package style is not a required activity for the update of a " "package. However, doing so lets you use the full capabilities of the modern " "<systemitem role=\"package\">debhelper</systemitem> system and the " "<literal>3.0</literal> source format. <placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Die Aktualisierung des Paketierungsstils ist keine notwendige Aktivität beim " "Aktualisieren eines Pakets. Allerdings erlaubt dies Ihnen, die gesamten " "Möglichkeiten des modernen <systemitem role=\"package\">debhelper</" "systemitem>-Systems und des Quellformats <literal>3.0</literal> auszunutzen. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you need to recreate deleted template files for any reason, you can run " "<command>dh_make</command> again in the same Debian package source tree with " "the <literal>--addmissing</literal> option. Then edit them appropriately." msgstr "" "Falls Sie aus irgend einem Grund gelöschte Schablonendateien erneut " "erstellen müssen, können Sie <command>dh_make</command> mit der Option " "<literal>--addmissing</literal> in dem gleichen Debian-Quellverzeichnis " "aufrufen. Danach bearbeiten Sie diesen geeignet." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If the package has not been updated to use the <systemitem role=\"package" "\">debhelper</systemitem> v7+ <command>dh</command> syntax for the " "<filename>debian/rules</filename> file, update it to use <command>dh</" "command>. Update the <filename>debian/control</filename> file accordingly." msgstr "" "Falls das Paket noch nicht aktualisiert wurde, um die v7+-<command>dh</" "command>-Syntax von <systemitem role=\"package\">debhelper</systemitem> für " "die Datei <filename>debian/rules</filename> zu verwenden, aktualisieren Sie " "es, um <command>dh</command> zu verwenden. Aktualisieren Sie die Datei " "<filename>debian/control</filename> entsprechend." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you want to update the <filename>rules</filename> file created with the " "<filename>Makefile</filename> inclusion mechanism of the Common Debian Build " "System (<systemitem role=\"package\">cdbs</systemitem>) to the <command>dh</" "command> syntax, see the following to understand its <literal>DEB_*</" "literal> configuration variables." msgstr "" "Falls Sie die mit dem <filename>Makefile</filename>-Einschlussmechanismus " "des Common Debian Build System (<systemitem role=\"package\">cdbs</" "systemitem>) erzeugte Datei <filename>rules</filename> in die <command>dh</" "command>-Syntax umwandeln wollen, schauen Sie sich die folgenden " "Informationen an, um seine <literal>DEB_*</literal>-Konfigurationsvariablen " "zu verstehen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "local copy of <filename>&cdbs-doc;</filename>" msgstr "lokale Kopie von <filename>&cdbs-doc;</filename>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" msgstr "" "<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " "2009</ulink>" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package without the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (native)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(native)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied." msgstr "" "Falls Sie ein <literal>1.0</literal>-Quellpaket ohne die Datei " "<filename><replaceable>foo</replaceable>.diff.gz</filename> haben, können " "Sie sie auf das neuere Quellformat <literal>3.0 (native)</literal> " "umstellen, indem Sie <filename>debian/source/format</filename> mit " "<literal>3.0 (native)</literal> erstellen. Der Rest der Dateien " "<filename>debian/*</filename> kann einfach so kopiert werden." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> msgid "" "You can split <filename>big.diff</filename> into many small incremental " "patches using the <command>splitdiff</command> command." msgstr "" "Sie können <filename>gross.diff</filename> in viele kleine, inkrementelle " "Patches mit dem Befehl <command>splitdiff</command> zerteilen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If you have a <literal>1.0</literal> source package with the " "<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " "update it to the newer <literal>3.0 (quilt)</literal> source format by " "creating <filename>debian/source/format</filename> with <literal>3.0 " "(quilt)</literal>. The rest of the <filename>debian/*</filename> files can " "just be copied. Import the <filename>big.diff</filename> file generated by " "the command <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" "replaceable>.diff.gz > big.diff</literal> to your <command>quilt</" "command> system, if needed. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Falls Sie ein <literal>1.0</literal>-Quellpaket mit der Datei " "<filename><replaceable>foo</replaceable>.diff.gz</filename> haben, können " "Sie es in das neuere Quellformat <literal>3.0 (quilt)</literal> umwandeln, " "indem Sie die Datei <filename>debian/source/format</filename> mit " "<literal>3.0 (quilt)</literal> erstellen. Der Rest der Dateien " "<filename>debian/*</filename> kann einfach so kopiert werden. Importieren " "Sie die Datei <filename>gross.diff</filename>, die vom Befehl " "<literal>filterdiff -z -x '*/debian/*' <replaceable>foo</replaceable>.diff." "gz > gross.diff</literal> erstellt wurde, in Ihr <command>quilt</command>-" "System, falls notwendig. <placeholder type=\"footnote\" id=\"0\"/>" # FIXME quilt command? #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged using another patch system such as <systemitem role=" "\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" "systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " "<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, " "convert it to the <systemitem role=\"package\">quilt</systemitem> command " "using <filename>deb3</filename> at <ulink url=\"&deb3;\"/>." msgstr "" "Falls es mit einem anderen Patch-System wie <systemitem role=\"package" "\">dpatch</systemitem>, <systemitem role=\"package\">dbs</systemitem> oder " "<systemitem role=\"package\">cdbs</systemitem> mit <literal>-p0</literal>, " "<literal>-p1</literal> oder <literal>-p2</literal> paktiert war, wandeln Sie " "es in den Befehl <systemitem role=\"package\">quilt</systemitem> unter " "Verwendung von <filename>deb3</filename> unter <ulink url=\"&deb3;\"/> um." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If it was packaged with the <command>dh</command> command with the " "<literal>--with quilt</literal> option or with the <command>dh_quilt_patch</" "command> and <command>dh_quilt_unpatch</command> commands, remove these and " "make it use the newer <literal>3.0 (native)</literal> source format." msgstr "" "Falls es mit dem Befehl <command>dh</command> mit der Option <literal>--with " "quilt</literal> oder mit den Befehlen <command>dh_quilt_patch</command> und " "<command>dh_quilt_unpatch</command> paketiert wurde, entfernen Sie diese und " "sorgen Sie dafür, dass das neuere Format <literal>3.0 (native)</literal> " "verwandt wird." #. type: Content of: <book><chapter><section><para> msgid "" "You should check <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> and adopt ACCEPTED proposals." msgstr "" "Sie sollten die <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" "ulink> prüfen und akzeptierte (ACCEPTED) Vorschläge umsetzen." #. type: Content of: <book><chapter><section><para> msgid "" "You need to do the other tasks described in <xref linkend=\"newupstream\"/>, " "too." msgstr "" "Sie müssen auch andere in <xref linkend=\"newupstream\"/> beschriebene " "Aufgaben erledigen." #. type: Content of: <book><chapter><section><title> msgid "UTF-8 conversion" msgstr "UTF-8-Umstellung" #. type: Content of: <book><chapter><section><para> msgid "" "If upstream documents are encoded in old encoding schemes, converting them " "to <ulink url=\"&utf8;\">UTF-8</ulink> is a good idea." msgstr "" "Falls die Dokumente der Originalautoren in alten Kodierungsschemata " "vorliegen, ist es eine gute Idee, sie in <ulink url=\"&utf8;\">UTF-8</ulink> " "umzuwandeln." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert encodings of plain text files." msgstr "" "Verwenden Sie <citerefentry> <refentrytitle>iconv</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> für die Konvertierung reiner " "Textdateien." #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Use <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> to convert from HTML files to UTF-8 plain text " "files. When you do this, make sure to execute it under UTF-8 locale." msgstr "" "Verwenden Sie <citerefentry> <refentrytitle>w3m</refentrytitle> " "<manvolnum>1</manvolnum> </citerefentry> zur Umwandlung von HTML-Dateien in " "reine UTF-8-Textdateien. Stellen Sie dabei sicher, dass sie es unter einer " "UTF-8-Locale ausführen." #. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" msgstr "" "LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 \\\n" " -cols 70 -dump -no-graph -T text/html \\\n" " < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" #. type: Content of: <book><chapter><section><title> msgid "Reminders for updating packages" msgstr "Erinnerungen für die Paketaktualisierung" #. type: Content of: <book><chapter><section><para> msgid "Here are few reminders for updating packages." msgstr "Es folgen ein paar Erinnerungen für die Aktualisierung von Paketen" #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Preserve old <filename>changelog</filename> entries (sounds obvious, but " "there have been cases of people typing <literal>dch</literal> when they " "should have typed <literal>dch -i</literal>.)" msgstr "" "Erhalten Sie alte Einträge im <filename>changelog</filename> (klingt " "offensichtlich, aber es gab Fällen, in denen <literal>dch</literal> " "eingegeben wurde, wenn <literal>dch -i</literal> hätte verwandt werden " "sollen)." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Existing Debian changes need to be reevaluated; throw away stuff that " "upstream has incorporated (in one form or another) and remember to keep " "stuff that hasn't been incorporated by upstream, unless there is a " "compelling reason not to." msgstr "" "Existierende Debian-Änderungen müssen neu geprüft werden; schmeißen Sie Zeug " "weg, das die Originalautoren eingebaut haben (in einer oder der anderen " "Form) und denken Sie daran, Zeug zu behalten, das noch nicht eingebaut " "wurde, falls es nicht doch überzeugende Gründe für die Entfernung gibt." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "If any changes were made to the build system (hopefully you'd know from " "inspecting upstream changes) then update the <filename>debian/rules</" "filename> and <filename>debian/control</filename> build dependencies if " "necessary." msgstr "" "Falls Änderungen am Bausystem vorgenommen wurden (hoffentlich wissen Sie es " "bei der Prüfung der Änderungen der Originalautoren) aktualisieren Sie " "<filename>debian/rules</filename> und die Bauabhängigkeiten in " "<filename>debian/control</filename> falls notwendig." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> to " "see if someone has provided patches to bugs that are currently open." msgstr "" "Prüfen Sie die <ulink url=\"&bts;\">Fehlerdatenbank (BTS)</ulink> ob jemand " "Patches für derzeit offene Fehler bereitgestellt hat." #. type: Content of: <book><chapter><section><itemizedlist><listitem><para> msgid "" "Check the contents of the <filename>.changes</filename> file to make sure " "you are uploading to the correct distribution, the proper bug closures are " "listed in the <literal>Closes</literal> field, the <literal>Maintainer</" "literal> and <literal>Changed-By</literal> fields match, the file is GPG-" "signed, etc." msgstr "" "Prüfen Sie den Inhalt der Datei <filename>.changes</filename>, um " "sicherzustellen, dass Sie in die korrekte Distribution hochladen, die " "richtigen Fehlerschließanweisungen im Feld <literal>Closes</literal> " "enthalten sind, die Felder <literal>Maintainer</literal> and " "<literal>Changed-By</literal> passen, die Datei GPG-unterschrieben ist usw." #. type: Content of: <book><chapter><title> msgid "Uploading the package" msgstr "Das Paket hochladen" #. type: Content of: <book><chapter><para> msgid "" "Now that you have tested your new package thoroughly, you want to release it " "to a public archive to share it." msgstr "" "Nachdem Sie jetzt das neue Paket intensiv getestet haben, möchten Sie es zur " "gemeinsamen Benutzung in ein öffentliches Archiv hochladen." #. type: Content of: <book><chapter><section><title> msgid "Uploading to the Debian archive" msgstr "In das Debian-Archiv hochladen" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "See <xref linkend=\"socialdynamics\"/>." msgstr "Siehe <xref linkend=\"socialdynamics\"/>" #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "There are publicly accessible archives such as <ulink url=\"&mentors-dn;\"/> " "which work almost the same way as the Debian archive and provide an upload " "area for non-DDs. You can set up an equivalent archive by yourself using " "the tools listed at <ulink url=\"&deb-archive;\"/>. So this section is " "useful for non-DDs, too." msgstr "" "Es gibt öffentlich erreichbare Archive wie <ulink url=\"&mentors-dn;\"/>, " "die genauso wie das Debian-Archiv funktionieren und einen Upload-Bereich für " "nicht DDs bereitstellen. Sie können ein äquivalentes Archiv selbst " "erstellen, indem Sie die unter <ulink url=\"&deb-archive;\"/> aufgeführten " "Werkzeuge verwenden. Daher ist dieser Abschnitt auch für nicht DDs nützlich." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "The <systemitem role=\"package\">dput</systemitem> package seems to come " "with more features and to be becoming more popular than the <systemitem role=" "\"package\">dupload</systemitem> package. It uses the file <filename>/etc/" "dput</filename> for its global configuration and the file <filename>~/.dput." "cf</filename> for per-user configuration. It supports Ubuntu-related " "services out-of-the-box, too." msgstr "" "Das Paket <systemitem role=\"package\">dput</systemitem> scheint mehr " "Funktionalitäten zu enthalten und beliebter als das Paket <systemitem role=" "\"package\">dupload</systemitem> zu werden. Es verwendet die Datei " "<filename>/etc/dput</filename> für seine globale Konfiguration und die Datei " "<filename>~/.dput.cf</filename> für die benutzerspezifische Konfiguration. " "Es unterstützt auch standardmäßig Ubuntu-bezogene Dienste." #. type: Content of: <book><chapter><section><para> msgid "" "Once you become an official developer, <placeholder type=\"footnote\" id=" "\"0\"/> you can upload the package to the Debian archive. <placeholder type=" "\"footnote\" id=\"1\"/> You can do this manually, but it's easier to use the " "existing automated tools, like <citerefentry> <refentrytitle>dupload</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " "<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry>. We'll describe how it's done with <command>dupload</" "command>. <placeholder type=\"footnote\" id=\"2\"/>" msgstr "" "Sobald Sie ein offizieller Entwickler werden, <placeholder type=\"footnote\" " "id=\"0\"/> können Sie das Paket in das Debian-Archiv hochladen. <placeholder " "type=\"footnote\" id=\"1\"/>. Sie können dies manuell erledigen, aber es ist " "leichter, eines der bestehenden automatischen Werkzeuge zu verwenden, wie " "<citerefentry> <refentrytitle>dupload</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry> oder <citerefentry> <refentrytitle>dput</" "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. Wir beschreiben, " "wie es mit dem Befehl <command>dupload</command> gemacht wird. <placeholder " "type=\"footnote\" id=\"2\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "First you have to set up <command>dupload</command>'s config file. You can " "either edit the system-wide <filename>/etc/dupload.conf</filename> file, or " "have your own <filename>~/.dupload.conf</filename> file override the few " "things you want to change." msgstr "" "Zuerst müssen Sie die Konfigurationsdatei von <command>dupload</command> " "einrichten. Sie können entweder die systemweite Datei <filename>/etc/dupload." "conf</filename> bearbeiten oder durch Ihre persönliche Datei <filename>~/." "dupload.conf</filename> die wenigen Dinge, die Sie ändern möchten, " "überschreiben." #. type: Content of: <book><chapter><section><para> msgid "" "You can read the <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " "<manvolnum>5</manvolnum> </citerefentry> manual page to understand what each " "of these options means." msgstr "" "Sie können die Handbuchseite <citerefentry> <refentrytitle>dupload.conf</" "refentrytitle> <manvolnum>5</manvolnum> </citerefentry> lesen, um zu " "verstehen, was jede dieser Optionen bedeutet." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6. " "\"Uploading a package\"</ulink>." msgstr "" "Siehe <ulink url=\"&devref-upload;\">Debian-Entwicklerreferenz 5.6. »Ein " "Paket hochladen«</ulink>." #. type: Content of: <book><chapter><section><para> msgid "" "The <literal>$default_host</literal> option determines which of the upload " "queues will be used by default. <literal>anonymous-ftp-master</literal> is " "the primary one, but it's possible that you will want to use another one. " "<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Die Option <literal>$default_host</literal> bestimmt, welche der Upload-" "Warteschlangen standardmäßig benutzt wird. <literal>anonymous-ftp-master</" "literal> ist die primäre, aber es ist möglich, dass Sie eine andere benutzen " "möchten. <placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><chapter><section><para> msgid "" "While connected to the Internet, you can upload your package as follows:" msgstr "" "Während Sie mit dem Internet verbunden Sie, können Sie Ihr Paket wie folgt " "hochladen:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dupload gentoo_0.9.12-1_i386.changes\n" msgstr "$ dupload gentoo_0.9.12-1_i386.changes\n" #. type: Content of: <book><chapter><section><para> msgid "" "<command>dupload</command> checks that the SHA1/SHA256 file checksums match " "those listed in the <filename>.changes</filename> file. If they do not " "match, it will warn you to rebuild it as described in <xref linkend=" "\"completebuild\"/> so it can be properly uploaded." msgstr "" "<command>dupload</command> prüft, ob die SHA1/SHA256-Dateiprüfsummen zu " "denen in der Datei <filename>.changes</filename> aufgeführten passen. Falls " "Sie nicht passen, wird es Sie warnen, dass sie wie in <xref linkend=" "\"completebuild\"/> beschrieben erneut bauen müssen, so dass es korrekt " "hochgeladen werden kann." #. type: Content of: <book><chapter><section><para><footnote><para> msgid "" "See <ulink url=\"&uploadqueue-readme;\"/>. Alternatively, you can use the " "<command>dcut</command> command from the <systemitem role=\"package\">dput</" "systemitem> package." msgstr "" "Lesen Sie <ulink url=\"&uploadqueue-readme;\"/>. Alternativ können Sie den " "Befehl <command>dcut</command> aus dem Paket <systemitem role=\"package" "\">dput</systemitem> verwenden." #. type: Content of: <book><chapter><section><para> msgid "" "If you encounter an upload problem at <ulink url=\"&uploadqueue;\"/>, you " "can fix this by manually uploading a GPG-signed <filename>*.commands</" "filename> file to there with <command>ftp</command>. <placeholder type=" "\"footnote\" id=\"0\"/> For example, using <filename>hello.commands</" "filename>:" msgstr "" "Falls Sie auf ein Problem beim Hochladen in <ulink url=\"&uploadqueue;\"/> " "stoßen, können Sie dies durch manuelles Hochladen einer GPG-unterschriebenen " "Datei <filename>*.commands</filename> mit <command>ftp</command> " "korrigieren. <placeholder type=\"footnote\" id=\"0\"/> Beispielsweise mit " "der <filename>hello.commands</filename>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" msgstr "" "-----BEGIN PGP SIGNED MESSAGE-----\n" "Hash: SHA1\n" "Uploader: Foo Bar <Foo.Bar@example.org>\n" "Commands: \n" " rm hello_1.0-1_i386.deb\n" " mv hello_1.0-1.dsx hello_1.0-1.dsc\n" "-----BEGIN PGP SIGNATURE-----\n" "Version: GnuPG v1.4.10 (GNU/Linux)\n" "\n" "[...]\n" "-----END PGP SIGNATURE-----\n" #. type: Content of: <book><chapter><section><title> msgid "Including <filename>orig.tar.gz</filename> for upload" msgstr "Die Datei <filename>orig.tar.gz</filename> hochladen" #. type: Content of: <book><chapter><section><para> msgid "" "When you first upload the package to the archive, you need to include the " "original <filename>orig.tar.gz</filename> source, too. If the Debian " "revision number of this package is neither <literal>1</literal> nor " "<literal>0</literal>, you must provide the <command>dpkg-buildpackage</" "command> option <literal>-sa</literal>." msgstr "" "Wenn Sie das Paket zum ersten Mal ins Archiv hochladen, müssen Sie auch die " "ursprüngliche Quelldatei <filename>orig.tar.gz</filename> einschließen. " "Falls die Debian-Revisionsnummer dieses Pakets weder <literal>1</literal> " "noch <literal>0</literal> ist, müssen Sie die Option <literal>-sa</literal> " "von <command>dpkg-buildpackage</command> verwenden." #. type: Content of: <book><chapter><section><para> msgid "For the <command>dpkg-buildpackage</command> command:" msgstr "Für den Befehl <command>dpkg-buildpackage</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -sa\n" msgstr "$ dpkg-buildpackage -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>debuild</command> command:" msgstr "Für den Befehl <command>debuild</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -sa\n" msgstr "$ debuild -sa\n" #. type: Content of: <book><chapter><section><para> msgid "For the <command>pdebuild</command> command:" msgstr "Für den Befehl <command>pdebuild</command>:" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts -sa\n" msgstr "$ pdebuild --debbuildopts -sa\n" #. type: Content of: <book><chapter><section><para> msgid "" "On the other hand, the <literal>-sd</literal> option will force the " "exclusion of the original <filename>orig.tar.gz</filename> source." msgstr "" "Andererseits wird die Option <literal>-sd</literal> den Ausschluss der " "ursprünglichen Quelle <filename>orig.tar.gz</filename> erzwingen." #. type: Content of: <book><chapter><section><title> msgid "Skipped uploads" msgstr "Übersprungene Uploads" # FIXME: s/from the last upload/since the last upload/? #. type: Content of: <book><chapter><section><para> msgid "" "If you created multiple entries in <filename>debian/changelog</filename> by " "skipping uploads, you must create a proper <filename>*_.changes</filename> " "file which includes all changes from the last upload. This can be done by " "specifying the <command>dpkg-buildpackage</command> option <literal>-v</" "literal> with the version, e.g., <literal><replaceable>1.2</replaceable></" "literal>." msgstr "" "Falls Sie mehrere Einträgen in <filename>debian/changelog</filename> erzeugt " "haben, indem Sie Uploads übersprangen, müssen Sie eine korrekte Datei " "<filename>*_.changes</filename> erzeugen, die sämtliche Änderungen vom " "letzten Upload enthält. Dies kann durch Angabe der Option <literal>-v</" "literal> von <command>dpkg-buildpackage</command> mit der Version, z.B. " "<literal><replaceable>1.2</replaceable></literal>, erfolgen." #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" msgstr "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ debuild -v<replaceable>1.2</replaceable>\n" msgstr "$ debuild -v<replaceable>1.2</replaceable>\n" #. type: Content of: <book><chapter><section><screen> #, no-wrap msgid "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" msgstr "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" #. type: Content of: <book><appendix><title> msgid "Advanced packaging" msgstr "Fortgeschrittene Paketierung" #. type: Content of: <book><appendix><para> msgid "" "Here are some hints and pointers for advanced packaging topics which you are " "most likely to deal with. You are strongly advised to read all the " "references suggested here." msgstr "" "Es folgen einige Tipps und Verweise für fortgeschrittene Paketierungsfragen, " "mit denen Sie wahrscheinlich zu tun bekommen werden. Es wird Ihnen " "nachdrücklich empfohlen, alle hier vorgeschlagenen Referenzen zu lesen." #. type: Content of: <book><appendix><section><title> msgid "Shared libraries" msgstr "Laufzeit-Bibliothek" #. type: Content of: <book><appendix><section><para> msgid "" "Before packaging shared <ulink url=\"&library;\">libraries</ulink>, you " "should read the following primary references in detail." msgstr "" "Bevor Sie <ulink url=\"&library;\">Laufzeit-Bibliotheken</ulink> paketieren, " "sollten Sie die folgenden Referenzen im Detail lesen:" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " "libraries\"</ulink>" msgstr "" "<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, Kapitel 8 " "»Shared libraries«</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " "Structure\"</ulink>" msgstr "" "<ulink url=\"&policy-fhs;\">Debian Policy Manual, Kapitel 9.1.1 »File System " "Structure«</ulink>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" "ulink>" msgstr "" "<ulink url=\"&policy-libraries;\">Debian Policy Manual, Kapitel 10.2 " "»Libraries«</ulink>" #. type: Content of: <book><appendix><section><para> msgid "Here are some oversimplified hints for you to get started." msgstr "Es folgen einige stark vereinfachte Tipps für den Anfang." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are <ulink url=\"&elf;\">ELF</ulink> object files " "containing compiled code." msgstr "" "Laufzeitbibliotheken (engl. »shared libraries«) sind <ulink url=\"&elf;" "\">ELF</ulink>-Objektdateien, die übersetzten Code enthalten." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are distributed as <filename>*.so</filename> files. " "(Neither <filename>*.a</filename> files nor <filename>*.la</filename> files)" msgstr "" "Laufzeitbibliotheken werden als <filename>*.so</filename>-Dateien " "vertrieben, d.h. weder als <filename>*.a</filename>- noch als <filename>*." "la</filename>-Dateien." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are mainly used to share common codes among multiple " "executables with the <command>ld</command> mechanism." msgstr "" "Laufzeitbibliotheken werden hauptsächlich benutzt, um gemeinsamen " "Programmcode aus mehreren Programmen mittels des <command>ld</command>-" "Mechanismus gemeinsam zu benutzen." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries are sometimes used to provide multiple plugins to an " "executable with the <command>dlopen</command> mechanism." msgstr "" "Laufzeitbibliotheken werden manchmal dazu benutzt, mehrere Erweiterungen " "eines Programms mittels des <command>dlopen</command>-Mechanismus " "bereitzustellen." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Shared libraries export <ulink url=\"&symbol;\">symbols</ulink> which " "represent compiled objects such as variables, functions, and classes; and " "enables access to them from the linked executables." msgstr "" "Laufzeitbibliotheken exportieren <ulink url=\"&symbol;\">Symbole</ulink>, " "die übersetzte Objekte wie Variablen, Funktionen und Klassen darstellen und " "darauf Zugriff von dem verlinkten Programm ermöglichen." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" msgstr "" "Alternativ: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The <ulink url=\"&soname;\">SONAME</ulink> of a shared library " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" msgstr "" "Der <ulink url=\"&soname;\">SONAME</ulink> einer Laufzeitbibliothek " "<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" "replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of a shared library usually matches the library file name (but " "not always)." msgstr "" "Der SONAME einer Laufzeitbibliothek passt typischerweise (aber nicht immer) " "auf den Dateinamen der Bibliothek." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" msgstr "" "Alternativ: <literal>readelf -d lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable> | grep NEEDED</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The SONAME of shared libraries linked to <filename><replaceable>/usr/bin/" "foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/foo</" "replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/" ">" msgstr "" "Der SONAME von Laufzeitbibliotheken, die nach <filename><replaceable>/usr/" "bin/foo</replaceable></filename> gelinkt sind: <literal>objdump -p " "<replaceable>/usr/bin/foo</replaceable> | grep NEEDED</literal> <placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time " "shared libraries\"</ulink>." msgstr "" "Siehe <ulink url=\"&policy-runtime;\">Debian Policy Manual, Kapitel 8.1 »Run-" "time shared libraries«</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: the library package " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> with the SONAME ABI version " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>: das Bibliothekspaket " "für die Laufzeitbibliothek <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename> mit der SONAME-ABI-Version " "<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig" "\"</ulink>." msgstr "" "Siehe <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, Kapitel 8.1.1 " "»ldconfig«</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "The package maintainer scripts of the library package must call " "<command>ldconfig</command> under the specific circumstances to create the " "necessary symbolic links for the SONAME.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "Die Paketbetreuerskripte des Bibliothekspakets müssen <command>ldconfig</" "command> unter den bestimmten Randbedingungen aufrufen, um die notwendigen " "symbolischen Links für den SONAME zu erzeugen.<placeholder type=\"footnote\" " "id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: the debugging " "symbols package which contains the debugging symbols for the shared library " "package <systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>." msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>: das Fehlersuch-" "Symbol-Paket, das die Debugging-Symbole für das Laufzeitpaket <systemitem " "role=\"package\">lib<replaceable>foo</replaceable><replaceable>1</" "replaceable></systemitem> enthält." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " "libraries\"</ulink> and <ulink url=\"&policy-dev;\">Debian Policy Manual, " "8.4 \"Development files\"</ulink>." msgstr "" "Siehe <ulink url=\"&policy-static;\">Debian Policy Manual, Kapitel 8.3 " "»Static libraries«</ulink> und <ulink url=\"&policy-dev;\">Debian Policy " "Manual, Kapitel 8.4 »Development files«</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: the development package which contains the header files etc. " "for the shared library <filename>lib<replaceable>foo</replaceable>.so." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>: das Entwicklungspaket, das die Header-Dateien usw. für die " "Laufzeitbibliothek <filename>lib<replaceable>foo</replaceable>.so enthält." "<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" "\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "See <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink>." msgstr "" "Siehe <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</" "ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not contain <filename>*.la</filename> Libtool archive " "files in general.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Debian-Pakete sollten im Allgemeinen keine <filename>*.la</filename>-Libtool-" "Archive enthalten.<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "See <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." msgstr "Siehe <ulink url=\"&rpathissues;\">Debian-Wiki RpathIssue</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Debian package should not use RPATH in general.<placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Debian-Pakete sollten im Allgemeinen keinen RPATH enthalten.<placeholder " "type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Although it is somewhat outdated and is only a secondary reference, <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "may still be useful." msgstr "" "Obwohl sie etwas veraltet und nur Sekundärliteratur ist, könnte der <ulink " "url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " "noch nützlich sein." #. type: Content of: <book><appendix><section><title> msgid "" "Managing <filename>debian/<replaceable>package</replaceable>.symbols</" "filename>" msgstr "" "<filename>debian/<replaceable>Paket</replaceable>.symbols</filename> " "verwalten" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Backward-incompatible ABI changes normally require you to update the SONAME " "of the library and the shared library package name to new ones." msgstr "" # FIXME: Doppelpunkt #. type: Content of: <book><appendix><section><para> msgid "" "When you package a shared library, you should create <filename>debian/" "<replaceable>package</replaceable>.symbols</filename> file to manage the " "minimal version associated to each symbol for backward-compatible ABI " "changes under the same SONAME of the library for the same shared library " "package name.<placeholder type=\"footnote\" id=\"0\"/> You should read the " "following primary references in detail." msgstr "" "Wenn Sie eine Laufzeitbibliothek paketieren, sollten Sie eine Datei " "<filename>debian/<replaceable>Paket</replaceable>.symbols</filename> " "erstellen, um die minimale Version zu verwalten, die jedem Symbol für " "rückwärts-kompatible ABI-Änderungen unter dem gleichen SONAME der Bibliothek " "für den gleichen Laufzeitbibliotheksnamen zugeordnet ist.<placeholder type=" "\"footnote\" id=\"0\"/> Sie sollten die folgenden primären Referenzen im " "Detail lesen:" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "For C++ libraries and other cases where tracking individual symbols is too " "difficult, follow <ulink url=\"&policy-library-shlibs;\">Debian Policy " "Manual, 8.6.4 \"The shlibs system\"</ulink>, instead." msgstr "" "Für C++-Bibliotheken und anderen Fällen, bei denen das Nachverfolgen " "individueller Symbole zu schwierig ist, folgen Sie stattdessen dem <ulink " "url=\"&policy-library-shlibs;\">Debian Policy Manual, Kapitel 8.6.4 »The " "shlibs system«</ulink>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " "symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, Kapitel 8.6.3 " "»The symbols system«</ulink><placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" msgstr "" "<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" "manvolnum> </citerefentry>" #. type: Content of: <book><appendix><section><para> msgid "" "Here is a rough example to create the <systemitem role=\"package\">libfoo1</" "systemitem> package to the upstream version <literal>1.3</literal> with the " "proper <filename>debian/libfoo1.symbols</filename> file." msgstr "" "Es folgt ein grobes Beispiel, um das Paket <systemitem role=\"package" "\">libfoo1</systemitem> für die Version <literal>1.3</literal> der " "Originalautoren mit der korrekten Datei <filename>debian/libfoo1.symbols</" "filename> zu erstellen." #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Prepare the skeleton debianized source tree using the upstream " "<filename>libfoo-1.3.tar.gz</filename> file." msgstr "" "Bereiten Sie das Gerüst des debianisierten Quellbaums mit der Datei der " "Originalautoren <filename>libfoo-1.3.tar.gz</filename> vor." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If this is the first packaging of the <systemitem role=\"package\">libfoo1</" "systemitem> package, create the <filename>debian/libfoo1.symbols</filename> " "file with empty content." msgstr "" "Falls dies das erstmalige Paketieren des Pakets <systemitem role=\"package" "\">libfoo1</systemitem> ist, erstellen Sie die Datei <filename>debian/" "libfoo1.symbols</filename> mit leerem Inhalt." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was packaged as the " "<systemitem role=\"package\">libfoo1</systemitem> package with the proper " "<filename>debian/libfoo1.symbols</filename> in its source package, use it " "again." msgstr "" "Falls die vorherige Version <literal>1.2</literal> der Originalautoren im " "Paket <systemitem role=\"package\">libfoo1</systemitem> mit der korrekten " "<filename>debian/libfoo1.symbols</filename> in seinem Quellpaket paketiert " "war, verwenden sie diese wieder." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "All previous versions of Debian packages are available at <ulink url=" "\"&snapshot;\">http://snapshot.debian.org/</ulink>. The Debian revision is " "dropped from the version to make it easier to backport the package: " "<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " "<literal>1.1-1</literal> and <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" msgstr "" "Alle vorhergehenden Versionen eines Pakets sind von <ulink url=\"&snapshot;" "\">http://snapshot.debian.org/</ulink> erhältlich. Die Debian-Revision wird " "von der Version entfernt, um das Rückportieren eines Paketes zu erleichtern: " "<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " "<literal>1.1-1</literal> and <literal>1.2</literal> << " "<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If the previous upstream version <literal>1.2</literal> was not packaged " "with the <filename>debian/libfoo1.symbols</filename>, create it as the " "<filename>symbols</filename> file from all available binary packages of the " "same shared library package name containing the same SONAME of the library, " "for example, versions <literal>1.1-1</literal> and <literal>1.2-1</" "literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" "Falls die vorhergehende Version <literal>1.2</literal> der Originalautoren " "nicht mit der <filename>debian/libfoo1.symbols</filename> paketiert worden " "war, erstellen Sie sie als Datei <filename>symbols</filename> von allen " "verfügbaren Binärpaketen des selben Laufzeitbibliotheknamens, der den " "gleichen SONAME der Bibliothek enthält, beispielsweise Version " "<literal>1.1-1</literal> und <literal>1.2-1</literal>. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" msgstr "" "$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" "$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" "$ : > symbols\n" "$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" "$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Make trial builds of the source tree with tools such as <command>debuild</" "command> and <command>pdebuild</command>. (If this fails due to missing " "symbols etc., there were some backward-incompatible ABI changes which " "require you to bump the shared library package name to something like " "<systemitem role=\"package\">libfoo1a</systemitem> and you should start over " "again.)" msgstr "" "Bauen Sie mit Werkzeugen wie <command>debuild</command> und " "<command>pdebuild</command> versuchsweise den Quellbaum. (Falls das aufgrund " "fehlender Symbole usw. fehlschlägt, gibt es einige rückwärtsinkompatible ABI-" "Änderungen, die es notwendig machen, den Paketnamen der Laufzeitbibliothek " "auf etwas wie <systemitem role=\"package\">libfoo1a</systemitem> zu erhöhen. " "Sie sollten dann wieder von vorne anfangen.)" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" " see diff output below\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" msgstr "" "$ cd libfoo-1.3\n" "$ debuild\n" "...\n" "dpkg-gensymbols: Warnung: einige neue Symbole sind in der Symboldatei aufgetaucht: …\n" " lesen Sie die folgende Diff-Ausgabe\n" "--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" "+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" "@@ -127,6 +127,7 @@\n" " foo_get_name@Base 1.1\n" " foo_get_longname@Base 1.2\n" " foo_get_type@Base 1.1\n" "+ foo_get_longtype@Base 1.3-1\n" " foo_get_symbol@Base 1.1\n" " foo_get_rank@Base 1.1\n" " foo_new@Base 1.1\n" "...\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> msgid "" "The Debian revision is dropped from the version to make it easier to " "backport the package: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" msgstr "" "Die Debian-Revision wird von der Version entfernt, um das Rückportieren " "eines Paketes zu erleichtern: <literal>1.3</literal> << " "<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "If you see the diff printed by the <command>dpkg-gensymbols</command> as " "above, extract the updated proper <filename>symbols</filename> file from the " "generated binary package of the shared library. <placeholder type=\"footnote" "\" id=\"0\"/>" msgstr "" "Falls Sie wie oben den von <command>dpkg-gensymbols</command> ausgegebenen " "Diff sehen, extrahieren Sie die korrekte <filename>symbols</filename>-Datei " "aus dem erstellten Binärpaket der Laufzeitbibliothek. <placeholder type=" "\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" msgstr "" "$ cd ..\n" "$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" "$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" " >libfoo-1.3/debian/libfoo1.symbols\n" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Build release packages with tools such as <command>debuild</command> and " "<command>pdebuild</command>." msgstr "" "Bauen Sie mit Werkzeugen wie <command>debuild</command> und " "<command>pdebuild</command> Veröffentlichungspakete." #. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> #, no-wrap msgid "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "...\n" msgstr "" "$ cd libfoo-1.3\n" "$ debuild clean\n" "$ debuild\n" "…\n" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "See <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 \"Shared " "library ABI changes\"</ulink>." msgstr "" "Siehe <ulink url=\"&policy-library-abi;\">Debian Policy Manual, Kapitel " "8.6.2 »Shared library ABI changes«</ulink>." #. type: Content of: <book><appendix><section><para> msgid "" "In addition to the above examples, we need to check the ABI compatibility " "further and bump versions for some symbols manually as needed. <placeholder " "type=\"footnote\" id=\"0\"/>" msgstr "" "Zusätzlich zu den obigen Beispielen müssen wir die ABI-Kompatibilität weiter " "prüfen und die Versionen für einige Symbole wo notwendig erhöhen. " "<placeholder type=\"footnote\" id=\"0\"/>" #. type: Content of: <book><appendix><section><para> msgid "" "Although it is only a secondary reference, <ulink url=\"&usingsymbolsfiles;" "\">Debian wiki UsingSymbolsFiles</ulink> and its linked web pages may be " "useful." msgstr "" #. type: Content of: <book><appendix><section><title> msgid "Multiarch" msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "The multiarch feature introduced to Debian wheezy integrates support for " "cross-architecture installation of binary packages (particularly " "<literal>i386</literal><-><literal>amd64</literal>, but also other " "combinations) in <systemitem role=\"package\">dpkg</systemitem> and " "<systemitem role=\"package\">apt</systemitem>. You should read the " "following references in detail." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (upstream)" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" "Implementation</ulink> (Debian situation)" msgstr "" #. type: Content of: <book><appendix><section><para><footnote><para> msgid "" "Old special purpose library paths such as <filename>/lib32/</filename> and " "<filename>/lib64/</filename> are not used any more." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "It uses the triplet such as <literal>i386-linux-gnu</literal> and " "<literal>x86_64-linux-gnu</literal> for the install path of shared " "libraries. The actual triplet path is dynamically set into <literal>" "$(DEB_HOST_MULTIARCH)</literal> value by <citerefentry> <refentrytitle>dpkg-" "architecture</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for " "each build. For example, the path to install multiarch libraries are " "changed as follows.<placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Old path" msgstr "Alter Pfad" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "i386 multiarch path" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "amd64 multiarch path" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/</filename>" msgstr "<filename>/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/i386-linux-gnu/</filename>" msgstr "<filename>/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/</filename>" msgstr "<filename>/usr/lib/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/i386-linux-gnu/</filename>" msgstr "<filename>/usr/lib/i386-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "<filename>/usr/lib/x86_64-linux-gnu/</filename>" msgstr "<filename>/usr/lib/x86_64-linux-gnu/</filename>" #. type: Content of: <book><appendix><section><para> msgid "" "Here are some typical multiarch package split scenario examples for the " "followings:" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a library source <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" msgstr "" "eine Bibliotheksquelle <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" "filename>" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>bar</replaceable>-1.tar.gz</filename> " "written in a compiled language" msgstr "" "eine in einer übersetzten Sprache geschriebene Werkzeugquelle " "<filename><replaceable>bar</replaceable>-1.tar.gz</filename> " #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "a tool source <filename><replaceable>baz</replaceable>-1.tar.gz</filename> " "written in an interpreted language" msgstr "" "eine in einer interpretierten Sprache geschriebene Werkzeugquelle " "<filename><replaceable>baz</replaceable>-1.tar.gz</filename> " # FIXME: Somtimes colons? #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package" msgstr "Paket" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Architecture:" msgstr "Architektur:" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Multi-Arch:" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> msgid "Package content" msgstr "Paketinhalt" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "any" msgstr "any" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "same" msgstr "same" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library, co-installable" msgstr "die Laufzeitbibliothek, koinstallierbar" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</" "replaceable><replaceable>1</replaceable>-dbg</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library debug symbols, co-installable" msgstr "" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library header files etc., co-installable" msgstr "die Laufzeitbibliothek-Header-Dateien usw., koinstallierbar" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "foreign" msgstr "foreign" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the run-time support programs, not co-installable" msgstr "die Laufzeitunterstützungsprogramme, nicht koinstallierbar" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" msgstr "" "<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" "systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "all" msgstr "all" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the shared library documentation files" msgstr "die Dokumentationsdateien der Laufzeitbibliothek" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the compiled program files, not co-installable" msgstr "die übersetzten Programmdateien, nicht koinstallierbar" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the documentation files for the program" msgstr "die Dokumentationsdateien für das Programm" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" msgstr "" "<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" #. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> msgid "the interpreted program files" msgstr "die interpretierten Programmdateien" #. type: Content of: <book><appendix><section><para> msgid "" "Please note that the development package should contain a symlink for the " "associated shared library <emphasis role=\"strong\">without a version " "number</emphasis>. E.g.: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</" "filename> -> <filename>libfoo.so.1</filename>" msgstr "" "Beachten Sie, dass die Entwicklungspakete einen Symlink für die zugehörige " "Laufzeitbibliothek <emphasis role=\"strong\">ohne eine Versionsnummer </" "emphasis> enthalten sollten. Z.B. <filename>/usr/lib/x86_64-linux-gnu/libfoo." "so</filename> -> <filename>libfoo.so.1</filename>" #. type: Content of: <book><appendix><section><title> msgid "Building a shared library package" msgstr "Erstellen eines Laufzeitbibliothekspakets" # FIXME: Doppelpunkt? #. type: Content of: <book><appendix><section><para> msgid "" "You can build a Debian library package enabling the multiarch support using " "<citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </" "citerefentry> as follows." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Update <filename>debian/control</filename>." msgstr "<filename>debian/control</filename> aktualisieren" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Build-Depends: debhelper (>=9)</literal> for the source package " "section." msgstr "" "<literal>Build-Depends: debhelper (>=9)</literal> für den " "Quellpaketabschnitt hinzufügen" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Pre-Depends: ${misc:Pre-Depends}</literal> for each shared " "library binary package." msgstr "" "<literal>Pre-Depends: ${misc:Pre-Depends}</literal> für jedes " "Laufzeitbibliothekspaket hinzufügen" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Add <literal>Multi-Arch:</literal> stanza for each binary package section." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "Set <filename>debian/compat</filename> to \"9\"." msgstr "<filename>debian/compat</filename> auf »9« setzen" #. type: Content of: <book><appendix><section><itemizedlist><listitem><para> msgid "" "Adjust the path from the normal <literal>/usr/lib/</literal> to the " "multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> for all " "packaging scripts." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Call <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> in <filename>debian/rules</filename> to set " "<literal>DEB_HOST_MULTIARCH</literal> variable, first." msgstr "" "Zuerst <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" "qDEB_HOST_MULTIARCH)</literal> in <filename>debian/rules</filename> " "aufrufen, um die Variable <literal>DEB_HOST_MULTIARCH</literal> zu setzen." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace <literal>/usr/lib/</literal> with <literal>/usr/lib/" "$(DEB_HOST_MULTIARCH)/</literal> in <filename>debian/rules</filename>." msgstr "" "Ersetzen Sie in <filename>debian/rules</filename> <literal>/usr/lib/</" "literal> durch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal>." #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> msgid "" "Alternatively, you can add <literal>--libdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> and <literal>--libexecdir=\\$${prefix}/lib/" "$(DEB_HOST_MULTIARCH)</literal> arguments to <literal>./configure</" "literal>. Please note that <literal>--libexecdir</literal> specifies the " "default path to install executable programs run by other programs rather " "than by users. Its Autotools default is <filename>/usr/libexec/</filename> " "but its Debian default is <filename>/usr/lib/</filename>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "If <literal>./configure</literal> is used in the part of " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>, make sure to replace it with <literal>dh_auto_configure -- " "</literal>. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Replace all occurrences of <literal>/usr/lib/</literal> with <literal>/usr/" "lib/*/</literal> in <filename>debian/<replaceable>foo</replaceable>.install</" "filename> files." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> msgid "" "Generate files like <filename>debian/<replaceable>foo</replaceable>.links</" "filename> from <filename>debian/<replaceable>foo</replaceable>.links.in</" "filename> dynamically by adding a script to " "<literal>override_dh_auto_configure</literal> target in <filename>debian/" "rules</filename>." msgstr "" #. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" msgstr "" "override_dh_auto_configure:\n" " dh_auto_configure\n" " sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" " debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" #. type: Content of: <book><appendix><section><para> msgid "" "Please make sure to verify that the shared library package contains only the " "expected files, and that your -dev package still works." msgstr "" #. type: Content of: <book><appendix><section><para> msgid "" "All files installed simultaneously as the multiarch package to the same file " "path should have exactly the same file content. You must be careful on " "differences generated by the data byte order and by the compression " "algorithm." msgstr "" #~ msgid "" #~ "Some people use invalid distribution values such as <literal>UNRELEASED</" #~ "literal> to prevent a package being accidentally uploaded when updating a " #~ "package in a shared VCS." #~ msgstr "" #~ "Einige Leute verwenden ungültige Werte für die Distribution wie " #~ "<literal>UNRELEASED</literal>, um zu verhindern, dass ein Paket " #~ "versehentlich hochgeladen wird, wenn es in einem verteilten " #~ "Versionskontrollsystem aktualisiert wird." #~ msgid "" #~ "This assumes that the <systemitem role=\"package\">python-support</" #~ "systemitem> package is installed on the system." #~ msgstr "" #~ "Hier wird vorausgesetzt, dass das Paket <systemitem role=\"package" #~ "\">python-support</systemitem> auf dem System installiert ist." #~ msgid "" #~ "Use <literal>dh $@</literal> as usual. (Use of <command>dh_pysupport</" #~ "command> is the default)" #~ msgstr "" #~ "Verwenden Sie »<literal>dh $@</literal>« wie sonst auch (die " #~ "Voreinstellung ist die Verwendung von <command>dh_pysupport</command>)." #~ msgid "" #~ "Every <filename>rules</filename> file, as any other <filename>Makefile</" #~ "filename>, consists of several targets and their rules specifying how to " #~ "handle the source. <ulink url=\"&policy-debianrules;\">Debian Policy " #~ "Manual, 4.9 \"Main building script: debian/rules\"</ulink> explains its " #~ "details." #~ msgstr "" #~ "Wie jedes andere <filename>Makefile</filename> besteht die Datei " #~ "<filename>rules</filename> aus mehreren Zielen, deren Regeln bestimmen, " #~ "wie mit dem Quellcode verfahren wird. In den <ulink url=\"&policy-" #~ "debianrules;\">Debian Policy Manual, Kapitel 4.9 »Main building script: " #~ "debian/rules«</ulink> werden die Details erklärt." #~ msgid "" #~ "Rules that you want to execute are invoked as command line arguments (for " #~ "example, <literal>./debian/rules build</literal> or <literal>fakeroot " #~ "make -f debian/rules binary</literal>). After the target name, you can " #~ "name the dependency, program or file that the rule depends on. After " #~ "that, there can be any number of commands, indented with " #~ "<literal><replaceable>TAB</replaceable></literal>. A new rule begins " #~ "with the target declaration in the first column. Empty lines and lines " #~ "beginning with <literal>#</literal> (hash) are treated as comments and " #~ "ignored." #~ msgstr "" #~ "Regeln, die Sie ausführen möchten, werden beim Aufruf als " #~ "Befehlszeilenargumente angegeben (beispielsweise »<literal>./debian/rules " #~ "build</literal>« oder »<literal>fakeroot make -f debian/rules binary</" #~ "literal>«). Nach dem Namen des Targets können Sie weitere benötigte " #~ "Ziele, Programme oder Dateien angeben, von der die Ausführung der Regel " #~ "abhängt. Danach folgt eine beliebige Anzahl von Befehlen, eingerückt mit " #~ "<literal><replaceable>TAB</replaceable></literal>. Eine neue Regel " #~ "beginnt mit der Deklaration eines Ziels in der ersten Spalte. Leerzeilen " #~ "und mit einem »<literal>#</literal>« (hash) beginnende Zeilen werden als " #~ "Kommentare betrachtet und ignoriert." #~ msgid "" #~ "This document will explain every little (at first maybe irrelevant) step, " #~ "and help you create that first package, and to gain some experience in " #~ "building next releases of that and maybe other packages later on." #~ msgstr "" #~ "Dieses Dokument wird jeden kleinen (möglicherweise auch irrelevanten) " #~ "Schritt erklären, um Ihnen bei der Erstellung des ersten Pakets zu " #~ "helfen. Außerdem bekommen Sie etwas Erfahrung im Erstellen neuer " #~ "Veröffentlichungen des Pakets undvielleicht später anderer Pakete." #~ msgid "Official Debian Developer" #~ msgstr "Offizieller Debian-Entwickler" #~ msgid "Basic terminology" #~ msgstr "Grundlegende Terminologie" #~ msgid "There are two types of packages." #~ msgstr "Es gibt zwei Arten von Paketen." #~ msgid "" #~ "<emphasis role=\"strong\">source package</emphasis>: A source package is " #~ "a set of files which contain code and data which you can compile and " #~ "process into execution programs and formatted documents. It usually " #~ "comes as a combination of <filename>*.orig.tar.gz</filename>, <filename>*." #~ "debian.tar.gz</filename> (or <filename>*.diff.gz</filename>), and " #~ "<filename>*.dsc</filename>. Some other archive and compression methods " #~ "may be used, too." #~ msgstr "" #~ "<emphasis role=\"strong\">Quellpaket (»source package«)</emphasis>: Ein " #~ "Quellpaket ist eine Sammlung von Dateien, die Code und Daten enthalten. " #~ "Diese können Sie kompilieren und ausführbare Programme und formatierte " #~ "Dokumente erzeugen. Üblicherweise ist ein Quellpaket eine Kombination aus " #~ "<filename>*.orig.tar.gz</filename>, <filename>*.debian.tar.gz</filename> " #~ "(oder <filename>*.diff.gz</filename>) und <filename>*.dsc</filename>. Es " #~ "können auch einige andere Archive und Kompressionsmethoden verwendet " #~ "werden." #~ msgid "" #~ "<emphasis role=\"strong\">binary package</emphasis>: A binary package " #~ "contains execution programs and formatted documents. It usually comes as " #~ "<filename>*.deb</filename> for the normal Debian system and as " #~ "<filename>*.udeb</filename> for the Debian Installer." #~ msgstr "" #~ "<emphasis role=\"strong\">Binärpaket (»binary package«)</emphasis>: Ein " #~ "Binärpaket enthält ausführbare Programme und formatierte Dokumente. " #~ "Üblicherweise ist dies eine <filename>*.deb</filename>-Datei für das " #~ "normale Debian-System und eine <filename>*.udeb</filename>-Datei für den " #~ "Debian-Installer." #~ msgid "" #~ "Don't mix terms like source of the program and the source package of the " #~ "program!" #~ msgstr "" #~ "Verwechseln Sie nicht Begriffe wie »Quelle des Programms« und »Quellpaket " #~ "des Programms«!" #~ msgid "" #~ "There are several version names<placeholder type=\"footnote\" id=\"0\"/> " #~ "used around Debian." #~ msgstr "" #~ "Es werden innerhalb von Debian verschiedene Namen für " #~ "Versionen<placeholder type=\"footnote\" id=\"0\"/> benutzt." #~ msgid "" #~ "<emphasis role=\"strong\">upstream source version</emphasis>: The " #~ "upstream source version is referred as <literal><replaceable>version</" #~ "replaceable></literal>." #~ msgstr "" #~ "<emphasis role=\"strong\">Version der Originalquelle (»upstream source " #~ "version«)</emphasis>: Die Version der Originalquelle wird als " #~ "<literal><replaceable>Version</replaceable></literal> bezeichnet." #~ msgid "" #~ "<emphasis role=\"strong\">Debian revision</emphasis>: The revision by " #~ "Debian on package is referred as <literal><replaceable>revision</" #~ "replaceable></literal>." #~ msgstr "" #~ "<emphasis role=\"strong\">Debian-Revision (»Debian revision«)</emphasis>: " #~ "Die Revision des Pakets innerhalb von Debian wird als " #~ "<literal><replaceable>Revision</replaceable></literal> bezeichnet." #~ msgid "" #~ "<emphasis role=\"strong\">Debian package version</emphasis>: The Debian " #~ "package version is referred as the following." #~ msgstr "" #~ "<emphasis role=\"strong\">Debian-Paketversion (»Debian package version«)</" #~ "emphasis>: Die Debian-Paketversion wird wie folgt bezeichnet." #~ msgid "" #~ "<literal><replaceable>version</replaceable></literal> for the native " #~ "Debian binary package and for the Debian source package." #~ msgstr "" #~ "<literal><replaceable>Version</replaceable></literal> für native Debian-" #~ "Binärpakete und für das Debian-Quellpaket." #~ msgid "" #~ "<literal><replaceable>version</replaceable>-<replaceable>revision</" #~ "replaceable></literal> for the non-native Debian binary package." #~ msgstr "" #~ "<literal><replaceable>Version</replaceable>-<replaceable>Revision</" #~ "replaceable></literal> für nichtnative Debian-Binärpakete." #~ msgid "" #~ "That program should result in binary executable form, libraries are " #~ "harder to handle." #~ msgstr "" #~ "Das Programm sollte in einer binären ausführbaren Form erstellt werden, " #~ "es ist schwieriger, mit Bibliotheken umzugehen." #~ msgid "Free portable programs" #~ msgstr "Freie portierbare Programme" #~ msgid "" #~ "See <ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and " #~ "<ulink url=\"&autotools-readme;\"/>." #~ msgstr "" #~ "Siehe das <ulink url=\"&autotools-tutorial;\">Autotools-Tutorial</ulink> " #~ "und <ulink url=\"&autotools-readme;\"/>." #~ msgid "" #~ "For the package to be built correctly, you must make the program's " #~ "original name lowercase (if it isn't already), and you should move the " #~ "source directory to <filename><replaceable>packagename</replaceable>-" #~ "<replaceable>version</replaceable></filename>." #~ msgstr "" #~ "Damit das Paket richtig gebaut werden kann, müssen Sie den ursprünglichen " #~ "Programmnamen in Kleinbuchstaben umwandeln (falls das nicht schon der " #~ "Fall ist). Außerdem sollten Sie das Quellverzeichnis in " #~ "<filename><replaceable>Paketname</replaceable>-<replaceable>Version</" #~ "replaceable></filename> umbenennen." #~ msgid "" #~ "If the program name consists of more than one word, contract them to one " #~ "word, or make an abbreviation. For example, program John's little editor " #~ "for X package would be named <systemitem role=\"package\">johnledx</" #~ "systemitem>, or <systemitem role=\"package\">jle4x</systemitem>, or " #~ "whatever you decide, as long as it's under some reasonable limit, e.g. " #~ "20 characters." #~ msgstr "" #~ "Wenn der Programmname aus mehr als einem Wort besteht, ziehen Sie sie zu " #~ "einem Wort zusammen oder erstellen eine Abkürzung. Zum Beispiel könnte " #~ "das Paket des Programms »John's little editor for X« <systemitem role=" #~ "\"package\">johnledx</systemitem> oder <systemitem role=\"package" #~ "\">jle4x</systemitem> genannt werden -- oder was immer Ihnen einfällt, " #~ "solange es in einem vernünftigen Rahmen bleibt, beispielsweise 20 Zeichen." #~ msgid "" #~ "Version string can be compared by <literal>dpkg --compare-versions " #~ "<replaceable>ver1</replaceable> <replaceable>op</replaceable> " #~ "<replaceable>ver2</replaceable></literal>. See <citerefentry> " #~ "<refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> </" #~ "citerefentry> manpage." #~ msgstr "" #~ "Die Versionszeichenkette kann mit »<literal>dpkg --compare-versions " #~ "<replaceable>Ver1</replaceable> <replaceable>Op</replaceable> " #~ "<replaceable>Ver2</replaceable></literal>« verglichen werden. Siehe die " #~ "Handbuchseite von <citerefentry> <refentrytitle>dpkg</refentrytitle> " #~ "<manvolnum>1</manvolnum> </citerefentry>." #~ msgid "" #~ "Also check for the exact version of the program (to be included in the " #~ "package version). If that piece of software is not numbered with " #~ "versions like <literal>X.Y.Z</literal>, but with some kind of date, feel " #~ "free to use that date as the version number, as long as newer version " #~ "numbers will look larger. While it is best to use the same version " #~ "number as what upstream uses, if it is in the format of <literal>09Oct23</" #~ "literal> you may need to convert it to <literal>YYYYMMDD</literal> " #~ "format, which would be <literal>20091023</literal>, to ensure proper " #~ "order for upgrade with the <command>dpkg</command> program.<placeholder " #~ "type=\"footnote\" id=\"0\"/>" #~ msgstr "" #~ "Überprüfen Sie außerdem die exakte Version des Programms (die in der " #~ "Paketversion enthalten sein wird). Falls die Software nicht mit Versionen " #~ "wie <literal>X.Y.Z</literal> nummeriert ist, sondern mit einer Art Datum, " #~ "können Sie dieses Datum als Versionsnummer benutzen, solange neuere " #~ "Versionsnummern größer sind. Obwohl es am besten ist, dieselbe " #~ "Versionsnummer zu verwenden, die der urspüngliche Autor benutzt, kann " #~ "eine Umwandlung notwendig sein. Wenn die Version im Format " #~ "<literal>09Oct23</literal> ist, müssen Sie sie in das Format " #~ "<literal>YYYYMMDD</literal> umwandeln, also <literal>20091023</literal>, " #~ "damit das Programm <command>dpkg</command> eine vernünftige " #~ "Aktualisierung durchführen kann. <placeholder type=\"footnote\" id=\"0\"/>" #~ msgid "" #~ "Some programs won't be numbered at all, in which case you should contact " #~ "the upstream maintainer to see if they've got some other revision-" #~ "tracking method." #~ msgstr "" #~ "Einige Programme haben gar keine Versionsnummerierung. In diesem Fall " #~ "sollten Sie den Betreuer des Originalprogramms kontaktieren, um " #~ "herauszufinden, ob er eine andere Methode benutzt, die Versionen " #~ "zuzuordnen." #~ msgid "" #~ "Let's make an initial Debian package by issuing the <command>dh_make</" #~ "command> command as follows." #~ msgstr "" #~ "Lassen Sie uns das erste Debian-Paket erstellen, indem Sie den Befehl " #~ "<command>dh_make</command> wie folgt aufrufen." #~ msgid "" #~ "$ . ~/.bashrc\n" #~ "$ cd ~/gentoo/gentoo-0.9.12\n" #~ "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #~ msgstr "" #~ "$ . ~/.bashrc\n" #~ "$ cd ~/gentoo/gentoo-0.9.12\n" #~ "$ dh_make -f ../gentoo-0.9.12.tar.gz\n" #~ msgid "" #~ "It's not too hard, but it does require a bit more knowledge, so we won't " #~ "describe all of it here." #~ msgstr "" #~ "Es ist nicht allzu schwierig, erfordert aber etwas mehr Wissen. Deswegen " #~ "wird hier nicht näher darauf eingegangen." #~ msgid "" #~ "But why in that directory, and not some other? Because Debian packages " #~ "never install files beneath <filename>/usr/local</filename> -- that tree " #~ "is reserved for the system administrator's use. Such files on Debian " #~ "systems go under <filename>/usr</filename> instead." #~ msgstr "" #~ "Aber warum in dieses Verzeichnis und nicht in irgendein anderes? Weil " #~ "Debian-Pakete niemals Dateien unter <filename>/usr/local</filename> " #~ "ablegen -- dieses Verzeichnis ist für den Systemadministrator reserviert. " #~ "Solche Dateien werden auf einem Debian-System stattdessen unter " #~ "<filename>/usr</filename> installiert." #~ msgid "Be careful that you don't mess up the rest of the code! :-)" #~ msgstr "Passen Sie auf, dass Sie den restlichen Code nicht beschädigen! :-)" #~ msgid "" #~ "The author realizes that this is not the best example considering our " #~ "<systemitem role=\"package\">libncurses</systemitem> package now ships " #~ "with a <filename>libcurses.so</filename> symlink, but he couldn't think " #~ "of a better one. Suggestions very welcome :-)" #~ msgstr "" #~ "Der Autor ist sich bewusst, dass dies nicht das beste Beispiel ist, weil " #~ "das Paket <systemitem role=\"package\">libncurses</systemitem> " #~ "mittlerweise einen symbolischen Link auf <filename>libcurses.so</" #~ "filename> enthält, aber er konnte sich kein besseres ausdenken. " #~ "Vorschläge sind sehr erwünscht :-)" #~ msgid "LIBS = -lcurses -lsomething -lsomethingelse\n" #~ msgstr "LIBS = -lcurses -lirgendwas -lirgendwasanderes\n" #~ msgid "" #~ "Let's fix this as <filename>debian/patches/ncurse.patch</filename> by " #~ "changing <literal>curses</literal> into <literal>ncurses</literal>." #~ msgstr "" #~ "Wir korrigieren dies, indem wir <literal>curses</literal> in " #~ "<literal>ncurses</literal> umbenennen und als <filename>debian/patches/" #~ "ncurse.patch</filename> speichern." #~ msgid "" #~ "For sources using Autotools, use combination of above as <literal>dh --" #~ "with autotools-dev --with autoreconf $@</literal> to be most current with " #~ "the GNU Build System." #~ msgstr "" #~ "Bei Quellen, die die Autotools benutzen, verwenden Sie eine Kombination " #~ "des oben genannten wie »<literal>dh --with autotools-dev --with " #~ "autoreconf $@</literal>«, um das aktuellste GNU-Build-System zu benutzen." #~ msgid "" #~ "<filename>cron.monthly</filename> - Installed as <filename>/etc/cron." #~ "monthly/<replaceable>package</replaceable></filename>: run once a month, " #~ "usually early morning on the first of the month." #~ msgstr "" #~ "<filename>cron.monthly</filename> - Wird als <filename>/etc/cron.monthly/" #~ "<replaceable>Paket</replaceable></filename> installiert: Ausführung " #~ "einmal pro Monat; üblicherweise ist dies am frühen Morgen des ersten " #~ "Tages jedes Monats." #~ msgid "src/foo/mybin usr/bin\n" #~ msgstr "src/foo/mybin usr/bin\n" #~ msgid "" #~ "Although I used Bash short hand expression to indicate these files as " #~ "<filename>{post|pre}{inst|rm}</filename> here, I recommend you to use " #~ "pure POSIX (non-Bash) shell for these <emphasis>maintainer scripts</" #~ "emphasis> as much as possible for the better compatibility." #~ msgstr "" #~ "Obwohl ich die Bash-Abkürzung »<filename>{post|pre}{inst|rm}</filename>« " #~ "hier verwende, empfehle ich Ihnen, so viel wie möglich auf reine POSIX-" #~ "Shellbefehle (nicht Bash) für diese <emphasis>Betreuerskripte</emphasis> " #~ "zurückzugreifen. Sie erreichen damit eine bessere Kompatibilität." #~ msgid "Here's what I put in it:" #~ msgstr "Ich habe hier folgendes hineingeschrieben:" #~ msgid "" #~ "The only input that will be required of you is your GPG secret pass " #~ "phrase, twice. <placeholder type=\"footnote\" id=\"0\"/>" #~ msgstr "" #~ "Sie müssen nur zweimal das Passwort für Ihren GPG-Schlüssel eingeben. " #~ "<placeholder type=\"footnote\" id=\"0\"/>" #~ msgid "<firstname>Josip</firstname> <surname>Rodin</surname>" #~ msgstr "<firstname>Josip</firstname> <surname>Rodin</surname>" #~ msgid "<firstname>Osamu</firstname> <surname>Aoki</surname>" #~ msgstr "<firstname>Osamu</firstname> <surname>Aoki</surname>" #~ msgid "" #~ "The <systemitem role=\"package\">gentoo</systemitem> package uses the " #~ "<ulink url=\"&gnu-build-system;\">GNU build system</ulink>, also known as " #~ "the Autotools." #~ msgstr "" #~ "Das Paket <systemitem role=\"package\">gentoo</systemitem> verwendet das " #~ "<ulink url=\"&gnu-build-system;\">GNU-Build-System</ulink>, auch bekannt " #~ "als die Autotools." #~ msgid "" #~ "The last feature you need to know about is <literal>${shlibs:Depends}</" #~ "literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" #~ "literal>, etc. These entries are substituted by the list generated by " #~ "other <systemitem role=\"package\">debhelper</systemitem> components when " #~ "the <citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> " #~ "<manvolnum>1</manvolnum> </citerefentry> command is executed." #~ msgstr "" #~ "Die letzten Merkmale, die Sie kennen sollten, sind <literal>${shlibs:" #~ "Depends}</literal>, <literal>${perl:Depends}</literal>, <literal>${misc:" #~ "Depends}</literal> usw. Diese Einträge werden durch die Liste ersetzt, " #~ "die von anderen <systemitem role=\"package\">debhelper</systemitem>-" #~ "Komponenten erstellt wurde, während der Befehl <citerefentry> " #~ "<refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</manvolnum> </" #~ "citerefentry> ausgeführt wird." #~ msgid "" #~ "If you still have questions about packaging that you couldn't find " #~ "answers to in the available documentation and web resources, you can ask " #~ "them on the Debian Mentors' mailing list at <ulink url=\"&debian-mentors-" #~ "ldo;\">debian-mentors@lists.debian.org</ulink>. The more experienced " #~ "Debian developers will gladly help you, but do read at least some of the " #~ "documentation before asking a question!" #~ msgstr "" #~ "Wenn Sie immer noch Fragen über das Paketieren haben und in der " #~ "vorhandenen Dokumentation sowie den Webressourcen keine Antworten finden " #~ "konnten, können Sie die Fragen auf der Mailingliste der Debian-Mentoren " #~ "unter <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian." #~ "org</ulink> stellen. Die erfahreneren Debian-Entwickler werden Ihnen " #~ "gerne helfen, aber lesen Sie zumindest einiges der Dokumentation, bevor " #~ "Sie Fragen stellen!" #~ msgid "" #~ "If you still have questions, ask on the Debian Developers' mailing list " #~ "at <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org</" #~ "ulink>. See <ulink url=\"&debian-devel-ldo;\">&debian-devel-ldo;</ulink> " #~ "for more information about this mailing list." #~ msgstr "" #~ "Wenn Sie immer noch Fragen haben, stellen Sie diese auf der Mailingliste " #~ "für Debian-Entwickler unter <ulink url=\"&debian-devel-ldo;\">debian-" #~ "devel@lists.debian.org</ulink>. Siehe <ulink url=\"&debian-devel-ldo;" #~ "\">&debian-devel-ldo;</ulink> für mehr Informationen über diese " #~ "Mailingliste." #~ msgid "" #~ "You can also check package information through <ulink url=\"&packages-do;" #~ "\">package search page</ulink> and <ulink url=\"&packages-qa-do;\">Debian " #~ "Package Tracking System</ulink>." #~ msgstr "" #~ "Sie können die Paketinformationen auch über die <ulink url=\"&packages-do;" #~ "\">Paket-Suchseite</ulink> und das <ulink url=\"&packages-qa-do;\">Debian " #~ "Package Tracking System</ulink> überprüfen." #~ msgid "" #~ "Several different views of orphaned or RFA'ed packages are available at:" #~ msgstr "" #~ "Es gibt verschiedene Listen von verwaisten oder zur Übernahme " #~ "ausgeschriebenen Paketen, die zur Verfügung stehen:" #~ msgid "" #~ "You can disable this configuration by starting the <command>quilt</" #~ "command> command as <literal>quilt --quiltrc /dev/null ...</literal>." #~ msgstr "" #~ "Sie können diese Konfiguration ausschalten, indem Sie den Befehl " #~ "<command>quilt</command> folgendermaßen aufrufen: »<literal>quilt --" #~ "quiltrc /dev/null ...</literal>«." #~ msgid "This is what the dependencies mean:" #~ msgstr "Und das bedeuten die Abhängigkeiten:" #~ msgid "" #~ "Section | Description | Notes\n" #~ " 1 User commands Executable commands or scripts.\n" #~ " 2 System calls Functions provided by the kernel.\n" #~ " 3 Library calls Functions within system libraries.\n" #~ " 4 Special files Usually found in /dev\n" #~ " 5 File formats E.g. /etc/passwd's format\n" #~ " 6 Games Or other frivolous programs\n" #~ " 7 Macro packages Such as man macros.\n" #~ " 8 System administration Programs typically only run by root.\n" #~ " 9 Kernel routines Non-standard calls and internals.\n" #~ msgstr "" #~ "Abschnitt | Beschreibung | Anmerkungen\n" #~ " 1 Benutzerbefehle Ausführbare Programme oder Skripte.\n" #~ " 2 Systemaufrufe Kernelfunktionen.\n" #~ " 3 Bibliotheksaufrufe Funktionen in Systembibliotheken.\n" #~ " 4 Spezielle Dateien Gewöhnlich in /dev\n" #~ " 5 Dateiformate z. B. das Format von /etc/passwd\n" #~ " 6 Spiele Und ähnliche Programme\n" #~ " 7 Makropakete Beispielsweise man-Makros\n" #~ " 8 Systemadministration Programme, die üblicherweise nur von " #~ "root ausgeführt werden.\n" #~ " 9 Kernelroutinen Nicht-Standardaufrufe und Interna.\n" #~ msgid "" #~ "There were a major reorganization of menu structure for <literal>squeeze</" #~ "literal>." #~ msgstr "" #~ "Es gab eine große Reorganisation der Menüstruktur für <literal>Squeeze</" #~ "literal>." #~ msgid "" #~ "<ulink url=\"http://git.debian.org/?p=collab-maint/topgit.git;" #~ "a=blob_plain;f=debian/HOWTO-tg2quilt;hb=HEAD\">Using TopGit to generate " #~ "quilt series for Debian packaging</ulink>" #~ msgstr "" #~ "»<ulink url=\"http://git.debian.org/?p=collab-maint/topgit.git;" #~ "a=blob_plain;f=debian/HOWTO-tg2quilt;hb=HEAD\">Using TopGit to generate " #~ "quilt series for Debian packaging</ulink>«" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/README.source��������������������������������������������������������������������0000644�0000000�0000000�00000021334�12262524103�013047� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������============================================================================== # README.source for maint-guide # # Fri, 13 Dec 2013 14:14:37 +0000 # # Osamu Aoki, osamu at debian dot org # ============================================================================== The web pages generated for the DDP are build directly from the released package. You can find them linked from: http://www.debian.org/doc/devel-manuals#maint-guide = Social rules for translation work = If you are going to update a translation, in order to ensure that nobody is currently working already on a translation of this document and no efforts are duplicated, please contact the following persons to notify your intent: a) the previous translator(s) if they exist, b) the translation team for your language, c) the current package maintainer of this package. To find who to contact in a), please review the 'Credits' file available with the sources as this lists all the previous translators. For b), you should use the translation team for your language. Translation teams usually use distribution lists which are named as: debian-l10n-<language>@lists.debian.org (replace <language> with the ISO language name such as "es", for Spanish). You can find a good list of such team at http://lists.debian.org/i18n.html . If no translation team exists yet for your language, you might consider setting up an official list to coordinate translations. If one exists, please note that translation teams usually have their rules and styles related to the translation (to maintain consistency across all translations being produced), you should review the existing rules and try to adhere to these too. The "Credits" file in this source is just a place holder information for the maintainer of this document but it still is a good starting point for people to identify their possible contacts. You should also use the latest information from the header of PO files etc. too. When contacting people, please give a few weeks before calling anyone non-responsive. The Debian BTS for maint-guide (http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=maint-guide) and its mailing list (debian-doc@lists.debian.org) are also other good backup contact points in case you don't obtain answers to your initial emails. -- Sun, 05 Dec 2010 22:11:06 +0100 Osamu Aoki <osamu@debian.org> Javier Fernandez-Sanguino <jfs@debian.org> = Quick start = The latest source is viewable via HTTP: http://anonscm.debian.org/gitweb/?p=ddp/maint-guide.git When you commit a translation file, please only commit the updated po/<language>.po to the master branch. (No po/templates.pot, *.xml, nor *.ent) If you are not familiar with git, it may be a good idea to submit po/<language>.po to the BTS. Then the package maintainer can update the source. This source is maintained in the alioth ddp maint-guide git repository as indicated in the Vcs-Git control fields. You can get the source as: $ git clone git://anonscm.debian.org/ddp/maint-guide.git $ cd maint-guide or if you already have local copy: $ cd path/to/maint-guide $ git checkout master $ git pull It is good idea to create a local branch local-1 and work on it as: $ git checkout -b local-1 ... edit and test <----------------\<------------------------------------\ $ git commit -a -m "Describe ..." ^ ^ $ make wrap;make po | (check fuzzy.log) | ... go back to edit ---------------->/ | | Since po/*.po files are not easy to be merged with git, I suggest to commit | only updated po/*.po files to the master branch. | | After everything is fine in the local branch, update master tree not by | using "git merge" but by "git checkout <branch> <file>" to the master | branch as: | $ git checkout master | $ git checkout local-1 po/<language>.po | $ make wrap;make po (check fuzzy.log) | $ git add po/<language>.po | $ git commit -m "Describe commit ..." | $ git checkout -b local-2 (repeat for local-2 in place for local-1) ------->/ Before start making commits to the alioth repo directly, please make sure to coordinate with the maintainer. The Alioth write access can be gained by joining the ddp group as described in: https://wiki.debian.org/Teams/DDP Alioth write access is normally done via SSH (password-less login). == Test building after translation == If you just translated a PO file, e.g. "it.po", please reformat and test it first by: $ make wrap $ make test "LANGPO=it" You have HTML files under the html/ directory. Specifying "LANGPO" variable as above saves build time by skipping other languages. == English updates == For English updates in maint-guide.dbk files, please test them first by: $ make test "LANGPO=" If this test causes no error, clean the source tree and commit it with: $ make clean $ git add maint-guide.dbk $ git commit -m "Updated ...." $ make wrap; make po; make clean $ git commit -a -m "make po" ============================================================================== = Build environment = Required packages for the local test building: * Packages listed in Build-Depends and Build-Depends-Indep stanza found in debian/control. * wget * devscripts and its recommended packages * PO file editor such as poedit * git and gitk For the package building, it is good idea to use tools such as * pbuilder * cowbuilder * git-buildpackage ============================================================================== = Flow chart for the building of this documentation = The English source is kept as maint-guide.en.dbk. The translation source is kept as PO files under po/. >>> maint-guide.en.dbk common.ent | | v | templates.pot | | | v (make po) | >>> po/ja.po | | fuzzy.log (+) | v | maint-guide.ja.dbk | | | v v +----------+-------------+ |(make all), (make test), |(make html), (make txt), (make pdf), ... (#) v all documents (*.*.html *.*.txt *.*.pdf) (+) fuzzy.log file contain # of fuzzy translation. If not zero, please update PO file. (#) PDF files may not be buildable due to tool chain issues. ============================================================================== = Tips for working with PO files = Sanity check of a PO file: $ msgcat some.po >/dev/null -> Look for unquoted " and accidental folding of lines. Remove duplicate entries in a PO file: $ mv some.po some.old.po $ msguniq some.old.po >some.po Merge PO files: When 2 person update a PO file, you need to merge them using gettext tools. You can check if 2 PO files are different using: $ msgcat --less-than=2 filename.po.mine filename.po.their If you have no order of preference: $ msgmerge --no-wrap filename.po.mine filename.po.their >filename.po Look for "#-#-#-#-#" where manual resolution is needed and resolve it via editor. Add a new PO: You can create a new template PO file for a new language and edit it as: $ cd po $ cp templates.pot ??.po $ poedit ??.po Wikipedia URLs: bin/interwiki script can be used to check translated URLs. ============================================================================== = List of make targets = $ make all # build all $ make test # build html for testing (for Translator) $ make distclean # clean files to reset *.xml $ make clean # clean files ready for tar $ make po # update all PO from en.xml $ make pot # update the POT from en.xml $ make wrap # wrap all PO $ make xml # update all *.XML for all languages $ make css # update CSS and IMAGES $ make html # update all HTML $ make txt # update all Plain TEXT $ make pdf # update all PDF $ make tex # update all TeX source $ make epub # update all EPUB $ make rsync # copy build results to remote URL $ make url # check duplicate URL references Osamu ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/TODO�����������������������������������������������������������������������������0000644�0000000�0000000�00000000046�12255311641�011360� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Why developers-reference is in blue? ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/debian/��������������������������������������������������������������������������0000755�0000000�0000000�00000000000�12262530071�012110� 5����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/debian/compat��������������������������������������������������������������������0000644�0000000�0000000�00000000002�12255311641�013310� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������9 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/debian/changelog�����������������������������������������������������������������0000644�0000000�0000000�00000071606�12262524436�014004� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide (1.2.32) unstable; urgency=low * Synch with Debian Policy 3.9.4 to introduce build-arch and build-indep targets. Closes: #698717. * Update to current Debian Policy 3.9.5 and debhelper v9. Closes: #699168 * Updated translations: ja, fr, it, es, ca, ru, de. Closes: #693706, #696428, #717351 * Removed zero width spaces from it, BOMs from ca. * Updated URL for wnpp-by-tags. Closes: #701617 * Add bash completion for dquilt. Closes: #706515 * Typo fix. Closes: #720759, #731990, #731659 * Split the English source in chapters. * Add epub build support following the debian-reference method. -- Osamu Aoki <osamu@debian.org> Mon, 06 Jan 2014 22:01:12 +0900 maint-guide (1.2.31) unstable; urgency=low * Correct ML reference to debian-devel-changes. Closes: #671703 * Correct URL links. Closes: #678041, #692210 * Document dh_link(1) and debian/links debian/symbols, --with gir. and shared libraries. Closes: #668935, #691094 * Updated translations: ja fr it es ca ru Closes: #688243, #696255 -- Osamu Aoki <osamu@debian.org> Mon, 24 Dec 2012 23:32:31 +0900 maint-guide (1.2.30) unstable; urgency=low [ David Prévot ] * Use UTF-8 locale to prepare the text version. See: #658839 [ Osamu Aoki ] * Fixed typo for foo_newversion.orig.tar.gz. Closes: #688072 -- Osamu Aoki <osamu@debian.org> Fri, 21 Sep 2012 00:04:00 +0900 maint-guide (1.2.29) unstable; urgency=low * Add tipa to build-dep and use xCJK package only for CJK PDF documents. Closes: #666569 * Updated policy to 3.9.3 * Fixed manpage section for dh_make. Closes: #663087 * Fixed typo. Closes: #658631 -- Osamu Aoki <osamu@debian.org> Sun, 15 Apr 2012 17:40:47 +0900 maint-guide (1.2.28) unstable; urgency=low * Lintian touch up * Promoted new dh_python2 while deprecating older python-support and python-central. Closes: #633112 * Substituted New Maintainer site with New Member site. Thanks Salvatore Bonaccorso. Closes: #648834 * Updated URL for packaging-tutorial. Closes: #652635 * Removed all URL references with file:///... . Closes: #646283 * Fixed pbuilder hook script bugs caused by the XML conversion of the old buggy debiandoc-sgml. Closes: #637928, #642599 * Add Russian. Thanks Yuri Kozlov. Closes: #646330 * Build: en ca es fr it ja ru -- Osamu Aoki <osamu@debian.org> Fri, 17 Feb 2012 01:15:39 +0900 maint-guide (1.2.27) unstable; urgency=low * Fixed dh command argument order. Closes: #625735 * Fixed alias for dquilt. Closes: #626565 * Updated Catalan and Spanish translations. Closes: #628330, #628331 * Updated build script and package dependencies to build all PDF using XeTeX backend. Now ' and ` in <screen> are correct. Closes: #627466, #629258 * Build packages for all good translations: ca es en fr ja -- Osamu Aoki <osamu@debian.org> Sun, 05 Jun 2011 21:06:27 +0900 maint-guide (1.2.26) unstable; urgency=low * Converted to DocBook XML format. Closes: #609679 * Organized all URL references into common.ent. * Complete English style checks and corrections by Justin B Rye. * Fixed issues caused by debiandoc-sgml bugs #624099 and #624097 manually. Closes: #621817, #623116 * Converted document to use dquilt to keep quilt default untouched. * Rewrote and reorganized entire document with inputs from the BTS reports, Justin B Rye, David Prévot, Serafeim Zanikolas, and others. Chapter 1 had major addition of "Social dynamics of Debian" with pointers to Stefano Zacchiroli's PDF slides. Chapter 2 was reorganized with new detailed explanation on "Package name and version" and clear mention of non-native and native packages. Chapter 3 added DEP-3 for "Fixing upstream bugs". Chapter 4 added DEP-5 for "copyright". Chapter 5 fixed LSB for "package.init and package.default" and added "source/options". Chapter 7 added "Suspicious changes". Contents relating to "Including orig.tar.gz for upload" were moved from Chapter 6 to Chapter 8 and reorganized. Closes: #609607, #609937, #610362, #611769, #618352 * Updated Japanese and French translation to be 100% current. * Build packages only for good translations: en fr ja -- Osamu Aoki <osamu@debian.org> Thu, 05 May 2011 16:47:13 +0900 maint-guide (1.2.25) unstable; urgency=low * Fixed typo: s/DSFG/DFSG/g by Tobias Quathamer. * Updated uscan watch file examples. Closes: #602454 * Made text compatible with non-Bash. Closes: #605976 * Converted Japanese translation to PO (100% translation). Closes: #597594 * Converted Spanish translation to PO (100% translation). Closes: #604710 * Converted German translation to PO (60% translation) and built from updated SGML for now. Closes: #604767 * Updated French, Italian, Chinese(cn,tw) translations (100%). -- Osamu Aoki <osamu@debian.org> Sun, 19 Dec 2010 16:28:06 +0900 maint-guide (1.2.24) unstable; urgency=low * Dropped accidentally included opencc dependency for squeeze. -- Osamu Aoki <osamu@debian.org> Thu, 30 Sep 2010 23:49:19 +0900 maint-guide (1.2.23) unstable; urgency=low * Debian is not just *Linux* distrubution. Closes: #595507 * Added "source/local-options file" section. * Updated fr translation (100%). * Added zh-cn, zh-tw, and it translation (100%) using po4a Closes: #593663 -- Osamu Aoki <osamu@debian.org> Mon, 27 Sep 2010 22:40:55 +0900 maint-guide (1.2.22) unstable; urgency=low [ David Prévot ] * s/git-core/git/g. Closes: #593416 [ Osamu Aoki ] * Converted to use UTF-8 across build. Closes: #593678 * Reactvate ps/pdf for Chinese (zh-cn/zh-tw). Closes: #490161 -- Osamu Aoki <osamu@debian.org> Sat, 21 Aug 2010 03:54:38 +0900 maint-guide (1.2.21) unstable; urgency=low * Fixed missing list in the package description last paragraph of Spanish translation. Closes: #588559 * Clarified that "package" is place holder and added an example. following suggestion of David Prévot. Closes: #590033 * Encouraged work on already packaged programs following suggestion of Serafeim Zanikolas. Closes: #590162 * Documented Breaks for policy 3.9.0. Closes: #590185 * Removed bashism from Makefile. * Removed texlive-full from Build-Depends-Indep. Closes: #564241 -- Osamu Aoki <osamu@debian.org> Sun, 01 Aug 2010 21:27:00 +0900 maint-guide (1.2.20) unstable; urgency=low [ Osamu Aoki ] * Fixed problematic ways of presenting configuration files. * Fixed typo. Closes: #585475 * Distinguish Debian and Debian archive. Closes: #586421 [ David Prévot ] * Fixed typos, style and oudated mentions. Closes: #585551 * Updated French translation with po4a. -- Osamu Aoki <osamu@debian.org> Sat, 26 Jun 2010 11:43:14 -0400 maint-guide (1.2.19) unstable; urgency=low * Used the WWW resource URI according to docbook-xsl. Closes: #581961 * Swapped Maintainer and Uploaders to reflect the role for last 5 years. * Added Homepage in control. * Updated Italian translation. * Documented dh_installchangelogs description. * Updated Autotools related contents. -- Osamu Aoki <osamu@debian.org> Sat, 29 May 2010 01:57:57 +0900 maint-guide (1.2.18) unstable; urgency=low * Described URL redirect for http://sf.net. Closes: #578059 * Used empty override target instead of :. * Updated Italian translation by Calogero Lo Leggio et al with po4a. * Added po4a dependency. * Updated .quitrc example inspired by discussion with Ivan Borzenkov. * Updated .bashrc to export DEBFULLNAME DEBEMAIL. Closes: #581772 * Documented dh --no-act as footnote. Closes: #581814 * Added pointer to Debconf9 presentation on debhelper. * Fixed many minor bugs. -- Osamu Aoki <osamu@debian.org> Sun, 16 May 2010 18:29:35 +0900 maint-guide (1.2.17) unstable; urgency=low [ Osamu Aoki ] * Fixed typos. * Updated quilt usage examples. * Updated debian/rules to match the recommendation by this documentation. * Added lintian-overrides, info, manpages to "Other files under debian directory" and sorted its section by the meaningful part of the title. Closes: #575693 * Recommended usage of "dh_auto_* -- additional parameters" syntax in override_dh_auto_* target customization. Closes: #575694 [ Raphaël Hertzog ] * Drop --quilt option of dh_make, it's not needed now that "3.0 (quilt)" source packages are created by default. * Enhance sample .quiltrc with what's suggested in quilt's README.source. * Numerous fixes and simplifications (drop uninteresting "-j1" option in sample make commands, drop "-rfakeroot" in dpkg-buildpackage call, use ftp.upload.debian.org instead of ftp-master.debian.org, etc.) * Clarify explanations about "3.0 (quilt)" source format. [ Osamu Aoki ] * Enhanced quiltrc in again based on blog by Torsten Landschoff. * Updated "6.4 pbuilder package" including B90lintian. * Reverted to explain "7.7 interdiff command" and made complete overhaul of "7 Checking the package for errors". * Simplified "8.1 Uploading to the Debian archive" since local queue is not so useful these days and no need to copy the default configuration here. * Rewrote and reorganized major parts of "9 Updating the package". * Converted Credits to UTF-8. * Harmonized URL references to the Debian Policy Manual. * Explained autobuilder, Build-Depends: and Build-Depends-Indep: fields. * Placed a bit more note on dput. Closes: #576424 * Added dh --with description. * Made many touch-ups and shortened text as much as possible. -- Osamu Aoki <osamu@debian.org> Fri, 16 Apr 2010 00:23:01 +0900 maint-guide (1.2.16) unstable; urgency=low * Fixed file name of doc-debian for pt-br. * Fixed changelog typo for bug#. s/544173/554173/. * Updated contents to reflect squeeze situation. * Updated to autogenerate version from changelog. * Fixed references related to dpkg-buildpackage with -i -I -sa. * Updated to use debian/install & dh_install in the text. Closes: #573621 * Added list of program for development: python, quilt, git-core. * Updated to use xutils-dev instead. Closes: #573642 * Updated to address 3.0(quilt) format, quilt usage, and dpatch to quilt migration. Closes: #573730, #573160 * .quiltrc copied from Adeodato Simó's example. * debhelper in examples to >=7.0.50 for correct dh handling. * Updated rule file description for dh. Closes: #573732 * Updated private archive section by the URL pointer. Closes: #573735 * Updated checksums to use MD5/SHA1/SHA256. Closes: #573856 * Added Vcs-* fields description to debian/control. Closes: #573990 * Updated that DD is not the only one uploading ... Closes: #574456 * Documented compat etc. Closes: #574457 * Added reference to mentors.debian.net. * Added Craig Small as author for his recent SVN commits. * Removed docbook2x usage for manpages.xml. Closes: #574946 * Added quilt to Recommends of the binary package. * Made many URL links and consistent tagging. * Updated "Installation of files to the destination" contents. * Added references and pointers to CDBS. -- Osamu Aoki <osamu@debian.org> Wed, 24 Mar 2010 01:41:52 +0900 maint-guide (1.2.15) unstable; urgency=low [ Osamu Aoki ] * Removed linda from recommends since is is not used any more. Closes: #554173 * Fixed the Vcs-Cvs field per James Vega. Closes: #561242 * Updated this package to debhelper 7 with dh, dpkg source format 3.0 (native). Updated dependency and doc-base files. * Renamed file and package names to simplify situation by using newer locale support capabilities available in debiandoc-sgml (>=1.2.8). * Removed freetype2-demos build dependency. * "Copyright information" is now in 12.5. Closes: #572857 [ Craig Small ] * Changed example to docbook2x-man Closes: #498017 * Changed menu examples Closes: #437750 * g77 changed to gfortran Closes: #505514 * Updated links to developers reference Closes: #516467 * Fixed 2 minor typos Closes: #527290 * Use dpkg-depcheck instead of script Closes: #554180 * Changed version section to remove reference to 0.0 Closes: #554948 * Updated watch file example Closes: #437847 * Updated doc-base.EX section * Added build-essential to packages needed * Changed rules file to debhelper 7 Closes: #511549, #549289 * Adjusted French document to not use tags in sections Closes: #562325 -- Osamu Aoki <osamu@debian.org> Tue, 09 Mar 2010 02:01:04 +0900 maint-guide (1.2.14) unstable; urgency=low * Fixed old DH_COMPAT=4 examples for all languages and packaging of this package itself by creating debian/compat. * Fixed Italian section 4.1 per Riccardo Brigo. Closes: 436046 * Fixed versioned dependencies issue. Closes: 438176 * Fixed maint-guide-pl.doc-base file encoding. Closes: 473166 * Removed reference of deprecated 'x' suffix for X manpage for all languages. Closes: 437747 * Added manpage creation from the XML template. Closes: 437751 * Fixed Vcs-Svn/Vcs-Browser fields per Jelmer Vernooij. Closes: 492810 -- Osamu Aoki <osamu@debian.org> Sat, 06 Sep 2008 13:30:57 +0900 maint-guide (1.2.13) unstable; urgency=low * Acknowledged NMU and updated upstream subversion. * Made Makefile compatible with special version numbers. Closes: 483320 * Removed linda package reference from all languages. Closes: 474244 * Updated VCS fields. * Used proper version. Closes: 479407 -- Osamu Aoki <osamu@debian.org> Thu, 05 Jun 2008 22:36:34 +0900 maint-guide (1.2.12+nmu1) unstable; urgency=low * Non-maintainer upload. * Deprecate Freetype 1 (Closes: #481788) -- Moritz Muehlenhoff <jmm@debian.org> Wed, 21 May 2008 22:53:46 +0200 maint-guide (1.2.12) unstable; urgency=low * Fixed wrong package reference -pt-br. (closes: 430631) * Updated requirements for main by the policy document. (closes: 431012) * Treated quilt being possible alternative to dpatch since its use has been significant and as good. (closes: 434156) * Reference git-buildpackage instead of tla-buildpackage. * Fixed typos. (closes: 434680, 435567) * Fixed /usr/doc -> /usr/share/doc path for French. (closes: 435395) * Updated debian/copyright. (closes: 437844) * Temporariry stop building Korean PDF/PS due to TeX-live issues. (closes: 439495) * Added missing line in example A.2. (closes: 457912) * Updated Build-Depends*: to texlive-full, cjk-latex-all, ghostscript -- Osamu Aoki <osamu@debian.org> Sun, 13 Jan 2008 15:07:09 +0900 maint-guide (1.2.11) unstable; urgency=high * Fixed bad grep examples for all languages. (closes: Bug#375456) * Updated build date, source version, copyright for the English. I added myself to the copyright since my additions have been more than minor fixes. This should make easy to diferentiate old translations based on the old English version. * Fixed dpatch example to use Build-Depends: in control. -- Osamu Aoki <osamu@debian.org> Fri, 12 Jan 2007 20:42:33 +0900 maint-guide (1.2.10) unstable; urgency=high * Fixed lintian "Build-Depends-Indep debhelper" error. * Reorganized WNPP reference. (closes: Bug#405855) * Updated dh_make results and dpatch references. (closes: Bug#373076, Bug#328294) * Updated debian/copyright file section by pointing to the debian-devel-announce HOWTO. (closes: Bug#366084) -- Osamu Aoki <osamu@debian.org> Thu, 11 Jan 2007 01:22:31 +0900 maint-guide (1.2.9) unstable; urgency=high * Adjusted Policy manual references for all languages. (closes: Bug#385918, Bug#384833) * Fixed Italian translation. (closes: Bug#386538) * Provided French translation with a link to the reference English document. (closes: Bug#399863) * Updated build dependency to one works for zh_TW. -- Osamu Aoki <osamu@debian.org> Sun, 24 Dec 2006 22:13:41 +0900 maint-guide (1.2.8) unstable; urgency=high * Fixed latex-cjk-* and font dependency issues. (closes: Bug#403200) * Fixed typo caught by s. keeling s/enconter/encounter/ . * Fixed clean target to remove tex-in etc.. * Rebuilt with debiandoc-sgml 1.1.100. -- Osamu Aoki <osamu@debian.org> Sun, 17 Dec 2006 01:07:38 +0900 maint-guide (1.2.7) unstable; urgency=low * Updated Simplified Chinese (zh_CN) translation and added new Traditional Chinese (zh_TW) translation from Ling Li <lilingv@gmail.com> [CVS commit by Jens Seidel]. * Register Korean, Japanese and Chinese PDF and PS files as documentation. * Fixed two minor typos and translations in English and translations with help from Colin Tuckley. Closes: Bug#318161 * Added link to example of installing additional html documentation with help from Colin Tuckley. Closes: Bug#306204 * Updated to DH_COMPAT=4 and changed debian/control . * Removed UTF-8 encoded Japanese words from control file. Closes: Bug#345947 * Made temporary package build directory example only to be <file>debian/packagename</file> in line with new debhelper behavior. * Added section for Official Debian Developer reflecting the New Maintainer process. Closes: Bug#331176 -- Osamu Aoki <osamu@debian.org> Sat, 7 Jan 2006 18:03:19 +0900 maint-guide (1.2.6) unstable; urgency=low * Made CVS source tree to build DDP web pages on woody machine. * DE major translation update. (Thanks Erik Schanze) -- Osamu Aoki <osamu@debian.org> Sat, 16 Apr 2005 21:46:21 +0200 maint-guide (1.2.5) unstable; urgency=low * Added me to uploader to stop NMU madness. * Adjusted control to match overide (closes: #296702) * Updated German (minor). -- Osamu Aoki <osamu@debian.org> Tue, 15 Mar 2005 23:39:26 +0100 maint-guide (1.2.4) unstable; urgency=low * NMU, partially blessed by the maintainer (follow-up). * Updated build script and dependency to accomodate Korean PDF under the new debiandoc-sgml. (closes: #293753) * Updated description matching with new pdebuild behavior. * Updated required version of debiandoc-sgml. * Updated Italian translation to be current. * Removed TAB from source (Better TeX interaction, i.e., Better PS/PDF generation) (all lang) (closes: #210785) * Removed absolute path from docbook-to-man in debian/rule following the latest dh_make result. (closes: #255441) -- Osamu Aoki <osamu@debian.org> Thu, 24 Feb 2005 06:11:06 +0100 maint-guide (1.2.3) unstable; urgency=low * NMU, partially blessed by the maintainer. * Added Korean translation by Yooseong Yang <yooseong@debian.org> . * Fixed bashism using /usr/sbin/[ and add gs to control. (closes: #264044) * Fixed Debian Policy chapter for changelog. (all lang.) (closes: #216405, #243339) * Fixed debian/rules examples. (all lang.) (closes: #244463) * Converted debian/control to UTF-8 and fix FR. (closes: #283696) * Fix debian/control description according to developers-reference 6.2.2 (all lang.) (closes: #291943) * Listed <package/xutils/ for all but old ES and RU. (closes: #167395) * Made script readable for all but old ES and RU. (closes: #285824) * Expanded Chapter 6 - 9 and added appendix. (No translation) [osamu] - Updated dupload section and added more examples. (closes: #114948) - Addressed issues of Debian native package. (closes: #128077) - Added reference to buildd and FTBFS in pbuilder. (closes: #138575) - Pointed to the autotools-dev documentation. (closes: #159169) - Made working directory name consistent: ~/gentoo/ . (closes: #174816) - Fixed file location while introducing default.ent. (closes: #203609) - Mentioned dh_make -o . (closes: #203685) - Minor wording polishes and tag updates. (closes: #258273) - Added mentors-FAQ URL. (closes: #279312) - Added linda and pbuilder. (closes: #287064) - Added -sa option, cvs-buildackage etc., dpatch. - Added Build dep method per virlon's debian-mentor posting. - Expanded section on "Checking the package for errors" and "New upstream release" based on debian-mentor postings. (no debconf message for broken upgrade reminded.) - Added appendix to provide more examples. * Fixed typo in Spanish and German. (closes: #225432, #276529) * Translation updated with CVS. -- Osamu Aoki <osamu@debian.org> Sun, 23 Jan 2005 22:16:58 +0100 maint-guide (1.2.2) unstable; urgency=low * NMU, partially blessed by the maintainer (ignoring bugs where I have no instructions for) * Minor changes in maint-guide (version 1.2.2, by Josip) * German translation overhaul (update to version 1.2.2 by Erik Schanze <mail@erikschanze.de>, Frank Lichtenheld <frank@lichtenheld.de>, closes: #241950, #150188) * Translation updates (to version 1.2.2): maint-guide-es, maint-guide-fr, maint-guide-it, maint-guide-ja, maint-guide-pl, maint-guide-zh -- Eduard Bloch <blade@debian.org> Sat, 17 Jul 2004 17:09:34 +0200 maint-guide (1.2.1) unstable; urgency=low * Updated various translations from CVS. * Updated Italian translation to 1.2, closes: #154941. * Added Chinese translation in maint-guide-zh, version 1.2. No PDFs. * Fixed various typos and other language issues in the English version, closes: #159218, #171833. * Removed byhand files, cf. bug #184082. * Updated standards version (no more postinst and prerm hacks, yay). -- Josip Rodin <joy-packages@debian.org> Wed, 9 Jul 2003 18:30:21 +0200 maint-guide (1.2) unstable; urgency=high * New English version of the guide, closes: #106060, #108763, #108854, #119729, #127186, #132241, #118769, #85897, #115864. * Updated French translation to 1.2. * Updated Japanese translation to 1.2. * Added maint-guide-it, version 1.0.2, closes: #115366. * Added Polish translation, version 1.2, in maint-guide-pl. * Added the packages we recommend in the Suggests: fields, closes: #77900. * Added index.xy.html symlink to fix the links in the doc-base files, closes: #106833. * Added PDF versions everywhere, except for Japanese which unfortunately doesn't build properly. -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 28 Apr 2002 11:04:42 +0200 maint-guide (1.0.2) unstable; urgency=low * Major updates to the Spanish translation. * Some updates to the French translation. * Minor fix to the Japanese translation. * Removed the paragraph that mentioned packaging-manual, closes: #89986. * Upped all translations versions to 1.0.2, my copyright to 2001, and the date to 10 June 2001 -- hope babelfishing worked :) * Forced $LANG=C in rules file to work around bug #76037 in debiandoc-sgml, closes: #87283. * Added Build-Depends-Indep: tetex-bin, tetex-extra, closes: #92293. * Fixed minor mistakes and style problems Neil Conway <nconway@klamath.dyndns.org> pointed out, closes: #97864. * Fixed that small problem with grep being an it, not a he, closes: #89628. * Policy 3.5.5, no changes. -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 10 Jun 2001 03:10:47 +0200 maint-guide (1.0.1) unstable; urgency=low * Added German translation, kindly provided by Eduard Bloch <edi@ka.linux.de>. * Added Portuguese (Brazilian) translation, kindly provided by Gustavo Noronha Silva (KoV) <dockov@zaz.com.br>. It's going to be contained in maint-guide-pt package, Portuguese (real) translation can be added later if someone wants. -- Josip Rodin <jrodin@jagor.srce.hr> Tue, 2 Jan 2001 23:18:16 +0100 maint-guide (1.0) frozen unstable; urgency=low * Final version :) Changed all (0.99.1) version numbers to be 1.0. * Fixed path of the .tar.gz file in dh_make invocation, reported by Bruce Sass. * Updated Russian translation to version 0.99.1. * Changed doc-base paths to use /usr/share/doc, to prevent any problems related to .dhelp files under /usr/doc, closes: #52488. -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 28 May 2000 14:31:41 +0200 maint-guide (0.99.1.0) frozen unstable; urgency=low * Updated Spanish translation to version 0.99.1. * Updated French translation to version 0.99.1 (plus some typos fixed). * Revived Russian .txt, debiandoc-sgml has been fixed. * Added PostScript version, it's useful for printing. Only for English, for now (I might not have appropriate teTeX fonts, so let's not screw up something now). -- Josip Rodin <jrodin@jagor.srce.hr> Wed, 15 Mar 2000 23:45:58 +0100 maint-guide (0.99.1) frozen unstable; urgency=low * Added a few extra notes about Makefiles in autoconfized/automaked sources. That is about it for 0.99.1. If I ever get all the translations updated, that'll be upped to 1.0. * Added Spanish translation, version 0.95 for now, package version 0.97.0.1 (to not have to add epoch). Fixed author/copyright statement. * Added Russian translation, version 0.97 for now, by Mihail Sobolev. The text version doesn't seem to be working so good, disabled for now, bug filed on debiandoc2text about it. * Added Japanese translation of this version. * Fixed Japanese charset, closes: #55421. Did the same for other langs. Added translated names in translation packages' descriptions. * Fixed s/text.gz/txt/ in filenames in doc-base files. Removed extra ${lang} in the files, closes: #58967. * Removed extra entries from Build-Depends:, debiandoc-sgml is fixed now. * Optimized debian/rules a bit. Removed unused version.ent stuff. -- Josip Rodin <jrodin@jagor.srce.hr> Thu, 25 Jan 2000 23:59:59 +0100 maint-guide (0.99) frozen unstable; urgency=low * Followed a couple of useful suggestions from Zygo Blaxell, regarding the build directory and several technical fixes in the text. * Moved description of changelog and copyright files under "Required files". The description of control and rules is there, of course, but with some things fixed and updated (WRT new dh_make). * Changed license to solely GPL. * Used several corrections and additions from James R. Van Zandt, most notably a new section about updating the package, and several grammar and style fixes. * Updated for new debiandoc-sgml. Removed postscript files. * Added a new file, called "Credits", containing names and mails of people involved in making this document. Please contact me if you helped and I forgot to add your name there. * The French translation wasn't updated, but this upload contains it (version 0.97.1) because of these: * Fixed French text file byhand entry. * Created /usr/doc/maint-guide symlink in maint-guide-fr postinst/prerm, closes: #49567. * This upload also contains maint-guide-ja package, containing the Japanese translation, version 0.97. * Standards-Version: 3.1.1. Added Build-Depends: (although it is a bit pointless, as this is an arch-indep package :o). Some other fixes to debian/*. * Currently, I have French and Japanese translation of version 0.97, and Spanish of 0.95. When I get updated copies of all of these, I'll release 1.0. This is a call for help - please translators, do this before release. -- Josip Rodin <jrodin@jagor.srce.hr> Tue, 28 Dec 1999 02:45:44 +0100 maint-guide (0.97) unstable; urgency=low * Numerous corrections to the wording/grammar/spelling. * Added a little comment at the top, to help translators identify themselves. * Updated the needed programs/sections list to current slink/potato state. * Separated the note about debmake in its own paragraph. * Added "0.0." in the example where a date is to be used as a version, and added in a short explanation why that should be done (closes: #45657). * Updated the dh_make e-mail setting method to match the way current potato script does it, and updated most of the auto-generated files with those from the current version. * Updated the signing info with newer GPG and non-US data. * Added a note about autoconf-ized programs in the partly rewritten and renamed section about changing upstream Makefiles to fix $DESTDIR problem. (closes: #42614) * Updated the section about package relationships, with notes about APT and a bit of rewording. * Fixed the note about maintainer scripts. * Added the "watch" file, described its usefulness a bit. * Some fixes to the section about the menu file. * Fixed the dupload related stuff, as noted by Stephane Bortzmeyer (thanks for the useful tip!). * Rearrangements in the resulting files section, added description of the .diff.gz file, fixed description of the .changes file. * Added French translation in the source package, build it as a separate binary(-all) packages. Many thanks to Frederic Dumont <frederic.dumont@freeworld.be>, for providing the translation. * Currently waiting for the Spanish and the Japanese translations to get updated from 0.95 to this version. * Updated packages for Policy 3.x compliance. Major rearrangements in the rules file. -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 19 Sep 1999 21:24:33 +0200 maint-guide (0.95) unstable; urgency=low * New version, mostly bug fixes... see the log in CVS. -- Josip Rodin <jrodin@jagor.srce.hr> Sat, 3 Apr 1999 17:52:38 +0200 maint-guide (0.9) unstable; urgency=low * New version, bug fixes and other boring stuff :) * Beautified doc-base file. -- Josip Rodin <jrodin@jagor.srce.hr> Wed, 24 Mar 1999 21:52:46 +0100 maint-guide (0.8) unstable; urgency=low * Initial release as a package. -- Josip Rodin <jrodin@jagor.srce.hr> Sun, 14 Mar 1999 16:28:14 +0100 Local variables: mode: debian-changelog mode: auto-fill End: ��������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/debian/control�������������������������������������������������������������������0000644�0000000�0000000�00000017553�12255575147�013545� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Source: maint-guide Section: doc Priority: optional Maintainer: Osamu Aoki <osamu@debian.org> Uploaders: Josip Rodin <joy-packages@debian.org> Build-Depends: debhelper (>= 9) Build-Depends-Indep: dblatex, docbook-xml, docbook-xsl, fonts-liberation, po4a, texlive-xetex, texlive-lang-spanish, texlive-lang-french, texlive-lang-german, texlive-lang-italian, texlive-lang-cyrillic, lmodern, tipa, gsfonts, fonts-ipafont, w3m, ghostscript, xsltproc, zip # ttf-arphic-gbsn00lp, # ttf-arphic-bsmi00lp, # ttf-wqy-zenhei, Standards-Version: 3.9.5 Vcs-Git: git://anonscm.debian.org/ddp/maint-guide.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=ddp/maint-guide.git Homepage: http://www.debian.org/doc/devel-manuals#maint-guide Package: maint-guide Architecture: all Depends: ${misc:Depends} Suggests: doc-base, dh-make, devscripts, fakeroot, lintian, dupload | dput, debian-policy, developers-reference, pbuilder, quilt Description: Debian New Maintainers' Guide This package contains the Debian New Maintainers' Guide. . This document tries to describe the building of a Debian package to ordinary Debian users and prospective developers. It uses fairly non-technical language, and it's well covered with working examples. . The document contains these chapters: * 1 Getting started The Right Way * 2 First steps * 3 Modifying the source * 4 Required files under debian directory * 5 Other files under debian directory * 6 Building the package * 7 Checking the package for errors * 8 Uploading the package * 9 Updating the package Package: maint-guide-ca Architecture: all Priority: extra Depends: ${misc:Depends} Suggests: doc-base, dh-make, devscripts, fakeroot, lintian, dupload | dput, debian-policy, developers-reference, pbuilder, quilt Description: Debian New Maintainers' Guide (Catalan) This package contains the Debian New Maintainers' Guide. . This document tries to describe the building of a Debian package to ordinary Debian users and prospective developers. It uses fairly non-technical language, and it's well covered with working examples. . The document contains these chapters: * 1 Getting started The Right Way * 2 First steps * 3 Modifying the source * 4 Required files under debian directory * 5 Other files under debian directory * 6 Building the package * 7 Checking the package for errors * 8 Uploading the package * 9 Updating the package . This is Catalan translation. Package: maint-guide-de Architecture: all Priority: extra Depends: ${misc:Depends} Suggests: doc-base, dh-make, devscripts, fakeroot, lintian, dupload | dput, debian-policy, developers-reference, pbuilder, quilt Description: Debian New Maintainers' Guide (German) This package contains the Debian New Maintainers' Guide. . This document tries to describe the building of a Debian package to ordinary Debian users and prospective developers. It uses fairly non-technical language, and it's well covered with working examples. . The document contains these chapters: * 1 Getting started The Right Way * 2 First steps * 3 Modifying the source * 4 Required files under debian directory * 5 Other files under debian directory * 6 Building the package * 7 Checking the package for errors * 8 Uploading the package * 9 Updating the package . This is German translation. Package: maint-guide-es Architecture: all Priority: extra Depends: ${misc:Depends} Suggests: doc-base, dh-make, devscripts, fakeroot, lintian, dupload | dput, debian-policy, developers-reference, pbuilder, quilt Description: Debian New Maintainers' Guide (Spanish) This package contains the Debian New Maintainers' Guide. . This document tries to describe the building of a Debian package to ordinary Debian users and prospective developers. It uses fairly non-technical language, and it's well covered with working examples. . The document contains these chapters: * 1 Getting started The Right Way * 2 First steps * 3 Modifying the source * 4 Required files under debian directory * 5 Other files under debian directory * 6 Building the package * 7 Checking the package for errors * 8 Uploading the package * 9 Updating the package . This is Spanish translation. Package: maint-guide-fr Architecture: all Priority: extra Depends: ${misc:Depends} Suggests: doc-base, dh-make, devscripts, fakeroot, lintian, dupload | dput, debian-policy, developers-reference, pbuilder, quilt Description: Debian New Maintainers' Guide (French) This package contains the Debian New Maintainers' Guide. . This document tries to describe the building of a Debian package to ordinary Debian users and prospective developers. It uses fairly non-technical language, and it's well covered with working examples. . The document contains these chapters: * 1 Getting started The Right Way * 2 First steps * 3 Modifying the source * 4 Required files under debian directory * 5 Other files under debian directory * 6 Building the package * 7 Checking the package for errors * 8 Uploading the package * 9 Updating the package . This is French translation. Package: maint-guide-it Architecture: all Priority: extra Depends: ${misc:Depends} Suggests: doc-base, dh-make, devscripts, fakeroot, lintian, dupload | dput, debian-policy, developers-reference, pbuilder, quilt Description: Debian New Maintainers' Guide (Italian) This package contains the Debian New Maintainers' Guide. . This document tries to describe the building of a Debian package to ordinary Debian users and prospective developers. It uses fairly non-technical language, and it's well covered with working examples. . The document contains these chapters: * 1 Getting started The Right Way * 2 First steps * 3 Modifying the source * 4 Required files under debian directory * 5 Other files under debian directory * 6 Building the package * 7 Checking the package for errors * 8 Uploading the package * 9 Updating the package . This is Italian translation. Package: maint-guide-ja Architecture: all Priority: extra Depends: ${misc:Depends} Suggests: doc-base, dh-make, devscripts, fakeroot, lintian, dupload | dput, debian-policy, developers-reference, pbuilder, quilt Description: Debian New Maintainers' Guide (Japanese) This package contains the Debian New Maintainers' Guide. . This document tries to describe the building of a Debian package to ordinary Debian users and prospective developers. It uses fairly non-technical language, and it's well covered with working examples. . The document contains these chapters: * 1 Getting started The Right Way * 2 First steps * 3 Modifying the source * 4 Required files under debian directory * 5 Other files under debian directory * 6 Building the package * 7 Checking the package for errors * 8 Uploading the package * 9 Updating the package . This is Japanese translation. Package: maint-guide-ru Architecture: all Priority: extra Depends: ${misc:Depends} Suggests: doc-base, dh-make, devscripts, fakeroot, lintian, dupload | dput, debian-policy, developers-reference, pbuilder, quilt Description: Debian New Maintainers' Guide (Russian) This package contains the Debian New Maintainers' Guide. . This document tries to describe the building of a Debian package to ordinary Debian users and prospective developers. It uses fairly non-technical language, and it's well covered with working examples. . The document contains these chapters: * 1 Getting started The Right Way * 2 First steps * 3 Modifying the source * 4 Required files under debian directory * 5 Other files under debian directory * 6 Building the package * 7 Checking the package for errors * 8 Uploading the package * 9 Updating the package . This is Russian translation. �����������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/debian/language������������������������������������������������������������������0000755�0000000�0000000�00000001766�12255311641�013635� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh -e # vim: set sts=2 expandtab: # Copyright (C) 2011 Osamu Aoki <osamu@debian.org>, Public Domain longname () { case $1 in ca) echo -n "Catalan" ;; de) echo -n "German" ;; en) echo -n "English" ;; es) echo -n "Spanish" ;; fr) echo -n "French" ;; it) echo -n "Italian" ;; ja) echo -n "Japanese" ;; ko) echo -n "Korean" ;; pt) echo -n "Portuguese" ;; pt-br) echo -n "Portuguese(br)" ;; ru) echo -n "Russian" ;; zh-cn) echo -n "Chinese(cn)" ;; zh-tw) echo -n "Chinese(tw)" ;; *) echo -n "$1" ;; esac } xname () { if [ "$1" = "en" ]; then echo -n "" else echo -n "-$1" fi } LNG="$1" XLNG="$(xname $LNG)" LNGNAME="$(longname $LNG)" sed -e "s/@@@LNG@@@/$LNG/g" -e "s/@@@XLNG@@@/$XLNG/g" -e "s/@@@LNGNAME@@@/$LNGNAME/g" -e "s/English translation/English original/" ����������maint-guide-1.2.32/debian/template/�����������������������������������������������������������������0000755�0000000�0000000�00000000000�12255575150�013734� 5����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/debian/template/control-body�����������������������������������������������������0000644�0000000�0000000�00000001653�12255311641�016270� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Package: maint-guide@@@XLNG@@@ Architecture: all Priority: extra Depends: ${misc:Depends} Suggests: doc-base, dh-make, devscripts, fakeroot, lintian, dupload | dput, debian-policy, developers-reference, pbuilder, quilt Description: Debian New Maintainers' Guide (@@@LNGNAME@@@) This package contains the Debian New Maintainers' Guide. . This document tries to describe the building of a Debian package to ordinary Debian users and prospective developers. It uses fairly non-technical language, and it's well covered with working examples. . The document contains these chapters: * 1 Getting started The Right Way * 2 First steps * 3 Modifying the source * 4 Required files under debian directory * 5 Other files under debian directory * 6 Building the package * 7 Checking the package for errors * 8 Uploading the package * 9 Updating the package . This is @@@LNGNAME@@@ translation. �������������������������������������������������������������������������������������maint-guide-1.2.32/debian/template/lintian-overrides������������������������������������������������0000644�0000000�0000000�00000000111�12255575150�017306� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide@@@XLNG@@@: capitalization-error-in-description debian Debian �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/debian/template/install����������������������������������������������������������0000644�0000000�0000000�00000000656�12255575150�015334� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������tmp/*.@@@LNG@@@.html usr/share/doc/maint-guide@@@XLNG@@@/html/ tmp/maint-guide.css usr/share/doc/maint-guide@@@XLNG@@@/html/ tmp/images/* usr/share/doc/maint-guide@@@XLNG@@@/html/images/ tmp/maint-guide.@@@LNG@@@.txt usr/share/doc/maint-guide@@@XLNG@@@/ tmp/maint-guide.@@@LNG@@@.pdf usr/share/doc/maint-guide@@@XLNG@@@/ tmp/maint-guide.@@@LNG@@@.epub usr/share/doc/maint-guide@@@XLNG@@@/ ����������������������������������������������������������������������������������maint-guide-1.2.32/debian/template/doc-base���������������������������������������������������������0000644�0000000�0000000�00000001264�12255575150�015337� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Document: maint-guide@@@XLNG@@@ Title: Debian New Maintainers' Guide (@@@LNGNAME@@@) Author: Josip Rodin, Osamu Aoki Abstract: This document tries to describe building of a Debian package to the common Debian user, and wannabe developer. It uses pretty common language, and it's well covered with working examples. . This is @@@LNGNAME@@@ translation. Section: Debian Format: text Files: /usr/share/doc/maint-guide@@@XLNG@@@/maint-guide.@@@LNG@@@.txt.gz Format: HTML Index: /usr/share/doc/maint-guide@@@XLNG@@@/html/index.@@@LNG@@@.html Files: /usr/share/doc/maint-guide@@@XLNG@@@/html/*.@@@LNG@@@.html Format: PDF Files: /usr/share/doc/maint-guide@@@XLNG@@@/maint-guide.@@@LNG@@@.pdf ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/debian/copyright�����������������������������������������������������������������0000644�0000000�0000000�00000001525�12262524411�014047� 0����������������������������������������������������������������������������������������������������ustar �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� This is the Debian package of the Debian New Maintainers' Guide. Author of the original content is Josip Rodin <jrodin@jagor.srce.hr>. Author of most recent update contents has been Osamu Aoki <osamu@debian.org>. The maintainer of this package is Osamu Aoki <osamu@debian.org>. Copyright © 1998-2002 Josip Rodin Copyright © 2005-2013 Osamu Aoki Copyright © 2010 Craig Small Copyright © 2010 Raphaël Hertzog This document may be used under the terms the GNU General Public License version 2 or higher. This document was made using these two documents as examples: The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar Vyas Full text of the license is at /usr/share/common-licenses/GPL-2 file on your Debian system. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/debian/rules���������������������������������������������������������������������0000755�0000000�0000000�00000003577�12255575150�013215� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 MANUAL := maint-guide # Languages which generate DocBook XML files from PO files # (More conservative than the ones in Makefile) LANGPO := ca de es fr it ja ru # Override main Makefile to build CJK under sid # No PDF build for these lunguages LANGNOPDF := ## comment out to build with the cleaner log (it slows!) #BUILDOPT := --parallel BUILDOPT := VERSION := $(shell sed -ne '1s/[-a-zA-Z0-9 ]*(\([^()]*\)) .*$$/\1/p' debian/changelog) ####################################################################### # If you added/removed translation, please run "debian/rules prep" # to update the debian/control file ####################################################################### prep: cd debian ;\ cp -f control control-old ;\ sed -e '/^Package: maint-guide-/,$$d' < control-old > control ;\ for x in $(LANGPO); do \ ./language $$x < template/control-body >> control; \ done .PHONY: prep ####################################################################### %: dh $@ override_dh_auto_build: cd debian ;\ ./language "en" < template/install > $(MANUAL).install ;\ ./language "en" < template/doc-base > $(MANUAL).doc-base ;\ ./language "en" < template/lintian-overrides > $(MANUAL).lintian-overrides ;\ for x in $(LANGPO); do \ ./language $$x < template/install > $(MANUAL)-$$x.install; \ ./language $$x < template/doc-base > $(MANUAL)-$$x.doc-base; \ ./language $$x < template/lintian-overrides > $(MANUAL)-$$x.lintian-overrides; \ done dh_auto_build $(BUILDOPT) -- \ "MANUAL=$(MANUAL)" \ "VERSION=$(VERSION)" \ "LANGPO=$(LANGPO)" \ "LANGNOPDF=$(LANGNOPDF)" \ all override_dh_compress: dh_compress -X.pdf -X.epub override_dh_auto_clean: -rm -f debian/control-old -rm -f debian/*.install -rm -f debian/*.doc-base -rm -f debian/*.lintian-overrides $(MAKE) "LANGPO=$(LANGPO)" clean ���������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/debian/source/�������������������������������������������������������������������0000755�0000000�0000000�00000000000�12255311641�013412� 5����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������maint-guide-1.2.32/debian/source/format�������������������������������������������������������������0000644�0000000�0000000�00000000016�12255311641�014622� 0����������������������������������������������������������������������������������������������������ustar ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3.0 (native) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������