Bring this article up-to-date:
- mention ZFS - xorg instead of XFree86 - use most recent mergemaster messages in <screen> sections stage_1.sh: - use /dev/daXYZs1a to no longer require anti-footshooting warning - Introduce TARGET and MAKEOBJDIRPREFIX variables - remove FreeBSD version 4/5 relevant shell code stage_2.conf.default: - update somewhat ancient port list; openoffice 1 just doesn't cut it any more stage_3.mk: - update to closer reflect my current version
This commit is contained in:
parent
4e66d4f2d0
commit
11aa75bda3
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=33349
5 changed files with 218 additions and 227 deletions
|
@ -16,7 +16,7 @@
|
||||||
</affiliation>
|
</affiliation>
|
||||||
</author>
|
</author>
|
||||||
<copyright>
|
<copyright>
|
||||||
<year>2002,2003,2004</year>
|
<year>2002,2003,2004,2008</year>
|
||||||
<holder>Jens Schweikhardt</holder>
|
<holder>Jens Schweikhardt</holder>
|
||||||
</copyright>
|
</copyright>
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>It cannot install in <application>Vinum</application>
|
<para>It cannot install in <application>Vinum</application>
|
||||||
partitions.</para>
|
or <application>ZFS</application> partitions.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -289,7 +289,7 @@
|
||||||
call, these binaries will die with <literal>SIGSYS, Bad
|
call, these binaries will die with <literal>SIGSYS, Bad
|
||||||
system call</literal>, because the old kernel does not have
|
system call</literal>, because the old kernel does not have
|
||||||
that system call. I have seen other issues when I tried
|
that system call. I have seen other issues when I tried
|
||||||
building <filename role="package">lang/perl5</filename>.</para>
|
building <filename role="package">lang/perl5.8</filename>.</para>
|
||||||
|
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
@ -339,6 +339,7 @@
|
||||||
merge, it will display and ask at the end</para>
|
merge, it will display and ask at the end</para>
|
||||||
|
|
||||||
<screen>*** Comparison complete
|
<screen>*** Comparison complete
|
||||||
|
*** Saving mtree database for future upgrades
|
||||||
|
|
||||||
Do you wish to delete what is left of /var/tmp/temproot.stage1? [no] <userinput>no</userinput></screen>
|
Do you wish to delete what is left of /var/tmp/temproot.stage1? [no] <userinput>no</userinput></screen>
|
||||||
|
|
||||||
|
@ -348,8 +349,9 @@ Do you wish to delete what is left of /var/tmp/temproot.stage1? [no] <userinput>
|
||||||
<filename>/var/tmp/temproot.stage1</filename> which will be copied to the
|
<filename>/var/tmp/temproot.stage1</filename> which will be copied to the
|
||||||
new system later (unless already there).</para>
|
new system later (unless already there).</para>
|
||||||
|
|
||||||
<para>After that it will list the files it installed, making use of
|
<para>After that <command>mergemaster</command> will list the files it
|
||||||
a pager, &man.more.1; by default, optionally &man.less.1;:</para>
|
installed and ask if the new <filename>login.conf</filename> should be
|
||||||
|
generated:</para>
|
||||||
|
|
||||||
<screen>*** You chose the automatic install option for files that did not
|
<screen>*** You chose the automatic install option for files that did not
|
||||||
exist on your system. The following were installed for you:
|
exist on your system. The following were installed for you:
|
||||||
|
@ -357,34 +359,25 @@ Do you wish to delete what is left of /var/tmp/temproot.stage1? [no] <userinput>
|
||||||
...
|
...
|
||||||
/newroot/COPYRIGHT
|
/newroot/COPYRIGHT
|
||||||
|
|
||||||
(END)</screen>
|
*** You installed a new aliases file into /newroot/etc/mail, but
|
||||||
|
the newaliases command is limited to the directories configured
|
||||||
|
in sendmail.cf. Make sure to create your aliases database by
|
||||||
|
hand when your sendmail configuration is done.
|
||||||
|
|
||||||
<para>Type <keycap>q</keycap> to quit the pager. Then you will
|
*** You installed a login.conf file, so make sure that you run
|
||||||
be informed about <filename>login.conf</filename>:</para>
|
|
||||||
|
|
||||||
<screen>*** You installed a login.conf file, so make sure that you run
|
|
||||||
'/usr/bin/cap_mkdb /newroot/etc/login.conf'
|
'/usr/bin/cap_mkdb /newroot/etc/login.conf'
|
||||||
to rebuild your login.conf database
|
to rebuild your login.conf database
|
||||||
|
|
||||||
Would you like to run it now? y or n [n]</screen>
|
Would you like to run it now? y or n [n]</screen>
|
||||||
|
|
||||||
<para>The answer does not matter since we will run &man.cap.mkdb.1; in any
|
<para>The answer does not matter since <filename>stage_1.sh</filename> will
|
||||||
case.</para>
|
run &man.cap.mkdb.1; for you in any case.</para>
|
||||||
|
|
||||||
<para>Here is the author's <ulink
|
<para>Here is the author's <ulink
|
||||||
url="stage_1.conf.default"><filename>stage_1.conf.default</filename></ulink>,
|
url="stage_1.conf.default"><filename>stage_1.conf.default</filename></ulink>,
|
||||||
which you need to modify substantially. The comments give you
|
which you need to modify substantially. The comments give you
|
||||||
enough information what to change.</para>
|
enough information what to change.</para>
|
||||||
|
|
||||||
<warning>
|
|
||||||
<para>Please pay attention to the &man.newfs.8; commands.
|
|
||||||
While you can not create new file systems on mounted partitions, the
|
|
||||||
script will happily erase any unmounted
|
|
||||||
<filename>/dev/da0s1a</filename>, <filename>/dev/da0s1e</filename>
|
|
||||||
and <filename>/dev/da2s1e</filename>. This can be enough to ruin
|
|
||||||
your day, so be sure to modify the device names.</para>
|
|
||||||
</warning>
|
|
||||||
|
|
||||||
<programlisting><inlinegraphic fileref="stage_1.conf.default" format="linespecific"></programlisting>
|
<programlisting><inlinegraphic fileref="stage_1.conf.default" format="linespecific"></programlisting>
|
||||||
|
|
||||||
<para>Download <ulink
|
<para>Download <ulink
|
||||||
|
@ -398,7 +391,7 @@ Do you wish to delete what is left of /var/tmp/temproot.stage1? [no] <userinput>
|
||||||
<para>Inherited users and groups.</para>
|
<para>Inherited users and groups.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Firewalled Internet connectivity over Ethernet and PPP.</para>
|
<para>Firewalled Internet connectivity over Ethernet.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Correct time zone and NTP.</para>
|
<para>Correct time zone and NTP.</para>
|
||||||
|
@ -458,10 +451,13 @@ Do you wish to delete what is left of /var/tmp/temproot.stage1? [no] <userinput>
|
||||||
<para>In fact you can specify arbitrary shell commands, so you are
|
<para>In fact you can specify arbitrary shell commands, so you are
|
||||||
not restricted to simple <command>make</command> invocations:</para>
|
not restricted to simple <command>make</command> invocations:</para>
|
||||||
|
|
||||||
<programlisting>java linux-sun-jdk13 yes | make install
|
<programlisting>java jdk16 echo true > files/license.sh; make install BATCH=yes < /dev/null
|
||||||
|
print acroread8 yes accept | make install PAGER=ls
|
||||||
|
x11-fonts gnu-unifont make install && mkfontdir /usr/local/lib/X11/fonts/local
|
||||||
news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make install</programlisting>
|
news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make install</programlisting>
|
||||||
|
|
||||||
<para>Note that the line for
|
<para>The first two lines are examples how you can handle ports
|
||||||
|
asking you to accept a licence. Note how the line for
|
||||||
<filename role="package">news/inn-stable</filename> is an example
|
<filename role="package">news/inn-stable</filename> is an example
|
||||||
for a one-shot shell variable assignment to
|
for a one-shot shell variable assignment to
|
||||||
<literal>CONFIGURE_ARGS</literal>. The port
|
<literal>CONFIGURE_ARGS</literal>. The port
|
||||||
|
@ -524,33 +520,13 @@ news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make
|
||||||
is interactive and does not support <command>make BATCH=YES
|
is interactive and does not support <command>make BATCH=YES
|
||||||
install</command>. For a few ports the interaction is nothing more
|
install</command>. For a few ports the interaction is nothing more
|
||||||
than typing <literal>yes</literal> when asked to accept some license.
|
than typing <literal>yes</literal> when asked to accept some license.
|
||||||
If such input is read from the standard input, we simply pipe the
|
If the answer is read from standard input, simply pipe the
|
||||||
appropriate answers to the installation command (usually <command>make
|
appropriate answers to the installation command (e.g. <command>yes |
|
||||||
install</command>; this is how I deal with <filename
|
make install</command>. For other ports you need to investigate
|
||||||
role="package">java/linux-sun-jdk14</filename> in
|
where exactly the interactive command is located and deal with it
|
||||||
<filename>stage_2.conf.default</filename>).</para>
|
appropriately. The examples above for
|
||||||
|
<filename role="package">print/acroread8</filename> and
|
||||||
<para>This strategy for example does not work for <filename
|
<filename role="package">java/jdk16</filename> are examples.</para>
|
||||||
role="package">editors/staroffice52</filename>, which requires that
|
|
||||||
X11 is running. The installation procedure involves a fair amount of
|
|
||||||
clicking and typing, so it cannot be automated like other ports can.
|
|
||||||
However the following workaround does the trick for me: first I
|
|
||||||
create a staroffice package on the old system with</para>
|
|
||||||
|
|
||||||
<informalexample>
|
|
||||||
<screen>&prompt.root; <userinput>cd /usr/ports/editors/staroffice52</userinput>
|
|
||||||
&prompt.root; <userinput>make package</userinput>
|
|
||||||
===> Building package for staroffice-5.2_1
|
|
||||||
Creating package /usr/ports/editors/staroffice52/staroffice-5.2_1.tbz
|
|
||||||
Registering depends:.
|
|
||||||
Creating bzip'd tar ball in '/usr/ports/editors/staroffice52/staroffice-5.2_1.tbz'</screen>
|
|
||||||
</informalexample>
|
|
||||||
|
|
||||||
<para>and during stage two I simply use:</para>
|
|
||||||
|
|
||||||
<informalexample>
|
|
||||||
<screen>&prompt.root; <userinput>pkg_add /usr/ports/editors/staroffice52/staroffice-5.2_1.tbz</userinput></screen>
|
|
||||||
</informalexample>
|
|
||||||
|
|
||||||
<para>You should also be aware of upgrade issues for config files.
|
<para>You should also be aware of upgrade issues for config files.
|
||||||
In general you do not know when and if the format or contents of a
|
In general you do not know when and if the format or contents of a
|
||||||
|
@ -586,22 +562,15 @@ fi
|
||||||
httpd.conf</command>.</para>
|
httpd.conf</command>.</para>
|
||||||
|
|
||||||
<para>I have used &scratch.ap; several times to update a
|
<para>I have used &scratch.ap; several times to update a
|
||||||
<literal>5-CURRENT</literal> to <literal>5-CURRENT</literal>, i.e.
|
<literal>7-CURRENT</literal> to <literal>7-CURRENT</literal> and
|
||||||
I have never tried to install a <literal>5-CURRENT</literal> from
|
<literal>8-CURRENT</literal> to <literal>8-CURRENT</literal>, i.e.
|
||||||
a <literal>4-STABLE</literal> system or vice versa. Due to the
|
I have never tried to install a <literal>8-CURRENT</literal> from
|
||||||
|
a <literal>7-CURRENT</literal> system or vice versa. Due to the
|
||||||
number of changes between different major release numbers I would
|
number of changes between different major release numbers I would
|
||||||
expect this process to be a bit more involved. Using &scratch.ap;
|
expect this process to be a bit more involved. Using &scratch.ap;
|
||||||
for upgrades within the realm of <literal>4-STABLE</literal>
|
for upgrades within the realm of a <literal>STABLE</literal> branch
|
||||||
should work painlessly (although I have not yet tried it.) Users of
|
should work painlessly (although I have not yet tried it.)</para>
|
||||||
<literal>4-STABLE</literal> may want to consider the following
|
|
||||||
areas:</para>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>If you do not use the device file system, &man.devfs.5;, you
|
|
||||||
may want to create devices for some of your hardware with
|
|
||||||
&man.MAKEDEV.8; in <command>all_remaining_customization</command>.
|
|
||||||
</para>
|
|
||||||
</note>
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="files">
|
<sect1 id="files">
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# This file: stage_1.conf.default, sourced by stage_1.sh.
|
# This file: stage_1.conf.default, sourced by stage_1.sh.
|
||||||
#
|
#
|
||||||
# $Id: stage_1.conf.default,v 1.3 2004-07-19 21:02:26 schweikh Exp $
|
# $Id: stage_1.conf.default,v 1.4 2008-12-03 21:59:51 schweikh Exp $
|
||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
|
||||||
# Root mount point where you create the new system. Because it is only
|
# Root mount point where you create the new system. Because it is only
|
||||||
|
@ -11,34 +11,42 @@ DESTDIR="/newroot"
|
||||||
# Where your src tree is.
|
# Where your src tree is.
|
||||||
SRC="/usr/src"
|
SRC="/usr/src"
|
||||||
|
|
||||||
|
# Where your obj is.
|
||||||
|
MAKEOBJDIRPREFIX="/usr/obj"
|
||||||
|
|
||||||
# Your kernel config name as from make buildkernel KERNCONF=...
|
# Your kernel config name as from make buildkernel KERNCONF=...
|
||||||
KERNCONF="HAL9000"
|
KERNCONF="HAL9000"
|
||||||
|
|
||||||
|
# Your target architecture as used for make buildworld TARGET=...
|
||||||
|
# If you did not specify a TARGET when building world, it defaulted
|
||||||
|
# to the build architecture (run "uname -m" to find out if you are unsure).
|
||||||
|
TARGET="i386" # amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v
|
||||||
|
|
||||||
# Available time zones are those under /usr/share/zoneinfo.
|
# Available time zones are those under /usr/share/zoneinfo.
|
||||||
TIMEZONE="Europe/Berlin"
|
TIMEZONE="Europe/Berlin"
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# The create_file_systems function must create the mountpoints under
|
# The create_file_systems function must create the mountpoints under
|
||||||
# DESTDIR, create the file systems, and then mount them under DESTDIR.
|
# DESTDIR, create the file systems, and then mount them under DESTDIR.
|
||||||
#
|
#
|
||||||
create_file_systems () {
|
create_file_systems () {
|
||||||
# The new root file system. Mandatory.
|
# The new root file system. Mandatory.
|
||||||
# Change DEVICE names or risk foot shooting.
|
# Change DEVICE names.
|
||||||
# You must use newfs -O 1 for the root fs if you want to boot it from grub.
|
DEVICE=/dev/daXYZs1a
|
||||||
DEVICE=/dev/da0s1a
|
|
||||||
mkdir -m 755 -p ${DESTDIR}
|
mkdir -m 755 -p ${DESTDIR}
|
||||||
chown root:wheel ${DESTDIR}
|
chown root:wheel ${DESTDIR}
|
||||||
newfs -U -O 1 ${DEVICE}
|
newfs -U ${DEVICE}
|
||||||
mount -o noatime ${DEVICE} ${DESTDIR}
|
mount -o noatime ${DEVICE} ${DESTDIR}
|
||||||
|
|
||||||
# Additional file systems and initial mount points. Optional.
|
# Additional file systems and initial mount points. Optional.
|
||||||
DEVICE=/dev/da0s1e
|
DEVICE=/dev/daXYZs1e
|
||||||
mkdir -m 755 -p ${DESTDIR}/var
|
mkdir -m 755 -p ${DESTDIR}/var
|
||||||
chown root:wheel ${DESTDIR}/var
|
chown root:wheel ${DESTDIR}/var
|
||||||
newfs -U ${DEVICE}
|
newfs -U ${DEVICE}
|
||||||
mount -o noatime ${DEVICE} ${DESTDIR}/var
|
mount -o noatime ${DEVICE} ${DESTDIR}/var
|
||||||
|
|
||||||
DEVICE=/dev/da2s1e
|
DEVICE=/dev/daXYZs1e
|
||||||
mkdir -m 755 -p ${DESTDIR}/usr
|
mkdir -m 755 -p ${DESTDIR}/usr
|
||||||
chown root:wheel ${DESTDIR}/usr
|
chown root:wheel ${DESTDIR}/usr
|
||||||
newfs -U ${DEVICE}
|
newfs -U ${DEVICE}
|
||||||
|
@ -83,6 +91,9 @@ copy_files () {
|
||||||
# Add or remove from this list at your discretion. Mostly mandatory.
|
# Add or remove from this list at your discretion. Mostly mandatory.
|
||||||
for f in \
|
for f in \
|
||||||
/.profile \
|
/.profile \
|
||||||
|
/etc/devd.conf \
|
||||||
|
/etc/devd.rules \
|
||||||
|
/etc/exports \
|
||||||
/etc/group \
|
/etc/group \
|
||||||
/etc/hosts \
|
/etc/hosts \
|
||||||
/etc/inetd.conf \
|
/etc/inetd.conf \
|
||||||
|
@ -95,18 +106,17 @@ copy_files () {
|
||||||
/etc/profile \
|
/etc/profile \
|
||||||
/etc/rc.conf \
|
/etc/rc.conf \
|
||||||
/etc/resolv.conf \
|
/etc/resolv.conf \
|
||||||
/etc/start_if.xl0 \
|
/etc/src.conf \
|
||||||
|
/etc/sysctl.conf \
|
||||||
/etc/ttys \
|
/etc/ttys \
|
||||||
/etc/ppp/* \
|
|
||||||
/etc/mail/aliases \
|
/etc/mail/aliases \
|
||||||
/etc/mail/aliases.db \
|
/etc/mail/aliases.db \
|
||||||
/etc/mail/hal9000.mc \
|
/etc/mail/hal9000.mc \
|
||||||
/etc/mail/service.switch \
|
/etc/mail/service.switch \
|
||||||
/etc/ssh/*key* \
|
/etc/ssh/*key* \
|
||||||
/etc/ssh/*_config \
|
/etc/ssh/*_config \
|
||||||
/etc/X11/XF86Config-4 \
|
/etc/X11/xorg.conf \
|
||||||
/var/cron/tabs/* \
|
/var/cron/tabs/* \
|
||||||
/var/files \
|
|
||||||
/root/.profile \
|
/root/.profile \
|
||||||
/boot/*.bmp \
|
/boot/*.bmp \
|
||||||
/boot/loader.conf \
|
/boot/loader.conf \
|
||||||
|
@ -135,6 +145,20 @@ all_remaining_customization () {
|
||||||
mkdir -m 755 home; chown root:wheel home
|
mkdir -m 755 home; chown root:wheel home
|
||||||
mkdir -m 755 usr/ports; chown root:wheel usr/ports
|
mkdir -m 755 usr/ports; chown root:wheel usr/ports
|
||||||
|
|
||||||
|
# Create the ntp and slip log files.
|
||||||
|
touch ${DESTDIR}/var/log/ntp ${DESTDIR}/var/log/slip.log
|
||||||
|
|
||||||
|
# Make /usr/src point to the right directory. Optional.
|
||||||
|
# Note: some ports need part of the src tree, e.g. emulators/kqemu,
|
||||||
|
# sysutils/lsof, sysutils/fusefs, ...
|
||||||
|
cd ${DESTDIR}/usr
|
||||||
|
if test "${SRC}" != /usr/src; then
|
||||||
|
rmdir src; ln -s ${SRC}
|
||||||
|
fi
|
||||||
|
if test "${MAKEOBJDIRPREFIX}" != /usr/obj; then
|
||||||
|
rmdir obj; ln -s ${MAKEOBJDIRPREFIX}
|
||||||
|
fi
|
||||||
|
|
||||||
# My personal preference is to symlink tmp -> var/tmp. Optional.
|
# My personal preference is to symlink tmp -> var/tmp. Optional.
|
||||||
cd ${DESTDIR}; rmdir tmp; ln -s var/tmp
|
cd ${DESTDIR}; rmdir tmp; ln -s var/tmp
|
||||||
|
|
||||||
|
@ -145,39 +169,6 @@ all_remaining_customization () {
|
||||||
# If you do not have /home on a shared partition, you may want to copy it:
|
# If you do not have /home on a shared partition, you may want to copy it:
|
||||||
# mkdir -p ${DESTDIR}/home
|
# mkdir -p ${DESTDIR}/home
|
||||||
# cd /home; tar cf - . | (cd ${DESTDIR}/home; tar xpvf -)
|
# cd /home; tar cf - . | (cd ${DESTDIR}/home; tar xpvf -)
|
||||||
|
|
||||||
case ${REVISION} in
|
|
||||||
4.*)
|
|
||||||
# 4.x without devfs: create non-standard devices to match your hardware.
|
|
||||||
cd ${DESTDIR}/dev
|
|
||||||
./MAKEDEV all
|
|
||||||
./MAKEDEV da0 da0s1h da0s2h da0s3h da0s4h
|
|
||||||
./MAKEDEV da1 da1s1h da1s2h da1s3h da1s4h
|
|
||||||
./MAKEDEV da2 da2s1h da2s2h da2s3h da2s4h
|
|
||||||
./MAKEDEV da3 da3s1h da3s2h da3s3h da3s4h
|
|
||||||
./MAKEDEV bktr0 cd1
|
|
||||||
if test -d /dev/vinum; then
|
|
||||||
# 'vinum makedev' can only create devices in /dev, thus use cpio.
|
|
||||||
cd /dev; find vinum -print | cpio -pv ${DESTDIR}/dev
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Make the floppy group wheel writable.
|
|
||||||
chown root:wheel ${DESTDIR}/dev/fd0*
|
|
||||||
chmod g+w ${DESTDIR}/dev/fd0*
|
|
||||||
;;
|
|
||||||
|
|
||||||
5.*)
|
|
||||||
# Make the floppy group wheel writable.
|
|
||||||
printf '%s\n' 'own fd0 root:wheel' >> ${DESTDIR}/etc/devfs.conf
|
|
||||||
printf '%s\n' 'perm fd0 0660' >> ${DESTDIR}/etc/devfs.conf
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
printf '%s\n' "REVISION ${REVISION} not supported"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
|
|
||||||
esac
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# vim: tabstop=2:expandtab:shiftwidth=2:syntax=sh:
|
# vim: tabstop=2:expandtab:shiftwidth=2:syntax=sh:
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
#
|
#
|
||||||
# stage_1.sh - FreeBSD From Scratch, Stage 1: System Installation.
|
# stage_1.sh - FreeBSD From Scratch, Stage 1: System Installation.
|
||||||
# Usage: ./stage_1.sh profile
|
# Usage: ./stage_1.sh profile
|
||||||
# will read ./stage_1.conf.profile
|
# will read profile
|
||||||
# and write ./stage_1.log.profile
|
# and write ./stage_1.log.profile
|
||||||
#
|
#
|
||||||
# Author: Jens Schweikhardt
|
# Author: Jens Schweikhardt
|
||||||
# $Id: stage_1.sh,v 1.5 2004-07-19 21:02:26 schweikh Exp $
|
# $Id: stage_1.sh,v 1.6 2008-12-03 21:59:51 schweikh Exp $
|
||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
|
||||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
||||||
|
@ -16,7 +16,7 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
||||||
# a) Successfully completed "make buildworld" and "make buildkernel"
|
# a) Successfully completed "make buildworld" and "make buildkernel"
|
||||||
# b) Unused partitions (at least one for the root fs, probably more for
|
# b) Unused partitions (at least one for the root fs, probably more for
|
||||||
# the new /usr and /var, to your liking.)
|
# the new /usr and /var, to your liking.)
|
||||||
# c) A customized stage_1.conf.profile file.
|
# c) A customized profile file.
|
||||||
|
|
||||||
if test $# -ne 1; then
|
if test $# -ne 1; then
|
||||||
echo "usage: stage_1.sh profile" 1>&2
|
echo "usage: stage_1.sh profile" 1>&2
|
||||||
|
@ -30,7 +30,7 @@ fi
|
||||||
step_one () {
|
step_one () {
|
||||||
create_file_systems
|
create_file_systems
|
||||||
# Now create all the other directories. Mandatory.
|
# Now create all the other directories. Mandatory.
|
||||||
cd ${SRC}/etc; make distrib-dirs DESTDIR=${DESTDIR}
|
cd ${SRC}/etc; make distrib-dirs DESTDIR=${DESTDIR} TARGET=${TARGET}
|
||||||
}
|
}
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
# ---------------------------------------------------------------------------- #
|
||||||
|
@ -73,12 +73,7 @@ step_two () {
|
||||||
|
|
||||||
step_three () {
|
step_three () {
|
||||||
cd ${SRC}
|
cd ${SRC}
|
||||||
make installworld DESTDIR=${DESTDIR}
|
make installworld DESTDIR=${DESTDIR} TARGET=${TARGET}
|
||||||
# Install additional compatibility libraries (optional). Use this if you
|
|
||||||
# have programs dynamically linked against libc.so.4, i.e. if you see
|
|
||||||
# /usr/libexec/ld-elf.so.1: Shared object "libc.so.4" not found
|
|
||||||
cd lib/compat/compat4x.i386
|
|
||||||
make all install DESTDIR=${DESTDIR}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
# ---------------------------------------------------------------------------- #
|
||||||
|
@ -91,7 +86,7 @@ step_four () {
|
||||||
# If you have not copied them in Step 2, cp them as shown in the next 2 lines.
|
# If you have not copied them in Step 2, cp them as shown in the next 2 lines.
|
||||||
# cp sys/boot/forth/loader.conf ${DESTDIR}/boot/defaults
|
# cp sys/boot/forth/loader.conf ${DESTDIR}/boot/defaults
|
||||||
# cp sys/i386/conf/GENERIC.hints ${DESTDIR}/boot/device.hints
|
# cp sys/i386/conf/GENERIC.hints ${DESTDIR}/boot/device.hints
|
||||||
make installkernel DESTDIR=${DESTDIR} KERNCONF=${KERNCONF}
|
make installkernel DESTDIR=${DESTDIR} KERNCONF=${KERNCONF} TARGET=${TARGET}
|
||||||
}
|
}
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------- #
|
# ---------------------------------------------------------------------------- #
|
||||||
|
@ -118,6 +113,7 @@ step_six () {
|
||||||
|
|
||||||
do_steps () {
|
do_steps () {
|
||||||
echo "PROFILE=${PROFILE}"
|
echo "PROFILE=${PROFILE}"
|
||||||
|
echo "TARGET=${TARGET}"
|
||||||
echo "DESTDIR=${DESTDIR}"
|
echo "DESTDIR=${DESTDIR}"
|
||||||
echo "SRC=${SRC}"
|
echo "SRC=${SRC}"
|
||||||
echo "KERNCONF=${KERNCONF}"
|
echo "KERNCONF=${KERNCONF}"
|
||||||
|
@ -140,28 +136,28 @@ do_steps () {
|
||||||
|
|
||||||
PROFILE="$1"
|
PROFILE="$1"
|
||||||
set -x -e -u # Stop for any error or use of an undefined variable.
|
set -x -e -u # Stop for any error or use of an undefined variable.
|
||||||
. ./stage_1.conf.${PROFILE}
|
. ${PROFILE}
|
||||||
|
|
||||||
# Determine a few variables from the sources that were used to make the
|
# Determine a few variables from the sources that were used to make the
|
||||||
# world. The variables can be used to modify actions, e.g. depending on
|
# world. The variables can be used to modify actions, e.g. depending on
|
||||||
# whether we install a 4.x or 5.x system. The __FreeBSD_version numbers
|
# the system's version. The __FreeBSD_version numbers
|
||||||
# for RELDATE are documented in the Porter's Handbook,
|
# for RELDATE are documented in the Porter's Handbook,
|
||||||
# doc/en_US.ISO8859-1/books/porters-handbook/freebsd-versions.html.
|
# doc/en_US.ISO8859-1/books/porters-handbook/freebsd-versions.html.
|
||||||
# Scheme is: <major><two digit minor><0 if release branch, otherwise 1>xx
|
# Scheme is: <major><two digit minor><0 if release branch, otherwise 1>xx
|
||||||
# The result will be something like
|
# The result will be something like
|
||||||
#
|
#
|
||||||
# TYPE="FreeBSD"
|
# TYPE="FreeBSD"
|
||||||
# REVISION="4.9"
|
# REVISION="8.0"
|
||||||
# BRANCH="RC" { "CURRENT", "STABLE", "RELEASE" }
|
# BRANCH="RC" { "CURRENT", "STABLE", "RELEASE" }
|
||||||
# RELDATE="502101"
|
# RELDATE="800028"
|
||||||
#
|
#
|
||||||
eval $(awk '/^(TYPE|REVISION|BRANCH)=/' ${SRC}/sys/conf/newvers.sh)
|
eval $(awk '/^(TYPE|REVISION|BRANCH)=/' ${SRC}/sys/conf/newvers.sh)
|
||||||
RELDATE=$(awk '/^[ \t]*#[ \t]*define[ \t][ \t]*__FreeBSD_version[ \t]/ {
|
RELDATE=$(awk '/^[ \t]*#[ \t]*define[ \t][ \t]*__FreeBSD_version[ \t]/ {
|
||||||
print $3
|
print $3
|
||||||
}' ${SRC}/sys/sys/param.h)
|
}' ${SRC}/sys/sys/param.h)
|
||||||
|
|
||||||
echo "=> Logging to stage_1.log.${PROFILE}"
|
echo "=> Logging to stage_1.${PROFILE}.log"
|
||||||
do_steps 2>&1 | tee stage_1.log.${PROFILE}
|
do_steps 2>&1 | tee "stage_1.${PROFILE}.log"
|
||||||
|
|
||||||
# vim: tabstop=2:expandtab:shiftwidth=2:
|
# vim: tabstop=2:expandtab:shiftwidth=2:
|
||||||
# EOF $RCSfile: stage_1.sh,v $
|
# EOF $RCSfile: stage_1.sh,v $
|
||||||
|
|
|
@ -1,85 +1,99 @@
|
||||||
# vim: syntax=sh
|
# vim: syntax=sh
|
||||||
# $Id: stage_2.conf.default,v 1.3 2004-07-19 20:42:13 schweikh Exp $
|
# $Id: stage_2.conf.default,v 1.4 2008-12-03 21:59:51 schweikh Exp $
|
||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
ports-mgmt portaudit
|
||||||
|
devel ccache
|
||||||
shells zsh
|
shells zsh
|
||||||
devel gettext make BATCH=yes install
|
devel gettext
|
||||||
lang perl5.8 make install; use.perl port
|
|
||||||
archivers unzip
|
archivers unzip
|
||||||
archivers zip
|
archivers zip
|
||||||
security sudo
|
security sudo
|
||||||
x11-servers XFree86-4-Server
|
x11 xorg
|
||||||
x11 wrapper
|
x11-servers xorg-server
|
||||||
x11 XFree86-4-clients
|
x11-fonts xorg-fonts-100dpi
|
||||||
x11 XFree86-4-documents
|
x11-fonts xorg-fonts-75dpi
|
||||||
x11-fonts XFree86-4-font75dpi
|
x11-fonts xorg-fonts-miscbitmaps
|
||||||
x11-fonts XFree86-4-font100dpi
|
x11-fonts xorg-fonts-truetype
|
||||||
x11-fonts XFree86-4-fontScalable
|
x11-fonts xorg-fonts-type1
|
||||||
|
x11-fonts gnu-unifont make install && mkfontdir /usr/local/lib/X11/fonts/local
|
||||||
x11-fonts urwfonts
|
x11-fonts urwfonts
|
||||||
x11-fonts webfonts make WITH_NETSCAPE_ALIASES=yes install
|
x11-fonts webfonts
|
||||||
x11-toolkits open-motif
|
x11-toolkits open-motif
|
||||||
x11-wm ctwm
|
x11-wm ctwm
|
||||||
|
x11 wdm
|
||||||
security openssh-askpass
|
security openssh-askpass
|
||||||
astro xplanet
|
astro xplanet
|
||||||
astro xephem
|
astro xephem
|
||||||
editors vim
|
editors vim
|
||||||
print ghostscript-gnu make A4=yes BATCH=yes install
|
print ghostscript8
|
||||||
print psutils-a4
|
print psutils-a4
|
||||||
print a2ps-a4
|
print a2ps-a4
|
||||||
print gv
|
print gv
|
||||||
print acroread5
|
|
||||||
print transfig
|
print transfig
|
||||||
print teTeX
|
print teTeX
|
||||||
# NOTE: jdk14 needs linprocfs(5) mounted or it will hang indefinitely.
|
print cups-base
|
||||||
java linux-sun-jdk14 mount -a linproc; yes | make install
|
emulators linux_base-fc6
|
||||||
java jdk14 mount -a linproc; make -DNODEBUG install
|
print acroread8 yes accept | make install PAGER=ls
|
||||||
www apache2
|
java jdk16 echo true > files/license.sh; make install BATCH=yes < /dev/null
|
||||||
www weblint
|
www apache22
|
||||||
www amaya
|
www amaya
|
||||||
www firefox make BATCH=yes install
|
www firefox3
|
||||||
www mozilla make WITHOUT_MAILNEWS=yes WITHOUT_COMPOSER=yes WITHOUT_LDAP=yes WITHOUT_CHATZILLA=yes WITHOUT_XMLTERM=yes install
|
|
||||||
www checkbot
|
www checkbot
|
||||||
www privoxy
|
www p5-HTML-Parser
|
||||||
|
www validator
|
||||||
|
www mplayer-plugin
|
||||||
|
math p5-Math-Combinatorics
|
||||||
|
math p5-Bit-Vector
|
||||||
|
graphics evince
|
||||||
graphics xfig
|
graphics xfig
|
||||||
graphics xv
|
graphics xv
|
||||||
|
graphics gphoto2
|
||||||
multimedia xawtv
|
multimedia xawtv
|
||||||
graphics graphviz
|
|
||||||
lang expect
|
lang expect
|
||||||
lang gawk
|
lang gawk
|
||||||
lang TenDRA unset MAKEOBJDIRPREFIX; make install
|
lang python
|
||||||
news tin
|
news tin
|
||||||
net freebsd-uucp
|
net freebsd-uucp
|
||||||
net cvsup-without-gui
|
net cvsup-without-gui
|
||||||
net pathchar make NO_CHECKSUM=yes install
|
net rsync
|
||||||
ftp wget
|
ftp wget
|
||||||
textproc ispell
|
textproc ispell
|
||||||
german ispell-neu
|
german ispell-neu
|
||||||
german ispell-alt
|
german ispell-alt
|
||||||
textproc docproj make JADETEX=no HAVE_MOTIF=yes BATCH=yes install < /dev/null
|
textproc docproj
|
||||||
sysutils samefile
|
sysutils samefile
|
||||||
sysutils lsof
|
sysutils smartmontools
|
||||||
sysutils pstree
|
sysutils pstree
|
||||||
sysutils cdrtools
|
sysutils cdrtools
|
||||||
|
sysutils dvd+rw-tools
|
||||||
sysutils grub
|
sysutils grub
|
||||||
sysutils smartmontools
|
sysutils lsof
|
||||||
sysutils vobcopy
|
devel subversion-freebsd
|
||||||
|
devel bcc
|
||||||
devel ddd
|
devel ddd
|
||||||
devel gindent
|
devel gindent
|
||||||
devel ctags
|
devel ctags
|
||||||
devel ElectricFence
|
devel ElectricFence
|
||||||
devel strace
|
devel strace
|
||||||
devel perltidy
|
devel perltidy
|
||||||
mail procmail make BATCH=yes install
|
mail procmail
|
||||||
mail metamail
|
mail metamail
|
||||||
mail mutt-devel
|
mail mutt-devel
|
||||||
emulators mtools
|
ports-mgmt portupgrade
|
||||||
sysutils portupgrade
|
news inn CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make BATCH=yes install < /dev/null
|
||||||
news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make install
|
|
||||||
misc figlet-fonts
|
misc figlet-fonts
|
||||||
security gpa
|
security gpa
|
||||||
mail spamoracle
|
mail spamoracle
|
||||||
multimedia mplayer make WITHOUT_RUNTIME_CPUDETECTION=yes WITH_GUI=yes BATCH=yes install
|
textproc rman
|
||||||
|
multimedia mplayer
|
||||||
multimedia mplayer-fonts
|
multimedia mplayer-fonts
|
||||||
audio wavplay
|
multimedia acidrip
|
||||||
games xmahjongg
|
multimedia ogle
|
||||||
games xdemineur
|
multimedia ogle-gui
|
||||||
editors openoffice-1.1
|
audio pacpl
|
||||||
|
audio p5-CDDB_get
|
||||||
|
audio cowbell
|
||||||
|
shells bash
|
||||||
|
editors openoffice.org-3-RC
|
||||||
|
java eclipse
|
||||||
|
java netbeans
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
# stage_3.mk - FreeBSD From Scratch, Stage 3: Ports Post-Configuration.
|
# stage_3.mk - FreeBSD From Scratch, Stage 3: Ports Post-Configuration.
|
||||||
# Usage: make -f stage_3.mk all (config everything)
|
# Usage: make -f stage_3.mk all (configure everything)
|
||||||
# or make -f stage_3.mk target (to just config target)
|
# or make -f stage_3.mk target (just configure target)
|
||||||
#
|
#
|
||||||
# Author: Jens Schweikhardt
|
# Author: Jens Schweikhardt
|
||||||
#
|
#
|
||||||
# It is a good idea to make sure any target can be made more than
|
# It is a good idea to make sure any target can be made more than
|
||||||
# once without ill effect.
|
# once without ill effect.
|
||||||
#
|
#
|
||||||
# $Id: stage_3.mk,v 1.4 2004-07-19 20:42:14 schweikh Exp $
|
# $Id: stage_3.mk,v 1.5 2008-12-03 21:59:51 schweikh Exp $
|
||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
|
||||||
.POSIX:
|
.POSIX:
|
||||||
|
@ -15,62 +15,78 @@
|
||||||
message:
|
message:
|
||||||
@echo "Please use one of the following targets:"
|
@echo "Please use one of the following targets:"
|
||||||
@echo "config_apache"
|
@echo "config_apache"
|
||||||
|
@echo "config_cups"
|
||||||
@echo "config_firefox"
|
@echo "config_firefox"
|
||||||
@echo "config_inn"
|
@echo "config_inn"
|
||||||
@echo "config_javaplugin"
|
@echo "config_javaplugin"
|
||||||
@echo "config_nullplugin"
|
@echo "config_openoffice"
|
||||||
@echo "config_privoxy"
|
|
||||||
@echo "config_smartd"
|
|
||||||
@echo "config_sudo"
|
@echo "config_sudo"
|
||||||
@echo "config_TeX"
|
@echo "config_TeX"
|
||||||
@echo "config_tin"
|
@echo "config_tin"
|
||||||
|
@echo "config_wdm"
|
||||||
@echo "config_uucp"
|
@echo "config_uucp"
|
||||||
@echo "all -- all of the above"
|
@echo "all -- all of the above"
|
||||||
|
|
||||||
|
|
||||||
all: \
|
all: \
|
||||||
config_apache \
|
config_apache \
|
||||||
|
config_cups \
|
||||||
config_firefox \
|
config_firefox \
|
||||||
config_inn \
|
config_inn \
|
||||||
config_javaplugin \
|
config_javaplugin \
|
||||||
config_nullplugin \
|
config_openoffice \
|
||||||
config_privoxy \
|
|
||||||
config_smartd \
|
|
||||||
config_sudo \
|
config_sudo \
|
||||||
config_TeX \
|
config_TeX \
|
||||||
config_tin \
|
config_tin \
|
||||||
|
config_wdm \
|
||||||
config_uucp
|
config_uucp
|
||||||
|
|
||||||
|
APACHE = apache22
|
||||||
config_apache:
|
config_apache:
|
||||||
# 1. Modify httpd.conf.
|
# 1. Modify httpd.conf.
|
||||||
perl -pi \
|
perl -pi \
|
||||||
-e 's/^\s*ServerAdmin.*/ServerAdmin schweikh\@schweikhardt.net/;' \
|
-e 's/^\s*ServerAdmin.*/ServerAdmin schweikh\@schweikhardt.net/;' \
|
||||||
|
-e 's/^#?ServerName .*/ServerName hal9000.schweikhardt.net:80/;' \
|
||||||
-e 's/^\s*Listen.*/Listen 127.0.0.1:80/;' \
|
-e 's/^\s*Listen.*/Listen 127.0.0.1:80/;' \
|
||||||
-e 's/^\s*StartServers.*/StartServers 2/;' \
|
-e 's/^\s*Deny from all/ Allow from 127.0.0.1/i;' \
|
||||||
-e 's/^\s*MinSpareServers.*/MinSpareServers 2/;' \
|
-e 's,/usr/local/www/$(APACHE)/cgi-bin/,/home/opt/www/cgi-bin/,;' \
|
||||||
-e 's,/usr/local/www/cgi-bin/,/home/opt/www/cgi-bin/,;' \
|
/usr/local/etc/$(APACHE)/httpd.conf
|
||||||
/usr/local/etc/apache2/httpd.conf
|
cp w3c-validator.conf /usr/local/etc/$(APACHE)/Includes
|
||||||
# 2. Restore symlinks to web pages.
|
# 2. Restore symlinks to web pages.
|
||||||
cd /usr/local/www/data; \
|
cd /usr/local/www/$(APACHE)/data && \
|
||||||
ln -fs /home/schweikh/prj/homepage schweikhardt.net; \
|
ln -fs /home/schweikh/prj/homepage schweikhardt.net && \
|
||||||
ln -fs /home/opt/www/test .
|
ln -fs /home/opt/www/test .
|
||||||
|
# 3. Restore W3C Validator config.
|
||||||
|
mkdir -p /etc/w3c
|
||||||
|
cp /usr/local/www/validator/htdocs/config/validator.conf.sample \
|
||||||
|
/etc/w3c/validator.conf
|
||||||
|
perl -pi \
|
||||||
|
-e 's/^Allow Private IPs.*/Allow Private IPs = yes/;' \
|
||||||
|
/etc/w3c/validator.conf
|
||||||
# Test if the httpd.conf has changed.
|
# Test if the httpd.conf has changed.
|
||||||
@if ! cmp -s /usr/local/etc/apache2/httpd.conf httpd.conf; then \
|
@if ! cmp -s /usr/local/etc/$(APACHE)/httpd.conf httpd.conf; then \
|
||||||
echo "ATTENTION: the httpd.conf has changed. Please examine if"; \
|
echo "ATTENTION: the httpd.conf has changed. Please examine if"; \
|
||||||
echo "the modifications are still correct. Here is the diff:"; \
|
echo "the modifications are still correct. If so you can simply"; \
|
||||||
diff -u /usr/local/etc/apache2/httpd.conf httpd.conf; \
|
echo "cp /usr/local/etc/$(APACHE)/httpd.conf httpd.conf"; \
|
||||||
|
echo "to make this message go away. Here is the diff:"; \
|
||||||
|
diff -u /usr/local/etc/$(APACHE)/httpd.conf httpd.conf; \
|
||||||
fi
|
fi
|
||||||
if test -f /var/run/httpd.pid; then \
|
if test -f /var/run/httpd.pid; then \
|
||||||
/usr/local/etc/rc.d/apache2.sh stop; \
|
/usr/local/etc/rc.d/$(APACHE) stop; \
|
||||||
/usr/local/etc/rc.d/apache2.sh start; \
|
/usr/local/etc/rc.d/$(APACHE) start; \
|
||||||
else \
|
else \
|
||||||
/usr/local/etc/rc.d/apache2.sh start; \
|
/usr/local/etc/rc.d/$(APACHE) start; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# The original ppd file is from http://www.cups.org/ppd.php?L63+I0+T+Q2300
|
||||||
|
# = http://www.cups.org/ppd/hp/de/hpc2325s.ppd.gz
|
||||||
|
config_cups:
|
||||||
|
chmod 644 /usr/local/etc/cups/cupsd.conf
|
||||||
|
cp printers.conf /usr/local/etc/cups/printers.conf
|
||||||
|
cp LaserJet_2300d.ppd /usr/local/etc/cups/ppd/LaserJet_2300d.ppd
|
||||||
|
|
||||||
config_firefox:
|
config_firefox:
|
||||||
# Make this group wheel writable to allow extensions being installed.
|
# Make this group wheel writable to allow extensions being installed.
|
||||||
chmod -R g+w /usr/X11R6/lib/firefox/lib/mozilla-1.6/chrome
|
chmod -R g+w /usr/local/lib/firefox3/chrome
|
||||||
|
|
||||||
config_inn:
|
config_inn:
|
||||||
pw usermod -n news -d /usr/local/news -s /bin/sh
|
pw usermod -n news -d /usr/local/news -s /bin/sh
|
||||||
|
@ -82,7 +98,7 @@ config_inn:
|
||||||
/share/news/db
|
/share/news/db
|
||||||
chown -R news:news /share/news
|
chown -R news:news /share/news
|
||||||
# Give the news system its initial configuration.
|
# Give the news system its initial configuration.
|
||||||
cd /home/root/setup; \
|
cd /home/root/setup && \
|
||||||
if test ! -f /share/news/db/active; then \
|
if test ! -f /share/news/db/active; then \
|
||||||
echo "installing /share/news/db/active"; \
|
echo "installing /share/news/db/active"; \
|
||||||
install -C -o news -g news -m 664 active /share/news/db; \
|
install -C -o news -g news -m 664 active /share/news/db; \
|
||||||
|
@ -91,18 +107,14 @@ config_inn:
|
||||||
echo "installing /share/news/db/newsgroups"; \
|
echo "installing /share/news/db/newsgroups"; \
|
||||||
install -C -o news -g news -m 664 newsgroups /share/news/db; \
|
install -C -o news -g news -m 664 newsgroups /share/news/db; \
|
||||||
fi
|
fi
|
||||||
# The innd.sh that comes with the port is broken, it
|
|
||||||
# checks for history.pag which does not exist.
|
|
||||||
cd /home/root/setup; \
|
|
||||||
install -C -o root -g wheel -m 555 innd.sh /usr/local/etc/rc.d
|
|
||||||
# Configure storage method.
|
# Configure storage method.
|
||||||
cd /home/root/setup; \
|
cd /home/root/setup && \
|
||||||
printf "%s\n%s\n%s\n%s\n" \
|
printf "%s\n%s\n%s\n%s\n" \
|
||||||
"method tradspool {" \
|
"method tradspool {" \
|
||||||
" newsgroups: *" \
|
" newsgroups: *" \
|
||||||
" class: 0" \
|
" class: 0" \
|
||||||
"}" \
|
"}" \
|
||||||
>storage.conf; \
|
>storage.conf && \
|
||||||
install -C -o news -g news -m 664 storage.conf /usr/local/news/etc
|
install -C -o news -g news -m 664 storage.conf /usr/local/news/etc
|
||||||
# Configure newsfeeds.
|
# Configure newsfeeds.
|
||||||
printf "%s\n%s\n" \
|
printf "%s\n%s\n" \
|
||||||
|
@ -122,7 +134,7 @@ config_inn:
|
||||||
/usr/local/news/etc/inn.conf
|
/usr/local/news/etc/inn.conf
|
||||||
# Create empty history, if none there.
|
# Create empty history, if none there.
|
||||||
# See post-install in /usr/ports/news/inn-stable/Makefile.
|
# See post-install in /usr/ports/news/inn-stable/Makefile.
|
||||||
cd /share/news/db; \
|
set -e; cd /share/news/db; \
|
||||||
if test ! -f history; then \
|
if test ! -f history; then \
|
||||||
touch history; \
|
touch history; \
|
||||||
chmod 644 history; \
|
chmod 644 history; \
|
||||||
|
@ -135,49 +147,36 @@ config_inn:
|
||||||
# Configure send-uucp.
|
# Configure send-uucp.
|
||||||
echo shuttle:shuttle >/usr/local/news/etc/send-uucp.cf
|
echo shuttle:shuttle >/usr/local/news/etc/send-uucp.cf
|
||||||
# Satisfy inncheck:
|
# Satisfy inncheck:
|
||||||
cd /usr/local/news/etc; \
|
set -e; cd /usr/local/news/etc; \
|
||||||
chown news:news *; \
|
chown news:news *; \
|
||||||
chmod 640 control.ctl expire.ctl nntpsend.ctl readers.conf
|
chmod 640 control.ctl expire.ctl nntpsend.ctl readers.conf
|
||||||
/usr/local/news/bin/inncheck
|
/usr/local/news/bin/inncheck
|
||||||
# Test if the inn.conf has changed.
|
# Test if the inn.conf has changed.
|
||||||
@if ! cmp -s /usr/local/news/etc/inn.conf inn.conf; then \
|
@if ! cmp -s /usr/local/news/etc/inn.conf inn.conf; then \
|
||||||
echo "ATTENTION: the inn.conf has changed. Please examine if"; \
|
echo "ATTENTION: the inn.conf has changed. Please examine if"; \
|
||||||
echo "the modifications are still correct. Here is the diff:"; \
|
echo "the modifications are still correct. If so you can simply"; \
|
||||||
|
echo "cp /usr/local/news/etc/inn.conf inn.conf"; \
|
||||||
|
echo "to make this message go away. Here is the diff:"; \
|
||||||
diff -u /usr/local/news/etc/inn.conf inn.conf; \
|
diff -u /usr/local/news/etc/inn.conf inn.conf; \
|
||||||
fi
|
fi
|
||||||
if ! test -f /usr/local/news/run/innd.pid; then \
|
if ! test -f /usr/local/news/run/innd.pid; then \
|
||||||
/usr/local/etc/rc.d/innd.sh start; \
|
/usr/local/etc/rc.d/innd start; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
config_javaplugin:
|
config_javaplugin:
|
||||||
# Mozilla Firefox:
|
cd /usr/local/lib/firefox3/plugins && \
|
||||||
cd /usr/X11R6/lib/firefox/lib/mozilla-1.6/plugins; \
|
ln -fs /usr/local/jdk1.6.0/jre/plugin/$$(uname -m)/ns7/libjavaplugin_oji.so
|
||||||
ln -fs /usr/local/jdk1.4.2/jre/plugin/i386/ns610/libjavaplugin_oji.so
|
|
||||||
# Plain Mozilla:
|
|
||||||
#cd /usr/X11R6/lib/mozilla/plugins; \
|
|
||||||
#ln -fs /usr/local/jdk1.4.2/jre/plugin/i386/ns610/libjavaplugin_oji.so
|
|
||||||
|
|
||||||
# Move the nullplugin out of the way. With a .mozilla/*/*/prefs.js entry of
|
config_openoffice:
|
||||||
# user_pref("plugin.display_plugin_downloader_dialog", false);
|
# Copy some truetype files so ooo can use them.
|
||||||
# this suppresses popup dialogs for unavailable plugins (flash, ...)
|
find /usr/local/openoffice.org* -type d -name truetype \
|
||||||
config_nullplugin:
|
-exec echo cp *.ttf {} \; -exec cp *.ttf {} \;
|
||||||
find /usr/X11R6/lib -name libnullplugin.so -exec mv {} {}.orig \;
|
|
||||||
|
|
||||||
config_privoxy:
|
|
||||||
install -C -o root -g wheel -m 644 conf/privoxy/config \
|
|
||||||
/usr/local/etc/privoxy
|
|
||||||
install -C -o root -g wheel -m 755 conf/privoxy/privoxy.sh \
|
|
||||||
/usr/local/etc/rc.d
|
|
||||||
/usr/local/etc/rc.d/privoxy.sh restart
|
|
||||||
|
|
||||||
config_smartd:
|
|
||||||
cp smartd.sh /usr/local/etc/rc.d/smartd.sh
|
|
||||||
cp smartd.conf /usr/local/etc/smartd.conf
|
|
||||||
|
|
||||||
config_sudo:
|
config_sudo:
|
||||||
if ! grep -q schweikh /usr/local/etc/sudoers; then \
|
if ! grep -q schweikh /usr/local/etc/sudoers; then \
|
||||||
echo 'schweikh ALL = (ALL) NOPASSWD: ALL' >> /usr/local/etc/sudoers; \
|
echo 'schweikh ALL = (ALL) NOPASSWD: ALL' >> /usr/local/etc/sudoers; \
|
||||||
fi
|
fi
|
||||||
|
chmod 440 /usr/local/etc/sudoers
|
||||||
|
|
||||||
config_TeX:
|
config_TeX:
|
||||||
# textproc/docproj advises: to typeset the FreeBSD Handbook with JadeTeX,
|
# textproc/docproj advises: to typeset the FreeBSD Handbook with JadeTeX,
|
||||||
|
@ -192,7 +191,9 @@ config_TeX:
|
||||||
# Test if the texmf.cnf has changed.
|
# Test if the texmf.cnf has changed.
|
||||||
@if ! cmp -s /usr/local/share/texmf/web2c/texmf.cnf texmf.cnf; then \
|
@if ! cmp -s /usr/local/share/texmf/web2c/texmf.cnf texmf.cnf; then \
|
||||||
echo "ATTENTION: the texmf.cnf has changed. Please examine if"; \
|
echo "ATTENTION: the texmf.cnf has changed. Please examine if"; \
|
||||||
echo "the modifications are still correct. Here is the diff:"; \
|
echo "the modifications are still correct. If so you can simply"; \
|
||||||
|
echo "cp /usr/local/share/texmf/web2c/texmf.cnf texmf.cnf"; \
|
||||||
|
echo "to make this message go away. Here is the diff:"; \
|
||||||
diff -u /usr/local/share/texmf/web2c/texmf.cnf texmf.cnf; \
|
diff -u /usr/local/share/texmf/web2c/texmf.cnf texmf.cnf; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -204,17 +205,33 @@ config_tin:
|
||||||
"spooldir=/share/news/spool/articles" \
|
"spooldir=/share/news/spool/articles" \
|
||||||
>/usr/local/etc/tin.defaults
|
>/usr/local/etc/tin.defaults
|
||||||
|
|
||||||
|
config_wdm:
|
||||||
|
cp daemon1-JS-1600x1200.jpg FreeBSD_small.png \
|
||||||
|
/usr/local/lib/X11/wdm/pixmaps
|
||||||
|
perl -pi \
|
||||||
|
-e 's,^(DisplayManager\*wdmBg:).*,\1 pixmap:/usr/local/lib/X11/wdm/pixmaps/daemon1-JS-1600x1200.jpg,;' \
|
||||||
|
-e 's,^(DisplayManager\*wdmLogo:).*,\1 /usr/local/lib/X11/wdm/pixmaps/FreeBSD_small.png,;' \
|
||||||
|
-e 's,^(DisplayManager\*wdmWm:).*,\1 ctwm:icewm:xfce4:tvtwm,;' \
|
||||||
|
/usr/local/lib/X11/wdm/wdm-config
|
||||||
|
@if ! cmp -s /usr/local/lib/X11/wdm/wdm-config wdm-config; then \
|
||||||
|
echo "ATTENTION: the wdm-config has changed. Please examine if"; \
|
||||||
|
echo "the modifications are still correct. If so you can simply"; \
|
||||||
|
echo "cp /usr/local/lib/X11/wdm/wdm-config wdm-config"; \
|
||||||
|
echo "to make this message go away. Here is the diff:"; \
|
||||||
|
diff -u /usr/local/lib/X11/wdm/wdm-config wdm-config; \
|
||||||
|
fi
|
||||||
|
|
||||||
config_uucp:
|
config_uucp:
|
||||||
cd /etc/mail; make install SENDMAIL_MC=/etc/mail/hal9000.mc
|
cd /etc/mail && make install SENDMAIL_MC=/etc/mail/hal9000.mc
|
||||||
# Make the uucp user's shell the correct uucico, so su(1) works.
|
# Make the uucp user's shell the correct uucico, so su(1) works.
|
||||||
chpass -s /usr/local/libexec/uucp/uucico uucp
|
chpass -s /usr/local/libexec/uucp/uucico uucp
|
||||||
# UUCP expects to find /usr/bin/rnews.
|
# UUCP expects to find /usr/bin/rnews.
|
||||||
cd /usr/bin; ln -fs ../local/news/bin/rnews .
|
cd /usr/bin && ln -fs ../local/news/bin/rnews .
|
||||||
# Actual UUCP configuration.
|
# Actual UUCP configuration.
|
||||||
echo nodename js2015 > /usr/local/etc/uucp/config
|
echo nodename js2015 > /usr/local/etc/uucp/config
|
||||||
echo shuttle js2015 `cat uucp` > /usr/local/etc/uucp/call
|
echo shuttle js2015 `cat uucp` > /usr/local/etc/uucp/call
|
||||||
printf 'port tcp\ntype tcp\n' > /usr/local/etc/uucp/port
|
printf 'port tcp\ntype tcp\n' > /usr/local/etc/uucp/port
|
||||||
printf "%s\n%s\n%s\n%s\n%s\n%s\n%s\n" \
|
printf "%s\n" \
|
||||||
"call-login *" \
|
"call-login *" \
|
||||||
"call-password *" \
|
"call-password *" \
|
||||||
"time any" \
|
"time any" \
|
||||||
|
@ -223,9 +240,13 @@ config_uucp:
|
||||||
"commands rmail rnews" \
|
"commands rmail rnews" \
|
||||||
"port tcp" \
|
"port tcp" \
|
||||||
>/usr/local/etc/uucp/sys
|
>/usr/local/etc/uucp/sys
|
||||||
cd /usr/local/etc/uucp; chown uucp:uucp *; chmod o-rwx *
|
cd /usr/local/etc/uucp && chown uucp:uucp * && chmod o-rwx *
|
||||||
# Trigger uucico after booting.
|
# Trigger uucico after booting.
|
||||||
mkdir -p /usr/local/etc/rc.d; cp uucp.sh /usr/local/etc/rc.d
|
mkdir -p /usr/local/etc/rc.d
|
||||||
|
cp uucp.sh /usr/local/etc/rc.d
|
||||||
|
# Rebuild the aliases.db.
|
||||||
|
cp aliases /etc/mail/aliases
|
||||||
|
newaliases
|
||||||
|
|
||||||
# vim: tabstop=4:
|
# vim: tabstop=4:
|
||||||
# EOF $RCSfile: stage_3.mk,v $
|
# EOF $RCSfile: stage_3.mk,v $
|
||||||
|
|
Loading…
Reference in a new issue