docs/139681: [PATCH] new article on creating an internal FreeBSD Update Server

Jason Helfman jhelfman at e-e.com
Tue Oct 27 18:00:12 UTC 2009


The following reply was made to PR docs/139681; it has been noted by GNATS.

From: Jason Helfman <jhelfman at e-e.com>
To: bug-followup at FreeBSD.org, jhelfman at e-e.com
Cc:  
Subject: Re: docs/139681: [PATCH] new article on creating an internal FreeBSD
 Update Server
Date: Tue, 27 Oct 2009 10:52:04 -0700

 This is a multi-part message in MIME format.
 --------------010304060904030105050400
 Content-Type: text/plain; charset=ISO-8859-1; format=flowed
 Content-Transfer-Encoding: 7bit
 
 Spelling errrors.
 
 
 
 --------------010304060904030105050400
 Content-Type: text/plain;
  name="patch3.txt"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
  filename="patch3.txt"
 
 *** article.sgml	Tue Oct 27 10:41:08 2009
 --- article.sgml.orig	Tue Oct 27 10:43:28 2009
 ***************
 *** 98,114 ****
   
       <itemizedlist>
         <listitem>
           <para>FTP</para>
   
 !         <para>This is where the function <filename>fetchiso()</filename> found in <filename>scripts/build.subr</filename> will contact the configured source for downloading the &os; iso. This can be configured to be an http address, as well. For my purposes, I have put the ISO's on the same server as my internal http server where I will be serving updates from, and have configured the software to look in that location. With this setup, I have altered the function to fetch the iso. By copying the source < filename>build.subr</filename> to <filename>scripts/_RELEASE_/_ARCHITECHTURE_/build.subr</filename> this file will be sourced instead of the released source for <filename>build.subr</filename>.</para>
         </listitem>
   
         <listitem>
           <para>BUILDHOSTNAME</para>
   
 !         <para>This is the name of the host you are building the software on, and coincidently, the name of the where the kernel will be built and displayed as a part of running:</para>
   
           <screen>&prompt.user; <userinput>uname -v</userinput></screen>
         </listitem>
   
         <listitem>
 --- 98,114 ----
   
       <itemizedlist>
         <listitem>
           <para>FTP</para>
   
 !         <para>This is where the function <filename>fetchiso()</filename> found in <filename>scripts/build.subr</filename> will contact the configured source for downloading the &os; iso. This can be configured to be an http address, as well. For my purposes, I have put the ISO's on the same server as my internal http server where I will be serving updates from, and have configured the software to look in that location. With this setup, I have altered the function to fetch the iso. By copying the source < filename>build.subr</filename> to <filename>scripts/_RELEASE_/_ARCHITECTURE_/build.subr</filename> this file will be sourced instead of the released source for <filename>build.subr</filename>.</para>
         </listitem>
   
         <listitem>
           <para>BUILDHOSTNAME</para>
   
 !         <para>This is the name of the host you are building the software on, and coincidentally, the name of the where the kernel will be built and displayed as a part of running:</para>
   
           <screen>&prompt.user; <userinput>uname -v</userinput></screen>
         </listitem>
   
         <listitem>
 ***************
 *** 195,205 ****
        <para>At this point, we are ready to stage a build.</para>
            <informalexample>
             <screen>&prompt.user; <userinput>cd ~/freebsd-update-server;sudo sh scripts/init.sh <replaceable>amd64 RELEASE-7.2</replaceable></userinput></screen>
            </informalexample>
   
 !      <para>For referrence, here are the results of the <ulink url="init.log"><filename>init.sh</filename></ulink> run.</para>
   
        <para>At the end of the run, you will need to approve the build.</para>
   
   <screen>
   FreeBSD/amd64 7.2-RELEASE initialization build complete.  Please
 --- 195,205 ----
        <para>At this point, we are ready to stage a build.</para>
            <informalexample>
             <screen>&prompt.user; <userinput>cd ~/freebsd-update-server;sudo sh scripts/init.sh <replaceable>amd64 RELEASE-7.2</replaceable></userinput></screen>
            </informalexample>
   
 !      <para>For reference, here are the results of the <ulink url="init.log"><filename>init.sh</filename></ulink> run.</para>
   
        <para>At the end of the run, you will need to approve the build.</para>
   
   <screen>
   FreeBSD/amd64 7.2-RELEASE initialization build complete.  Please
 ***************
 *** 267,277 ****
       <para>At this point, we are ready to stage a <emphasis>diff</emphasis> build. You need to have run <filename>scripts/init.sh</filename> prior to running any diff.</para>
         <informalexample>
           <screen>&prompt.user; <userinput>cd ~/freebsd-update-server;sudo sh scripts/diff.sh <replaceable>amd64 RELEASE-7.1 7</replaceable></userinput></screen>
         </informalexample>
           
 ! <para>For referrence, here are the results of the <ulink url="diff.log"><filename>diff.sh</filename></ulink> run.</para>
   
   <para>Again, at the end of the run, you will need to approve the build.</para>
   
   <screen>
   [jhelfman at server ]$ sudo sh -e scripts/approve.sh amd64 7.1-RELEASE
 --- 267,277 ----
       <para>At this point, we are ready to stage a <emphasis>diff</emphasis> build. You need to have run <filename>scripts/init.sh</filename> prior to running any diff.</para>
         <informalexample>
           <screen>&prompt.user; <userinput>cd ~/freebsd-update-server;sudo sh scripts/diff.sh <replaceable>amd64 RELEASE-7.1 7</replaceable></userinput></screen>
         </informalexample>
           
 ! <para>For reference, here are the results of the <ulink url="diff.log"><filename>diff.sh</filename></ulink> run.</para>
   
   <para>Again, at the end of the run, you will need to approve the build.</para>
   
   <screen>
   [jhelfman at server ]$ sudo sh -e scripts/approve.sh amd64 7.1-RELEASE
 ***************
 *** 297,307 ****
   <sect1 id="tips">
       <title>Tips</title>
   
      <itemizedlist>
         <listitem>
 !         <para>If you build your own release using the native <command>make release</command>, freebsd-update-server code will work on your release, as well as patches. As an example I have tried this, building a release without ports or documentation, and removed the functionality pretaining to documentation in <filename>scripts/build.subr</filename> and placing it under the release directory structure.</para>
         </listitem>
        
         <listitem>
           <para>Add <command>make -j <replaceable>NUMBER</replaceable> </command> to <filename>scripts/build.subr</filename> to speed up your processing. I have found that adding flags to anything other than <command>make buildworld</command> and <command>make obj</command> can be unreliable.</para>
         </listitem>
 --- 297,307 ----
   <sect1 id="tips">
       <title>Tips</title>
   
      <itemizedlist>
         <listitem>
 !         <para>If you build your own release using the native <command>make release</command>, freebsd-update-server code will work on your release, as well as patches. As an example I have tried this, building a release without ports or documentation, and removed the functionality pertaining to documentation in <filename>scripts/build.subr</filename> and placing it under the release directory structure.</para>
         </listitem>
        
         <listitem>
           <para>Add <command>make -j <replaceable>NUMBER</replaceable> </command> to <filename>scripts/build.subr</filename> to speed up your processing. I have found that adding flags to anything other than <command>make buildworld</command> and <command>make obj</command> can be unreliable.</para>
         </listitem>
 
 --------------010304060904030105050400--



More information about the freebsd-doc mailing list