hmm... apologies on the poor formating.

Eric Schuele wrote:
Hello,

Some time back I posted a question regarding how to determine what
ports/packages would need to be installed on my machine when I install a new (new to the local machine) port.

For example, if I do not presently have openoffice installed... what
will get installed when I 'make install clean' it?  Note that I want the
differences between what is needed to build/run the port and what is
already present on the machine.

At the time no one responded with a clear way to do this... so I finally
had a few minutes to write a script to do it for me.  I thought someone
else might find it useful... So I'm posting it here for comments and
thoughts (be gentle, I'm new to awk).

I find it useful, especially for laptops... which may have a small HDD
and little memory.  I generally try to install the minimum necessary to
do my work.

#! /bin/sh

# Script to determine the differences between what is necessary for
# a port, and what is already present on the local machine.

make pretty-print-build-depends-list | \
 awk '{
        count = 0
        pkgs = ""
        for(i=5; i<=NF-2; i++) {
      pkg = $i
if (index(pkg, "\"") == 1)
        {pkg = substr(pkg, 2, length(pkg)-1)}
      if (index(pkg, "\"") > 1)
            {pkg = substr(pkg, 1, length(pkg)-1)}
if ( system("pkg_info -e " pkg) == 1) {
            pkgs = pkgs " " pkg
            count++
          }
        }

        if ( count ) {
          print "You need the following (build) perequisites:"
          print pkgs
        }
        else {
          print "All (build) prerequisites are present."
        }

      }'

make pretty-print-run-depends-list | \
 awk '{
        count = 0
        pkgs = ""
        for(i=5; i<=NF-2; i++) {
      pkg = $i
if (index(pkg, "\"") == 1)
        {pkg = substr(pkg, 2, length(pkg)-1)}
      if (index(pkg, "\"") > 1)
            {pkg = substr(pkg, 1, length(pkg)-1)}
if ( system("pkg_info -e " pkg) == 1) {
            pkgs = pkgs " " pkg
            count++
          }
        }

        if ( count ) {
          print "You need the following (run) perequisites:"
          print pkgs
        }
        else {
          print "All (run) prerequisites are present."
        }

      }'



--
Regards,
Eric
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to