# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2015-11-15 15:32+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #. type: Attribute 'xml:lang' of: #: pbuilder-doc.xml:5 msgid "en" msgstr "" #. type: Content of: #: pbuilder-doc.xml:7 msgid "2007-5-27" msgstr "" #. type: Content of: #: pbuilder-doc.xml:8 msgid "pbuilder User's Manual" msgstr "" #. type: Content of: <book><bookinfo> #: pbuilder-doc.xml:9 msgid "<abbrev>pbuilder-doc</abbrev>" msgstr "" #. type: Content of: <book><bookinfo><subtitle> #: pbuilder-doc.xml:10 msgid "Usage and operations" msgstr "" #. type: Content of: <book><bookinfo><releaseinfo> #: pbuilder-doc.xml:11 msgid "This documentation is work in progress, it might be incomplete and outdated" msgstr "" #. type: Content of: <book><bookinfo><authorgroup><author><firstname> #: pbuilder-doc.xml:14 msgid "Junichi" msgstr "" #. type: Content of: <book><bookinfo><authorgroup><author><surname> #: pbuilder-doc.xml:15 msgid "Uekawa" msgstr "" #. type: Content of: <book><chapter><title> #: pbuilder-doc.xml:22 msgid "Introducing pbuilder" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:24 msgid "Aims of pbuilder" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:26 msgid "" "<command>pbuilder</command> stands for Personal Builder, and it is an " "automatic Debian Package Building system for personal development " "workstation environments. <command>pbuilder</command> aims to be an " "easy-to-setup system for auto-building Debian packages inside a clean-room " "environment, so that it is possible to verify that a package can be built on " "most Debian installations. The clean-room environment is achieved through " "the use of a base chroot image, so that only minimal packages will be " "installed inside the chroot." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:40 msgid "" "The Debian distribution consists of free software accompanied with source. " "The source code within Debian's \"main\" section must build within Debian " "\"main\", with only the explicitly specified build-dependencies installed." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:48 msgid "" "The primary aim of <command>pbuilder</command> is different from other " "auto-building systems in Debian in that its aim is not to try to build as " "many packages as possible. It does not try to guess what a package needs, " "and in most cases it tries the worst choice of all if there is a choice to " "be made." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:56 msgid "" "In this way, <command>pbuilder</command> tries to ensure that packages " "tested against <command>pbuilder</command> will build properly in most " "Debian installations, hopefully resulting in a good overall Debian " "source-buildability." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:63 msgid "" "The goal of making Debian buildable from source is somewhat accomplished, " "and has seen good progress. In the past age of Debian 3.0, there were many " "problems when building from source. More recent versions of Debian is much " "better." msgstr "" #. type: Content of: <book><chapter><title> #: pbuilder-doc.xml:71 msgid "Using pbuilder" msgstr "" #. type: Content of: <book><chapter><para> #: pbuilder-doc.xml:73 msgid "" "There are several simple commands for operation. <command>pbuilder " "create</command>, <command>pbuilder update</command>, and <command>pbuilder " "build</command> commands are the typical commands used. Let us look at the " "commands one by one." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:80 msgid "Creating a base chroot image tar-ball" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:82 msgid "" "<command>pbuilder create</command> will create a base chroot image tar-ball " "(base.tgz). All other commands will operate on the resulting base.tgz If " "the Debian release to be created within chroot is not going to be \"sid\" " "(which is the default), the distribution code-name needs to be specified " "with the <command><option>--distribution</option></command> command-line " "option." msgstr "" #. type: Content of: <book><chapter><sect1><para><footnote><para> #: pbuilder-doc.xml:94 msgid "debootstrap or cdebootstrap can be chosen" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:93 msgid "" "<command>debootstrap</command> <placeholder type=\"footnote\" id=\"0\"/> is " "used to create the bare minimum Debian installation, and then " "build-essential packages are installed on top of the minimum installation " "using <command>apt-get</command> inside the chroot." msgstr "" #. type: Content of: <book><chapter><sect1><para><footnote><para> #: pbuilder-doc.xml:109 msgid "" "The mirror site should preferably be a local mirror or a cache server, so as " "not to overload the public mirrors with a lot of access. Use of tools such " "as apt-proxy would be advisable." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:103 msgid "" "For fuller documentation of command-line options, see the pbuilder.8 manual " "page. Some configuration will be required for " "<filename>/etc/pbuilderrc</filename> for the mirror site <placeholder " "type=\"footnote\" id=\"0\"/> to use, and proxy configuration may be required " "to allow access through HTTP. See the pbuilderrc.5 manual page for details." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:122 msgid "Updating the base.tgz" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:123 msgid "" "<command>pbuilder update</command> will update the base.tgz. It will " "extract the chroot, invoke <command>apt-get update</command> and " "<command>apt-get dist-upgrade</command> inside the chroot, and then recreate " "the base.tgz (the base tar-ball)." msgstr "" #. type: Content of: <book><chapter><sect1><para><footnote><para> #: pbuilder-doc.xml:135 msgid "" "Only upgrading is supported. Debian does not generally support downgrading " "(yet?)." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:130 msgid "" "It is possible to switch the distribution which the base.tgz is targeted at " "at this point. Specify <command><option>--distribution " "<parameter>sid</parameter></option> " "<option>--override-config</option></command> to change the distribution to " "sid. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:140 pbuilder-doc.xml:172 msgid "" "For fuller documentation of command-line options, see the pbuilder.8 manual " "page" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:145 msgid "Building a package using the base.tgz" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:147 msgid "" "To build a package inside the chroot, invoke <command>pbuilder build " "<option>whatever.dsc</option></command>. <command>pbuilder</command> will " "extract the base.tgz to a temporary working directory, enter the directory " "with chroot, satisfy the build-dependencies inside chroot, and build the " "package. The built packages will be moved to a directory specified with the " "<command><option>--buildresult</option></command> command-line option." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:160 msgid "" "The <command><option>--basetgz</option></command> option can be used to " "specify which base.tgz to use." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:164 msgid "" "<command>pbuilder</command> will extract a fresh base chroot image from " "base.tgz. (base.tgz is created with <command>pbuilder create</command>, and " "updated with <command>pbuilder update</command>). The chroot is populated " "with build-dependencies by parsing debian/control and invoking " "<command>apt-get</command>." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:177 msgid "Facilitating Debian Developers' typing, pdebuild" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:179 msgid "" "<command>pdebuild</command> is a little wrapper script that does the most " "frequent of all tasks. A Debian Developer may try to do " "<command>debuild</command>, and build a package, inside a Debian source " "directory. <command>pdebuild</command> will allow similar control, and " "allow package to be built inside the chroot, to check that the current " "source tree will build happily inside the chroot." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:189 msgid "" "<command>pdebuild</command> calls <command>dpkg-source</command> to build " "the source packages, and then invokes <command>pbuilder</command> on the " "resulting source package. However, unlike debuild, the resulting deb files " "will be found in the <command><option>--buildresult</option></command> " "directory." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:197 msgid "See the pdebuild.1 manual page for more details." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:200 msgid "" "There is a slightly different mode of operation available in " "<command>pdebuild</command> since version 0.97. <command>pdebuild</command> " "usually runs <command>debian/rules clean</command> outside of the chroot; " "however, it is possible to change the behavior to run it inside the chroot " "with the <command><option>--use-pdebuild-internal</option></command>. It " "will try to bind mount the working directory inside chroot, and run " "<command>dpkg-buildpackage</command> inside. It has the following " "characteristics, and is not yet the default mode of operation." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:214 msgid "" "Satisfies build-dependency inside the chroot before creating source " "package. (which is a good point that default <command>pdebuild</command> " "could not do)." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:219 msgid "The working directory is modified from inside the chroot." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:223 msgid "" "Building with <command>pdebuild</command> does not guarantee that it works " "with <command>pbuilder</command>." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:227 msgid "" "If making the source package fails, the session using the chroot is wasted " "(chroot creation takes a bit of time, which should be improved with " "cowdancer)." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:232 msgid "" "Does not work in the same manner as it used to; for example, " "<command><option>--buildresult</option></command> does not have any effect." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:237 msgid "The build inside chroot is ran with the current user outside chroot." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:243 msgid "Configuration Files" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:245 msgid "" "It is possible to specify all settings by command-line options. However, for " "typing convenience, it is possible to use a configuration file." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:250 msgid "" "<filename>/etc/pbuilderrc</filename> and " "<filename>${HOME}/.pbuilderrc</filename> are read in when " "<command>pbuilder</command> is invoked. The possible options are documented " "in the pbuilderrc.5 manual page." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:257 msgid "" "It is useful to use <option>--configfile</option> option to load up a preset " "configuration file when switching between configuration files for different " "distributions." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:262 msgid "" "Please note <filename>${HOME}/.pbuilderrc</filename> supersede system " "settings. Caveats is that if you have some configuration, you may need to " "tweak the configuration to work with new versions of pbuilder when " "upgrading." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:269 msgid "Building packages as non-root inside the chroot" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:271 msgid "" "<command>pbuilder</command> requires full root privilege when it is " "satisfying the build-dependencies, but most packages do not need root " "privilege to build, or even refused to build when they are built as root. " "<command>pbuilder</command> can create a user which is only used inside " "<command>pbuilder</command> and use that user id when building, and use the " "<command>fakeroot</command> command when root privilege is required." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:280 msgid "" "BUILDUSERID configuration option should be set to a value for a user id that " "does not already exist on the system, so that it is more difficult for " "packages that are being built with <command>pbuilder</command> to affect the " "environment outside the chroot. When BUILDUSERNAME configuration option is " "also set, <command>pbuilder</command> will use the specified user name and " "fakeroot for building packages, instead of running as root inside chroot." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:289 msgid "" "Even when using the fakerooting method, <command>pbuilder</command> will run " "with root privilege when it is required. For example, when installing " "packages to the chroot, <command>pbuilder</command> will run under root " "privilege." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:295 msgid "" "To be able to invoke <command>pbuilder</command> without being root, you " "need to use user-mode-linux, as explained in <xref " "linkend=\"pbuilder-uml\"/>." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:301 msgid "Using pbuilder for back-porting" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:303 msgid "" "<command>pbuilder</command> can be used for back-porting software from the " "latest Debian distribution to the older stable distribution, by using a " "chroot that contains an image of the older distribution, and building " "packages inside the chroot. There are several points to consider, and due " "to the following reasons, automatic back-porting is usually not possible, " "and manual interaction is required:" msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:314 msgid "" "The package from the unstable distribution may depend on packages or " "versions of packages which are only available in unstable. Thus, it may not " "be possible to satisfy Build-Depends: on stable (without additional " "backporting work)." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:321 msgid "" "The stable distribution may have bugs that have been fixed in unstable which " "need to be worked around." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:324 msgid "" "The package in the unstable distribution may have problems building even on " "unstable." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:330 msgid "Mass-building packages" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:332 msgid "" "<command>pbuilder</command> can be automated, because its operations are " "non-interactive. It is possible to run <command>pbuilder</command> through " "multiple packages non-interactively. Several such scripts are known to " "exist. Junichi Uekawa has been running such a script since 2001, and has " "been filing bugs on packages that fail the test of " "<command>pbuilder</command>. There were several problems with auto-building:" msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:343 msgid "" "Build-Dependencies need to install non-interactively, but some packages are " "so broken that they cannot install without interaction (like postgresql)." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:348 msgid "" "When a library package breaks, or gcc/gcj/g++ breaks, or even bison, a large " "number of build failures are reported. (gcj-3.0 which had no \"javac\", " "bison which got more strict, etc.)" msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:354 msgid "Some people were quite hostile against build failure reports." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:358 msgid "" "Most of the initial bugs have been resolved in the " "<command>pbuilder</command> sweep done around 2002, but these transitional " "problems which affect a large portion of Debian Archive do arise from time " "to time. Regression tests have their values." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:364 msgid "" "A script that was used by Junichi Uekawa in the initial run is now included " "in the <command>pbuilder</command> distribution, as " "<command>pbuildd.sh</command>. It is available in " "<filename>/usr/share/doc/pbuilder/examples/pbuildd/</filename> and its " "configuration is in <filename>/etc/pbuilder/pbuildd-config.sh</filename>. " "It should be easy enough to set up for people who are used to " "<command>pbuilder</command>. It has been running for quite a while, and it " "should be possible to set the application up on your system also. This " "version of the code is not the most tested, but should function as a " "starter." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:374 msgid "To set up pbuildd, there are some points to be aware of." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:378 msgid "" "A file <filename>./avoidlist</filename> needs to be available with the list " "of packages to avoid building." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:381 msgid "" "It will try building anything, even packages which are not aimed for your " "architecture." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:385 msgid "" "Because you are running random build scripts, it is better to use the " "fakeroot option of <command>pbuilder</command>, to avoid running the build " "under root privilege." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:390 msgid "" "Because not all builds are guaranteed to finish in a finite time, setting a " "timeout is probably necessary, or pbuildd may stall with a bad build." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:396 msgid "" "Some packages require a lot of disk space, around 2GB seems to be sufficient " "for the largest packages for the time being. If you find otherwise, please " "inform the maintainer of this documentation." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:404 msgid "Auto-backporting scripts" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:406 msgid "" "There are some people who use <command>pbuilder</command> to automatically " "back-port a subset of packages to the stable distribution." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:410 msgid "" "I would like some information on how people are doing it, I would appreciate " "any feedback or information on how you are doing, or any examples." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:416 msgid "Using pbuilder for automated testing of packages" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:418 msgid "" "<command>pbuilder</command> can be used for automated testing of packages. " "It has the feature of allowing hooks to be placed, and these hooks can try " "to install packages inside the chroot, or run them, or whatever else that " "can be done. Some known tests and ideas:" msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:426 msgid "" "Automatic install-remove-install-purge-upgrade-remove-upgrade-purge " "test-suite (distributed as an example, <filename>B91dpkg-i</filename>), or " "just check that everything installs somewhat " "(<filename>execute_installtest.sh</filename>)." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:431 msgid "" "Automatically running lintian (distributed as an example in " "<filename>/usr/share/doc/pbuilder/examples/B90lintian</filename>)." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:435 msgid "" "Automatic debian-test of the package? The debian-test package has been " "removed from Debian. A <command>pbuilder</command> implementation can be " "found as debian/pbuilder-test directory, implemented through B92test-pkg " "script." msgstr "" #. type: Content of: <book><chapter><sect1><para><footnote><para> #: pbuilder-doc.xml:444 msgid "" "It is possible to specify <command>--hookdir " "/usr/share/doc/pbuilder/examples</command> command-line option to include " "all example hooks as well." msgstr "" #. type: Content of: <book><chapter><sect1><para><footnote><para> #: pbuilder-doc.xml:452 msgid "See run-parts(8). For example, no '.' in file names!" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:442 msgid "" "To use B92test-pkg script, first, add it to your hook directory. " "<placeholder type=\"footnote\" id=\"0\"/>. The test files are shell scripts " "placed in <filename>debian/pbuilder-test/NN_name</filename> (where NN is a " "number) following run-parts standard<placeholder type=\"footnote\" " "id=\"1\"/> for file names. After a successful build, packages are first " "tested for installation and removal, and then each test is ran inside the " "chroot. The current directory is the top directory of the source-code. " "This means you can expect to be able to use ./debian/ directory from inside " "your scripts." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:463 msgid "" "Example scripts for use with pbuilder-test can be found in " "<filename>/usr/share/doc/pbuilder/examples/pbuilder-test</filename>." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:468 msgid "Using pbuilder for testing builds with alternate compilers" msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:484 #, no-wrap msgid "" "EXTRAPACKAGES=\"pentium-builder gcc-3.2 g++-3.2\"\n" "export DEBIAN_BUILDARCH=athlon\n" "export DEBIAN_BUILDGCCVER=3.2" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:470 msgid "" "Most packages are compiled with <command>gcc</command> or " "<command>g++</command> and using the default compiler version, which was gcc " "2.95 for Debian GNU/Linux 3.0 (i386). However, Debian 3.0 was distributed " "with other compilers, under package names such as <command>gcc-3.2</command> " "for gcc compiler version 3.2. It was therefore possible to try compiling " "packages against different compiler versions. " "<command>pentium-builder</command> provides an infrastructure for using a " "different compiler for building packages than the default gcc, by providing " "a wrapper script called gcc which calls the real gcc. To use " "<command>pentium-builder</command> in <command>pbuilder</command>, it is " "possible to set up the following in the configuration: <placeholder " "type=\"screen\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:489 msgid "" "It will instruct <command>pbuilder</command> to install the " "<command>pentium-builder</command> package and also the GCC 3.2 compiler " "packages inside the chroot, and set the environment variables required for " "<command>pentium-builder</command> to function." msgstr "" #. type: Content of: <book><chapter><title> #: pbuilder-doc.xml:497 msgid "Using User-mode-linux with pbuilder" msgstr "" #. type: Content of: <book><chapter><para> #: pbuilder-doc.xml:499 msgid "" "It is possible to use user-mode-linux by invoking " "<command>pbuilder-user-mode-linux</command> instead of " "<command>pbuilder</command>. <command>pbuilder-user-mode-linux</command> " "doesn't require root privileges, and it uses the copy-on-write (COW) disk " "access method of <command>User-mode-linux</command> which typically makes it " "much faster than the traditional <command>pbuilder</command>." msgstr "" #. type: Content of: <book><chapter><para> #: pbuilder-doc.xml:509 msgid "" "<command>User-mode-linux</command> is a somewhat less proven platform than " "the standard Unix tools which <command>pbuilder</command> relies on " "(<command>chroot</command>, <command>tar</command>, and " "<command>gzip</command>) but mature enough to support " "<command>pbuilder-user-mode-linux</command> since its version 0.59. And " "since then, <command>pbuilder-user-mode-linux</command> has seen a rapid " "evolution." msgstr "" #. type: Content of: <book><chapter><para> #: pbuilder-doc.xml:520 msgid "" "The configuration of <command>pbuilder-user-mode-linux</command> goes in " "three steps:" msgstr "" #. type: Content of: <book><chapter><para><itemizedlist><listitem><para> #: pbuilder-doc.xml:524 msgid "Configuration of user-mode-linux" msgstr "" #. type: Content of: <book><chapter><para><itemizedlist><listitem><para> #: pbuilder-doc.xml:527 msgid "Configuration of rootstrap" msgstr "" #. type: Content of: <book><chapter><para><itemizedlist><listitem><para> #: pbuilder-doc.xml:530 msgid "Configuration of pbuilder-uml" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:535 msgid "Configuring user-mode-linux" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:537 msgid "" "user-mode-linux isn't completely trivial to set up. It would probably be " "useful to acquaint yourself with it a bit before attempting to use " "<command>rootstrap</command> or " "<command>pbuilder-user-mode-linux</command>. For details, read " "<filename>/usr/share/doc/uml-utilities/README.Debian</filename> and the " "<command>user-mode-linux</command> documentation. (It's in a separate " "package, user-mode-linux-doc.)" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:547 msgid "" "<command>user-mode-linux</command> requires the user to be in the uml-net " "group in order to configure the network unless you are using slirp." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:552 msgid "" "If you compile your own kernel, you may want to verify that you enable " "TUN/TAP support, and you might want to consider the SKAS patch." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:558 msgid "Configuring rootstrap" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:560 msgid "" "<command>rootstrap</command> is a wrapper around debootstrap. It creates a " "Debian disk image for use with UML. To configure rootstrap, there are " "several requirements." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:567 msgid "Install the rootstrap package." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para><screen> #: pbuilder-doc.xml:573 #, no-wrap msgid "adduser dancer uml-net" msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:571 msgid "" "TUN/TAP only: add the user to the uml-net group to allow access to the " "network <placeholder type=\"screen\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:577 msgid "" "TUN/TAP only: Check that the kernel supports the TUN/TAP interface, or " "recompile the kernel if necessary." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para><screen> #: pbuilder-doc.xml:588 #, no-wrap msgid "" "transport=tuntap\n" "interface=eth0\n" "gateway=192.168.1.1\n" "mirror=http://192.168.1.2:8081/debian\n" "host=192.168.1.198\n" "uml=192.168.1.199\n" "netmask=255.255.255.0" msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:583 msgid "" "Set up <filename>/etc/rootstrap/rootstrap.conf</filename>. For example, if " "the current host is 192.168.1.2, changing following entries to something " "like this seems to work. <placeholder type=\"screen\" id=\"0\"/> Some " "experimentation with configuration and running <command>rootstrap " "~/test.uml</command> to actually test it would be handy." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:600 msgid "" "Using slirp requires less configuration. The default configuration comes " "with a working example." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:607 msgid "Configuring pbuilder-uml" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:609 msgid "The following needs to happen:" msgstr "" #. type: Content of: <book><chapter><sect1><para><itemizedlist><listitem><para> #: pbuilder-doc.xml:612 msgid "Install the pbuilder-uml package." msgstr "" #. type: Content of: <book><chapter><sect1><para><itemizedlist><listitem><para><screen> #: pbuilder-doc.xml:620 #, no-wrap msgid "" "MY_ETH0=tuntap,,,192.168.1.198\n" "UML_IP=192.168.1.199\n" "UML_NETMASK=255.255.255.0\n" "UML_NETWORK=192.168.1.0\n" "UML_BROADCAST=255.255.255.255\n" "UML_GATEWAY=192.168.1.1\n" "PBUILDER_UML_IMAGE=\"/home/dancer/uml-image\"" msgstr "" #. type: Content of: <book><chapter><sect1><para><itemizedlist><listitem><para> #: pbuilder-doc.xml:616 msgid "" "Set up the configuration file " "<filename>/etc/pbuilder/pbuilder-uml.conf</filename> in the following " "manner. It will be different for slirp. <placeholder type=\"screen\" " "id=\"0\"/> Also, it needs to match the rootstrap configuration." msgstr "" #. type: Content of: <book><chapter><sect1><para><itemizedlist><listitem><para> #: pbuilder-doc.xml:632 msgid "" "Make sure BUILDPLACE is writable by the user. Change BUILDPLACE in the " "configuration file to a place where the user has access." msgstr "" #. type: Content of: <book><chapter><sect1><para><itemizedlist><listitem><para> #: pbuilder-doc.xml:638 msgid "" "Run <command>pbuilder-user-mode-linux <option>create --distribution " "sid</option></command> to create the image." msgstr "" #. type: Content of: <book><chapter><sect1><para><itemizedlist><listitem><para> #: pbuilder-doc.xml:641 msgid "Try running <command>pbuilder-user-mode-linux build</command>." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:647 msgid "Considerations for running pbuilder-user-mode-linux" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:649 msgid "" "<command>pbuilder-user-mode-linux</command> emulates most of " "<command>pbuilder</command>, but there are some differences." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:655 msgid "" "<command>pbuilder-user-mode-linux</command> does not support all options of " "<command>pbuilder</command> properly yet. This is a problem, and will be " "addressed as specific areas are discovered." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:662 msgid "" "/tmp is handled differently inside " "<command>pbuilder-user-mode-linux</command>. In " "<command>pbuilder-user-mode-linux</command>, <filename>/tmp</filename> is " "mounted as tmpfs inside UML, so accessing files under " "<filename>/tmp</filename> from outside user-mode-linux does not work. It " "affects options like <command><option>--configfile</option></command>, and " "when trying to build packages placed under <filename>/tmp</filename>." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:676 msgid "Parallel running of pbuilder-user-mode-linux" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:678 msgid "" "To run <command>pbuilder-user-mode-linux</command> in parallel on a system, " "there are a few things to bear in mind." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:683 msgid "" "The create and update methods must not be run when a build is in progress, " "or the COW file will be invalidated." msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para><screen> #: pbuilder-doc.xml:694 #, no-wrap msgid "" "for IP in 102 103 104 105; do\n" " xterm -e pbuilder-user-mode-linux build --uml-ip 192.168.0.$IP \\\n" " 20030107/whizzytex_1.1.1-1.dsc &\n" "done" msgstr "" #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> #: pbuilder-doc.xml:688 msgid "" "If you are not using slirp, user-mode-linux processes which are running in " "parallel need to have different IP addresses. Just trying to run the " "<command>pbuilder-user-mode-linux</command> several times will result in " "failure to access the network. But something like the following will work: " "<placeholder type=\"screen\" id=\"0\"/> When using slirp, this problem does " "not exist." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:704 msgid "" "Using pbuilder-user-mode-linux as a wrapper script to start up a virtual " "machine" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:706 msgid "" "It is possible to use <command>pbuilder-user-mode-linux</command> for other " "uses than just building Debian packages. <command>pbuilder-user-mode-linux " "<option>login</option></command> will let a user use a shell inside the " "user-mode-linux <command>pbuilder</command> base image, and " "<command>pbuilder-user-mode-linux <option>execute</option></command> will " "allow the user to execute a script inside the image." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:717 msgid "" "You can use the script to install ssh and add a new user, so that it is " "possible to access inside the user-mode-linux through ssh." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:721 msgid "" "Note that it is not possible to use a script from <filename>/tmp</filename> " "due to the way <command>pbuilder-user-mode-linux</command> mounts a tmpfs at " "<filename>/tmp</filename>." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:727 msgid "" "The following example script may be useful in starting a sshd inside " "user-mode-linux." msgstr "" #. type: Content of: <book><chapter><sect1><screen> #: pbuilder-doc.xml:731 #, no-wrap msgid "" "#!/bin/bash\n" "\n" "apt-get install -y ssh xbase-clients xterm\n" "echo \"enter root password\"\n" "passwd\n" "cp /etc/ssh/sshd_config{,-}\n" "sed 's/X11Forwarding.*/X11Forwarding yes/' /etc/ssh/sshd_config- > " "/etc/ssh/sshd_config\n" "\n" "/etc/init.d/ssh restart\n" "ifconfig\n" "echo \"Hit enter to finish\"\n" "read" msgstr "" #. type: Content of: <book><chapter><title> #: pbuilder-doc.xml:746 msgid "Frequently asked questions" msgstr "" #. type: Content of: <book><chapter><para> #: pbuilder-doc.xml:749 msgid "" "Here, known problems and frequently asked questions are documented. This " "portion was initially available in README.Debian file, but moved here." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:754 msgid "pbuilder create fails" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:756 msgid "" "It often happens that <command>pbuilder</command> cannot create the latest " "chroot. Try upgrading <command>pbuilder</command> and debootstrap. It is " "currently only possible to create software that handles the past. Future " "prediction is a feature which may be added later after we have become " "comfortable with the past." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:763 msgid "" "There are people who occasionally back port debootstrap to stable versions; " "hunt for them." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:767 msgid "" "When there are errors with the debootstrap phase, the debootstrap script " "needs to be fixed. <command>pbuilder</command> does not provide a way to " "work around debootstrap." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:773 msgid "Directories that cannot be bind-mounted" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:775 msgid "" "Because of the way <command>pbuilder</command> works, there are several " "directories which cannot be bind-mounted when running " "<command>pbuilder</command>. The directories include " "<filename>/tmp</filename>, <filename>/var/cache/pbuilder</filename>, and " "system directories such as <filename>/etc</filename> and " "<filename>/usr</filename>. The recommendation is to use directories under " "the user's home directory for bind-mounts." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:786 msgid "Logging in to pbuilder to investigate build failure" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:788 msgid "" "It is possible to invoke a shell session after a build failure. Example " "hook scripts are provided as <filename>C10shell</filename> and " "<filename>C11screen</filename> scripts. C10shell script will start bash " "inside chroot, and C11screen script will start GNU screen inside the chroot." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:797 msgid "Logging in to pbuilder to modify the environment" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:799 msgid "" "It is sometimes necessary to modify the chroot environment. " "<command>login</command> will remove the contents of the chroot after " "logout. It is possible to invoke a shell using hook scripts. " "<command>pbuilder update</command> executes 'E' scripts, and a sample for " "invoking a shell is provided as <filename>C10shell</filename>." msgstr "" #. type: Content of: <book><chapter><sect1><screen> #: pbuilder-doc.xml:807 #, no-wrap msgid "" "$ mkdir ~/loginhooks\n" "$ cp C10shell ~/loginhooks/E10shell\n" "$ sudo pbuilder update --hookdir ~/loginhooks/E10shell" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:811 msgid "" "It is also possible to add <option>--save-after-exec</option> and/or " "<option>--save-after-login</option> options to the <command>pbuilder " "login</command> session to accomplish the goal. It is possible to add the " "<option>--uml-login-nocow</option> option to " "<command>pbuilder-user-mode-linux <option>login</option></command> session " "as well." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:821 msgid "Setting BUILDRESULTUID for sudo sessions" msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:824 #, no-wrap msgid "BUILDRESULTUID=$SUDO_UID" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:823 msgid "" "It is possible to set <placeholder type=\"screen\" id=\"0\"/> in pbuilderrc " "to set the proper BUILDRESULTUID when using <command>sudo</command>." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:829 msgid "Notes on usage of $TMPDIR" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:831 msgid "" "If you are setting $TMPDIR to an unusual value, of other than " "<filename>/tmp</filename>, you will find that some errors may occur inside " "the chroot, such as <command>dpkg-source</command> failing." msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:837 #, no-wrap msgid "export TMPDIR=/tmp" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:835 msgid "" "There are two options, you may install a hook to create that directory, or " "set <placeholder type=\"screen\" id=\"0\"/> in pbuilderrc. Take your pick." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:841 msgid "" "An example script is provided as <filename>examples/D10tmp</filename> with " "<command>pbuilder</command>." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:846 msgid "" "Creating a shortcut for running <command>pbuilder</command> with a specific " "distribution" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:848 msgid "" "When working with multiple chroots, it would be nice to work with scripts " "that reduce the amount of typing. An example script " "<filename>pbuilder-distribution.sh</filename> is provided as an example. " "Invoking the script as <filename>pbuilder-squeeze</filename> will invoke " "<command>pbuilder</command> with a squeeze chroot." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:857 msgid "" "Using environmental variables for running <command>pbuilder</command> for " "specific distribution" msgstr "" #. type: Content of: <book><chapter><sect1><para><footnote><para> #: pbuilder-doc.xml:861 msgid "This part of the documentation contributed by Andres Mejia" msgstr "" #. type: Content of: <book><chapter><sect1><para><footnote><para> #: pbuilder-doc.xml:863 msgid "" "This example was taken from a wiki (<ulink " "url=\"https://wiki.ubuntu.com/PbuilderHowto\">https://wiki.ubuntu.com/PbuilderHowto</ulink>)." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:860 msgid "" "This section<placeholder type=\"footnote\" id=\"0\"/> describes briefly a " "way to setup and use multiple pbuilder setups by creating a pbuilderrc " "configuration in your home path (<filename>$HOME/.pbuilderrc</filename>) " "and using the variable \"DIST\" when running pbuilder or pdebuild." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:871 msgid "First, setup <filename>$HOME/.pbuilderrc</filename> to look like:" msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:874 #, no-wrap msgid "" "if [ -n \"${DIST}\" ]; then\n" " BASETGZ=\"`dirname $BASETGZ`/$DIST-base.tgz\"\n" " DISTRIBUTION=\"$DIST\"\n" " BUILDRESULT=\"/var/cache/pbuilder/$DIST/result/\"\n" " APTCACHE=\"/var/cache/pbuilder/$DIST/aptcache/\"\n" "fi\n" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:873 pbuilder-doc.xml:889 pbuilder-doc.xml:930 pbuilder-doc.xml:936 pbuilder-doc.xml:951 pbuilder-doc.xml:1039 pbuilder-doc.xml:1190 pbuilder-doc.xml:1442 pbuilder-doc.xml:1453 msgid "<placeholder type=\"screen\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:881 msgid "" "Then, whenever you wish to use pbuilder for a particular distro, assign a " "value to \"DIST\" that is one of the distros available for Debian or any " "Debian based distro you happen to be running (i.e. whatever is found under " "/usr/lib/debootstrap/scripts)." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:887 msgid "Here's some examples on running pbuilder or pdebuild:" msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:890 #, no-wrap msgid "" "DIST=gutsy sudo pbuilder create\n" "\n" "DIST=sid sudo pbuilder create --mirror http://http.us.debian.org/debian\n" "\n" "DIST=gutsy sudo pbuilder create \\\n" " --othermirror \"deb http://archive.ubuntu.com/ubuntu gutsy universe " "\\\n" " multiverse\"\n" "\n" "DIST=gutsy sudo pbuilder update\n" "\n" "DIST=sid sudo pbuilder update --override-config --mirror \\\n" "http://http.us.debian.org/debian \\\n" "--othermirror \"deb http://http.us.debian.org/debian sid contrib " "non-free\"\n" "\n" "DIST=gutsy pdebuild\n" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:908 msgid "Using special apt sources lists, and local packages" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:910 msgid "" "If you have some very specialized requirements on your apt setup inside " "<command>pbuilder</command>, it is possible to specify that through the " "<command><option>--othermirror</option></command> option. Try something " "like: <command><option>--othermirror \"deb http://local/mirror stable " "main|deb-src http://local/source/repository ./\"</option></command>" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:919 msgid "" "To use the local file system instead of HTTP, it is necessary to do " "bind-mounting. <command><option>--bindmounts</option></command> is a " "command-line option useful for such cases." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:925 msgid "" "It might be convenient to use your built packages from inside the chroot. " "It is possible to automate the task with the following configuration. " "First, set up pbuilderrc to bindmount your build results directory." msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:930 #, no-wrap msgid "BINDMOUNTS=\"/var/cache/pbuilder/result\"" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:933 msgid "Then, add the following hook" msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:937 #, no-wrap msgid "" "# cat /var/cache/pbuilder/hooks/D70results\n" "#!/bin/sh\n" "cd /var/cache/pbuilder/result/\n" "/usr/bin/dpkg-scanpackages . /dev/null > " "/var/cache/pbuilder/result/Packages\n" "/usr/bin/apt-get update" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:944 msgid "" "This way, you can use <filename>deb " "file:/var/cache/pbuilder/result</filename>" msgstr "" #. from http://ubuntuforums.org/archive/index.php/t-696820.html #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:947 msgid "To add new apt-key inside chroot:" msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:952 #, no-wrap msgid "" "sudo pbuilder --login --save-after-login\n" "# apt-key add - <<EOF\n" "...public key goes here...\n" "EOF\n" "# logout\n" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:960 msgid "" "How to get pbuilder to run apt-get update before trying to satisfy " "build-dependency" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:962 msgid "" "You can use hook scripts for this. D scripts are run before satisfying " "build-dependency." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:966 msgid "" "<ulink url=\"http://lists.debian.org/debian-devel/2006/05/msg00550.html\"> " "This snippet comes from Ondrej Sury. </ulink>" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:972 msgid "Different bash prompts inside pbuilder login" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:974 msgid "" "To make distinguishing bash prompts inside <command>pbuilder</command> " "easier, it is possible to set environment variables such as PS1 inside " "<filename>pbuilderrc</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><para><footnote><para> #: pbuilder-doc.xml:985 msgid "Versions of bash from and before Debian 3.0" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:980 msgid "" "With versions of bash more recent than 2.05b-2-15, the value of the " "debian_chroot variable, if set, is included in the value of PS1 (the Bash " "prompt) inside the chroot. In prior versions of bash,<placeholder " "type=\"footnote\" id=\"0\"/> setting PS1 in pbuilderrc worked." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:989 msgid "example of debian_chroot" msgstr "" #. type: Content of: <book><chapter><sect1><screen> #: pbuilder-doc.xml:991 #, no-wrap msgid "\texport debian_chroot=\"pbuild$$\"" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:992 msgid "example of PS1" msgstr "" #. type: Content of: <book><chapter><sect1><screen> #: pbuilder-doc.xml:994 #, no-wrap msgid "\texport PS1=\"pbuild chroot 32165 # \"" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:997 msgid "Creating a chroot reminder" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:999 msgid "" "Bash prompts will help you remember that you are inside a chroot. There are " "other cases where you may want other signs of being inside a chroot. Check " "out the <filename>examples/F90chrootmemo</filename> hook script. It will " "create a file called <filename>/CHROOT</filename> inside your chroot." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1008 msgid "Using /var/cache/apt/archives for the package cache" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1010 msgid "" "For the help of low-bandwidth systems, it is possible to use " "<filename>/var/cache/apt/archives</filename> as the package cache. Just " "specify it instead of the default " "<filename>/var/cache/pbuilder/aptcache</filename>." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1016 msgid "" "It is however not possible to do so currently with the user-mode-linux " "version of <command>pbuilder</command>, because " "<filename>/var/cache/apt/archives</filename> is usually only writable by " "root." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1022 msgid "" "Use of dedicated tools such as apt-proxy is recommended, since caching of " "packages would benefit the system outside the scope of " "<command>pbuilder</command>." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1028 msgid "pbuilder back ported to stable Debian releases" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1030 msgid "Currently stable back port of pbuilder is available at backports.org." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1034 msgid "Warning about LOGNAME not being defined" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1036 msgid "" "You might see a lot of warning messages when running " "<command>pbuilder</command>." msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:1040 #, no-wrap msgid "" "\tdpkg-genchanges: warning: no utmp entry available and LOGNAME not defined; " "using uid of process (1234)" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1043 msgid "" "It is currently safe to ignore this warning message. Please report back if " "you find any problem with having LOGNAME unset. Setting LOGNAME caused a " "few problems when invoking <command>chroot</command>. For example, dpkg " "requires getpwnam to succeed inside chroot, which means LOGNAME and the " "related user information have to be set up inside chroot." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1052 msgid "Cannot Build-conflict against an essential package" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1054 msgid "" "<command>pbuilder</command> does not currently allow Build-Conflicts against " "essential packages. It should be obvious that essential packages should not " "be removed from a working Debian system, and a source package should not try " "to force removal of such packages on people building the package." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1063 msgid "Avoiding the \"ln: Invalid cross-device link\" message" msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:1069 pbuilder-doc.xml:1202 #, no-wrap msgid "APTCACHEHARDLINK=no" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1065 msgid "" "By default, <command>pbuilder</command> uses hard links to manage the " "<command>pbuilder</command> package cache. It is not possible to make hard " "links across different devices; and thus this error will occur, depending on " "your set up. If this happens, set <placeholder type=\"screen\" id=\"0\"/> " "in your pbuilderrc file. Note that packages in <command>APTCACHE</command> " "will be copied into chroot local cache, so plan for enough space on " "<command>BUILDPLACE</command> device." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1077 msgid "Using fakechroot" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1079 msgid "" "It is possible to use <command>fakechroot</command> instead of being root to " "run <command>pbuilder</command>; however, several things make this " "impractical. <command>fakechroot</command> overrides library loads and " "tries to override default libc functions when providing the functionality of " "virtual <command>chroot</command>. However, some binaries do no use libc to " "function, or override the overriding provided by " "<command>fakechroot</command>. One example is <command>ldd</command>. " "Inside <command>fakechroot</command>, <command>ldd</command> will check the " "library dependency outside of the chroot, which is not the expected " "behavior." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1093 msgid "" "To work around the problem, debootstrap has a <option>--variant " "fakechroot</option> option. Use that, so that ldd and ldconfig are " "overridden." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1098 msgid "" "Make sure you have set your LD_PRELOAD path correctly, as described in the " "fakechroot manpage." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1103 msgid "Using debconf inside pbuilder sessions" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1105 msgid "" "To use debconf inside <command>pbuilder</command>, setting DEBIAN_FRONTEND " "to <quote>readline</quote> in <filename>pbuilderrc</filename> should work. " "Setting it to <quote>dialog</quote> should also work, but make sure whiptail " "or dialog is installed inside the chroot." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1112 msgid "nodev mount options hinder pbuilder activity" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1114 msgid "" "If you see messages such as this when building a chroot, you are mounting " "the file system with the nodev option." msgstr "" #. type: Content of: <book><chapter><sect1><screen> #: pbuilder-doc.xml:1118 #, no-wrap msgid "\t/var/lib/dpkg/info/base-files.postinst: /dev/null: Permission denied" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1120 msgid "" "You will also have problems if you mount the file system with the noexec " "option, or nosuid. Make sure you do not have these flags set when mounting " "the file system for <filename>/var/cache/pbuilder</filename> or $BUILDPLACE." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1126 msgid "This is not a problem when using <command>user-mode-linux</command>." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1129 msgid "" "See <ulink url=\"http://bugs.debian.org/316135\"> 316135 </ulink> for " "example." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1135 msgid "pbuilder is slow" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1137 msgid "" "<command>pbuilder</command> is often slow. The slowest part of " "<command>pbuilder</command> is extracting the tar.gz every time " "<command>pbuilder</command> is invoked. That can be avoided by using " "<command>pbuilder-user-mode-linux</command>. " "<command>pbuilder-user-mode-linux</command> uses COW file system, and thus " "does not need to clean up and recreate the root file system." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1146 msgid "" "<command>pbuilder-user-mode-linux</command> is slower in executing the " "actual build system, due to the usual <command>user-mode-linux</command> " "overhead for system calls. It is more friendly to the hard drive." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1152 msgid "" "<command>pbuilder</command> with cowdancer is also an alternative that " "improves speed of pbuilder startup." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1157 msgid "Using pdebuild to sponsor package" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1159 msgid "" "To sign a package marking for sponsorship, it is possible to " "use<command><option> --auto-debsign</option></command> and " "<command><option>--debsign-k</option></command> options of " "<command>pdebuild</command>." msgstr "" #. type: Content of: <book><chapter><sect1><screen> #: pbuilder-doc.xml:1165 #, no-wrap msgid "" "\t<command>pdebuild <option>--auto-debsign </option> <option>--debsign-k " "</option><parameter>XXXXXXXX</parameter></command>" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1168 msgid "Why is there a source.changes file in ../?" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1170 msgid "" "When running <command>pdebuild</command>, <command>pbuilder</command> will " "run dpkg-buildpackage to create a Debian source package to pass it on to " "<command>pbuilder</command>. File named XXXX_YYY_source.changes is what " "remains from that process. It is harmless unless you try to upload it to " "the Debian archive." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1176 msgid "" "This behavior is different when running through " "<option>--use-pdebuild-internal</option>" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1180 msgid "amd64 and i386-mode" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1182 msgid "" "amd64 architectures are capable of running binaries in i386 mode. It is " "possible to use <command>pbuilder</command> to run packages, using " "<command>linux32</command> and <command>debootstrap " "<option>--arch</option></command> option. Specifically, a command-line " "option like the following will work." msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:1191 #, no-wrap msgid "" "<command>pbuilder create --distribution sid --debootstrapopts --arch " "--debootstrapopts i386 \\\n" " --basetgz /var/cache/pbuilder/base-i386.tgz --mirror " "http://ftp.jp.debian.org/debian</command>\n" "<command>linux32 pbuilder build --basetgz " "/var/cache/pbuilder/base-i386.tgz</command>" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1197 msgid "Using tmpfs for buildplace" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1199 msgid "" "To improve speed of operation, it is possible to use tmpfs for pbuilder " "build location. Mount tmpfs to " "<filename>/var/cache/pbuilder/build</filename>, and set <placeholder " "type=\"screen\" id=\"0\"/>." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1206 msgid "Using svn-buildpackage together with pbuilder" msgstr "" #. type: Content of: <book><chapter><sect1><para><footnote><para> #: pbuilder-doc.xml:1211 msgid "" "<ulink url=\"http://upsilon.cc/~zack/blog/posts/2007/09/svn-cowbuilder/\"> " "Zack has posted an example on his blog. </ulink>" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1208 msgid "" "pdebuild command can be used with svn-buildpackage --svn-builder " "command-line option. <placeholder type=\"footnote\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><sect1><screen> #: pbuilder-doc.xml:1217 #, no-wrap msgid "" "alias svn-cowbuilder=\"svn-buildpackage --svn-builder='pdebuild --pbuilder " "cowbuilder\"" msgstr "" #. type: Content of: <book><chapter><title> #: pbuilder-doc.xml:1224 msgid "Troubleshooting and development" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1226 msgid "Reporting bugs" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1228 msgid "" "To report bugs, it would be important to have a log of what's going wrong. " "Most of the time, adding a <command><option>--debug</option></command> " "option and re-running the session should do the trick. Please send the log " "of such session along with your problem to ease the debugging process." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1237 msgid "Mailing list" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1239 msgid "" "There is a mailing list for <command>pbuilder</command> on alioth " "(pbuilder-maint@lists.alioth.debian.org). You can subscribe through the " "alioth web interface. <ulink " "url=\"http://alioth.debian.org/mail/?group_id=30778\"> " "http://alioth.debian.org/mail/?group_id=30778</ulink>." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1247 msgid "IRC Channel" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1249 msgid "" "For coordination and communication, IRC channel #pbuilder on irc.oftc.net is " "used. Please log your intent there when you are going to start doing some " "changes and committing some change." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1256 msgid "Information for pbuilder developers" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1258 msgid "" "This section tries to document current development practices and how things " "generally operate in development." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1262 msgid "" "<command>pbuilder</command> is co-maintained with resources provided by " "Alioth. There is an Alioth project page at <ulink " "url=\"http://alioth.debian.org/projects/pbuilder\"> " "http://alioth.debian.org/projects/pbuilder</ulink>. Home page is also " "available, at <ulink url=\"http://pbuilder.alioth.debian.org/\"> " "http://alioth.debian.org/projects/pbuilder</ulink> which shows this text. " "git repository is available through http, git, or (if you have an account on " "alioth, ) ssh." msgstr "" #. type: Content of: <book><chapter><sect1><screen> #: pbuilder-doc.xml:1276 #, no-wrap msgid "" "git-clone git://git.debian.org/git/pbuilder/pbuilder.git\n" "git-clone http://git.debian.org/git/pbuilder/pbuilder.git\n" "git-clone ssh://git.debian.org/git/pbuilder/pbuilder.git" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1280 msgid "" "Git commit message should have the first one line describing what the commit " "does, formatted in the way debian/changelog is formatted because it is " "copied verbatim to changelog via git-dch. The second line is empty, and the " "rest should describe the background and extra information related to " "implementation of the commit." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1288 msgid "" "Test-suites are available in <filename>./testsuite/</filename> directory. " "Changes are expected not to break the test-suites. " "<filename>./run-test.sh</filename> is a basic test-suite, which puts a " "summary in <filename>run-test.log</filename>, and " "<filename>run-test-cdebootstrap.log</filename>. " "<filename>./run-test-regression.sh</filename> is a regression test-suite, " "which puts the result in <filename>run-test-regression.log</filename>. " "Currently, run-test.sh is ran automatically daily to ensure that pbuilder is " "working." msgstr "" #. type: Content of: <book><chapter><sect1><table><title> #: pbuilder-doc.xml:1297 msgid "Directory structure of the testsuite" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><thead><row><entry> #: pbuilder-doc.xml:1303 pbuilder-doc.xml:1526 pbuilder-doc.xml:1595 msgid "Directory" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><thead><row><entry> #: pbuilder-doc.xml:1304 pbuilder-doc.xml:1527 pbuilder-doc.xml:1596 msgid "Meaning" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1309 msgid "<filename>./testsuite/</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1310 msgid "Directory for testsuite" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1313 msgid "<filename>./testsuite/run-test.sh</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1314 msgid "" "Daily regression test to test against Debian Archive changes breaking " "pbuilder." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1317 msgid "<filename>./testsuite/run-test.log</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1318 msgid "A summary of testsuite" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1321 msgid "<filename>./testsuite/normal/</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1322 msgid "Directory for testsuite results of running pbuilder with debootstrap" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1325 msgid "<filename>./testsuite/cdebootstrap/</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1326 msgid "Directory for testsuite results of running pbuilder with cdebootstrap" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1329 msgid "<filename>./testsuite/run-regression.sh</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1330 msgid "" "Regression testsuite, ran every time change is made to pbuilder to make sure " "there is no regression." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1333 msgid "<filename>./testsuite/run-regression.log</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1334 msgid "Summary of test result" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1337 msgid "<filename>./testsuite/regression/BugID-*.sh</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1338 msgid "Regression tests, exit 0 for success, exit 1 for failure" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1341 msgid "<filename>./testsuite/regression/BugID-*</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1342 msgid "Files used for the regression testsuite." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1345 msgid "<filename>./testsuite/regression/log/BugID-*.sh.log</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1346 msgid "" "Output of the regression test, output from the script is redirected by " "run-regression.sh" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1352 msgid "" "When making changes, changes should be documented in the Git commit log. " "git-dch will generate debian/changelog from the commit log. Make the first " "line of your commit log meaningful, and add any bug-closing information " "available. debian/changelog should not be edited directly unless when " "releasing a new version." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1360 msgid "" "A TODO file is available in <filename>debian/TODO</filename>. It's mostly " "not well-maintained, but hopefully it will be more up-to-date when people " "start using it. emacs todoo-mode is used in editing the file." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1366 msgid "" "When releasing a new version of <command>pbuilder</command>, the version is " "tagged with the git tag X.XXX (version number). This is done with " "<command>./git-tag.sh</command> script available in the source tree." msgstr "" #. type: Content of: <book><chapter><title> #: pbuilder-doc.xml:1374 msgid "Other uses of pbuilder" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1376 msgid "Using pbuilder for small experiments" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1378 msgid "" "There are cases when some small experimenting is required, and you do not " "want to damage the main system, like when installing experimental library " "packages, or compiling with experimental compilers. For such cases, the " "<command>pbuilder login</command> command is available." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1385 msgid "" "<command>pbuilder login </command> is a debugging feature for " "<command>pbuilder</command> itself, but it also allows users to have a " "temporary chroot." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1389 msgid "" "Note that the chroot is cleaned after logging out of the shell, and mounting " "file systems inside it is considered harmful." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1394 msgid "Running little programs inside the chroot" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1396 msgid "" "To facilitate using <command>pbuilder</command> for other uses, " "<command>pbuilder execute</command> is available. <command>pbuilder execute " "</command> will take a script specified in the command-line argument, and " "invoke the script inside the chroot." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1403 msgid "" "The script can be useful for sequences of operations such as installing ssh " "and adding a new user inside the chroot." msgstr "" #. type: Content of: <book><chapter><title> #: pbuilder-doc.xml:1409 msgid "Experimental or wishlist features of pbuilder" msgstr "" #. type: Content of: <book><chapter><para> #: pbuilder-doc.xml:1411 msgid "" "There are some advanced features, above that of the basic feature of " "<command>pbuilder</command>, for some specific purposes." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1415 msgid "Using LVM" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1417 msgid "" "LVM2 has a useful snapshot function that features Copy-on-write images. " "That could be used for <command>pbuilder</command> just as it can be used " "for the user-mode-linux <command>pbuilder</command> port. lvmpbuilder " "script in the examples directory implements such port. The scripts and " "documentation can be found under " "<filename>/usr/share/doc/pbuilder/examples/lvmpbuilder/</filename>." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1426 msgid "Using cowdancer" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1428 msgid "" "<command>cowdancer</command> allows copy-on-write semantics on file system " "using hard links and hard-link-breaking-on-write tricks. " "<command>pbuilder</command> using <command>cowdancer</command> seems to be " "much faster and it is one ideal point for improvement. " "<command>cowbuilder</command>, a wrapper for <command>pbuilder</command> for " "using <command>cowdancer</command> is available from " "<command>cowdancer</command> package since 0.14" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1439 msgid "Example command-lines for cowbuilder look like the following." msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:1443 #, no-wrap msgid "" "# cowbuilder --create --distribution sid\n" "# cowbuilder --update --distribution sid\n" "# cowbuilder --build XXX.dsc" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1448 msgid "" "It is also possible to use cowdancer with pdebuild command. Specify with " "command-line option <option>--pbuilder</option> or set it in " "PDEBUILD_PBUILDER configuration option." msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:1454 #, no-wrap msgid "$ pdebuild --pbuilder cowbuilder" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1458 msgid "Using pbuilder without tar.gz" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1460 msgid "" "The <command><option>--no-targz</option></command> option of " "<command>pbuilder</command> will allow usage of <command>pbuilder</command> " "in a different way from conventional usage. It will try to use an existing " "chroot, and will not try to clean up after working on it. It is an " "operation mode more like <command>sbuild</command>." msgstr "" #. type: Content of: <book><chapter><sect1><para><screen> #: pbuilder-doc.xml:1474 #, no-wrap msgid "" "# pbuilder create --distribution lenny --no-targz --basetgz /chroot/lenny\n" "# pbuilder create --distribution squeeze --no-targz --basetgz " "/chroot/squeeze\n" "# pbuilder create --distribution sid --no-targz --basetgz /chroot/sid" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1471 msgid "" "It should be possible to create base chroot images for " "<command>dchroot</command> with the following commands: <placeholder " "type=\"screen\" id=\"0\"/>" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1480 msgid "Using pbuilder in a vserver" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1482 msgid "" "It is possible to use <command>pbuilder</command> in a vserver environment. " "This requires either vserver-patches in version 2.1.1-rc14 or higher, or a " "Linux kernel version 2.6.16 or higher." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1487 msgid "" "To use <command>pbuilder</command> in a vserver, you need to set the " "<command>secure_mount</command> <command>CAPS</command> in the " "<command>ccapabilities</command> of this vserver." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1493 msgid "Usage of ccache" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1495 msgid "" "It is possible to use C compiler cache <command>ccache</command> to speed up " "repeated builds of the same package (or packages that compile the same files " "multiple times for some reason). Using <command>ccache</command> can speed " "up repeated building of large packages dramatically, at the cost of some " "disk space and bookkeeping." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1503 msgid "" "To enable usage of <command>ccache</command> with " "<command>pbuilder</command>, you should set CCACHEDIR in your pbuilderrc " "file." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1508 msgid "" "Current implementation of ccache support has several bugs, that CCACHEDIR " "must be owned by the pbuilder build user, and parallel runs of pbuilder are " "not supported. Therefore it is not enabled by default." msgstr "" #. type: Content of: <book><chapter><title> #: pbuilder-doc.xml:1516 msgid "Reference materials" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1518 msgid "Directory structure outside the chroot" msgstr "" #. type: Content of: <book><chapter><sect1><table><title> #: pbuilder-doc.xml:1520 msgid "Directory Structure outside the chroot" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1532 msgid "<filename>/etc/pbuilderrc</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1533 msgid "configuration file" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1536 msgid "<filename>/usr/share/pbuilder/pbuilderrc</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1537 msgid "Default configuration" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1540 msgid "<filename>/var/cache/pbuilder/base.tgz</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1541 msgid "" "Default location pbuilder uses for base.tgz, the tar-ball containing a basic " "Debian installation with only the build-essential packages." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1546 msgid "<filename>/var/cache/pbuilder/build/PID/</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1547 msgid "Default location pbuilder uses for chroot" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1550 msgid "<filename>/var/cache/pbuilder/aptcache</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1551 msgid "" "Default location <command>pbuilder</command> will use as apt cache, to store " "deb packages required during <command>pbuilder</command> build." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1554 pbuilder-doc.xml:1638 msgid "<filename>/var/cache/pbuilder/ccache</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1555 msgid "Default location <command>pbuilder</command> will use as cache location" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1559 msgid "<filename>/var/cache/pbuilder/result</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1560 msgid "" "Default location <command>pbuilder</command> puts the deb files and other " "files created after build" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1563 msgid "<filename>/var/cache/pbuilder/pbuilder-umlresult</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1564 msgid "" "Default location <command>pbuilder-user-mode-linux</command> puts the deb " "files and other files created after build" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1567 msgid "<filename>/var/cache/pbuilder/pbuilder-mnt</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1568 msgid "" "Default location <command>pbuilder-user-mode-linux</command> uses for " "mounting the COW file system, for chrooting." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1571 msgid "<filename>/tmp</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1572 msgid "<command>pbuilder-user-mode-linux</command> will mount tmpfs for work." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1575 msgid "<filename>${HOME}/tmp/PID.cow</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1576 msgid "" "<command>pbuilder-user-mode-linux</command> use this directory for location " "of COW file system." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1579 msgid "<filename>${HOME}/uml-image</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1580 msgid "" "<command>pbuilder-user-mode-linux</command> use this directory for " "user-mode-linux full disk image." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1587 msgid "Directory structure inside the chroot" msgstr "" #. type: Content of: <book><chapter><sect1><table><title> #: pbuilder-doc.xml:1589 msgid "Directory Structure inside the chroot" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1601 msgid "<filename>/etc/mtab</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1603 msgid "symlink to <filename>/proc/mounts</filename>." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1607 msgid "<filename>/tmp/buildd</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1608 msgid "" "Default place used in <command>pbuilder</command> to place the Debian " "package to be processed. " "<filename>/tmp/buildd/packagename-version/</filename> will be the root " "directory of the package being processed. HOME environment variable is set " "to this value inside chroot by pbuilder-buildpackage. " "<option>--inputfile</option> will place files here." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1618 msgid "<filename>/runscript</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1619 msgid "" "The script passed as an argument to <command>pbuilder</command> execute is " "passed on." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1625 msgid "<filename>/tmp/hooks</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1627 msgid "The location of hooks." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1631 msgid "<filename>/var/cache/apt/archives</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1633 msgid "" "<command>pbuilder</command> copies the content of this directory to and from " "the aptcache directory of outside chroot." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1640 msgid "<command>pbuilder</command> bind-mounts this directory for use by ccache." msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1645 msgid "<filename>/tmp/XXXX</filename>" msgstr "" #. type: Content of: <book><chapter><sect1><table><tgroup><tbody><row><entry> #: pbuilder-doc.xml:1646 msgid "" "<command>pbuilder-user-mode-linux</command> uses a script in " "<filename>/tmp</filename> to bootstrap into user-mode-linux" msgstr "" #. type: Content of: <book><chapter><title> #: pbuilder-doc.xml:1656 msgid "Minor archaeological details" msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1658 msgid "Documentation history" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1660 msgid "" "This document was started on 28 Dec 2002 by Junichi Uekawa, trying to " "document what is known about <command>pbuilder</command>." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1665 msgid "" "This documentation is available from the <command>pbuilder</command> source " "tar-ball, and from the git repository of <command>pbuilder</command> " "(web-based access is possible). A copy of this documentation can be found " "on the <ulink " "url=\"http://pbuilder.alioth.debian.org/pbuilder-doc.html\">Alioth project " "page for pbuilder</ulink>. <ulink " "url=\"http://pbuilder.alioth.debian.org/pbuilder-doc.pdf\">There is also a " "PDF version</ulink>. The homepage for <command>pbuilder</command> is <ulink " "url=\"http://pbuilder.alioth.debian.org/\"> " "http://pbuilder.alioth.debian.org/ </ulink> hosted by alioth project." msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1676 msgid "" "Documentation is written using DocBook XML, with emacs PSGML mode, and using " "wysidocbookxml for live previewing." msgstr "" #. type: Content of: <book><chapter><sect1><title> #: pbuilder-doc.xml:1682 msgid "Possibly inaccurate Background History of pbuilder" msgstr "" #. type: Content of: <book><chapter><sect1><para> #: pbuilder-doc.xml:1684 msgid "" "The following is a most possibly inaccurate account of how " "<command>pbuilder</command> came to happen, and other attempts to make " "something like <command>pbuilder</command> happen. This part of the " "document was originally in the AUTHORS file, to give credit to those who " "existed before <command>pbuilder</command>." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><title> #: pbuilder-doc.xml:1691 msgid "The Time Before pbuilder" msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> #: pbuilder-doc.xml:1693 msgid "" "There was once dbuild, which was a shell script to build Debian packages " "from source. Lars Wirzenius wrote that script, and it was good, short, and " "simple (probably). There was nothing like build-depends then (I think), and " "it was simple. It could have been improved, I could only find references " "and no actual source." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> #: pbuilder-doc.xml:1700 msgid "" "debbuild was probably written by James Troup. I don't know it because I have " "never seen the actual code, I could only find some references to it on the " "net, and mailing list logs." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> #: pbuilder-doc.xml:1705 msgid "" "sbuild is a perl script to build Debian packages from source. It parses " "Build-Depends, and performs other miscellaneous checks, and has a lot of " "hacks to actually get things building, including a table of what package to " "use when virtual packages are specified (does it do that still?). It " "supports the use of a local database for packages which do not have " "build-dependencies. It was written by Ronan Hodek, and I think it was " "patched and fixed and extended by several people. It is part of wanna-build, " "and used extensively in the Debian buildd system. I think it was maintained " "mostly by Ryan Murray." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><title> #: pbuilder-doc.xml:1719 msgid "Birth of pbuilder" msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> #: pbuilder-doc.xml:1721 msgid "" "wanna-build (sbuild) was (at the time of year 2001) quite difficult to set " "up, and it was never a Debian package. dbuild was something that predated " "Build-Depends." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> #: pbuilder-doc.xml:1726 msgid "" "Building packages from source using Build-Depends information within a " "chroot sounded trivial; and <command>pbuilder</command> was born. It was " "initially a shell script with only a few lines, which called debootstrap and " "chroot and dpkg-buildpackage in the same run, but soon, it was decided that " "that's too slow." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> #: pbuilder-doc.xml:1734 msgid "" "Yes, and it took almost an year to get things somewhat right, and in the " "middle of the process, Debian 3.0 was released. Yay. Debian 3.0 wasn't " "completely buildable with <command>pbuilder</command>, but the amount of " "packages which are not buildable is steadily decreasing (I hope)." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><title> #: pbuilder-doc.xml:1743 msgid "And the second year of its life" msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> #: pbuilder-doc.xml:1745 msgid "" "Someone wanted <command>pbuilder</command> to not run as root, and as " "User-mode-linux has become more useful as time passed, I've started " "experimenting with <command>pbuilder-user-mode-linux</command>. " "<command>pbuilder-user-mode-linux</command> has not stayed functional as " "much as I would have liked, and bootstrapping " "<command>user-mode-linux</command> environment has been pretty hard, due to " "the quality of user-mode-linux code or packaging at that time, which kept on " "breaking network support in one way or the other." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><title> #: pbuilder-doc.xml:1758 msgid "Fifth year of pbuilder" msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> #: pbuilder-doc.xml:1760 msgid "" "<command>pbuilder</command> is now widely adopted as a 'almost standard' " "tool for testing packages, and building packages in a pristine environment. " "There are other similar tools that do similar tasks, but they do not share " "the exact same goal. To commemorate this fact, <command>pbuilder</command> " "is now co-maintained with several people." msgstr "" #. type: Content of: <book><chapter><sect1><sect2><para> #: pbuilder-doc.xml:1768 msgid "" "<command>sbuild</command> is now a well-maintained Debian package within " "Debian, and with <command>pbuilder</command> being such a slow monster, some " "people prefer the approach of sbuild. Development to use LVM-snapshots, " "cowloop, or cowdancer is hoped to improve the situation somewhat." msgstr ""