Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Apr 2023 16:40:33 +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:  <bbeaf874-8d0d-88b3-29d6-fcb081fb26cd@grosbein.net>
In-Reply-To: <ff0dc458-76f6-0bc2-8560-0eea00744226@grosbein.net>
References:  <CAFDf7UKJ%2BSy0f9xJZ8oc8fcaejhT1LFgjspVTHDt4E99z2sz3w@mail.gmail.com> <ff0dc458-76f6-0bc2-8560-0eea00744226@grosbein.net>

next in thread | previous in thread | raw e-mail | index | archive | help
18.04.2023 16:26, Eugene Grosbein wrote:

> 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

Jail-friendly replacement is $(freebsd-version -u) instead of (sysctl -n kern.osrelease).

"freebsd-version -u" reports version of userland and in case of full jail it may be older than kernel version.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bbeaf874-8d0d-88b3-29d6-fcb081fb26cd>