<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>131504</bug_id>
          
          <creation_ts>2006-04-27 13:11 0000</creation_ts>
          <short_desc>Insufficent parsing of make.conf by parse_makeconf function.</short_desc>
          <delta_ts>2007-10-12 00:08:13 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Hosted Projects</product>
          <component>Catalyst</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>unik@compot.ru</reporter>
          <assigned_to>catalyst@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>unik@compot.ru</who>
            <bug_when>2006-04-27 13:11:41 0000</bug_when>
            <thetext>Using catalyst 2.0 rc44.
If variables in make.conf are written as:

VAR=&quot;\
 flag1 flag2 flag3 \
 -flag4 -flag5 \
&quot;

then function &quot;parse_makeconf&quot; in file /usr/lib/catalyst2/modules/catalyst_support.py chokes. This is legal shell syntax, but it is not caught by regexp. Maybe if the regexp could be made multiline, then it would work. But I&apos;m not a python expert.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2007-08-13 20:38:15 0000</bug_when>
            <thetext>As far as I can tell, parse_makeconf is only used for reading the make.conf generated by catalyst itself. Since catalyst doesn&apos;t create multi-line entries in make.conf, the current function is sufficient. It can probably be made multi-line relatively easily, but it&apos;d get done faster if you submitted a patch.

The fact that this bug has gone 16 months without being touched shows that nobody else is sticking multi-line entries in make.conf in their stage tarballs by hand like you are.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2007-09-18 18:26:08 0000</bug_when>
            <thetext>OK.  I was checking back over the mailing list and noticed that Charles Duffy &lt;cduffy@spamcop.net&gt; had created his own catalyst patch which resolved this.

Now, the only real issue with it is that it would fail on a non-Gentoo machine.  I am attaching the patch to this bug, but it will need to be adjusted to determine whether or not the portage_util stuff is even available, and to fall back to the old parser if it isn&apos;t.  This should keep compatibility, even in the lowest of stages.  Of course, if portage isn&apos;t available, we might have other issues, especially when we start looking into non-portage package manager support.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2007-09-18 18:28:08 0000</bug_when>
            <thetext>Created an attachment (id=131229)
catalyst-misc_enhancements.patch

Unfortunately, this patch adds additional features that I&apos;m not very interested in supporting, just yet, but it will work for most uses.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2007-09-25 22:01:09 0000</bug_when>
            <thetext>Created an attachment (id=131900)
try pkgcore and paludis config parsing

This patch first tries the snakeoil.fileutils.read_bash_dict() function from pkgcore, then portage_util.getconfig() from portage, and then the internal parse_makeconf() function. The first 2 work fine on my system make.conf with both multi-line vars and a sourced file. The fallback functionality seems to work just fine. This can be run on a system with pkgcore, portage, or a non-Gentoo system with neither. Of course, catalyst itself can&apos;t yet :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2007-09-25 22:01:50 0000</bug_when>
            <thetext>Err, s/paludis/portage/ in that patch description.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2007-09-25 22:29:36 0000</bug_when>
            <thetext>My patch is in SVN and will be released in 2.0.5</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2007-10-12 00:08:13 0000</bug_when>
            <thetext>This should be fixed in 2.0.5_pre4.  Please test this version of catalyst (or newer) and report back if it does not work.

Thanks</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131229</attachid>
            <date>2007-09-18 18:28 0000</date>
            <desc>catalyst-misc_enhancements.patch</desc>
            <filename>catalyst-misc_enhancements.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtcnUgY2F0YWx5c3QtMi4wLjQub3JpZy9leGFtcGxlcy9nZW5lcmljX3N0YWdlX3RlbXBs
