Date: Mon, 14 Aug 2000 00:46:22 +0900 From: Makoto MATSUSHITA <matusita@jp.freebsd.org> To: lioux@uol.com.br, freebsd-stable@freebsd.org Subject: Re: How to Create a FreeBSD iso image Message-ID: <20000814004622W.matusita@jp.FreeBSD.org> In-Reply-To: <20000814002826K.matusita@jp.FreeBSD.org> References: <20000812150538.A1238@Fedaykin.here> <20000814002826K.matusita@jp.FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
matusita> I'm using my own prototype script (sorry not yet released, matusita> but I'll do it later). I should write a webpage for 'scripts at current.jp.FreeBSD.org', but anyway, here is a script of selecting packages of my own. The script requires three argument. The first argument is a directory of ports, the second argument is a directory of packages, and the third argument is destination directory which will contain all selected packages. -- - Makoto `MAR' MATSUSHITA #!/bin/sh # # Creating package shadow directory # $Id: make-pkgtree,v 1.25 2000/08/13 15:40:39 matusita Exp $ # # Usage: $0 portsdir packagedir dest-directory if [ ! $# -eq 3 ]; then echo "Argument mismatch." exit 1 fi PORTSDIR=$1 PKGDIR=$2 DESTDIR=$3 export PORTSDIR # # Package lists # PORTSLIST= # Listed in sysinstall(8) PKG_SYSINSTALL=' emulators/linux_base x11/kde11 x11/gnome x11-wm/afterstep x11-wm/enlightenment x11-wm/fvwm2 net/pcnfsd ' PORTSLIST="${PORTSLIST} ${PKG_SYSINSTALL}" # Shell for login PKG_SHELL=' shells/44bsd-csh shells/bash1 shells/bash2 shells/es shells/ksh93 shells/pdksh shells/rc shells/sash shells/scsh shells/zsh shells/zsh-devel ' PORTSLIST="${PORTSLIST} ${PKG_SHELL}" # Pagers PKG_PAGER=' misc/44bsd-more chinese/cless japanese/less japanese/lesw misc/most vietnamese/vnless ' PORTSLIST="${PORTSLIST} ${PKG_PAGER}" # Development tools PKG_DEVTOOL=' devel/autoconf devel/imake devel/imake-4 devel/libtool devel/m4 devel/mkmf devel/gmake lang/m3gdb ' PORTSLIST="${PORTSLIST} ${PKG_DEVTOOL}" # Languages PKG_LANG=' lang/Gofer lang/STk lang/Sather lang/TenDRA lang/atlast lang/bwbasic lang/caml-light lang/cim lang/clisp lang/cmucl lang/cu-prolog lang/dylan lang/eiffel lang/elk lang/eperl lang/erlang lang/expect lang/forth lang/f2c lang/gawk lang/gcc-devel lang/gcc27 lang/gcc28 lang/gcl lang/ghc lang/glibstdc++28 lang/gnat lang/gnomebasic lang/gpc lang/guile lang/guileobjc lang/hugs lang/ici lang/icon lang/intel2gas lang/intercal lang/irb lang/itcl lang/lcc lang/libobjects lang/logo lang/lua lang/mawk lang/mit-scheme lang/mixal lang/mocka lang/modula-3 lang/modula-3-socks lang/moscow_ml lang/mozart lang/nawk lang/nqc lang/o2c lang/objc lang/ocaml lang/oo2c lang/otcl lang/p2c lang/pbasic lang/perl5 lang/pgcc lang/pike lang/pm3-base lang/python lang/python+ipv6 lang/rexx-imc lang/ruby lang/scheme48 lang/schemetoc lang/scm lang/siod lang/smalleiffel lang/smalltalk lang/sml-nj lang/sml-nj-devel lang/squeak1 lang/squeak2 lang/sr lang/starlogo lang/swi-pl lang/tcl80 lang/tcl82 lang/tcl83 lang/tclX80 lang/yabasic ' # XXX: too many packages, disabled. #PORTSLIST="${PORTSLIST} ${PKG_LANG}" # Libraries PKG_LIB=' japanese/libslang archivers/libarc audio/libshout databases/cdb databases/freetds databases/libiodbc devel/amulet devel/flux devel/libcoro devel/libdlmalloc devel/libgetline devel/libmalloc devel/libole2 devel/libslang devel/libshhmsg devel/libshhopt devel/libtai devel/libxalloc devel/lwp devel/mime devel/mm devel/newt devel/popt devel/rpc2 devel/rvm devel/tvision devel/yacl graphics/libggi graphics/smpeg graphics/twinlib japanese/Wnn6-lib lang/librep lang/modula-3-lib lang/pm3-forms lang/pm3-gui lang/pm3-m3tk lang/slib math/libneural www/cgiparse www/libxpg4-ns security/librsaintl ' # XXX: too many packages, disabled. #PORTSLIST="${PORTSLIST} ${PKG_LIB}" # Archivers PKG_ARCHIVER=' japanese/deepforest archivers/9e archivers/arc archivers/bzip archivers/bzip2 archivers/deepforest archivers/fastjar archivers/freeze archivers/ha archivers/hpack.non-usa.only archivers/lha archivers/linux_rar archivers/lzop archivers/macutils archivers/mscompress archivers/nulib archivers/pkzip archivers/ppunpack archivers/rar archivers/unace archivers/unarj archivers/undms archivers/unlzx archivers/unrar archivers/unzip archivers/zip archivers/zoo ' PORTSLIST="${PORTSLIST} ${PKG_ARCHIVER}" # Terminals PKG_TERM=' chinese/aterm chinese/cxterm chinese/rxvt comms/kermit japanese/kterm japanese/eterm japanese/rxvt korean/hanterm korean/eterm misc/screen misc/splitvt x11/aterm x11/emu x11/eterm x11/powershell x11/rxvt x11/wterm vietnamese/vnterm ' PORTSLIST="${PORTSLIST} ${PKG_TERM}" # Documents PKG_DOC=' german/manpages japanese/man japanese/man-doc ' PORTSLIST="${PORTSLIST} ${PKG_DOC}" # Routing daemons and tools PKG_ROUTE=' net/brouted net/gated net/mrt net/zebra net/ciscoconf net/mrtg net/mtr net/tdetect net/traceroute net/xtraceroute ' PORTSLIST="${PORTSLIST} ${PKG_ROUTE}" # DNS servers and tools PKG_DNS=' net/bind8 net/dnscache net/hesiod net/adns net/ddup net/dhid net/dnswalk net/doc net/domtools net/h2n net/nslint net/nsping ' PORTSLIST="${PORTSLIST} ${PKG_DNS}" # DHCP servers/clients and tools PKG_DHCP=' net/isc-dhcp2 net/isc-dhcp3 net/wide-dhcp net/dhcpconf ' PORTSLIST="${PORTSLIST} ${PKG_DHCP}" # Web/FTP tools PKG_WEB_TOOL=' german/webalizer textproc/htdig www/analog www/bacon www/calamaris www/http-analyze www/webalizer www/webalizer-2 www/squidclients www/squidtimes www/wwwstat mail/muttzilla ' PORTSLIST="${PORTSLIST} ${PKG_WEB_TOOL}" # Web servers # REMOVED: www/apache13-fp www/apache13-modssl www/apache13-ssl PKG_WEB_SERVER=' russian/apache13 www/aolserver www/apache-jserv www/apache13 www/apache13+ipv6 www/boa www/gn www/mathopd www/roxen www/thttpd www/webfs www/wn www/xitami net/delegate www/httptunnel www/jesred www/junkbuster www/smb_auth www/squid22 www/squid23 www/squirm www/tinyproxy www/transproxy www/w3c-httpd www/wcol www/wwwoffle russian/cyrproxy ' PORTSLIST="${PORTSLIST} ${PKG_WEB_SERVER}" # Web clients # REMOVED: */linux-netscape[0-9]* */bsdi-netscape[0-9]* PKG_WEB_CLIENT=' */netscape[0-9]* japanese/lynx japanese/lynx-current japanese/w3m japanese/w3m-ssl www/amaya www/arena www/cadaver www/chimera www/chimera2 www/grail www/hotjava www/kwebsearch www/lynx www/lynx-current www/lynx-ssl www/linemode www/Mosaic www/mozilla x11-fonts/mozilla-fonts www/vrweb www/w3m www/w3m-ssl ftp/curl ftp/greed ftp/pavuk ftp/wget www/comline www/harvest www/momspider www/sitecopy www/snarf www/w3mir www/webcopy www/webcrawl ' PORTSLIST="${PORTSLIST} ${PKG_WEB_CLIENT}" # FTP servers PKG_FTP_SERVER=' ftp/proftpd ftp/wu-ftpd ftp/yale-tftpd www/publicfile ' PORTSLIST="${PORTSLIST} ${PKG_FTP_SERVER}" # FTP clients PKG_FTP_CLIENT=' ftp/IglooFTP ftp/axyftp ftp/cftp ftp/ftptool ftp/gftp ftp/hsftp ftp/lftp ftp/llnlxdir ftp/llnlxftp ftp/moxftp ftp/ncftp ftp/ncftp2 ftp/ncftp3 ftp/sftp ftp/xrmftp ftp/yafc ftp/caitoo ftp/downloader ftp/jmirror ftp/ftpcopy ftp/ftpfind ftp/mirror ftp/omi ftp/spegla ' PORTSLIST="${PORTSLIST} ${PKG_FTP_CLIENT}" # Email tools PKG_MAIL_TOOL=' korean/hmconv japanese/mimekit japanese/mhonarc russian/messarge converters/mpack mail/autorespond mail/bulk_mailer mail/distribute mail/ezmlm mail/ezmlm-idx mail/fetchmail mail/majorcool mail/majordomo mail/mailagent mail/maildrop mail/mailfilter mail/metamail mail/minimalist mail/movemail mail/mreport mail/qmailanalog mail/procmail mail/smtpd mail/smtpfeed www/mhonarc ' PORTSLIST="${PORTSLIST} ${PKG_MAIL_TOOL}" # MTAs PKG_MAIL_MTA=' mail/exim mail/postfix mail/pgpsendmail mail/qmail mail/qmail-contrib mail/smail mail/zmailer ' PORTSLIST="${PORTSLIST} ${PKG_MAIL_MTA}" # POP servers PKG_MAIL_POP=' mail/cucipop mail/popa3d mail/poppassd mail/popper mail/popper3 mail/solidpop3d mail/teapop ' PORTSLIST="${PORTSLIST} ${PKG_MAIL_POP}" # IMAP servers PKG_MAIL_IMAP=' mail/courier-imap mail/cyrus mail/imap-uw ' PORTSLIST="${PORTSLIST} ${PKG_MAIL_IMAP}" # MUAs PKG_MAIL_MUA=' mail/wanderlust-* mail/mew mail/mew-* chinese/pine3 chinese/pine4 korean/elm korean/pine japanese/exmh2 japanese/mh japanese/mutt japanese/pine mail/pgp4pine mail/muttzilla russian/elm.language russian/pine.language mail/balsa mail/elm mail/elm+ME mail/evolution mail/exmh mail/exmh2 mail/im mail/mailx mail/mh mail/ml mail/mutt mail/nmh mail/pine4 mail/pine4-ssl mail/postilion mail/spruce mail/sylpheed mail/tkrat mail/tkrat2 mail/xfmail mail/xmail mail/yuzu ' PORTSLIST="${PORTSLIST} ${PKG_MAIL_MUA}" # Servers PKG_SERVER=' audio/icecast audio/pysol-sound-server audio/xmms-liveice chinese/xcin25 chinese/Wnn comms/conserver comms/qpage databases/mysql322-server devel/perforce ftp/ftpsearch irc/irc irc/tircproxy irc/ircd-hybrid japanese/Wnn japanese/Canna japanese/dbskkd-cdb japanese/dserver japanese/esecanna japanese/ndtpd japanese/samba japanese/skkserv korean/Wnn net/coda5_server net/coda_server net/dgd net/dgd-net net/freewais-sf net/gopher net/samba net/tcserver net/vnc net/wais ' PORTSLIST="${PORTSLIST} ${PKG_SERVER}" # Clients PKG_CLIENT=' japanese/kinput2-* japanese/ircII audio/shout databases/mysql322-client databases/sqsh editors/tamago irc/bitchx irc/epic4 irc/ircII irc/irssi irc/kvirc irc/nethirc irc/ninja irc/olirc irc/quirc irc/roxirc irc/scrollz irc/sirc irc/tkirc irc/trickyirc irc/xchat irc/yagirc japanese/canuum net/citrix_ica net/coda5_client net/coda5_doc net/gnome-vnc ' PORTSLIST="${PORTSLIST} ${PKG_CLIENT}" # Editors # REMOVED: editors/emacs # REMOVED: editors/xemacs editors/xemacs20* # REMOVED: editors/mule* chinese/mule-* japanese/mule-* korean/mule-* PKG_EDITOR=' */emacs[0-9]* */xemacs21* */nvi-* */staroffice[0-9]* */*elvis editors/vim[0-9] editors/vim-lite japanese/jvim japanese/jvim-* japanese/ng japanese/ng-* */jed chinese/ted editors/AbiWord editors/axe editors/aee editors/asedit editors/beav editors/biew editors/bpatch editors/bvi editors/cooledit editors/dedit editors/e93 editors/fb editors/fine editors/fte editors/gedit editors/ghex editors/gnotepad+ editors/gxedit editors/hexedit editors/jedit editors/jext editors/joe editors/jove editors/le editors/lpe editors/muggy editors/nano editors/nedit editors/offix-editor editors/sam editors/sted editors/textedit editors/thoteditor editors/uzap editors/vigor editors/vile editors/wily editors/wordperfect editors/xcoral editors/xed editors/xenon editors/xvile editors/yudit japanese/ne www/aswedit www/bluefish www/erwn ' PORTSLIST="${PORTSLIST} ${PKG_EDITOR}" # Cleanup rm -rf ${DESTDIR} mkdir ${DESTDIR} ${DESTDIR}/All VALID_CATEGORIES=`cd ${PORTSDIR}/shells/zsh; make -V VALID_CATEGORIES` for c in ${VALID_CATEGORIES} do mkdir ${DESTDIR}/${c} done shadow_package () { local port nodepends pkg PKGS pkgs index dp local RESTRICTED_CHECK CDROM_CHECK PACKAGE_CHECK port=$1 nodepends=$2 echo -n Checking for ${port}... RESTRICTED_CHECK=`cd ${PORTSDIR}/${port}; make -V RESTRICTED` CDROM_CHECK=`cd ${PORTSDIR}/${port}; make -V NO_CDROM` PACKAGE_CHECK=`cd ${PORTSDIR}/${port}; make -V NO_PACKAGE` if [ -n "${RESTRICTED_CHECK}" ]; then echo " RESTRICTED is set." return elif [ -n "${CDROM_CHECK}" ]; then echo " NO_CDROM is set." return elif [ -n "${PACKAGE_CHECK}" ]; then echo " NO_PACKAGE is set." return else echo " O.K." fi pkg=`grep \|/usr/ports/${port}\| ${PKGDIR}/INDEX | awk -F'|' '{print $1}'` if [ -f ${PKGDIR}/All/${pkg}.tgz -a \ ! -f ${DESTDIR}/All/${pkg}.tgz ]; then ln ${PKGDIR}/All/${pkg}.tgz ${DESTDIR}/All/${pkg}.tgz if [ -f ${DESTDIR}/All/${pkg}.tgz ]; then echo " name: ${pkg}.tgz" index=`grep ^${pkg}\| ${PKGDIR}/INDEX` if [ -n "${index}" ]; then echo ${index} >> ${DESTDIR}/INDEX fi CATFILES=`cd ${PKGDIR}; echo [a-z0-9]*/${pkg}.tgz` for link in ${CATFILES} do if [ ! -L ${DESTDIR}/${link} ]; then echo " symlinks: ${link}" ln -s ../All/${pkg}.tgz ${DESTDIR}/${link} else echo " symlinks: ${link} (ignored)" fi done else echo " name: ${pkg}.tgz (failed)" fi else if [ -z "${pkg}" ]; then echo " name: unknown (not found in INDEX)" elif [ ! -f ${PKGDIR}/All/${pkg}.tgz ]; then echo " name: ${pkg}.tgz (not found in directory)" else echo " name: ${pkg}.tgz (ignored)" fi fi if [ -n "${nodepends}" ]; then return fi PKGS=`echo "${index}" | awk -F'|' '{print $9}'` for pkgs in ${PKGS} do dp=`grep ^${pkgs}\| ${PKGDIR}/INDEX | awk -F'|' '{print $2}' | sed -e s,/usr/ports/,,g` if [ -n "${dp}" ]; then shadow_package ${dp} nodepends else echo " name: ${pkgs} (not found in INDEX)" fi done } # Let's go... for list in ${PORTSLIST} do expand_list=`echo ${PORTSDIR}/${list} | sed -e s,${PORTSDIR}/,,g` for ports in ${expand_list} do shadow_package ${ports} done done # Be sure unused categories are removed rmdir ${DESTDIR}/* >/dev/null 2>&1 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000814004622W.matusita>