On Tue, Jan 31, 2012 at 5:11 PM, Gergely Nagy <[email protected]> wrote: > Mathieu Malaterre <[email protected]> writes: > >> So here is what I ended up doing: >> >> $ cat rules >> ... >> override_dh_auto_configure: check-mono-archs >> ... >> mono_archs=$(DEB_MONO_ARCHS) >> gdcm_archs="$(shell grep -2 libvtkgdcm-cil debian/control | grep >> Architecture | cut -d: -f2 | tr " " "\n" | sort -g)" >> mono_sorted="$(shell echo ' $(mono_archs)' | tr ' ' '\n' | sort -g)" >> check-mono-archs: >> if [ $(gdcm_archs) != $(mono_sorted) ]; then echo "Incompatible arch, >> should be $(mono_archs)"; exit 1; fi >> > > That's... beyond horrifyingly ugly and inappropriate. I'm sorry.
ouch > You basically have a package that has an architecture list, and > deliberately FTBFS if it's an incompatible arch. That will, indeed, stop > the build, but it still means the buildds will waste time trying it. ok > I would propose a different solution, which, I believe is a lot nicer: > instead of trying to do magic at build time, do it at source build > time. > > Of course, the problem is, you MUST have debian/control ready when > building the source tarball, and the unpacked source MUST include it > too. So we can't generate it... or can we? > > I trick I used in the past, is to have a debian/control.in, which is the > canonical source of debian/control, BUT, I do NOT regenerate > debian/control at build time. I generate it using a separate script, > which I hook into git-buildpackage (or whatever else I use this > week). This hook can be used to update the arch list, and the source you > build, will have the correct arches listed at the time of the source > build. Indeed, this is much much simplier and more robust. I'll update d/rules to generate control from control.in Thanks -- Mathieu -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/ca+7wuszhywd6oye8e2ommmexvrgqxglrdorfcaod8+90qp0...@mail.gmail.com