YXRlLnNwZWMgY2F0YWx5c3QtMi4wLjQvZXhhbXBsZXMvZ2VuZXJpY19zdGFnZV90ZW1wbGF0ZS5z
cGVjCi0tLSBjYXRhbHlzdC0yLjAuNC5vcmlnL2V4YW1wbGVzL2dlbmVyaWNfc3RhZ2VfdGVtcGxh
dGUuc3BlYwkyMDA3LTA0LTEyIDA3OjAwOjI1LjAwMDAwMDAwMCAtMDUwMAorKysgY2F0YWx5c3Qt
Mi4wLjQvZXhhbXBsZXMvZ2VuZXJpY19zdGFnZV90ZW1wbGF0ZS5zcGVjCTIwMDctMDYtMTEgMDk6
MzI6MDkuMDAwMDAwMDAwIC0wNTAwCkBAIC0xMDUsMyArMTA1LDExIEBACiAjIGV4YW1wbGU6CiAj
IGxkZmxhZ3M6IC1XbCwtTzEgLVdsLC16LG5vdwogbGRmbGFnczoKKworIyBFeHRyYSBiaW5kIG1v
dW50cyB0byBiZSBjcmVhdGVkIHdpdGhpbiB0aGUgY2hyb290LiBOb3QgdXNlZCBmb3IgcmVsZWFz
ZXM7CisjIGRvbid0IHRvdWNoIHRoaXMgdW5sZXNzIHlvdSd2ZSBleHRyZW1lbHkgc3VyZSB5b3Ug
a25vdyB3aGF0IHlvdSdyZSBkb2luZy4KKyMgU3ludGF4OiBbY2hyb290X3BhdGhdOlt0YXJnZXRf
cGF0aF0KKyMgSWYgdGhlIHR3byB2YWx1ZXMgbWF0Y2gsIHRoZSBsYXR0ZXIgbWF5IGJlIGxlZnQg
b3V0LgorIyBleGFtcGxlOgorIyBleHRyYV9tb3VudHM6IC9hZnMKK2V4dHJhX21vdW50czoKT25s
eSBpbiBjYXRhbHlzdC0yLjAuNC9leGFtcGxlczogZ2VuZXJpY19zdGFnZV90ZW1wbGF0ZS5zcGVj
fgpkaWZmIC1ydSBjYXRhbHlzdC0yLjAuNC5vcmlnL21vZHVsZXMvY2F0YWx5c3Rfc3VwcG9ydC5w
eSBjYXRhbHlzdC0yLjAuNC9tb2R1bGVzL2NhdGFseXN0X3N1cHBvcnQucHkKLS0tIGNhdGFseXN0
LTIuMC40Lm9yaWcvbW9kdWxlcy9jYXRhbHlzdF9zdXBwb3J0LnB5CTIwMDctMDQtMTIgMDc6MDA6
MjUuMDAwMDAwMDAwIC0wNTAwCisrKyBjYXRhbHlzdC0yLjAuNC9tb2R1bGVzL2NhdGFseXN0X3N1
cHBvcnQucHkJMjAwNy0wNi0xMSAwOToyNjo0MC4wMDAwMDAwMDAgLTA1MDAKQEAgLTEsNSArMSw1
IEBACiAKLWltcG9ydCBzeXMsc3RyaW5nLG9zLHR5cGVzLHJlLHNpZ25hbCx0cmFjZWJhY2ssdGlt
ZQoraW1wb3J0IHBvcnRhZ2VfdXRpbCxzeXMsc3RyaW5nLG9zLHR5cGVzLHJlLHNpZ25hbCx0cmFj
ZWJhY2ssdGltZQogI2ltcG9ydCBtZDUsc2hhCiBzZWxpbnV4X2NhcGFibGUgPSBGYWxzZQogI3Vz
ZXJwcml2X2NhcGFibGUgPSAob3MuZ2V0dWlkKCkgPT0gMCkKQEAgLTYxMiw2ICs2MTIsMTQgQEAK
IAkJZWxzZToKIAkJCW15bGluZT1teWxpbmVzW3Bvc10KIAkJCW1vYmo9cGF0Lm1hdGNoKG15bGlu
ZSkKKwkJCWlmIG1vYmogPT0gTm9uZToKKwkJCQlzb3VyY2VfbWF0Y2ggPSByZS5tYXRjaCgnc291
cmNlXHMrKC4qKSQnLCBteWxpbmUpCisJCQkJaWYgc291cmNlX21hdGNoOgorCQkJCQlteW1ha2Vj
b25mLnVwZGF0ZShwYXJzZV9tYWtlY29uZihvcGVuKHNvdXJjZV9tYXRjaC5ncm91cCgxKS5zdHJp
cCgpLCAncicpLnJlYWRsaW5lcygpKSkKKwkJCQllbHNlOgorCQkJCQlwcmludCAnPj4gUGFyc2Ug
ZXJyb3I7IGR1bXBpbmcgbWFrZS5jb25mJworCQkJCQlmb3IgbGluZSBpbiBteWxpbmVzOiBzeXMu
c3Rkb3V0LndyaXRlKCcgICcgKyBsaW5lKQorCQkJCQlyYWlzZSBFeGNlcHRpb24oJ1VucGFyc2Fi
bGUgbGluZSAlcicgJSBteWxpbmUpCiAJCQlwb3MgKz0gMQogCQkJaWYgbW9iai5ncm91cCgyKToK
IAkJCSAgICBjbGVhbl9zdHJpbmcgPSByZS5zdWIociJcIiIsciIiLG1vYmouZ3JvdXAoMikpCkBA
IC02MzAsMTIgKzYzOCw5IEBACiBkZWYgcmVhZF9tYWtlY29uZihteW1ha2Vjb25mZmlsZSk6CiAJ
aWYgb3MucGF0aC5leGlzdHMobXltYWtlY29uZmZpbGUpOgogCSAgICB0cnk6Ci0JCSAgICBteWY9
b3BlbihteW1ha2Vjb25mZmlsZSwiciIpCi0JCSAgICBteWxpbmVzPW15Zi5yZWFkbGluZXMoKQot
CQkgICAgbXlmLmNsb3NlKCkKLQkJICAgIHJldHVybiBwYXJzZV9tYWtlY29uZihteWxpbmVzKQor
CQlyZXR1cm4gcG9ydGFnZV91dGlsLmdldGNvbmZpZyhteW1ha2Vjb25mZmlsZSwgYWxsb3dfc291
cmNpbmc9VHJ1ZSkKIAkgICAgZXhjZXB0OgotCQkgICAgcmFpc2UgQ2F0YWx5c3RFcnJvciwgIkNv
dWxkIG5vdCBvcGVuIG1ha2UuY29uZiBmaWxlICIrbXltYWtlY29uZmZpbGUKKwkJcmFpc2UgQ2F0
YWx5c3RFcnJvciwgIkNvdWxkIG5vdCBvcGVuIG1ha2UuY29uZiBmaWxlICIrbXltYWtlY29uZmZp
bGUKIAllbHNlOgogCSAgICBtYWtlY29uZj17fQogCSAgICByZXR1cm4gbWFrZWNvbmYKZGlmZiAt
cnUgY2F0YWx5c3QtMi4wLjQub3JpZy9tb2R1bGVzL2dlbmVyaWNfc3RhZ2VfdGFyZ2V0LnB5IGNh
dGFseXN0LTIuMC40L21vZHVsZXMvZ2VuZXJpY19zdGFnZV90YXJnZXQucHkKLS0tIGNhdGFseXN0
LTIuMC40Lm9yaWcvbW9kdWxlcy9nZW5lcmljX3N0YWdlX3RhcmdldC5weQkyMDA3LTA2LTA4IDE2
OjM1OjI5LjAwMDAwMDAwMCAtMDUwMAorKysgY2F0YWx5c3QtMi4wLjQvbW9kdWxlcy9nZW5lcmlj
X3N0YWdlX3RhcmdldC5weQkyMDA3LTA2LTExIDA5OjI2OjQwLjAwMDAwMDAwMCAtMDUwMApAQCAt
MTgsNyArMTgsNyBAQAogCQlzZWxmLnZhbGlkX3ZhbHVlcy5leHRlbmQoWyJ2ZXJzaW9uX3N0YW1w
IiwidGFyZ2V0Iiwic3ViYXJjaCIsXAogCQkJInJlbF90eXBlIiwicHJvZmlsZSIsInNuYXBzaG90
Iiwic291cmNlX3N1YnBhdGgiLCJwb3J0YWdlX2NvbmZkaXIiLFwKIAkJCSJjZmxhZ3MiLCJjeHhm
bGFncyIsImxkZmxhZ3MiLCJjYnVpbGQiLCJjaG9zdCIsImhvc3R1c2UiLCJwb3J0YWdlX292ZXJs
YXkiLFwKLQkJCSJkaXN0Y2NfaG9zdHMiLCJtYWtlb3B0cyIsInBrZ2NhY2hlX3BhdGgiLCJrZXJu
Y2FjaGVfcGF0aCJdKQorCQkJImRpc3RjY19ob3N0cyIsIm1ha2VvcHRzIiwicGtnY2FjaGVfcGF0
aCIsImtlcm5jYWNoZV9wYXRoIiwiZXh0cmFfbW91bnRzIl0pCiAJCQogCQlzZWxmLnNldF92YWxp
ZF9idWlsZF9rZXJuZWxfdmFycyhhZGRsYXJncykKIAkJZ2VuZXJpY190YXJnZXQuX19pbml0X18o
c2VsZixteXNwZWMsYWRkbGFyZ3MpCkBAIC0xOTgsNiArMTk4LDE1IEBACiAJCQlzZWxmLm1vdW50
cy5hcHBlbmQoIi90bXAva2VybmNhY2hlIikKIAkJCXNlbGYubW91bnRtYXBbIi90bXAva2VybmNh
Y2hlIl09c2VsZi5zZXR0aW5nc1sia2VybmNhY2hlX3BhdGgiXQogCisJCWlmIHNlbGYuc2V0dGlu
Z3MuaGFzX2tleSgiZXh0cmFfbW91bnRzIik6CisJCQlmb3IgZXh0cmFfbW91bnQgaW4gc2VsZi5z
ZXR0aW5nc1siZXh0cmFfbW91bnRzIl0uc3BsaXQoKToKKwkJCQlpZiAnOicgaW4gZXh0cmFfbW91
bnQ6CisJCQkJCWV4dHJhX21vdW50X3NvdXJjZSwgZXh0cmFfbW91bnRfdGFyZ2V0ID0gZXh0cmFf
bW91bnQuc3BsaXQoJzonLCAxKQorCQkJCWVsc2U6CisJCQkJCWV4dHJhX21vdW50X3NvdXJjZSA9
IGV4dHJhX21vdW50X3RhcmdldCA9IGV4dHJhX21vdW50CisJCQkJc2VsZi5tb3VudHMuYXBwZW5k
KGV4dHJhX21vdW50X3RhcmdldCkKKwkJCQlzZWxmLm1vdW50bWFwW2V4dHJhX21vdW50X3Rhcmdl
dF0gPSBleHRyYV9tb3VudF9zb3VyY2UKKwogCQlpZiBzZWxmLnNldHRpbmdzLmhhc19rZXkoIkND
QUNIRSIpOgogCQkJaWYgb3MuZW52aXJvbi5oYXNfa2V5KCJDQ0FDSEVfRElSIik6CiAJCQkJY2Nk
aXI9b3MuZW52aXJvblsiQ0NBQ0hFX0RJUiJdCkBAIC03MzYsOCArNzQ1LDEyIEBACiAJCQlwcmlu
dCAiQ29uZmlndXJpbmcgcHJvZmlsZSBsaW5rLi4uIgogCQkJY21kKCJybSAtZiAiK3NlbGYuc2V0
dGluZ3NbImNocm9vdF9wYXRoIl0rIi9ldGMvbWFrZS5wcm9maWxlIixcCiAJCQkJCSJFcnJvciB6
YXBwaW5nIHByb2ZpbGUgbGluayIsZW52PXNlbGYuZW52KQotCSAgICAJCWNtZCgibG4gLXNmIC4u
L3Vzci9wb3J0YWdlL3Byb2ZpbGVzLyIrc2VsZi5zZXR0aW5nc1sidGFyZ2V0X3Byb2ZpbGUiXStc
Ci0JCSAgICAJCSIgIitzZWxmLnNldHRpbmdzWyJjaHJvb3RfcGF0aCJdKyIvZXRjL21ha2UucHJv
ZmlsZSIsIkVycm9yIGNyZWF0aW5nIHByb2ZpbGUgbGluayIsZW52PXNlbGYuZW52KQorCQkJaWYg
c2VsZi5zZXR0aW5nc1sndGFyZ2V0X3Byb2ZpbGUnXVswXSA9PSAnLyc6CisJCQkJc3ltbGlua190
YXJnZXQgPSBzZWxmLnNldHRpbmdzWyJ0YXJnZXRfcHJvZmlsZSJdCisJCQllbHNlOgorCQkJCXN5
bWxpbmtfdGFyZ2V0ID0gIi4uL3Vzci9wb3J0YWdlL3Byb2ZpbGVzLyIrc2VsZi5zZXR0aW5nc1si
dGFyZ2V0X3Byb2ZpbGUiXQorCSAgICAJCWNtZCgibG4gLXNmICIgKyBzeW1saW5rX3RhcmdldCAr
ICIgIiArIFwKKwkJICAgIAkJc2VsZi5zZXR0aW5nc1siY2hyb290X3BhdGgiXSsiL2V0Yy9tYWtl
LnByb2ZpbGUiLCJFcnJvciBjcmVhdGluZyBwcm9maWxlIGxpbmsiLGVudj1zZWxmLmVudikKIAkJ
ICAgIAl0b3VjaChzZWxmLnNldHRpbmdzWyJhdXRvcmVzdW1lX3BhdGgiXSsiY29uZmlnX3Byb2Zp
bGVfbGluayIpCiAJCQkJICAgICAgIAogCWRlZiBzZXR1cF9jb25mZGlyKHNlbGYpOgkK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131900</attachid>
            <date>2007-09-25 22:01 0000</date>
            <desc>try pkgcore and portage config parsing</desc>
            <filename>catalyst.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGNhdGFseXN0X3N1cHBvcnQucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY2F0YWx5c3Rfc3VwcG9y
