On 2015-09-02 23:19, Helmut Grohne wrote: > Source: glibc > Version: 2.21-0experimental1 > Tags: patch > User: [email protected] > Usertags: rebootstrap > > Hi Aurelien,
Hi, > thank you very much for applying #766877 and uploading to experimental. > This has moved us a big step closer to a working stage1. We are not > quite there yet. At this point I estimate a remaining patch stack for > the following problems: > > * stage1 fails to build for various reasons > * stage1 libc6-dev not installable due to dependency on libc6 > * wrong set of packages being built for stage1 > * dh_shlibdeps fails > * linux headers cannot be found > * various hurd things > > Even though I still carry patches for these, it is not clear that all of > these problems are still reproducible. The above list is meant as an > outlook, not a cumulative bug report. > > This particular bug shall address only the first of those problems > above, because I have a good understanding and can answer your > questions. I am attaching a patch and also explain the individual hunks > in what follows. All of them apply to stage1-specific code. > > - *:/lib32 | *:/lib64 | *:/libx32 | *:/lib/arm-linux-gnueabi*) \ > + *:/lib32 | *:/lib64 | *:/libo32 | *:/libx32 | > *:/lib/arm-linux-gnueabi*) \ > > The code fails to identify a certain mips architecture multilib build > and thus places the multilib build into the main package. > > + *:* ) \ > + templates="" \ > + ;; \ > > This extra case ensures that no templates are interpolated for optimized > builds (e.g. libc6-i686). These do not generate development packages > anyway, so dropping them (for stage1) is the right thing to do. Failing > to do so again overwrites the main package. > > - -e "/$$libdir.*.a /d" \ > + -e "/LIBDIR.*\.a /d" \ > > The immediate error resulting from this sed invocation is that the > command "u" is not understood by sed. $libdir becomes > "/usr/lib/triplet". Thus the resulting sed command starts with "//u" > which sed does not like. Fixing the escaping is not enough however, > since LIBDIR is not yet interpolated. That only happens a few lines > later. So instead, the match needs to target non-interpolated filenames > and thus match LIBDIR. > > I hope that the level of detail given is sufficient. If not, please ask. Thanks for the patch and the detailed explanation. The changes make sense, so I have applied the patch. That said looking as this part of the code as a whole, it ends up being a bit complicated. Basically we define defaults value before the case, but then we basically handle all cases. Then we use a for loop as a if, as $templates contains either zero or one value. The complexity comes from the fact this piece of code has been forked from the non-staged one. I therefore wonder if we should try to either: 1) Simplify it. 2) make it as common as possible with the non-stage code. I believe it's not a problem if we generate debhelper files that we don't use in practice, as long as the stage ones are correct. > Otherwise, please consider applying the patch. I would appreciate > another experimental upload that also includes the hurd changes staged > to SVN by Samuel Thibault already within a month from now. Thank you for > your support. For what I understood, Samuel has committed is change in both the unstable and experimental branches, so the changes should have been in the last upload to experimental. That said he has done a few more changes in the meantime. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B [email protected] http://www.aurel32.net

