doing a test build of samba

Michael Tokarev mjt at tls.msk.ru
Tue Apr 5 19:14:10 UTC 2022


05.04.2022 22:01, Andreas Schneider wrote:
> On Tuesday, 5 April 2022 00:52:14 CEST Michael Tokarev via samba-technical
> wrote:
>> So it looks like the answer is "no" :)
>>
>> I just dislike the hacking around renames or duplicating the
>> source tree for different builds.. :)
> 
> `git worktree` is your friend ;-)

Yeah, Andreas, thank you for the tip!  I use it here quite a lot.

Unfortunately I was asking about something different. Think automated
build of an src.rpm on different architectures with running the testsuite
in the process. Unlike of rpm, who has whole build directory available
and extracts source in a subdir, in debian it is done differently:
the build system has to work from within the already extracted source
dir. And everything's done inside. So the sequence, most likely, will
be like this:

  configure, build normally
  run tests:
    mv bin bin.prod
    configure --enable-selftests; build; run tests
    rm -rf bin
    mv bin.prod bin
  install:
    install from bin/

This is because the build script is called to build things
first, to test them if build was okay, and to install things
if tested good.

If there was a way to specify --out=./bintest things
would be much cleaner.

Unfortunately, as it turns out, there are quite some things
in there which makes this to fail, eg:

buildtools/wafsamba/samba3.py:                            '../bin/default/third_party/heimdal/lib/asn1' ]
buildtools/wafsamba/samba_headers.py:        if hpath.startswith("bin/default/"):
buildtools/wafsamba/samba_wildcard.py:    if cmd[0:12] == "bin/default/":
docs-xml/manpages/smb.conf.5.xml:               <!-- WAF build places it in bin/default/docs-xml/smbdotconf/parameters.all.xml //-->
selftest/wscript:    os.environ['CONFIG_H'] = 'bin/default/include/config.h'

/mjt



More information about the samba-technical mailing list