Jhalfs with package management

Pierre Labastie pierre.labastie at neuf.fr
Fri Jan 27 13:39:37 PST 2012


Le 27/01/2012 17:40, Matt Burgess a écrit :
> Hmm, that change may have caused a regression in chapter06 Glibc, but
> I'll wait for my latest build to get to that point before confirming.
> The last build I tried, with your patch applied,jhalfs bailed out after
> hitting an 'Error 2' output from Glibc's tests.  The config I run with
> is 'Run all chapter 6 testsuites' with 'Abort the build at the first
> test suite failure'; that has usually continued on past the packages
> with known failures such as GCC and Glibc.
>
Oops,
You are right. I forgot to mention _that_ change: I could not understand
why the scriptlets where generated with 'make -k check || true' when
'Abort the build at the first test suite failure' was selected. So I 
suppressed
the generation of '|| true'. Forgot about known testsuite failures. Sorry.

Here is a patch:
--------------------------------------
--- LFS/lfs.xsl (revision 3)
+++ LFS/lfs.xsl (working copy)
@@ -306,8 +306,12 @@
<xsl:when test="contains(string(), 'glibc-check-log')">
<xsl:value-of
                         select="substring-before(string(),'2>&1')"/>
- <xsl:text>>> $TEST_LOG 2>&1 &#xA;</xsl:text>
+ <xsl:text>>> $TEST_LOG 2>&1 || true&#xA;</xsl:text>
</xsl:when>
+ <xsl:when test="contains(string(), 'make -k')">
+ <xsl:apply-templates/>
+ <xsl:text> >> $TEST_LOG 2>&1 || true&#xA;</xsl:text>
+ </xsl:when>
<xsl:otherwise>
<xsl:apply-templates/>
<xsl:if test="not(contains(string(), '>>'))">

-------------------------------
With this patch applied, the logic is as follows for any <userinput 
remap="test">:

-if the input contains 'make -k' : generates
'make -k >> $TEST_LOG 2>&1 || true'

-the special input case (in glibc):
make -k check 2>&1 | tee glibc-check-log
grep Error glibc-check-log
is changed to:
'make -k check >> $TEST_LOG 2>&1 || true'
(no more 'grep Error')

- any line with 'make' (and not make -k)
is changed from 'make <blahblah>' to:
    'make -k <blahblah> >> $TEST_LOG 2>&1 || true'
    if 'do not stop on testsuite failure'
and to:
    'make <blahblah> >> $TEST_LOG 2>&1
    if 'Abort the build at the first test suite failure'

- any line without 'make' and without '>>' is changed
to the same line + '>> $TEST_LOG 2>&1

Hope it is what was intended, but the original lfs.xsl file
was so complicated that I am not sure I catched the whole
logic.





More information about the alfs-discuss mailing list