dC5weSAocmV2aXNpb24gMTI0NCkKKysrIGNhdGFseXN0X3N1cHBvcnQucHkgKHdvcmtpbmcgY29w
eSkKQEAgLTYzNCwxNiArNjM0LDI0IEBACiAKIGRlZiByZWFkX21ha2Vjb25mKG15bWFrZWNvbmZm
aWxlKToKICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhteW1ha2Vjb25mZmlsZSk6Ci0gICAgICAg
ICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICBteWY9b3BlbihteW1ha2Vjb25mZmlsZSwiciIp
Ci0gICAgICAgICAgICAgICAgICAgbXlsaW5lcz1teWYucmVhZGxpbmVzKCkKLSAgICAgICAgICAg
ICAgICAgICBteWYuY2xvc2UoKQotICAgICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZV9tYWtl
Y29uZihteWxpbmVzKQotICAgICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgICAgcmFp
c2UgQ2F0YWx5c3RFcnJvciwgIkNvdWxkIG5vdCBvcGVuIG1ha2UuY29uZiBmaWxlICIrbXltYWtl
Y29uZmZpbGUKKyAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgdHJ5
OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcG9ydCBzbmFrZW9pbC5maWxldXRp
bHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc25ha2VvaWwuZmlsZXV0
aWxzLnJlYWRfYmFzaF9kaWN0KG15bWFrZWNvbmZmaWxlLCBzb3VyY2luZ19jb21tYW5kPSJzb3Vy
Y2UiKQorICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW1wb3J0IHBvcnRhZ2VfdXRpbAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHBvcnRhZ2VfdXRpbC5nZXRjb25maWcobXltYWtlY29uZmZp
bGUsIHRvbGVyYW50PTEsIGFsbG93X3NvdXJjaW5nPVRydWUpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbXlmPW9wZW4obXltYWtlY29uZmZpbGUsInIiKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbXlsaW5lcz1teWYucmVhZGxpbmVzKCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Zi5jbG9zZSgpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VfbWFrZWNvbmYobXlsaW5l
cykKKyAgICAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ug
Q2F0YWx5c3RFcnJvciwgIkNvdWxkIG5vdCBwYXJzZSBtYWtlLmNvbmYgZmlsZSAiK215bWFrZWNv
bmZmaWxlCiAgICAgICAgZWxzZToKLSAgICAgICAgICAgbWFrZWNvbmY9e30KLSAgICAgICAgICAg
cmV0dXJuIG1ha2Vjb25mCisgICAgICAgICAgICAgICBtYWtlY29uZj17fQorICAgICAgICAgICAg
ICAgcmV0dXJuIG1ha2Vjb25mCiAKIGRlZiBtc2cobXltc2csdmVyYmxldmVsPTEpOgogICAgICAg
IGlmIHZlcmJvc2l0eT49dmVyYmxldmVsOgo=
</data>        

          </attachment>
    </bug>

</bugzilla>