gnome-upgrade.sh

Michael C. Shultz ringworm01 at gmail.com
Fri Nov 11 07:39:04 PST 2005


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










More information about the freebsd-stable mailing list