Release Engineering: nrelease and GUI build adjustments
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 9 Feb 2009 06:00:39 +0000 (22:00 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 9 Feb 2009 06:00:39 +0000 (22:00 -0800)
* Add a 'restartpkgs' target to the nrelease Makefile

* If /usr/src is not owned by root properly chown cpdup'd files to root.

* Quiet superfluous errors during certain tests

* Gui build: Do not automatically start X.  Provide instructions instead.
  Otherwise the DVD can take forever to boot.  Remove related hacks.

* Gui build: Change the default shell to csh.

nrelease/Makefile
nrelease/gui/etc/issue [new file with mode: 0644]
nrelease/gui/etc/master.passwd
nrelease/gui/etc/ttys
nrelease/gui/root/.zshrc

index b35caf8..f24c4ef 100644 (file)
@@ -154,10 +154,13 @@ realquickrel:     check clean buildiso syssrcs customizeiso \
                mkaliases mklocatedb \
                mkiso mkimg
 
+restartpkgs:   check customizeiso mkaliases mklocatedb mkiso mkimg
+
 quick:         quickrel
 
 realquick:     realquickrel
 
+
 #########################################################################
 #                         CORE SUPPORT TARGETS                         #
 #########################################################################
@@ -178,7 +181,8 @@ check:
 .endif
 .if !defined(PKGSRC_PATH)
        @echo "Please set PKGSRC_PATH to the pkgsrc tree that shall be used for"
-       @echo "package building."
+       @echo "package building.  For example /usr/pkgsrc.  See the Makefile"
+       @echo "in /usr if you are unfamiliar with pkgsrc."
 .endif
 .if !exists(${PKGSRC_PKG_PATH}/${CVSUP_BOOTSTRAP_KIT}.tgz)
        @exit 1
@@ -263,9 +267,17 @@ syssrcs:
        ( cd ${.CURDIR}/../..; tar -cf - src/Makefile src/Makefile.inc1 src/sys | bzip2 -9 > ${ISOROOT}/usr/src-sys.tar.bz2 )
 .endif
 
+# Customize the ISO by copying rootskels in reverse priority order,
+# building packages, and doing other post-install tasks.
+#
 customizeiso:
+       # Copy the rootskels.  Allow sources to be owned by someone other
+       # then root (as is common when checked out via git).
+       #
 .for ROOTSKEL in ${ROOTSKELS}
        cpdup -X cpignore -o ${ROOTSKEL} ${ISOROOT}
+       @test -O ${.CURDIR} || echo "chowning copied files to root:wheel"
+       @test -O ${.CURDIR} || ((cd ${ROOTSKEL} && find .) | fgrep -v cpignore | (cd ${ISOROOT} && xargs chown root:wheel))
 .endfor
        (cd ${PKGSRC_PKG_PATH}; tar xzpf ${CVSUP_BOOTSTRAP_KIT}.tgz)
        cp -p ${PKGSRC_PKG_PATH}/${CVSUP_BOOTSTRAP_KIT}/usr/local/bin/cvsup ${ISOROOT}/usr/local/bin/cvsup
@@ -306,10 +318,10 @@ customizeiso:
        mkdir -p ${ISOROOT}/usr/pkgobj/bootstrap/work
        mkdir -p ${ISOROOT}/usr/pkgsrc
        mount_null ${PKGSRC_PATH} ${ISOROOT}/usr/pkgsrc
-       cp /etc/shells ${ISOROOT}/usr/pkgsrc/distfiles/.test || \
-               mount_null ${ISODIR}/distfiles ${ISOROOT}/usr/pkgsrc/distfiles
+       cp /etc/shells ${ISOROOT}/usr/pkgsrc/distfiles/.test > /dev/null 2>&1 \
+           || mount_null ${ISODIR}/distfiles ${ISOROOT}/usr/pkgsrc/distfiles
        #
-       # Bootstrap, if not already installed, and added licenses needed
+       # Bootstrap, if not already installed, and add licenses needed
        # for the gui release
        #
 .if !exists (${ISODIR}/.didbootstrap)
@@ -438,14 +450,10 @@ pkgsrc_cdrecord:
 .endif
 
 help:
-       @echo "make release   - complete build from scratch"
-       @echo "make quick     - attempt to do an incremental rebuild"
-       @echo "make realquick - attempt to restart after world & kernel"
-       @echo ""
-       @echo "If the main build works but customizeiso fails you can restart"
-       @echo "at the customize iso step with:"
-       @echo ""
-       @echo "make customizeiso mkaliases mklocatedb mkiso mkimg"
+       @echo "make [gui] release   - complete build from scratch"
+       @echo "make [gui] quick     - attempt to do an incremental rebuild"
+       @echo "make [gui] realquick - attempt to restart after world & kernel"
+       @echo "make [gui] restartpkgs - attempt to restart at the pkg building stage"
        @echo ""
        @echo "Extra packages may be specified with PKGSRC_EXTRA_PACKAGES"
 
diff --git a/nrelease/gui/etc/issue b/nrelease/gui/etc/issue
new file mode 100644 (file)
index 0000000..a43c034
--- /dev/null
@@ -0,0 +1,4 @@
+Welcome to DragonFly!
+
+To start the installer, login as 'installer'.  To just get a shell prompt,
+login as 'root'.  To start a root gui, login as 'root' and run 'startx'.
index f15f7b0..20a330f 100644 (file)
@@ -1,6 +1,6 @@
 # $DragonFly: src/nrelease/gui/etc/master.passwd,v 1.1 2008/09/01 21:20:30 swildner Exp $
 #
-root::0:0::0:0:Charlie &:/root:/usr/pkg/bin/zsh
+root::0:0::0:0:Charlie &:/root:/bin/csh
 toor:*:0:0::0:0:Bourne-again Superuser:/root:
 installer::0:0::0:0:Bourne-again Superuser:/root:/usr/local/bin/installer
 daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
index 7663506..e2c6566 100644 (file)
@@ -31,7 +31,7 @@
 # when going to single-user mode.
 console        none                            unknown off secure
 #
-ttyv0  "/usr/libexec/getty al.Pc"      cons25  on  secure
+ttyv0  "/usr/libexec/getty Pc"         cons25  on  secure
 # Virtual terminals
 ttyv1  "/usr/libexec/getty Pc"         cons25  on  secure
 ttyv2  "/usr/libexec/getty Pc"         cons25  on  secure
index 7c64000..cb162cc 100644 (file)
@@ -44,13 +44,6 @@ mamma() {
        fi
 }
 
-# autostart X
-if [ ! -f /tmp/.firstLogin ]; then 
-       echo "Starting X..."
-       touch /tmp/.firstLogin
-       startx
-fi
-
 zstyle ':completion:*:descriptions' format '%B%d%b'
 zstyle ':completion:*:messages' format '%d'
 zstyle ':completion:*:warnings' format 'No matches for: %d'