Date: Tue, 27 Oct 2009 18:00:10 GMT From: Jason Helfman <jhelfman@e-e.com> To: freebsd-doc@FreeBSD.org Subject: Re: docs/139681: [PATCH] new article on creating an internal FreeBSD Update Server Message-ID: <200910271800.n9RI0AA6089947@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR docs/139681; it has been noted by GNATS. From: Jason Helfman <jhelfman@e-e.com> To: bug-followup@FreeBSD.org, jhelfman@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@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@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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910271800.n9RI0AA6089947>