/usr/src/release/release.sh -> ports -> fetch pkg -> Bad system call (core dumped)

Ruslan Garipov ruslanngaripov at gmail.com
Sun Apr 5 17:53:40 UTC 2020


On 4/5/2020 10:05 PM, Tomasz CEDRO wrote:
> On Sun, Apr 5, 2020 at 4:59 PM Ruslan Garipov wrote:
>> I'm sorry, I forgot to ask how do you call /usr/src/release/release.sh?
>> Do you pass a configuration file to this script?
>>
>> By default /usr/src/release/release.sh checks out the source tree for
>> the CURRENT branch (svn://svn.FreeBSD.org/base/head@rHEAD).  In this
>> case (if you doesn't change it) chrooted environment definitely will
>> fail to run on STABLE and/or RELEASE.
>>
>> May be it's easy for you to use `make release` directly.
> 
> Case solved! =)
> 
> I wrongly assumed that release will simply update this svn repo that I
> am working on.. but it fetches HEAD.. so I was trying to build
> 13/HEAD/CURRENT on 12/STABLE/RELEASE that have different ABI thus bad
> syscall.. and I need CURRENT to build CURRENT, right? :-)
I believe in order to build the source tree you just need a compatible
toolchain.  So you can build the source tree for 13.0-CURRENT on
12.1-RELEASE system.  But you need CURRENT to **run** userland with ABI
from the CURRENT.

In order to build, for example, 12.1-RELEASE image with release(7) you
should assign the SRCBRANCH variable to "base/release/12.1.0 at rHEAD", and
for 12.0-STABLE: SRCBRANCH="base/stable/12 at rHEAD".  Either in your
configuration file for release(7) or directly in your shell:

env SRCBRANCH="base/release/12.1.0 at rHEAD" /usr/src/release/release.sh

> 
> I will provide a release.conf, make.conf, src.conf and maybe KERNCONF
> if I need something beyond GENERIC. For now I just need to work with
> 12-STABLE. Good hint! :-)
Sure.  Just as a note, by default (when the caller doesn't provide a
configuration file to release(7), or the file provided doesn't exists),
release(7) builds GENERIC kernel and uses no make.conf and src.conf.

Once again: for native build `make release` may be quite easy and fast.
release(7) guarantees "absolutely clean	build environment".

> 
> Thank you Ruslan!! :-)
> 
> Tomek
> 
> ps/2: Can I provide a patch that will print out what actually is being
> fetched by release.sh? That could save some time for first time users
> :-)
Why not :-)

For me reading /usr/src/release/release.sh and default configs for ARM
saved me a lot of time.


More information about the freebsd-ports mailing list