Date: Tue, 18 Apr 2023 16:26:45 +0700 From: Eugene Grosbein <eugen@grosbein.net> To: Nuno Teixeira <eduardo@freebsd.org>, FreeBSD Mailing List <freebsd-ports@freebsd.org> Subject: Re: Get ${OSREL} at install time Message-ID: <ff0dc458-76f6-0bc2-8560-0eea00744226@grosbein.net> In-Reply-To: <CAFDf7UKJ%2BSy0f9xJZ8oc8fcaejhT1LFgjspVTHDt4E99z2sz3w@mail.gmail.com> References: <CAFDf7UKJ%2BSy0f9xJZ8oc8fcaejhT1LFgjspVTHDt4E99z2sz3w@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
18.04.2023 15:05, Nuno Teixeira wrote: > Hello all, > > net/gitup uses a reinplace cmd to setup gitup.conf to the correspondent RELEASE/STABLE for command `gitup release` and `gitup stable`. > So, if user is using 13.1-RELEASE, reinplace will configure gitup.conf to: > > "release" : { > "branch" : "releng/13.1", > "stable" : { > "branch" : "stable/13", > > The problem is that OSREL is taken from build time and at this moment 13.2 pkgs are being built on a 13.1 machine. > So the result is wrong by setting releng/13.1 instead of releng/13.2. > > the reinplace cmd is: > --- > ${REINPLACE_CMD} -e 's|stable\/12|stable\/${OSREL:R}| ; \ > s|releng\/11.4|releng\/${OSREL}|' \ > ${WRKSRC}/gitup.conf > --- > > Any sugestion or example that permits to get OSREL at install time? # osrel=$(sysctl -n kern.osrelease) # echo $osrel ${osrel%%-*} ${osrel%%.*} 13.2-STABLE 13.2 13 And use @postexec command in pkg-plist to run sed instead of REINPLACE_CMD in the Makefile. Something like this (untested): @postexec env osrel=$(sysctl -n kern.osrelease) sed -E -e s,stable/[0-9]+,stable/${osrel\%\%.*}, -e s,releng/[0-9]+,releng/${osrel\%\%-*}, %%PREFIX%%/etc/gitup.conf I'm not sure about escaping and screening, though. You'll need to test it :-)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ff0dc458-76f6-0bc2-8560-0eea00744226>