#1003477 talloc FTCBFS: it's difficult

Package:
src:talloc
Source:
talloc
Submitter:
Helmut Grohne
Date:
2022-04-09 10:21:03 UTC
Severity:
normal
Tags:
#1003477#5
Date:
2022-01-10 19:44:31 UTC
From:
To:
talloc fails to cross build from source. I'm inclined to say it's
because waf. Really, stop using waf if you can. It's a nightmare.

Ok ok. It's bad, but not impossible. I've attached this huge patch to
make it work. Of course you can apply it and it'll work, yes. But how
about stop using waf?

Polemics aside. waf can be made to cross build if you export all the
build tools. Beyond the usual ones, you also need PYTHON3_CONFIG and
this magic _PYTHON_SYSCONFIGDATA_NAME variable. Of course, debian/rules
also needs to use it instead of calling python3-config directly. Beyond
that, a waf anser file is needed. And that's mostly it. Build-Depends
need to be multiarchified and the python3-talloc.lintian-overrides was
wrongly hard coding the amd64 triplet.

It really can be made to work. But is all this pain really worth it? How
about using like setuptools or something sane? Think about it. And if
all else fails, apply my patch.

Helmut

#1003477#10
Date:
2022-01-11 15:25:29 UTC
From:
To:
Le lun. 10 janv. 2022 à 21:27, Helmut Grohne <helmut@subdivi.de> a écrit :

I would review any "setuptools or something sane" patch, but I won't
have the time to write it myself.

Alternatively, a patch to waf would help too...

Regards

#1003477#15
Date:
2022-01-11 17:42:15 UTC
From:
To:
Hi Mathieu,

I did attach a patch to make it work with waf. Unfortunately, there are
two aspects that make it cumbersome with waf:
 * There is no dh_auto_* integration for waf, so all the logic has to be
   written in debian/rules.
 * waf's architecture makes cross building difficult. That's what you
   see in the patch.

So if short on time, maybe just take the patch I attached.

Helmut

#1003477#20
Date:
2022-04-09 10:16:54 UTC
From:
To:
Hello!

Well, this is what samba is using for their build, and this is
where talloc and other libs (tevent, tdb, ldb) are coming from.
Samba is a large project with lots of inter-dependencies and
configurations.  It looks like the samba project is comited
to using waf.  I for one haven't used it before, and don't know
how to use it still, my attempts to understand how to do even
a minimal change in there all failed so far :)

But back to the bug report.

How important it really is to have an ability to cross-build talloc?
I understand it'd be nice to cross-build whole archive, - we're *far*
from there.  Libraries like talloc - small - can be built natively
for now and used for cross-building larger packages. This works.

Just like you mentioned, adding cross-build support is quite difficult
and it will most likely bit-rot rather quickly too - who will look for
changes in important waf configuration?

How important it really is?  This is just a question, I don't know why/how
crossbuilds are used at all, to start with.

Thanks!

/mjt