diff --git a/release/scripts/print-cdrom-packages.sh b/release/scripts/print-cdrom-packages.sh new file mode 100755 index 000000000000..76696b1a3b85 --- /dev/null +++ b/release/scripts/print-cdrom-packages.sh @@ -0,0 +1,137 @@ +#!/bin/sh +# +# Author: Jordan Hubbard +# Date: Mon Jul 10 01:18:20 2000 +# Version: $FreeBSD$ +# +# MAINTAINER: jkh +# +# This script prints out the list of "minimum required packages" for +# a given CDROM number, that numer currently referring to the 4 CD +# "official set" published by BSDi. If there is no minimum package +# set for the given CDROM, or none is known, the script will exit +# with a error code of 1. At some point, this script should be extended +# to at least cope with other official CD distributions, like non-US ones. +# +# usage: print-cdrom-packages.sh cdrom-number +# +# example: ./print-cdrom-packages.sh 1 +# will print the minimal package set for the first cdrom (what's generally +# referred to as the installation boot CD). +# +# This information is codified in script form so that some definitive +# reference for the package set info exists rather than having it +# be left up to everybody's best guess. It's currently hard-coded directly +# into the script but may, at some point, switch to a more sophisticated +# data-extraction technique from the ports collection. For now, add your +# packages to the appropriate CDROM_SET_ variable as /usr/ports/ +# so that the package name and dependency list for each can be at least be +# obtained in an automated fashion. + +# usage: extract-names cd# +extract-names() +{ + _FOO=`eval echo \\${CDROM_SET_$1}` + if [ "${_FOO}" ]; then + TMPNAME="/tmp/_extract_names$$" + rm -f ${TMPNAME} + for i in ${_FOO}; do + ( cd /usr/ports/$i && make package-name package-depends ) >> ${TMPNAME}; + done + if [ -s "${TMPNAME}" ]; then + sort ${TMPNAME} | uniq + fi + else + exit 1 + fi +} + + +## Start of set for CDROM #1 +# This is the set required by sysinstall. +CDROM_SET_1="" +if [ "X`uname -m`" = "Xalpha" ]; then +CDROM_SET_1="${CDROM_SET_1} emulators/osf1_base" +else +CDROM_SET_1="${CDROM_SET_1} emulators/linux_base" +fi +CDROM_SET_1="${CDROM_SET_1} x11/XFree86-4" +CDROM_SET_1="${CDROM_SET_1} x11/XFree86-4-clients" +CDROM_SET_1="${CDROM_SET_1} x11/XFree86-4-documents" +CDROM_SET_1="${CDROM_SET_1} x11/XFree86-4-libraries" +CDROM_SET_1="${CDROM_SET_1} x11/XFree86-4-manuals" +CDROM_SET_1="${CDROM_SET_1} x11-fonts/XFree86-4-font100dpi" +CDROM_SET_1="${CDROM_SET_1} x11-fonts/XFree86-4-font75dpi" +CDROM_SET_1="${CDROM_SET_1} x11-fonts/XFree86-4-fontCyrillic" +CDROM_SET_1="${CDROM_SET_1} x11-fonts/XFree86-4-fontDefaultBitmaps" +CDROM_SET_1="${CDROM_SET_1} x11-fonts/XFree86-4-fontEncodings" +CDROM_SET_1="${CDROM_SET_1} x11-fonts/XFree86-4-fontLatin2" +CDROM_SET_1="${CDROM_SET_1} x11-fonts/XFree86-4-fontScalable" +CDROM_SET_1="${CDROM_SET_1} x11-servers/XFree86-4-FontServer" +CDROM_SET_1="${CDROM_SET_1} x11-servers/XFree86-4-NestServer" +CDROM_SET_1="${CDROM_SET_1} x11-servers/XFree86-4-PrintServer" +CDROM_SET_1="${CDROM_SET_1} x11-servers/XFree86-4-Server" +CDROM_SET_1="${CDROM_SET_1} x11-servers/XFree86-4-VirtualFramebufferServer" +CDROM_SET_1="${CDROM_SET_1} x11/kde2" +CDROM_SET_1="${CDROM_SET_1} x11/gnome" +CDROM_SET_1="${CDROM_SET_1} x11-wm/afterstep" +CDROM_SET_1="${CDROM_SET_1} x11-wm/enlightenment" +CDROM_SET_1="${CDROM_SET_1} x11-wm/fvwm2" +CDROM_SET_1="${CDROM_SET_1} net/pcnfsd" + +# This is the set of "people really want these" packages. Please add to +# this list. +CDROM_SET_1="${CDROM_SET_1} net/cvsup-bin" +if [ "X`uname -m`" = "Xi386" ]; then +CDROM_SET_1="${CDROM_SET_1} shells/ksh93" +fi +CDROM_SET_1="${CDROM_SET_1} shells/bash2" +CDROM_SET_1="${CDROM_SET_1} shells/pdksh" +CDROM_SET_1="${CDROM_SET_1} shells/zsh" +CDROM_SET_1="${CDROM_SET_1} editors/vim5" +CDROM_SET_1="${CDROM_SET_1} editors/emacs20" +CDROM_SET_1="${CDROM_SET_1} www/netscape-wrapper" +CDROM_SET_1="${CDROM_SET_1} www/netscape-remote" +CDROM_SET_1="${CDROM_SET_1} www/netscape47-communicator" +CDROM_SET_1="${CDROM_SET_1} www/lynx" +CDROM_SET_1="${CDROM_SET_1} print/acroread" +CDROM_SET_1="${CDROM_SET_1} print/xpdf" +CDROM_SET_1="${CDROM_SET_1} print/gv" +CDROM_SET_1="${CDROM_SET_1} print/ghostview" +CDROM_SET_1="${CDROM_SET_1} graphics/xv" +CDROM_SET_1="${CDROM_SET_1} mail/fetchmail" +CDROM_SET_1="${CDROM_SET_1} mail/mutt" +CDROM_SET_1="${CDROM_SET_1} mail/pine" +CDROM_SET_1="${CDROM_SET_1} mail/xfmail" +CDROM_SET_1="${CDROM_SET_1} news/tin" +CDROM_SET_1="${CDROM_SET_1} news/slrn" +CDROM_SET_1="${CDROM_SET_1} ftp/ncftp" +CDROM_SET_1="${CDROM_SET_1} irc/xchat" +CDROM_SET_1="${CDROM_SET_1} emulators/mtools" +CDROM_SET_1="${CDROM_SET_1} misc/screen" +CDROM_SET_1="${CDROM_SET_1} x11/rxvt" +CDROM_SET_1="${CDROM_SET_1} astro/xearth" + +# VERY common build dependancies +CDROM_SET_1="${CDROM_SET_1} devel/gmake" +CDROM_SET_1="${CDROM_SET_1} archivers/bzip2" +CDROM_SET_1="${CDROM_SET_1} archivers/unzip" + +## End of set for CDROM #1 + +## Start of set for CDROM #2 +## End of set for CDROM #2 + +## Start of set for CDROM #3 +## End of set for CDROM #3 + +## Start of set for CDROM #4 +## End of set for CDROM #4 + +# Start of actual script. +if [ $# -lt 1 ]; then + echo "usage: $0 cdrom-number" + exit 2 +fi +extract-names $1 +exit 0