Date: Fri, 11 Nov 2005 08:15:47 -0800 From: "Michael C. Shultz" <ringworm01@gmail.com> To: Jan Grant <Jan.Grant@bristol.ac.uk> Cc: freebsd-stable@freebsd.org Subject: Re: gnome-upgrade.sh Message-ID: <200511110815.48118.ringworm01@gmail.com> In-Reply-To: <200511110729.36677.ringworm01@gmail.com> References: <43726E40.3090701@iaces.com> <Pine.GSO.4.62.0511111516410.19268@mail.ilrt.bris.ac.uk> <200511110729.36677.ringworm01@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 11 November 2005 07:29, Michael C. Shultz wrote: > On Friday 11 November 2005 07:23, Jan Grant wrote: > > On Fri, 11 Nov 2005, Michael C. Shultz wrote: > > > > > One last thing, if you make a script that does the conversion, > > > > > might I have a copy? Here is how I'll set up pm-020.conf to work: > > > > > > > > Surely. pkgtools.conf is actually a ruby script: I've no idea how > > > > dynamically the rules are evaluated but something that works ona > > > > prettystock bunch of settings should be close to trivial. > > > > > > Thank you. If it works well I might use it to have portmanager pick up > > > settings from portupgrade "on the fly", or at least provide some sort > > > of conversion command. Thanks :) > > > > Attached uses ruby to parse the pkgtools.conf (it relies on the > > portupgrade ruby package) - it'll spit out the appropriate sections > > (HOLD_PKGS, BEFOREBUILD, AFTERINSTALL and MAKE_ARGS) in what I think the > > portmanager format is (although the script is trivial, as you can see). > > Note that the MAKE_ARGS etc go through a hash/dictionary and > > consequently are unordered. A small snippet of the output I get from > > this: > > > > [[[ > > CATEGORY/PORT|OPTION=| # do not delete this line! > > > > # Ignored packages from HOLD_PKGS > > > > IGNORE|bsdpan-*| > > IGNORE|x11/nvidia-driver| > > IGNORE|editors/openoffice*| > > > > # STOP entries come from BEFOREBUILD > > > > > > # START entries come from AFTERINSTALL > > > > START|/databases/postgresql7 chmod a+x > > /usr/local/share/postgresql/502.pgsql| START|/www/jakarta-tomcat5 chmod > > a-x /usr/local/etc/rc.d/020.jakarta-tomcat*.sh| > > > > # Package options from MAKE_ARGS > > # Note: pkgtools.conf will use the UNION of all matching lines > > > > security/gnupg|WITH_SUID_GPG=yes| > > devel/subversion|WITH_PYTHON=yes WITH_MOD_DAV_SVN=yes WITHOUT_BDB=yes| > > x11/kde3|| > > deskutils/kdepim3|WITH_KPILOT=yes| > > www/gallery|| > > www/rt*|WITH_FASTCGI=yes WITH_APACHE2=yes DB_TYPE=Pg DB_HOST=localhost > > DB_DATABASE=rt3 DB_USER=rt3| www/apache2|WITH_PROXY_MODULES=yes| > > multimedia/kdemultimedia*|WITH_LAME=yes WITH_XINE=yes WITH_MPEGLIB=yes| > > */*|BATCH=yes| > > java/jdk14|NATIVE_BOOTSTRAP=yes JAVA_HOME=| > > */kde*|WITH_KDE_DEBUG=yes| > > mail/exim|WITH_EXIMON=yes WITH_EXISCAN_ACL=yes WITH_TCP_WRAPPERS=yes > > WITH_PGSQL=yes WITHOUT_PERL=yes | ]]] > > ^^^^^^^^^^^ little glitch? > > Works good, just one thing, portmanager has no dependencies, like to keep > it that way. How are you at awk? I use this awk script to do initial > parsing of the config file: > > #!/bin/sh > # > # $1 = pm-020.conf $2 = output file name > # > echo "keyzzNULLzzvaluezzNULLzz" > $2;awk 'BEGIN{ FS = "|" } NF == 3 && > $1 !~ /#/ && $1 !~ /CATEGORY\/PORT/ && $2 !~ /#/ {print $1 "zzNULLz > > I'm no scripter so getting the above to work was painful ;) > > -Mike Sorry I was being dumb. The ruby script is no problem, it will only run if portupgrade is installed so a dependency won't have to be put on ruby. -Mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511110815.48118.ringworm01>