Getting port version

Baho Utot baho-utot at
Mon Jul 4 16:23:38 UTC 2016

I am creating a bourne script ( I would use python but that is not in 
base ) to build packages.

Synth, poudiere etc will not work, this is for a raspberry pi 2 and 
those tools don't run on the platform

I need to get the port version from the port

     1.    so I can construct a string and have a look see if that port 
is already in the repository

     2.    I want to know what version I am building

I have tried:


for a in "dns/unbound ports-mgmt/pkg lang/perl5.20" ; do
     VERSION="$( grep PORTVERSION= /usr/ports/${a}/Makefile )"

     printf "Package: %s Version: %s\n" "${a}" "${VERSION##*=}"


That fails because all ports don't follow that, for instance:

     lang/perl5.20 has         PORTVERSION=    ${PERL_VERSION}

     ports-mgmt/pkg  has    DISTVERSION=    <what ever>

Is there some other way I can fetch the version from the Makefile?

More information about the freebsd-questions mailing list