From 5af45f85fd5f6de390ded2e29e97f098bf6dab12 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Sun, 8 Feb 2009 22:00:39 -0800 Subject: [PATCH] Release Engineering: nrelease and GUI build adjustments * 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 | 32 ++++++++++++++++++++------------ nrelease/gui/etc/issue | 4 ++++ nrelease/gui/etc/master.passwd | 2 +- nrelease/gui/etc/ttys | 2 +- nrelease/gui/root/.zshrc | 7 ------- 5 files changed, 26 insertions(+), 21 deletions(-) create mode 100644 nrelease/gui/etc/issue diff --git a/nrelease/Makefile b/nrelease/Makefile index b35caf8345..f24c4ef206 100644 --- a/nrelease/Makefile +++ b/nrelease/Makefile @@ -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 index 0000000000..a43c034506 --- /dev/null +++ b/nrelease/gui/etc/issue @@ -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'. diff --git a/nrelease/gui/etc/master.passwd b/nrelease/gui/etc/master.passwd index f15f7b0758..20a330ff6f 100644 --- a/nrelease/gui/etc/master.passwd +++ b/nrelease/gui/etc/master.passwd @@ -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 diff --git a/nrelease/gui/etc/ttys b/nrelease/gui/etc/ttys index 7663506837..e2c656682f 100644 --- a/nrelease/gui/etc/ttys +++ b/nrelease/gui/etc/ttys @@ -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 diff --git a/nrelease/gui/root/.zshrc b/nrelease/gui/root/.zshrc index 7c64000813..cb162ccfcf 100644 --- a/nrelease/gui/root/.zshrc +++ b/nrelease/gui/root/.zshrc @@ -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' -- 2.41.0