cygport fails with package starting with number

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

cygport fails with package starting with number

marco atzeri-4
It seems that the behaviour of cygport is changed recently
and rebuilding the 4ti2 package fails on the name 4ti2.

Or is a bash change ?

cygport --debug 4ti2.cygport package

 >>> 4ti2-debuginfo-1.6.7-2.tar.xz
+ mkdir -p
/cygdrive/d/cyg_pub/devel/4ti2/prova/4ti2-1.6.7-2.x86_64/dist/4ti2/4ti2-debuginfo
/usr/share/cygport/lib/pkg_pkg.cygpart: line 197:
4ti2_debuginfo_CONTENTS: bad substitution
+ tee
/cygdrive/d/cyg_pub/devel/4ti2/prova/4ti2-1.6.7-2.x86_64/temp/.4ti2-debuginfo.lst
+ error 'Debuginfo package creation failed: 4ti2-debuginfo'
+ case $? in
+ local errorcode=1
+ echo -e '\e[1;31m*** ERROR:\e[0;0m Debuginfo package creation failed:
4ti2-debuginfo'
*** ERROR: Debuginfo package creation failed: 4ti2-debuginfo
+ exit 1
+ _status=1
+ ((  _status != 0  ))
+ break
+ exit 1

---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren gepr├╝ft.
https://www.avast.com/antivirus


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: cygport fails with package starting with number

cyg Simple
On 11/7/2018 1:20 PM, Marco Atzeri wrote:
> It seems that the behaviour of cygport is changed recently
> and rebuilding the 4ti2 package fails on the name 4ti2.
>
> Or is a bash change ?
>

Maybe this ...

> cygport --debug 4ti2.cygport package
>
>  >>> 4ti2-debuginfo-1.6.7-2.tar.xz
> + mkdir -p
> /cygdrive/d/cyg_pub/devel/4ti2/prova/4ti2-1.6.7-2.x86_64/dist/4ti2/4ti2-debuginfo
>
> /usr/share/cygport/lib/pkg_pkg.cygpart: line 197:

Line 197 of this file is the creation of the debuginfo tar file.

> 4ti2_debuginfo_CONTENTS: bad substitution

This is coming from the ${!dbg_contents_var} syntax.  What is this input
to tar supposed to be?  The "bad substitution" is because the variable
isn't an integer.

--
cyg Simple

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: cygport fails with package starting with number

Achim Gratz
In reply to this post by marco atzeri-4
Marco Atzeri writes:
> It seems that the behaviour of cygport is changed recently
> and rebuilding the 4ti2 package fails on the name 4ti2.

Introduced by a3997ae7ac, which constructs a variable whose name starts
with the package name.  However, a leading number does not result in a
valid identifier.  So if such package names must be supported then the
substitution made earlier (replacing invalid characters from the name by
an underscore) also needs to handle that particular case.  So something
like

                local dbg_contents_var=${PN//[-+\.]/_}_debuginfo_CONTENTS;
+               dbg_contents_var=${dbg_contents_var/#[0-9]/_}
                __step "${PN}-debuginfo-${PVR}.tar.xz";

in lib/pkg_pkg.cygpart should fix it.


Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

DIY Stuff:
http://Synth.Stromeko.net/DIY.html

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: cygport fails with package starting with number

Achim Gratz
In reply to this post by cyg Simple
cyg Simple writes:
>> 4ti2_debuginfo_CONTENTS: bad substitution
>
> This is coming from the ${!dbg_contents_var} syntax.  What is this
> input to tar supposed to be?  The "bad substitution" is because the
> variable isn't an integer.

No, the reason is that it's not a valid identifier.  If Yaakov had
declared a nameref, the error message would have been more enlightening
than what the indirection produces.


Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Wavetables for the Terratec KOMPLEXER:
http://Synth.Stromeko.net/Downloads.html#KomplexerWaves

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: cygport fails with package starting with number

Brian Inglis
In reply to this post by Achim Gratz
On 2018-11-07 13:15, Achim Gratz wrote:

> Marco Atzeri writes:
>> It seems that the behaviour of cygport is changed recently
>> and rebuilding the 4ti2 package fails on the name 4ti2.
> Introduced by a3997ae7ac, which constructs a variable whose name starts
> with the package name.  However, a leading number does not result in a
> valid identifier.  So if such package names must be supported then the
> substitution made earlier (replacing invalid characters from the name by
> an underscore) also needs to handle that particular case.  So something
> like
>                 local dbg_contents_var=${PN//[-+\.]/_}_debuginfo_CONTENTS;
> +               dbg_contents_var=${dbg_contents_var/#[0-9]/_}
>                 __step "${PN}-debuginfo-${PVR}.tar.xz";
> in lib/pkg_pkg.cygpart should fix it.

or just prefix var name with "_":

                [ -d ${autoloaddir} ] || autoloaddir=
- local dbg_contents_var=${PN//[-+\.]/_}_debuginfo_CONTENTS;
+ local dbg_contents_var=_${PN//[-+\.]/_}_debuginfo_CONTENTS;


--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply | Threaded
Open this post in threaded view
|

Re: cygport fails with package starting with number

Achim Gratz
Brian Inglis writes:

> On 2018-11-07 13:15, Achim Gratz wrote:
>> Marco Atzeri writes:
>>> It seems that the behaviour of cygport is changed recently
>>> and rebuilding the 4ti2 package fails on the name 4ti2.
>> Introduced by a3997ae7ac, which constructs a variable whose name starts
>> with the package name.  However, a leading number does not result in a
>> valid identifier.  So if such package names must be supported then the
>> substitution made earlier (replacing invalid characters from the name by
>> an underscore) also needs to handle that particular case.  So something
>> like
>>                 local dbg_contents_var=${PN//[-+\.]/_}_debuginfo_CONTENTS;
>> +               dbg_contents_var=${dbg_contents_var/#[0-9]/_}
>>                 __step "${PN}-debuginfo-${PVR}.tar.xz";
>> in lib/pkg_pkg.cygpart should fix it.
>
> or just prefix var name with "_":
>
> [ -d ${autoloaddir} ] || autoloaddir=
> - local dbg_contents_var=${PN//[-+\.]/_}_debuginfo_CONTENTS;
> + local dbg_contents_var=_${PN//[-+\.]/_}_debuginfo_CONTENTS;

That would run against the naming convention cygport assumes and thus
break all cygport files that make use of them (which probably are just a
a handful, but the breakage is easy enough to avoid).


Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple