Louis Guillaume <louis%zabrico.com@localhost> writes: > But in this case, for pkg_chk, these are just string values subst'd > into a deliverable shell script at build time. Yes, but that's an implementation detail, and not conceptually different from strings baked into a C program. > Surely we can separate the `-K /hard/coded/path' and make it `-K > ${PKG_DBDIR}', so that gets resolved at runtime. > > It's not clear to me where/when the SUBST_VARS get their value, or if > it's modifiable at all. > > If, for example, @PKG_INFO@ would resolve to "/usr/pkg/sbin/pkg_info" > without the -K argument, then instead of: > > test -n "$PKG_INFO" || PKG_INFO="@PKG_INFO@" > > we could have something like : > > : ${PKG_INFO:=@PKG_INFO@ -K ${PKG_DBDIR:=@PKG_DBDIR@}} > > > How do we represent *just* the pkg_info binary in @PKG_INFO@, without > the -K argument? > > Any guidance as to where to look for the "subst" magic would be great. To understand: the big hint is that @FOO@ is substituted with a value read pkgsrc/pkgtools/pkg_chk/Makefile egrep PKG_DBDIR files/pkg_chk.sh diff -u files/pkg_chk.sh /usr/pkg/sbin/pkg_chk
Attachment:
signature.asc
Description: PGP signature