pkgtools/pkgin, quick fix
by Emile `iMil' Heitor - 2013-02-25
Damn I love pkgsrc. Let me tell you this story as an example…
A while ago, a couple of pkgin users told me it was a shame that /usr/pkg/etc/pkgin/repositories.conf
was still pointing to a 5.0 URL when pkgin
is freshly installed. Thing is, pkgin
does support the $osrelease
variable, but on NetBSD, the result of kern.osrelease
can be 6.0_SOMETHING
, which would lead to:
and this does dot exists on the repository.
So in the REPOSITORIES
file, which is used to generate the right repositories.conf
entry, I added that line:
And wrote the following trick in pkgtools/pkgin
’s Makefile:
The SUBST
framework, part of pkgsrc
, will then use (a portable) sed
to replace @OSREL@
with the variable ${OS_VERSION}, which is defined in mk/bsd.prefs.mk
(included in the Makefile), but will erase anything like the regexp “_.*”. This magic is done by the :C
modifier, which behaves like the :S
modifier but is capable of replacing regexps instead of simple strings.
Learn to know the power of pkgsrc
…