#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2018-12-08 14:45-0200\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Put one translator per line, in the form NAME , YEAR1, YEAR2 msgctxt "_" msgid "translator-credits" msgstr "" #. (itstool) path: info/title #: article.translate.xml:6 msgid "FreeBSD Release Engineering" msgstr "" #. (itstool) path: confgroup/confdates #: article.translate.xml:9 msgid "November 2001" msgstr "" #. (itstool) path: confgroup/conftitle #: article.translate.xml:10 msgid "BSDCon Europe" msgstr "" #. (itstool) path: personblurb/para #: article.translate.xml:20 msgid "" "I've been involved in the development of FreeBSD based products since 1997 " "at Walnut Creek CDROM, BSDi, and now Wind River Systems. FreeBSD 4.4 was the " "first official release of FreeBSD that I played a significant part in." msgstr "" #. (itstool) path: affiliation/address #: article.translate.xml:27 #, no-wrap msgid "" "\n" " murray@FreeBSD.org\n" " https://" "people.FreeBSD.org/~murray/\n" " " msgstr "" #. (itstool) path: authorgroup/author #: article.translate.xml:14 msgid "" " Murray Stokely <_:personblurb-1/> <_:address-2/> " msgstr "" #. (itstool) path: legalnotice/para #: article.translate.xml:36 msgid "FreeBSD is a registered trademark of the FreeBSD Foundation." msgstr "" #. (itstool) path: legalnotice/para #: article.translate.xml:38 msgid "" "Intel, Celeron, Centrino, Core, EtherExpress, i386, i486, Itanium, Pentium, " "and Xeon are trademarks or registered trademarks of Intel Corporation or its " "subsidiaries in the United States and other countries." msgstr "" #. (itstool) path: legalnotice/para #: article.translate.xml:42 msgid "" "Many of the designations used by manufacturers and sellers to distinguish " "their products are claimed as trademarks. Where those designations appear in " "this document, and the FreeBSD Project was aware of the trademark claim, the " "designations have been followed by the or the ® symbol." msgstr "" #. (itstool) path: info/pubdate #: article.translate.xml:50 msgid "" "$FreeBSD: head/en_US.ISO8859-1/articles/releng/article.xml 51824 2018-06-12 " "18:54:46Z bcr $" msgstr "" #. (itstool) path: note/para #: article.translate.xml:55 msgid "" "This document is outdated and does not accurately describe the current " "release procedures of the FreeBSD Release Engineering team. It is retained " "for historical purposes. The current procedures used by the FreeBSD Release " "Engineering team are available in the FreeBSD Release " "Engineering article." msgstr "" #. (itstool) path: abstract/para #: article.translate.xml:62 msgid "" "This paper describes the approach used by the FreeBSD release engineering " "team to make production quality releases of the FreeBSD Operating System. It " "details the methodology used for the official FreeBSD releases and describes " "the tools available for those interested in producing customized FreeBSD " "releases for corporate rollouts or commercial productization." msgstr "" #. (itstool) path: sect1/title #: article.translate.xml:74 msgid "Introduction" msgstr "" #. (itstool) path: footnote/simpara #: article.translate.xml:79 msgid "" "Subversion, http://" "subversion.apache.org" msgstr "" #. (itstool) path: footnote/simpara #: article.translate.xml:92 msgid "" "FreeBSD committers" msgstr "" #. (itstool) path: footnote/simpara #: article.translate.xml:100 msgid "" "FreeBSD " "Core Team" msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:76 msgid "" "The development of FreeBSD is a very open process. FreeBSD is comprised of " "contributions from thousands of people around the world. The FreeBSD Project " "provides Subversion <_:footnote-1/> access to the general public so that " "others can have access to log messages, diffs (patches) between development " "branches, and other productivity enhancements that formal source code " "management provides. This has been a huge help in attracting more talented " "developers to FreeBSD. However, I think everyone would agree that chaos " "would soon manifest if write access to the main repository was opened up to " "everyone on the Internet. Therefore only a select group of " "nearly 300 people are given write access to the Subversion repository. These " "committers <_:footnote-2/" "> are usually the people who do the bulk of FreeBSD development. An elected " "Core Team <_:footnote-3/> of developers provide some level of direction over the " "project." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:106 msgid "" "The rapid pace of FreeBSD development makes the " "main development branch unsuitable for the everyday use by the general " "public. In particular, stabilizing efforts are required for polishing the " "development system into a production quality release. To solve this " "conflict, development continues on several parallel tracks. The main " "development branch is the HEAD or trunk of our Subversion tree, known as FreeBSD-CURRENT or " "-CURRENT for short." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:117 msgid "" "A set of more stable branches are maintained, known as FreeBSD-" "STABLE or -STABLE for short. All branches live in a " "master Subversion repository maintained by the FreeBSD Project. FreeBSD-" "CURRENT is the bleeding-edge of FreeBSD development where all " "new changes first enter the system. FreeBSD-STABLE is the development branch " "from which major releases are made. Changes go into this branch at a " "different pace, and with the general assumption that they have first gone " "into FreeBSD-CURRENT and have been thoroughly tested by our user community." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:128 msgid "" "The term stable in the name of the branch refers to the " "presumed Application Binary Interface stability, which is promised by the " "project. This means that a user application compiled on an older version of " "the system from the same branch works on a newer system from the same branch." " The ABI stability has improved greatly from the compared to previous " "releases. In most cases, binaries from the older STABLE " "systems run unmodified on newer systems, including HEAD, assuming that the system management interfaces are not used." msgstr "" #. (itstool) path: quote/buildtarget #: article.translate.xml:147 msgid "buildworld" msgstr "" #. (itstool) path: footnote/simpara #: article.translate.xml:148 msgid "" "Rebuilding \"world\"" msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:140 msgid "" "In the interim period between releases, weekly snapshots are built " "automatically by the FreeBSD Project build machines and made available for " "download from ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots/. The widespread availability of binary release snapshots, and " "the tendency of our user community to keep up with -STABLE development with " "Subversion and make <_:buildtarget-1/> <_:" "footnote-2/> helps to keep FreeBSD-STABLE in a very reliable condition even " "before the quality assurance activities ramp up pending a major release." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:154 msgid "" "In addition to installation ISO snapshots, weekly virtual machine images are " "also provided for use with VirtualBox, " "qemu, or other popular emulation software. The " "virtual machine images can be downloaded from ftp://ftp.FreeBSD." "org/pub/FreeBSD/snapshots/VM-IMAGES/." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:161 msgid "" "The virtual machine images are approximately 150MB " "xz1 compressed, and contain a 10GB sparse filesystem when attached " "to a virtual machine." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:165 msgid "" "Bug reports and feature requests are continuously submitted by users " "throughout the release cycle. Problems reports are entered into our " "Bugzilla database through the web interface " "provided at https://www.freebsd.org/support/bugreports.html." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:171 msgid "" "To service our most conservative users, individual release branches were " "introduced with FreeBSD 4.3. These release branches are created shortly " "before a final release is made. After the release goes out, only the most " "critical security fixes and additions are merged onto the release branch. In " "addition to source updates via Subversion, binary patchkits are available to " "keep systems on the releng/X." "Y branches updated." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:182 msgid "What This Article Describes" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:184 msgid "The following sections of this article describe:" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:191 msgid "" "The different phases of the release engineering process leading up to the " "actual system build." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:200 msgid "The actual build process." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:208 msgid "How the base release may be extended by third parties." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:217 msgid "Some of the lessons learned through the release of FreeBSD 4.4." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:226 msgid "Future directions of development." msgstr "" #. (itstool) path: sect1/title #: article.translate.xml:235 msgid "Release Process" msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:237 msgid "" "New releases of FreeBSD are released from the -STABLE branch at " "approximately four month intervals. The FreeBSD release process begins to " "ramp up 70-80 days before the anticipated release date when the release " "engineer sends an email to the development mailing lists to remind " "developers that they only have 15 days to integrate new changes before the " "code freeze. During this time, many developers perform what have become " "known as MFC sweeps." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:246 msgid "" "MFC stands for Merge From CURRENT and it " "describes the process of merging a tested change from our -CURRENT " "development branch to our -STABLE branch. Project policy requires any change " "to be first applied to trunk, and merged to the -STABLE branches after " "sufficient external testing was done by -CURRENT users (developers are " "expected to extensively test the change before committing to -CURRENT, but " "it is impossible for a person to exercise all usages of the general-purpose " "operating system). Minimal MFC period is 3 days, which is typically used " "only for trivial or critical bugfixes." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:259 msgid "Code Review" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:261 msgid "" "Sixty days before the anticipated release, the source repository enters a " "code freeze. During this time, all commits to the -STABLE " "branch must be approved by Release Engineering Team re@FreeBSD.org. The approval process is technically enforced by a pre-commit hook. " "The kinds of changes that are allowed during this period include:" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:270 msgid "Bug fixes." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:274 msgid "Documentation updates." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:278 msgid "Security-related fixes of any kind." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:282 msgid "Minor changes to device drivers, such as adding new Device IDs." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:287 msgid "Driver updates from the vendors." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:291 msgid "" "Any additional change that the release engineering team feels is justified, " "given the potential risk." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:297 msgid "" "Shortly after the code freeze is started, a BETA1 image " "is built and released for widespread testing. During the code freeze, at " "least one beta image or release candidate is released every two weeks until " "the final release is ready. During the days preceding the final release, the " "release engineering team is in constant communication with the security-" "officer team, the documentation maintainers, and the port maintainers to " "ensure that all of the different components required for a successful " "release are available." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:308 msgid "" "After the quality of the BETA images is satisfying enough, and no large and " "potentially risky changes are planned, the release branch is created and " "Release Candidate (RC) images are built from the " "release branch, instead of the BETA images from the STABLE branch. Also, the " "freeze on the STABLE branch is lifted and release branch enters a " "hard code freeze where it becomes much harder to justify new " "changes to the system unless a serious bug-fix or security issue is involved." "" msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:321 msgid "Final Release Checklist" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:323 msgid "" "When several BETA images have been made available for widespread testing and " "all major issues have been resolved, the final release polishing can begin." msgstr "" #. (itstool) path: sect3/title #: article.translate.xml:328 msgid "Creating the Release Branch" msgstr "" #. (itstool) path: note/para #: article.translate.xml:331 msgid "" "In all examples below, $FSVN refers to the location of " "the FreeBSD Subversion repository, svn+ssh://svn.FreeBSD.org/base/." msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:337 msgid "" "The layout of FreeBSD branches in Subversion is described in the Committer's Guide. The first step in creating a branch is to identify the revision of " "the stable/X sources that you " "want to branch from." msgstr "" #. (itstool) path: sect3/screen #: article.translate.xml:345 #, no-wrap msgid "# svn log -v $FSVN/stable/9" msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:347 msgid "The next step is to create the release branch" msgstr "" #. (itstool) path: sect3/screen #: article.translate.xml:350 #, no-wrap msgid "" "# svn cp $FSVN/stable/9@REVISION $FSVN/releng/9." "2" msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:352 msgid "This branch can be checked out:" msgstr "" #. (itstool) path: sect3/screen #: article.translate.xml:354 #, no-wrap msgid "# svn co $FSVN/releng/9.2 src" msgstr "" #. (itstool) path: note/para #: article.translate.xml:357 msgid "" "Creating the releng branch and release " "tags is done by the Release Engineering Team." msgstr "" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: article.translate.xml:364 msgctxt "_" msgid "external ref='branches-head' md5='__failed__'" msgstr "" #. (itstool) path: sect3/mediaobject #: article.translate.xml:362 msgid "" " FreeBSD Development Branch " msgstr "" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: article.translate.xml:374 msgctxt "_" msgid "external ref='branches-releng3' md5='__failed__'" msgstr "" #. (itstool) path: sect3/mediaobject #: article.translate.xml:372 msgid "" " FreeBSD 3.x STABLE Branch " msgstr "" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: article.translate.xml:384 msgctxt "_" msgid "external ref='branches-releng4' md5='__failed__'" msgstr "" #. (itstool) path: sect3/mediaobject #: article.translate.xml:382 msgid "" " FreeBSD 4.x STABLE Branch " msgstr "" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: article.translate.xml:394 msgctxt "_" msgid "external ref='branches-releng5' md5='__failed__'" msgstr "" #. (itstool) path: sect3/mediaobject #: article.translate.xml:392 msgid "" " FreeBSD 5.x STABLE Branch " msgstr "" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: article.translate.xml:404 msgctxt "_" msgid "external ref='branches-releng6' md5='__failed__'" msgstr "" #. (itstool) path: sect3/mediaobject #: article.translate.xml:402 msgid "" " FreeBSD 6.x STABLE Branch " msgstr "" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: article.translate.xml:414 msgctxt "_" msgid "external ref='branches-releng7' md5='__failed__'" msgstr "" #. (itstool) path: sect3/mediaobject #: article.translate.xml:412 msgid "" " FreeBSD 7.x STABLE Branch " msgstr "" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: article.translate.xml:424 msgctxt "_" msgid "external ref='branches-releng8' md5='__failed__'" msgstr "" #. (itstool) path: sect3/mediaobject #: article.translate.xml:422 msgid "" " FreeBSD 8.x STABLE Branch " msgstr "" #. (itstool) path: imageobject/imagedata #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to #. update your localized copy. The msgstr is not used at all. Set it to #. whatever you like once you have updated your copy of the file. #: article.translate.xml:434 msgctxt "_" msgid "external ref='branches-releng9' md5='__failed__'" msgstr "" #. (itstool) path: sect3/mediaobject #: article.translate.xml:432 msgid "" " FreeBSD 9.x STABLE Branch " msgstr "" #. (itstool) path: sect3/title #: article.translate.xml:444 msgid "Bumping up the Version Number" msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:446 msgid "" "Before the final release can be tagged, built, and released, the following " "files need to be modified to reflect the correct version of FreeBSD:" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:452 msgid "" "doc/en_US.ISO8859-1/books/handbook/mirrors/chapter.xml" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:456 msgid "" "doc/en_US.ISO8859-1/books/porters-handbook/book.xml" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:460 msgid "doc/en_US.ISO8859-1/htdocs/cgi/ports.cgi" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:464 msgid "ports/Tools/scripts/release/config" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:468 msgid "doc/share/xml/freebsd.ent" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:472 msgid "src/Makefile.inc1" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:476 msgid "src/UPDATING" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:480 msgid "src/gnu/usr.bin/groff/tmac/mdoc.local" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:484 msgid "src/release/Makefile" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:488 msgid "" "src/release/doc/en_US.ISO8859-1/share/xml/release.dsl" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:492 msgid "" "src/release/doc/share/examples/Makefile.relnotesng" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:496 msgid "src/release/doc/share/xml/release.ent" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:500 msgid "src/sys/conf/newvers.sh" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:504 msgid "src/sys/sys/param.h" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:508 msgid "src/usr.sbin/pkg_install/add/main.c" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:512 msgid "" "doc/en_US.ISO8859-1/htdocs/search/opensearch/man.xml" msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:516 msgid "" "The release notes and errata files also need to be adjusted for the new " "release (on the release branch) and truncated appropriately (on the stable/" "current branch):" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:522 msgid "" "src/release/doc/en_US.ISO8859-1/relnotes/common/new.xml" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:526 msgid "" "src/release/doc/en_US.ISO8859-1/errata/article.xml" msgstr "" #. (itstool) path: footnote/simpara #: article.translate.xml:534 msgid "" "FreeBSD Ports Collection https://www.FreeBSD.org/ports" msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:530 msgid "" "Sysinstall should be updated to note the number " "of available ports and the amount of disk space required for the Ports " "Collection. <_:footnote-1/> This information is currently kept in " "src/usr.sbin/bsdinstall/dist.c." msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:540 msgid "" "After the release has been built, a number of files should be updated to " "announce the release to the world. These files are relative to head/" " within the doc/ subversion tree." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:547 msgid "" "share/images/articles/releng/branches-relengX.pic" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:551 msgid "head/share/xml/release.ent" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:555 msgid "en_US.ISO8859-1/htdocs/releases/*" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:559 msgid "en_US.ISO8859-1/htdocs/releng/index.xml" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:563 msgid "share/xml/news.xml" msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:567 msgid "Additionally, update the BSD Family Tree file:" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:572 msgid "src/share/misc/bsd-family-tree" msgstr "" #. (itstool) path: sect3/title #: article.translate.xml:578 msgid "Creating the Release Tag" msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:580 msgid "" "When the final release is ready, the following command will create the " "release/9.2.0 tag." msgstr "" #. (itstool) path: sect3/screen #: article.translate.xml:583 #, no-wrap msgid "" "# svn cp $FSVN/releng/9.2 $FSVN/release/9.2.0" msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:585 msgid "" "The Documentation and Ports managers are responsible for tagging their " "respective trees with the tags/RELEASE_9_2_0 tag." msgstr "" #. (itstool) path: sidebar/para #: article.translate.xml:590 msgid "" "When the Subversion svn cp command is used to create a " "release tag, this identifies the source at a specific " "point in time. By creating tags, we ensure that future release builders will " "always be able to use the exact same source we used to create the official " "FreeBSD Project releases." msgstr "" #. (itstool) path: sect1/title #: article.translate.xml:603 msgid "Release Building" msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:605 msgid "" "FreeBSD releases can be built by anyone with a fast machine " "and access to a source repository. (That should be everyone, since we offer " "Subversion access! See the Subversion section in the Handbook for details.) The only special requirement is " "that the md4 device must be available. If the device is not " "loaded into your kernel, then the kernel module should be automatically " "loaded when mdconfig8 is executed during the " "boot media creation phase. All of the tools necessary to build a release are " "available from the Subversion repository in src/release." " These tools aim to provide a consistent way to build FreeBSD releases. A " "complete release can actually be built with only a single command, including " "the creation of ISO images suitable for burning to CDROM " "or DVD, and an FTP install directory. release7 fully documents the " "src/release/generate-release.sh script which is used to " "build a release. generate-release.sh is a wrapper around " "the Makefile target: make release." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:626 msgid "Building a Release" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:628 msgid "" "release7 documents the exact commands required to build a " "FreeBSD release. The following sequences of commands can build an 9.2.0 " "release:" msgstr "" #. (itstool) path: sect2/screen #: article.translate.xml:632 #, no-wrap msgid "" "# cd /usr/src/release\n" "# sh generate-release.sh release/9.2.0 /local3/" "release" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:635 msgid "" "After running these commands, all prepared release files are available in " "/local3/release/R directory." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:639 msgid "" "The release Makefile can be broken down into several " "distinct steps." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:644 msgid "" "Creation of a sanitized system environment in a separate directory hierarchy " "with make installworld." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:650 msgid "" "Checkout from Subversion of a clean version of the system source, " "documentation, and ports into the release build hierarchy." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:656 msgid "" "Population of /etc and /dev in the " "chrooted environment." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:662 msgid "" "chroot into the release build hierarchy, to make it harder for the outside " "environment to taint this build." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:668 msgid "make world in the chrooted environment." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:673 msgid "Build of Kerberos-related binaries." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:677 msgid "Build GENERIC kernel." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:681 msgid "" "Creation of a staging directory tree where the binary distributions will be " "built and packaged." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:686 msgid "" "Build and installation of the documentation toolchain needed to convert the " "documentation source (SGML) into HTML and text documents that will accompany " "the release." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:692 msgid "" "Build and installation of the actual documentation (user manuals, tutorials, " "release notes, hardware compatibility lists, and so on.)" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:698 msgid "Package up distribution tarballs of the binaries and sources." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:703 msgid "Create FTP installation hierarchy." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:707 msgid "" "(optionally) Create ISO images for CDROM/DVD media." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:712 msgid "" "For more information about the release build infrastructure, please see " "release7." msgstr "" #. (itstool) path: note/para #: article.translate.xml:716 msgid "" "It is important to remove any site-specific settings from /etc/" "make.conf. For example, it would be unwise to distribute binaries " "that were built on a system with CPUTYPE set to a " "specific processor." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:725 msgid "Contributed Software (ports)" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:727 msgid "" "The FreeBSD Ports " "collection is a collection of over 24,000 third-party software " "packages available for FreeBSD. The Ports Management Team " "portmgr@FreeBSD.org is responsible for maintaining a " "consistent ports tree that can be used to create the binary packages that " "accompany official FreeBSD releases." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:736 msgid "Release ISOs" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:738 msgid "" "Starting with FreeBSD 4.4, the FreeBSD Project decided to release all four " "ISO images that were previously sold on the BSDi/Wind River " "Systems/FreeBSD Mall official CDROM distributions. " "Each of the four discs must contain a README.TXT file " "that explains the contents of the disc, a CDROM.INF " "file that provides meta-data for the disc so that " "bsdinstall8 can validate and use the contents, and a " "filename.txt file that provides a manifest for the disc." " This manifest can be created with a simple command:" msgstr "" #. (itstool) path: sect2/screen #: article.translate.xml:751 #, no-wrap msgid "" "/stage/cdrom# find . -type f | sed -e 's/^\\.\\//" "/' | sort > filename.txt" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:753 msgid "The specific requirements of each CD are outlined below." msgstr "" #. (itstool) path: sect3/title #: article.translate.xml:757 msgid "Disc 1" msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:759 msgid "" "The first disc is almost completely created by make release. The only changes that should be made to the disc1 directory are the addition of a tools " "directory, and as many popular third party software packages as will fit on " "the disc. The tools directory contains software that " "allow users to create installation floppies from other operating systems. " "This disc should be made bootable so that users of modern PCs do not need to " "create installation floppy disks." msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:770 msgid "" "If a custom kernel of FreeBSD is to be included, then " "bsdinstall8 and release7 must be updated to " "include installation instructions. The relevant code is contained in " "src/release and src/usr.sbin/bsdinstall. Specifically, the file src/release/Makefile, " "and dist.c, dist.h, " "menus.c, install.c, and " "Makefile will need to be updated under src/" "usr.sbin/bsdinstall. Optionally, you may choose to update " "bsdinstall.8." msgstr "" #. (itstool) path: sect3/title #: article.translate.xml:785 msgid "Disc 2" msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:787 msgid "" "The second disc is also largely created by make release. " "This disc contains a live filesystem that can be used from " "bsdinstall8 to troubleshoot a FreeBSD installation. This disc " "should be bootable and should also contain a compressed copy of the CVS " "repository in the CVSROOT directory and commercial " "software demos in the commerce directory." msgstr "" #. (itstool) path: sect3/title #: article.translate.xml:798 msgid "Multi-volume Support" msgstr "" #. (itstool) path: sect3/para #: article.translate.xml:800 msgid "" "Sysinstall supports multiple volume package " "installations. This requires that each disc have an INDEX file containing all of the packages on all volumes of a set, along " "with an extra field that indicates which volume that particular package is " "on. Each volume in the set must also have the CD_VOLUME " "variable set in the cdrom.inf file so that bsdinstall " "can tell which volume is which. When a user attempts to install a package " "that is not on the current disc, bsdinstall will prompt the user to insert " "the appropriate one." msgstr "" #. (itstool) path: sect1/title #: article.translate.xml:817 msgid "Distribution" msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:820 msgid "FTP Sites" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:822 msgid "" "When the release has been thoroughly tested and packaged for distribution, " "the master FTP site must be updated. The official FreeBSD public FTP sites " "are all mirrors of a master server that is open only to other FTP sites. " "This site is known as ftp-master. When the release " "is ready, the following files must be modified on ftp-master:" msgstr "" #. (itstool) path: varlistentry/term #: article.translate.xml:832 msgid "" "/pub/FreeBSD/releases/arch/" "X.Y-RELEASE/" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:834 msgid "" "The installable FTP directory as output from make release." "" msgstr "" #. (itstool) path: varlistentry/term #: article.translate.xml:840 msgid "" "/pub/FreeBSD/ports/arch/packages-" "X.Y-release/" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:842 msgid "The complete package build for this release." msgstr "" #. (itstool) path: varlistentry/term #: article.translate.xml:848 msgid "" "/pub/FreeBSD/releases/arch/" "X.Y-RELEASE/tools" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:850 msgid "A symlink to ../../../tools." msgstr "" #. (itstool) path: varlistentry/term #: article.translate.xml:856 msgid "" "/pub/FreeBSD/releases/arch/" "X.Y-RELEASE/packages" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:858 msgid "" "A symlink to ../../../ports/arch/" "packages-X.Y-release." msgstr "" #. (itstool) path: varlistentry/term #: article.translate.xml:864 msgid "" "/pub/FreeBSD/releases/arch/ISO-IMAGES/" "X.Y/X.Y-RELEASE-" "arch-*.iso" msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:866 msgid "" "The ISO images. The * is disc1, " "disc2, etc. Only if there is a disc1 and there is an alternative first installation CD (for example a " "stripped-down install with no windowing system) there may be a " "mini as well." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:876 msgid "" "For more information about the distribution mirror architecture of the " "FreeBSD FTP sites, please see the Mirroring FreeBSD article." msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:880 msgid "" "It may take many hours to two days after updating ftp-master before a majority of the Tier-1 FTP sites have the new software " "depending on whether or not a package set got loaded at the same time. It is " "imperative that the release engineers coordinate with the FreeBSD mirror " "site administrators before announcing the general availability of new " "software on the FTP sites. Ideally the release package set should be loaded " "at least four days prior to release day. The release bits should be loaded " "between 24 and 48 hours before the planned release time with other file permissions turned off. This will allow the mirror sites to " "download it but the general public will not be able to download it from the " "mirror sites. Mail should be sent to FreeBSD mirror site administrators at the time the release bits get posted saying the release has been " "staged and giving the time that the mirror sites should begin allowing " "access. Be sure to include a time zone with the time, for example make it " "relative to GMT." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:901 msgid "CD-ROM Replication" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:903 msgid "" "Coming soon: Tips for sending FreeBSD ISOs to a replicator and quality " "assurance measures to be taken." msgstr "" #. (itstool) path: sect1/title #: article.translate.xml:911 msgid "Extensibility" msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:913 msgid "" "Although FreeBSD forms a complete operating system, there is nothing that " "forces you to use the system exactly as we have packaged it up for " "distribution. We have tried to design the system to be as extensible as " "possible so that it can serve as a platform that other commercial products " "can be built on top of. The only rule we have about this is " "that if you are going to distribute FreeBSD with non-trivial changes, we " "encourage you to document your enhancements! The FreeBSD community can only " "help support users of the software we provide. We certainly encourage " "innovation in the form of advanced installation and administration tools, " "for example, but we cannot be expected to answer questions about it." msgstr "" #. (itstool) path: sect2/title #: article.translate.xml:927 msgid "Scripting bsdinstall" msgstr "" #. (itstool) path: footnote/simpara #: article.translate.xml:934 msgid "" "@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/" "network-pxe-nfs.html" msgstr "" #. (itstool) path: sect2/para #: article.translate.xml:929 msgid "" "The FreeBSD system installation and configuration tool, " "bsdinstall8, can be scripted to provide automated installs for " "large sites. This functionality can be used in conjunction with Intel PXE <_:footnote-1/> to bootstrap " "systems from the network." msgstr "" #. (itstool) path: sect1/title #: article.translate.xml:943 msgid "Lessons Learned from FreeBSD 4.4" msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:945 msgid "" "The release engineering process for 4.4 formally began on August 1st, 2001. " "After that date all commits to the RELENG_4 branch of " "FreeBSD had to be explicitly approved by the Release Engineering Team " "re@FreeBSD.org. The first release candidate for the x86 " "architecture was released on August 16, followed by 4 more release " "candidates leading up to the final release on September 18th. The security " "officer was very involved in the last week of the process as several " "security issues were found in the earlier release candidates. A total of " "over 500 emails were sent to the Release Engineering " "Team re@FreeBSD.org in little over a month." msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:956 msgid "" "Our user community has made it very clear that the security and stability of " "a FreeBSD release should not be sacrificed for any self-imposed deadlines or " "target release dates. The FreeBSD Project has grown tremendously over its " "lifetime and the need for standardized release engineering procedures has " "never been more apparent. This will become even more important as FreeBSD is " "ported to new platforms." msgstr "" #. (itstool) path: sect1/title #: article.translate.xml:967 msgid "Future Directions" msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:969 msgid "" "It is imperative for our release engineering activities to scale with our " "growing userbase. Along these lines we are working very hard to document the " "procedures involved in producing FreeBSD releases." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:976 msgid "" "Parallelism - Certain portions of the release build are " "actually embarrassingly parallel. Most of the tasks are very " "I/O intensive, so having multiple high-speed disk drives is actually more " "important than using multiple processors in speeding up the make " "release process. If multiple disks are used for different " "hierarchies in the chroot2 environment, then the " "CVS checkout of the ports and doc " "trees can be happening simultaneously as the make world " "on another disk. Using a RAID solution (hardware or " "software) can significantly decrease the overall build time." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:992 msgid "" "Cross-building releases - Building IA-64 or Alpha " "release on x86 hardware? make TARGET=ia64 release." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:998 msgid "" "Regression Testing - We need better automated " "correctness testing for FreeBSD." msgstr "" #. (itstool) path: listitem/para #: article.translate.xml:1003 msgid "" "Installation Tools - Our installation program has long " "since outlived its intended life span. Several projects are under " "development to provide a more advanced installation mechanism. The libh " "project was one such project that aimed to provide an intelligent new " "package framework and GUI installation program." msgstr "" #. (itstool) path: sect1/title #: article.translate.xml:1016 msgid "Acknowledgements" msgstr "" #. (itstool) path: footnote/simpara #: article.translate.xml:1031 msgid "" "Marshall Kirk McKusick, Michael J. Karels, and Keith Bostic: The " "Release Engineering of 4.3BSD" msgstr "" #. (itstool) path: footnote/simpara #: article.translate.xml:1040 msgid "" "NetBSD Developer Documentation: Release Engineering http://www.NetBSD.org/" "developers/releng/index.html" msgstr "" #. (itstool) path: footnote/simpara #: article.translate.xml:1046 msgid "" "John Baldwin's FreeBSD Release Engineering Proposal https://people.FreeBSD.org/~jhb/" "docs/releng.txt" msgstr "" #. (itstool) path: sect1/para #: article.translate.xml:1018 msgid "" "I would like to thank Jordan Hubbard for giving me the opportunity to take " "on some of the release engineering responsibilities for FreeBSD 4.4 and also " "for all of his work throughout the years making FreeBSD what it is today. Of " "course the release would not have been possible without all of the release-" "related work done by Satoshi Asami asami@FreeBSD.org, Steve " "Price steve@FreeBSD.org, Bruce A. Mah bmah@FreeBSD." "org, Nik Clayton nik@FreeBSD.org, David O'Brien " "obrien@FreeBSD.org, Kris Kennaway kris@FreeBSD.org, John Baldwin jhb@FreeBSD.org and the rest of the " "FreeBSD development community. I would also like to thank Rodney Grimes " "rgrimes@FreeBSD.org, Poul-Henning Kamp phk@FreeBSD." "org, and others who worked on the release engineering tools in the " "very early days of FreeBSD. This article was influenced by release " "engineering documents from the CSRG <_:footnote-1/> , the NetBSD Project, <_:" "footnote-2/> , and John Baldwin's proposed release engineering process notes." " <_:footnote-3/>" msgstr ""