Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

passing Configure -Dprefix a literal backslash, space sequence (\ ) confuses Configure #14660

Closed
p5pRT opened this issue Apr 19, 2015 · 6 comments

Comments

@p5pRT
Copy link

p5pRT commented Apr 19, 2015

Migrated from rt.perl.org#124345 (status was 'open')

Searchable as RT124345$

@p5pRT
Copy link
Author

p5pRT commented Apr 19, 2015

From @kentfredric

The attached build script is expected to work, but does not. It instead gets hung up in Configure​:


System manual is in /usr/share/man/man1.

Perl5 has manual pages available in source form.
If you don't want the manual sources installed, answer 'none'.
sed​: -e expression #1, char 87​: unterminated `s' command

Where do the main Perl5 manual pages (source) go? (~name ok)


Configure script in question is that shipped with perl-5.21.10

@p5pRT
Copy link
Author

p5pRT commented Apr 19, 2015

From @kentfredric

bad.sh

@p5pRT
Copy link
Author

p5pRT commented Apr 21, 2015

From @Tux

On Sat, 18 Apr 2015 17​:37​:01 -0700, Kent Fredric (via RT)
<perlbug-followup@​perl.org> wrote​:

The attached build script is expected to work, but does not. It
instead gets hung up in Configure​:

Thanks for spotting.

The next change is waiting to be merged after the release of 5.22​:

commit a46a738
Author​: H.Merijn Brand <h.m.brand@​xs4all.nl>
Date​: Sun Apr 19 11​:20​:06 2015 +0200

  Forbid the use of a literal \ in Configure -D arguments

: The reasoning behind this change is that optdef.sh gets sourced and
: the arguments, like prefix, are passed around in different quotation
: styles and subshells all around, and the (unescaped) backslash will
: not be pertained in the final config.sh

This change has already been adopted by the upstream meta/dist package

--
H.Merijn Brand http​://tux.nl Perl Monger http​://amsterdam.pm.org/
using perl5.00307 .. 5.21 porting perl5 on HP-UX, AIX, and openSUSE
http​://mirrors.develooper.com/hpux/ http​://www.test-smoke.org/
http​://qa.perl.org http​://www.goldmark.org/jeff/stupid-disclaimers/

@p5pRT
Copy link
Author

p5pRT commented Apr 21, 2015

The RT System itself - Status changed from 'new' to 'open'

@jkeenan
Copy link
Contributor

jkeenan commented Oct 29, 2023

From @Tux

On Sat, 18 Apr 2015 17​:37​:01 -0700, Kent Fredric (via RT) <perlbug-followup@​perl.org> wrote​:

The attached build script is expected to work, but does not. It
instead gets hung up in Configure​:

Thanks for spotting.

The next change is waiting to be merged after the release of 5.22​:

commit a46a738 Author​: H.Merijn Brand <h.m.brand@​xs4all.nl> Date​: Sun Apr 19 11​:20​:06 2015 +0200

Forbid the use of a literal \ in Configure -D arguments

: The reasoning behind this change is that optdef.sh gets sourced and : the arguments, like prefix, are passed around in different quotation : styles and subshells all around, and the (unescaped) backslash will : not be pertained in the final config.sh

This change has already been adopted by the upstream meta/dist package

-- H.Merijn Brand http​://tux.nl Perl Monger http​://amsterdam.pm.org/ using perl5.00307 .. 5.21 porting perl5 on HP-UX, AIX, and openSUSE http​://mirrors.develooper.com/hpux/ http​://www.test-smoke.org/ http​://qa.perl.org http​://www.goldmark.org/jeff/stupid-disclaimers/

@Tux, was the patch above ever brought into Perl 5 Configure? If not, do you wish to pursue it further?

@Tux
Copy link
Contributor

Tux commented Oct 30, 2023

This has been merged as

commit f41cd3a9d49c13be551a0daeb6aad1c3b9786d4b
Author: H.Merijn Brand - Tux <h.m.brand@xs4all.nl>
Date:   Sun Apr 19 10:56:12 2015 +0200

    Inhibit the use of \ in -D arguments

And amended in

commit e9a6b2913204856e44ea6134cb2ea95566830a39
Author: H.Merijn Brand - Tux <h.m.brand@xs4all.nl>
Date:   Thu Apr 21 15:17:23 2016 +0200

    Stuff missed in previous commits

It ended up in the core with these commits:

commit e244340e4067bb332773529bbff797bd14f103de
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date:   Wed Dec 16 20:19:03 2015 -0500

    Configure: grep -q is not portable

    It does not work in SysV (solaris) or old BSD greps.
commit e6704a40e007cf599527cad0675d63c2ca3e423d
Author: H.Merijn Brand <h.m.brand@xs4all.nl>
Date:   Mon Jul 6 16:02:15 2015 +0200

    Regenerate Configure after backports and small fixes

@Tux Tux closed this as completed Oct 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants