diff options
Diffstat (limited to 'documentation/content/en/articles/freebsd-update-server')
-rw-r--r-- | documentation/content/en/articles/freebsd-update-server/_index.adoc | 20 | ||||
-rw-r--r-- | documentation/content/en/articles/freebsd-update-server/_index.po | 1039 |
2 files changed, 1054 insertions, 5 deletions
diff --git a/documentation/content/en/articles/freebsd-update-server/_index.adoc b/documentation/content/en/articles/freebsd-update-server/_index.adoc index caaf17a3d7..78f44784c8 100644 --- a/documentation/content/en/articles/freebsd-update-server/_index.adoc +++ b/documentation/content/en/articles/freebsd-update-server/_index.adoc @@ -40,11 +40,21 @@ ifndef::env-beastie[] include::../../../../../shared/asciidoctor.adoc[] endif::[] + +[WARNING] +==== +The instructions in this article refer to an older version of FreeBSD and may +not work properly on recent versions of the OS. With the availability of +pkgbase, the freebsd-update utility is scheduled to be removed from FreeBSD in +the future. When that happens, this article is either updated to reflect the +new procedures or removed entirely. +==== + [.abstract-title] Abstract This article describes building an internal FreeBSD Update Server. -The https://svnweb.freebsd.org/base/user/cperciva/freebsd-update-build/[freebsd-update-server] is written by `{cperciva}`, Security Officer Emeritus of FreeBSD. +The https://github.com/freebsd/freebsd-update-build/[freebsd-update-server] is written by `{cperciva}`, Security Officer Emeritus of FreeBSD. For users that think it is convenient to update their systems against an official update server, building their own FreeBSD Update Server may help to extend its functionality by supporting manually-tweaked FreeBSD releases or by providing a local mirror that will allow faster updates for a number of machines. ''' @@ -84,11 +94,11 @@ At a minimum, updates require building on a FreeBSD release greater than or equa [[Configuration]] == Configuration: Installation & Setup -Download the https://svnweb.freebsd.org/base/user/cperciva/freebsd-update-build/[freebsd-update-server] software by installing package:devel/subversion[] and package:security/ca_root_nss[], and execute: +Download the https://github.com/freebsd/freebsd-update-build/[freebsd-update-server] software by installing package:devel/git[] and package:security/ca_root_nss[], and execute: [source,shell] .... -% svn co https://svn.freebsd.org/base/user/cperciva/freebsd-update-build freebsd-update-server +% git clone https://github.com/freebsd/freebsd-update-build.git freebsd-update-server .... Update [.filename]#scripts/build.conf# appropriately. @@ -271,7 +281,7 @@ A more detailed explanation may be found in [.filename]#scripts/build.subr#. [WARNING] ==== During this second build cycle, the network time protocol daemon, man:ntpd[8], is turned off. -Per `{cperciva}`, Security Officer Emeritus of FreeBSD, "the https://svnweb.freebsd.org/base/user/cperciva/freebsd-update-build/[freebsd-update-server] build code needs to identify timestamps which are stored in files so that they can be ignored when comparing builds to determine which files need to be updated. +Per `{cperciva}`, Security Officer Emeritus of FreeBSD, "the https://github.com/freebsd/freebsd-update-build/[freebsd-update-server] build code needs to identify timestamps which are stored in files so that they can be ignored when comparing builds to determine which files need to be updated. This timestamp-finding works by doing two builds 400 days apart and comparing the results." ==== @@ -602,7 +612,7 @@ For reference, the entire run of link:../../source/articles/freebsd-update-serve findextradocs () { } # Add extra docs to ${WORKDIR}/$1 -addextradocs () { +addextradocs () { } .... diff --git a/documentation/content/en/articles/freebsd-update-server/_index.po b/documentation/content/en/articles/freebsd-update-server/_index.po new file mode 100644 index 0000000000..5424e29877 --- /dev/null +++ b/documentation/content/en/articles/freebsd-update-server/_index.po @@ -0,0 +1,1039 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2024-01-17 20:35-0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: YAML Front Matter: description +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:1 +#, no-wrap +msgid "Building your own freebsd-update server allows a system administrator to perform fast updates for a number of machines from a local mirror" +msgstr "" + +#. type: Title = +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:1 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:12 +#, no-wrap +msgid "Build Your Own FreeBSD Update Server" +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:51 +msgid "" +"The instructions in this article refer to an older version of FreeBSD and " +"may not work properly on recent versions of the OS. With the availability of " +"pkgbase, the freebsd-update utility is scheduled to be removed from FreeBSD " +"in the future. When that happens, this article is either updated to reflect " +"the new procedures or removed entirely." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:55 +msgid "Abstract" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:59 +msgid "" +"This article describes building an internal FreeBSD Update Server. The " +"https://github.com/freebsd/freebsd-update-build/[freebsd-update-server] is " +"written by `{cperciva}`, Security Officer Emeritus of FreeBSD. For users " +"that think it is convenient to update their systems against an official " +"update server, building their own FreeBSD Update Server may help to extend " +"its functionality by supporting manually-tweaked FreeBSD releases or by " +"providing a local mirror that will allow faster updates for a number of " +"machines." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:61 +msgid "'''" +msgstr "" + +#. type: Title == +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:65 +#, no-wrap +msgid "Acknowledgments" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:68 +msgid "" +"This article was subsequently printed at https://people.freebsd.org/~jgh/" +"files/fus/BSD_03_2010_EN.pdf[BSD Magazine]." +msgstr "" + +#. type: Title == +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:70 +#, no-wrap +msgid "Introduction" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:77 +msgid "" +"Experienced users or administrators are often responsible for several " +"machines or environments. They understand the difficult demands and " +"challenges of maintaining such an infrastructure. Running a FreeBSD Update " +"Server makes it easier to deploy security and software patches to selected " +"test machines before rolling them out to production. It also means a number " +"of systems can be updated from the local network rather than a potentially " +"slower Internet connection. This article outlines the steps involved in " +"creating an internal FreeBSD Update Server." +msgstr "" + +#. type: Title == +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:79 +#, no-wrap +msgid "Prerequisites" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:82 +msgid "" +"To build an internal FreeBSD Update Server some requirements should be met." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:84 +msgid "A running FreeBSD system." +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:88 +msgid "" +"At a minimum, updates require building on a FreeBSD release greater than or " +"equal to the target release version for distribution." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:90 +msgid "" +"A user account with at least 4 GB of available space. This will allow the " +"creation of updates for 7.1 and 7.2, but the exact space requirements may " +"change from version to version." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:91 +msgid "" +"An man:ssh[1] account on a remote machine to upload distributed updates." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:92 +msgid "" +"A web server, like extref:{handbook}[Apache, network-apache], with over half " +"of the space required for the build. For instance, test builds for 7.1 and " +"7.2 consume a total amount of 4 GB, and the webserver space needed to " +"distribute these updates is 2.6 GB." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:93 +msgid "Basic knowledge of shell scripting with Bourne shell, man:sh[1]." +msgstr "" + +#. type: Title == +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:95 +#, no-wrap +msgid "Configuration: Installation & Setup" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:98 +msgid "" +"Download the https://github.com/freebsd/freebsd-update-build/[freebsd-update-" +"server] software by installing package:devel/git[] and package:security/" +"ca_root_nss[], and execute:" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:102 +#, no-wrap +msgid "% git clone https://github.com/freebsd/freebsd-update-build.git freebsd-update-server\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:106 +msgid "" +"Update [.filename]#scripts/build.conf# appropriately. It is sourced during " +"all build operations." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:108 +msgid "" +"Here is the default [.filename]#build.conf#, which should be modified to " +"suit your environment." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:114 +#, no-wrap +msgid "" +"# Main configuration file for FreeBSD Update builds. The\n" +"# release-specific configuration data is lower down in\n" +"# the scripts tree.\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:117 +#, no-wrap +msgid "" +"# Location from which to fetch releases\n" +"export FTP=ftp://ftp2.freebsd.org/pub/FreeBSD/releases <.>\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:120 +#, no-wrap +msgid "" +"# Host platform\n" +"export HOSTPLATFORM=`uname -m`\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:123 +#, no-wrap +msgid "" +"# Host name to use inside jails\n" +"export BUILDHOSTNAME=${HOSTPLATFORM}-builder.daemonology.net <.>\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:126 +#, no-wrap +msgid "" +"# Location of SSH key\n" +"export SSHKEY=/root/.ssh/id_dsa <.>\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:129 +#, no-wrap +msgid "" +"# SSH account into which files are uploaded\n" +"MASTERACCT=builder@wadham.daemonology.net <.>\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:132 +#, no-wrap +msgid "" +"# Directory into which files are uploaded\n" +"MASTERDIR=update-master.freebsd.org <.>\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:135 +msgid "Parameters for consideration would be:" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:138 +msgid "" +"This is the location where ISO images are downloaded from (by the " +"`fetchiso()` subroutine of [.filename]#scripts/build.subr#). The location " +"configured is not limited to FTP URIs. Any URI scheme supported by standard " +"man:fetch[1] utility should work fine. Customizations to the `fetchiso()` " +"code can be installed by copying the default [.filename]#build.subr# script " +"to the release and architecture-specific area at [.filename]#scripts/RELEASE/" +"ARCHITECTURE/build.subr# and applying local changes." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:140 +msgid "" +"The name of the build host. This information will be displayed on updated " +"systems when issuing:" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:144 +#, no-wrap +msgid "% uname -v\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:148 +msgid "" +"The SSH key for uploading files to the update server. A key pair can be " +"created by typing `ssh-keygen -t dsa`. This parameter is optional; standard " +"password authentication will be used as a fallback authentication method " +"when `SSHKEY` is not defined. The man:ssh-keygen[1] manual page has more " +"detailed information about SSH and the appropriate steps for creating and " +"using one." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:150 +msgid "Account for uploading files to the update server." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:152 +msgid "Directory on the update server where files are uploaded to." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:154 +msgid "" +"The default [.filename]#build.conf# shipped with the freebsd-update-server " +"sources is suitable for building i386 releases of FreeBSD. As an example of " +"building an update server for other architectures, the following steps " +"outline the configuration changes needed for amd64:" +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:158 +msgid "Create a build environment for amd64:" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:162 +#, no-wrap +msgid "% mkdir -p /usr/local/freebsd-update-server/scripts/7.2-RELEASE/amd64\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:165 +msgid "" +"Install a [.filename]#build.conf# in the newly created build directory. The " +"build configuration options for FreeBSD 7.2-RELEASE on amd64 should be " +"similar to:" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:176 +#, no-wrap +msgid "" +"# SHA256 hash of RELEASE disc1.iso image.\n" +"export RELH=1ea1f6f652d7c5f5eab7ef9f8edbed50cb664b08ed761850f95f48e86cc71ef5 <.>\n" +"# Components of the world, source, and kernels\n" +"export WORLDPARTS=\"base catpages dict doc games info manpages proflibs lib32\"\n" +"export SOURCEPARTS=\"base bin contrib crypto etc games gnu include krb5 \\\n" +" lib libexec release rescue sbin secure share sys tools \\\n" +" ubin usbin cddl\"\n" +"export KERNELPARTS=\"generic\"\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:179 +#, no-wrap +msgid "" +"# EOL date\n" +"export EOL=1275289200 <.>\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:182 +msgid "" +"The man:sha256[1] hash key for the desired release, is published within the " +"respective link:https://www.FreeBSD.org/releases/[release announcement]." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:183 +msgid "" +"To generate the \"End of Life\" number for [.filename]#build.conf#, refer to " +"the \"Estimated EOL\" posted on the link:https://www.FreeBSD.org/security/" +"security/[FreeBSD Security Website]. The value of `EOL` can be derived from " +"the date listed on the web site, using the man:date[1] utility, for example:" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:187 +#, no-wrap +msgid "% date -j -f '%Y%m%d-%H%M%S' '20090401-000000' '+%s'\n" +msgstr "" + +#. type: Title == +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:191 +#, no-wrap +msgid "Building Update Code" +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:196 +msgid "" +"The first step is to run [.filename]#scripts/make.sh#. This will build some " +"binaries, create directories, and generate an RSA signing key used for " +"approving builds. In this step, a passphrase will have to be supplied for " +"the final creation of the signing key." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:211 +#, no-wrap +msgid "" +"# sh scripts/make.sh\n" +"cc -O2 -fno-strict-aliasing -pipe findstamps.c -o findstamps\n" +"findstamps.c: In function 'usage':\n" +"findstamps.c:45: warning: incompatible implicit declaration of built-in function 'exit'\n" +"cc -O2 -fno-strict-aliasing -pipe unstamp.c -o unstamp\n" +"install findstamps ../bin\n" +"install unstamp ../bin\n" +"rm -f findstamps unstamp\n" +"Generating RSA private key, 4096 bit long modulus\n" +"................................................................................++\n" +"...................++\n" +"e is 65537 (0x10001)\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:214 +#, no-wrap +msgid "" +"Public key fingerprint:\n" +"27ef53e48dc869eea6c3136091cc6ab8589f967559824779e855d58a2294de9e\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:218 +#, no-wrap +msgid "" +"Encrypting signing key for root\n" +"enter aes-256-cbc encryption password:\n" +"Verifying - enter aes-256-cbc encryption password:\n" +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:224 +msgid "" +"Keep a note of the generated key fingerprint. This value is required in [." +"filename]#/etc/freebsd-update.conf# for binary updates." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:227 +msgid "At this point, we are ready to stage a build." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:232 +#, no-wrap +msgid "" +"# cd /usr/local/freebsd-update-server\n" +"# sh scripts/init.sh amd64 7.2-RELEASE\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:235 +msgid "What follows is a sample of an _initial_ build run." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:255 +#, no-wrap +msgid "" +"# sh scripts/init.sh amd64 7.2-RELEASE\n" +"Mon Aug 24 16:04:36 PDT 2009 Starting fetch for FreeBSD/amd64 7.2-RELEASE\n" +"/usr/local/freebsd-update-server/work/7.2-RELE100 of 588 MB 359 kBps 00m00s\n" +"Mon Aug 24 16:32:38 PDT 2009 Verifying disc1 hash for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 16:32:44 PDT 2009 Extracting components for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 16:34:05 PDT 2009 Constructing world+src image for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 16:35:57 PDT 2009 Extracting world+src for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 23:36:24 UTC 2009 Building world for FreeBSD/amd64 7.2-RELEASE\n" +"Tue Aug 25 00:31:29 UTC 2009 Distributing world for FreeBSD/amd64 7.2-RELEASE\n" +"Tue Aug 25 00:32:36 UTC 2009 Building and distributing kernels for FreeBSD/amd64 7.2-RELEASE\n" +"Tue Aug 25 00:44:44 UTC 2009 Constructing world components for FreeBSD/amd64 7.2-RELEASE\n" +"Tue Aug 25 00:44:56 UTC 2009 Distributing source for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 17:46:18 PDT 2009 Moving components into staging area for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 17:46:33 PDT 2009 Identifying extra documentation for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 17:47:13 PDT 2009 Extracting extra docs for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 17:47:18 PDT 2009 Indexing release for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 17:50:44 PDT 2009 Indexing world0 for FreeBSD/amd64 7.2-RELEASE\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:276 +#, no-wrap +msgid "" +"Files built but not released:\n" +"Files released but not built:\n" +"Files which differ by more than contents:\n" +"Files which differ between release and build:\n" +"kernel|generic|/GENERIC/hptrr.ko\n" +"kernel|generic|/GENERIC/kernel\n" +"src|sys|/sys/conf/newvers.sh\n" +"world|base|/boot/loader\n" +"world|base|/boot/pxeboot\n" +"world|base|/etc/mail/freebsd.cf\n" +"world|base|/etc/mail/freebsd.submit.cf\n" +"world|base|/etc/mail/sendmail.cf\n" +"world|base|/etc/mail/submit.cf\n" +"world|base|/lib/libcrypto.so.5\n" +"world|base|/usr/bin/ntpq\n" +"world|base|/usr/lib/libalias.a\n" +"world|base|/usr/lib/libalias_cuseeme.a\n" +"world|base|/usr/lib/libalias_dummy.a\n" +"world|base|/usr/lib/libalias_ftp.a\n" +"...\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:280 +msgid "" +"Then the build of the world is performed again, with world patches. A more " +"detailed explanation may be found in [.filename]#scripts/build.subr#." +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:286 +msgid "" +"During this second build cycle, the network time protocol daemon, man:" +"ntpd[8], is turned off. Per `{cperciva}`, Security Officer Emeritus of " +"FreeBSD, \"the https://github.com/freebsd/freebsd-update-build/[freebsd-" +"update-server] build code needs to identify timestamps which are stored in " +"files so that they can be ignored when comparing builds to determine which " +"files need to be updated. This timestamp-finding works by doing two builds " +"400 days apart and comparing the results.\"" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:305 +#, no-wrap +msgid "" +"Mon Aug 24 17:54:07 PDT 2009 Extracting world+src for FreeBSD/amd64 7.2-RELEASE\n" +"Wed Sep 29 00:54:34 UTC 2010 Building world for FreeBSD/amd64 7.2-RELEASE\n" +"Wed Sep 29 01:49:42 UTC 2010 Distributing world for FreeBSD/amd64 7.2-RELEASE\n" +"Wed Sep 29 01:50:50 UTC 2010 Building and distributing kernels for FreeBSD/amd64 7.2-RELEASE\n" +"Wed Sep 29 02:02:56 UTC 2010 Constructing world components for FreeBSD/amd64 7.2-RELEASE\n" +"Wed Sep 29 02:03:08 UTC 2010 Distributing source for FreeBSD/amd64 7.2-RELEASE\n" +"Tue Sep 28 19:04:31 PDT 2010 Moving components into staging area for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 19:04:46 PDT 2009 Extracting extra docs for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 19:04:51 PDT 2009 Indexing world1 for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 19:08:04 PDT 2009 Locating build stamps for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 19:10:19 PDT 2009 Cleaning staging area for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 19:10:19 PDT 2009 Preparing to copy files into staging area for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 19:10:20 PDT 2009 Copying data files into staging area for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 12:16:57 PDT 2009 Copying metadata files into staging area for FreeBSD/amd64 7.2-RELEASE\n" +"Mon Aug 24 12:16:59 PDT 2009 Constructing metadata index and tag for FreeBSD/amd64 7.2-RELEASE\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:323 +#, no-wrap +msgid "" +"Files found which include build stamps:\n" +"kernel|generic|/GENERIC/hptrr.ko\n" +"kernel|generic|/GENERIC/kernel\n" +"world|base|/boot/loader\n" +"world|base|/boot/pxeboot\n" +"world|base|/etc/mail/freebsd.cf\n" +"world|base|/etc/mail/freebsd.submit.cf\n" +"world|base|/etc/mail/sendmail.cf\n" +"world|base|/etc/mail/submit.cf\n" +"world|base|/lib/libcrypto.so.5\n" +"world|base|/usr/bin/ntpq\n" +"world|base|/usr/include/osreldate.h\n" +"world|base|/usr/lib/libalias.a\n" +"world|base|/usr/lib/libalias_cuseeme.a\n" +"world|base|/usr/lib/libalias_dummy.a\n" +"world|base|/usr/lib/libalias_ftp.a\n" +"...\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:326 +msgid "Finally, the build completes." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:355 +#, no-wrap +msgid "" +"Values of build stamps, excluding library archive headers:\n" +"v1.2 (Aug 25 2009 00:40:36)\n" +"v1.2 (Aug 25 2009 00:38:22)\n" +"@()FreeBSD 7.2-RELEASE 0: Tue Aug 25 00:38:29 UTC 2009\n" +"FreeBSD 7.2-RELEASE 0: Tue Aug 25 00:38:29 UTC 2009\n" +" root@server.myhost.com:/usr/obj/usr/src/sys/GENERIC\n" +"7.2-RELEASE\n" +"Mon Aug 24 23:55:25 UTC 2009\n" +"Mon Aug 24 23:55:25 UTC 2009\n" +" built by root@server.myhost.com on Tue Aug 25 00:16:15 UTC 2009\n" +" built by root@server.myhost.com on Tue Aug 25 00:16:15 UTC 2009\n" +" built by root@server.myhost.com on Tue Aug 25 00:16:15 UTC 2009\n" +" built by root@server.myhost.com on Tue Aug 25 00:16:15 UTC 2009\n" +"Mon Aug 24 23:46:47 UTC 2009\n" +"ntpq 4.2.4p5-a Mon Aug 24 23:55:53 UTC 2009 (1)\n" +" * Copyright (c) 1992-2009 The FreeBSD Project.\n" +"Mon Aug 24 23:46:47 UTC 2009\n" +"Mon Aug 24 23:55:40 UTC 2009\n" +"Aug 25 2009\n" +"ntpd 4.2.4p5-a Mon Aug 24 23:55:52 UTC 2009 (1)\n" +"ntpdate 4.2.4p5-a Mon Aug 24 23:55:53 UTC 2009 (1)\n" +"ntpdc 4.2.4p5-a Mon Aug 24 23:55:53 UTC 2009 (1)\n" +"Tue Aug 25 00:21:21 UTC 2009\n" +"Tue Aug 25 00:21:21 UTC 2009\n" +"Tue Aug 25 00:21:21 UTC 2009\n" +"Mon Aug 24 23:46:47 UTC 2009\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:361 +#, no-wrap +msgid "" +"FreeBSD/amd64 7.2-RELEASE initialization build complete. Please\n" +"review the list of build stamps printed above to confirm that\n" +"they look sensible, then run\n" +" sh -e approve.sh amd64 7.2-RELEASE\n" +"to sign the release.\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:366 +msgid "" +"Approve the build if everything is correct. More information on determining " +"this can be found in the distributed source file named [.filename]#USAGE#. " +"Execute [.filename]#scripts/approve.sh#, as directed. This will sign the " +"release, and move components into a staging area suitable for uploading." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:371 +#, no-wrap +msgid "" +"# cd /usr/local/freebsd-update-server\n" +"# sh scripts/mountkey.sh\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:381 +#, no-wrap +msgid "" +"# sh -e scripts/approve.sh amd64 7.2-RELEASE\n" +"Wed Aug 26 12:50:06 PDT 2009 Signing build for FreeBSD/amd64 7.2-RELEASE\n" +"Wed Aug 26 12:50:06 PDT 2009 Copying files to patch source directories for FreeBSD/amd64 7.2-RELEASE\n" +"Wed Aug 26 12:50:06 PDT 2009 Copying files to upload staging area for FreeBSD/amd64 7.2-RELEASE\n" +"Wed Aug 26 12:50:07 PDT 2009 Updating databases for FreeBSD/amd64 7.2-RELEASE\n" +"Wed Aug 26 12:50:07 PDT 2009 Cleaning staging area for FreeBSD/amd64 7.2-RELEASE\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:384 +msgid "" +"After the approval process is complete, the upload procedure may be started." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:389 +#, no-wrap +msgid "" +"# cd /usr/local/freebsd-update-server\n" +"# sh scripts/upload.sh amd64 7.2-RELEASE\n" +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:394 +msgid "" +"In the event update code needs to be re-uploaded, this may be done by " +"changing to the public distributions directory for the target release and " +"updating attributes of the _uploaded_ file." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:399 +#, no-wrap +msgid "" +"# cd /usr/local/freebsd-update-server/pub/7.2-RELEASE/amd64\n" +"# touch -t 200801010101.01 uploaded\n" +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:406 +msgid "" +"The uploaded files will need to be in the document root of the webserver in " +"order for updates to be distributed. The exact configuration will vary " +"depending on the web server used. For the Apache web server, please refer " +"to the extref:{handbook}[Configuration of Apache servers, network-apache] " +"section in the Handbook." +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:408 +msgid "" +"Update client's `KeyPrint` and `ServerName` in [.filename]#/etc/freebsd-" +"update.conf#, and perform updates as instructed in the extref:{handbook}" +"[FreeBSD Update, updating-upgrading-freebsdupdate] section of the Handbook." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:414 +msgid "" +"In order for FreeBSD Update Server to work properly, updates for both the " +"_current_ release and the release _one wants to upgrade to_ need to be " +"built. This is necessary for determining the differences of files between " +"releases. For example, when upgrading a FreeBSD system from 7.1-RELEASE to " +"7.2-RELEASE, updates will need to be built and uploaded to your distribution " +"server for both versions." +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:417 +msgid "" +"For reference, the entire run of link:../../source/articles/freebsd-update-" +"server/init.txt[init.sh] is attached." +msgstr "" + +#. type: Title == +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:419 +#, no-wrap +msgid "Building a Patch" +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:422 +msgid "" +"Every time a link:https://www.FreeBSD.org/security/advisories/[security " +"advisory] or link:https://www.FreeBSD.org/security/notices/[security notice] " +"is announced, a patch update can be built." +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:424 +msgid "For this example, 7.1-RELEASE will be used." +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:426 +msgid "A couple of assumptions are made for a different release build:" +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:428 +msgid "Setup the correct directory structure for the initial build." +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:429 +msgid "Perform an initial build for 7.1-RELEASE." +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:431 +msgid "" +"Create the patch directory of the respective release under [.filename]#/usr/" +"local/freebsd-update-server/patches/#." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:436 +#, no-wrap +msgid "" +"% mkdir -p /usr/local/freebsd-update-server/patches/7.1-RELEASE/\n" +"% cd /usr/local/freebsd-update-server/patches/7.1-RELEASE\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:441 +msgid "" +"As an example, take the patch for man:named[8]. Read the advisory, and grab " +"the necessary file from link:https://www.FreeBSD.org/security/advisories/" +"[FreeBSD Security Advisories]. More information on interpreting the " +"advisory, can be found in the extref:{handbook}[FreeBSD Handbook, security-" +"advisories]." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:446 +msgid "" +"In the https://security.freebsd.org/advisories/FreeBSD-SA-09:12.bind." +"asc[security brief], this advisory is called `SA-09:12.bind`. After " +"downloading the file, it is required to rename the file to an appropriate " +"patch level. It is suggested to keep this consistent with official FreeBSD " +"patch levels, but its name may be freely chosen. For this build, let us " +"follow the currently established practice of FreeBSD and call this `p7`. " +"Rename the file:" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:450 +#, no-wrap +msgid "% cd /usr/local/freebsd-update-server/patches/7.1-RELEASE/; mv bind.patch 7-SA-09:12.bind\n" +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:456 +msgid "" +"When running a patch level build, it is assumed that previous patches are in " +"place. When a patch build is run, it will run all patches contained in the " +"patch directory." +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:458 +msgid "" +"There can be custom patches added to any build. Use the number zero, or any " +"other number." +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:464 +msgid "" +"It is up to the administrator of the FreeBSD Update Server to take " +"appropriate measures to verify the authenticity of every patch." +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:468 +msgid "" +"At this point, a _diff_ is ready to be built. The software checks first to " +"see if a [.filename]#scripts/init.sh# has been run on the respective release " +"prior to running the diff build." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:473 +#, no-wrap +msgid "" +"# cd /usr/local/freebsd-update-server\n" +"# sh scripts/diff.sh amd64 7.1-RELEASE 7\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:476 +msgid "What follows is a sample of a _differential_ build run." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:550 +#, no-wrap +msgid "" +"# sh -e scripts/diff.sh amd64 7.1-RELEASE 7\n" +"Wed Aug 26 10:09:59 PDT 2009 Extracting world+src for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 17:10:25 UTC 2009 Building world for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 18:05:11 UTC 2009 Distributing world for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 18:06:16 UTC 2009 Building and distributing kernels for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 18:17:50 UTC 2009 Constructing world components for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 18:18:02 UTC 2009 Distributing source for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 11:19:23 PDT 2009 Moving components into staging area for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 11:19:37 PDT 2009 Extracting extra docs for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 11:19:42 PDT 2009 Indexing world0 for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 11:23:02 PDT 2009 Extracting world+src for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Thu Sep 30 18:23:29 UTC 2010 Building world for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Thu Sep 30 19:18:15 UTC 2010 Distributing world for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Thu Sep 30 19:19:18 UTC 2010 Building and distributing kernels for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Thu Sep 30 19:30:52 UTC 2010 Constructing world components for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Thu Sep 30 19:31:03 UTC 2010 Distributing source for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Thu Sep 30 12:32:25 PDT 2010 Moving components into staging area for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 12:32:39 PDT 2009 Extracting extra docs for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 12:32:43 PDT 2009 Indexing world1 for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 12:35:54 PDT 2009 Locating build stamps for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 12:36:58 PDT 2009 Reverting changes due to build stamps for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 12:37:14 PDT 2009 Cleaning staging area for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 12:37:14 PDT 2009 Preparing to copy files into staging area for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 12:37:15 PDT 2009 Copying data files into staging area for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 12:43:23 PDT 2009 Copying metadata files into staging area for FreeBSD/amd64 7.1-RELEASE-p7\n" +"Wed Aug 26 12:43:25 PDT 2009 Constructing metadata index and tag for FreeBSD/amd64 7.1-RELEASE-p7\n" +"...\n" +"Files found which include build stamps:\n" +"kernel|generic|/GENERIC/hptrr.ko\n" +"kernel|generic|/GENERIC/kernel\n" +"world|base|/boot/loader\n" +"world|base|/boot/pxeboot\n" +"world|base|/etc/mail/freebsd.cf\n" +"world|base|/etc/mail/freebsd.submit.cf\n" +"world|base|/etc/mail/sendmail.cf\n" +"world|base|/etc/mail/submit.cf\n" +"world|base|/lib/libcrypto.so.5\n" +"world|base|/usr/bin/ntpq\n" +"world|base|/usr/include/osreldate.h\n" +"world|base|/usr/lib/libalias.a\n" +"world|base|/usr/lib/libalias_cuseeme.a\n" +"world|base|/usr/lib/libalias_dummy.a\n" +"world|base|/usr/lib/libalias_ftp.a\n" +"...\n" +"Values of build stamps, excluding library archive headers:\n" +"v1.2 (Aug 26 2009 18:13:46)\n" +"v1.2 (Aug 26 2009 18:11:44)\n" +"@()FreeBSD 7.1-RELEASE-p7 0: Wed Aug 26 18:11:50 UTC 2009\n" +"FreeBSD 7.1-RELEASE-p7 0: Wed Aug 26 18:11:50 UTC 2009\n" +" root@server.myhost.com:/usr/obj/usr/src/sys/GENERIC\n" +"7.1-RELEASE-p7\n" +"Wed Aug 26 17:29:15 UTC 2009\n" +"Wed Aug 26 17:29:15 UTC 2009\n" +" built by root@server.myhost.com on Wed Aug 26 17:49:58 UTC 2009\n" +" built by root@server.myhost.com on Wed Aug 26 17:49:58 UTC 2009\n" +" built by root@server.myhost.com on Wed Aug 26 17:49:58 UTC 2009\n" +" built by root@server.myhost.com on Wed Aug 26 17:49:58 UTC 2009\n" +"Wed Aug 26 17:20:39 UTC 2009\n" +"ntpq 4.2.4p5-a Wed Aug 26 17:29:42 UTC 2009 (1)\n" +" * Copyright (c) 1992-2009 The FreeBSD Project.\n" +"Wed Aug 26 17:20:39 UTC 2009\n" +"Wed Aug 26 17:29:30 UTC 2009\n" +"Aug 26 2009\n" +"ntpd 4.2.4p5-a Wed Aug 26 17:29:41 UTC 2009 (1)\n" +"ntpdate 4.2.4p5-a Wed Aug 26 17:29:42 UTC 2009 (1)\n" +"ntpdc 4.2.4p5-a Wed Aug 26 17:29:42 UTC 2009 (1)\n" +"Wed Aug 26 17:55:02 UTC 2009\n" +"Wed Aug 26 17:55:02 UTC 2009\n" +"Wed Aug 26 17:55:02 UTC 2009\n" +"Wed Aug 26 17:20:39 UTC 2009\n" +"...\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:553 +msgid "Updates are printed, and approval is requested." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:572 +#, no-wrap +msgid "" +"New updates:\n" +"kernel|generic|/GENERIC/kernel.symbols|f|0|0|0555|0|7c8dc176763f96ced0a57fc04e7c1b8d793f27e006dd13e0b499e1474ac47e10|\n" +"kernel|generic|/GENERIC/kernel|f|0|0|0555|0|33197e8cf15bbbac263d17f39c153c9d489348c2c534f7ca1120a1183dec67b1|\n" +"kernel|generic|/|d|0|0|0755|0||\n" +"src|base|/|d|0|0|0755|0||\n" +"src|bin|/|d|0|0|0755|0||\n" +"src|cddl|/|d|0|0|0755|0||\n" +"src|contrib|/contrib/bind9/bin/named/update.c|f|0|10000|0644|0|4d434abf0983df9bc47435670d307fa882ef4b348ed8ca90928d250f42ea0757|\n" +"src|contrib|/contrib/bind9/lib/dns/openssldsa_link.c|f|0|10000|0644|0|c6805c39f3da2a06dd3f163f26c314a4692d4cd9a2d929c0acc88d736324f550|\n" +"src|contrib|/contrib/bind9/lib/dns/opensslrsa_link.c|f|0|10000|0644|0|fa0f7417ee9da42cc8d0fd96ad24e7a34125e05b5ae075bd6e3238f1c022a712|\n" +"...\n" +"FreeBSD/amd64 7.1-RELEASE update build complete. Please review\n" +"the list of build stamps printed above and the list of updated\n" +"files to confirm that they look sensible, then run\n" +" sh -e approve.sh amd64 7.1-RELEASE\n" +"to sign the build.\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:575 +msgid "Follow the same process as noted before for approving a build:" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:584 +#, no-wrap +msgid "" +"# sh -e scripts/approve.sh amd64 7.1-RELEASE\n" +"Wed Aug 26 12:50:06 PDT 2009 Signing build for FreeBSD/amd64 7.1-RELEASE\n" +"Wed Aug 26 12:50:06 PDT 2009 Copying files to patch source directories for FreeBSD/amd64 7.1-RELEASE\n" +"Wed Aug 26 12:50:06 PDT 2009 Copying files to upload staging area for FreeBSD/amd64 7.1-RELEASE\n" +"Wed Aug 26 12:50:07 PDT 2009 Updating databases for FreeBSD/amd64 7.1-RELEASE\n" +"Wed Aug 26 12:50:07 PDT 2009 Cleaning staging area for FreeBSD/amd64 7.1-RELEASE\n" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:590 +#, no-wrap +msgid "" +"The FreeBSD/amd64 7.1-RELEASE update build has been signed and is\n" +"ready to be uploaded. Remember to run\n" +" sh -e umountkey.sh\n" +"to unmount the decrypted key once you have finished signing all\n" +"the new builds.\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:593 +msgid "After approving the build, upload the software:" +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:598 +#, no-wrap +msgid "" +"# cd /usr/local/freebsd-update-server\n" +"# sh scripts/upload.sh amd64 7.1-RELEASE\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:601 +msgid "" +"For reference, the entire run of link:../../source/articles/freebsd-update-" +"server/diff.txt[diff.sh] is attached." +msgstr "" + +#. type: Title == +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:603 +#, no-wrap +msgid "Tips" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:606 +msgid "" +"If a custom release is built using the native `make release` extref:{releng}" +"[procedure, release-build], freebsd-update-server code will work from your " +"release. As an example, a release without ports or documentation can be " +"built by clearing functionality pertaining to documentation subroutines " +"`findextradocs ()`, `addextradocs ()` and altering the download location in " +"`fetchiso ()`, respectively, in [.filename]#scripts/build.subr#. As a last " +"step, change the man:sha256[1] hash in [.filename]#build.conf# under your " +"respective release and architecture and you are ready to build off your " +"custom release." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:617 +#, no-wrap +msgid "" +"# Compare ${WORKDIR}/release and ${WORKDIR}/$1, identify which parts\n" +"# of the world|doc subcomponent are missing from the latter, and\n" +"# build a tarball out of them.\n" +"findextradocs () {\n" +"}\n" +"# Add extra docs to ${WORKDIR}/$1\n" +"addextradocs () {\n" +"}\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:620 +msgid "" +"Adding `-j _NUMBER_` flags to `buildworld` and `obj` targets in the [." +"filename]#scripts/build.subr# script may speed up processing depending on " +"the hardware used, however it is not necessary. Using these flags in other " +"targets is not recommended, as it may cause the build to become unreliable." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:632 +#, no-wrap +msgid "" +" # Build the world\n" +"\t\t log \"Building world\"\n" +"\t\t cd /usr/src &&\n" +"\t\t make -j 2 ${COMPATFLAGS} buildworld 2>&1\n" +"\t\t# Distribute the world\n" +"\t\t log \"Distributing world\"\n" +"\t\t cd /usr/src/release &&\n" +"\t\t make -j 2 obj &&\n" +"\t\t make ${COMPATFLAGS} release.1 release.2 2>&1\n" +msgstr "" + +#. type: Plain text +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:635 +msgid "" +"Create an appropriate extref:{handbook}[DNS, network-dns] SRV record for the " +"update server, and put others behind it with variable weights. Using this " +"facility will provide update mirrors, however this tip is not necessary " +"unless you wish to provide a redundant service." +msgstr "" + +#. type: delimited block . 4 +#: documentation/content/en/articles/freebsd-update-server/_index.adoc:641 +#, no-wrap +msgid "" +"_http._tcp.update.myserver.com.\t\tIN SRV 0 2 80 host1.myserver.com.\n" +"\t\t\t\t\tIN SRV 0 1 80 host2.myserver.com.\n" +"\t\t\t\t\tIN SRV 0 0 80 host3.myserver.com.\n" +msgstr "" |