Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] package/pkgconf: fix behavior of pkg-config --version
@ 2019-01-02 17:36 Thomas Petazzoni
  2019-01-02 21:21 ` Yann E. MORIN
  2019-01-03 21:04 ` Thomas Petazzoni
  0 siblings, 2 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2019-01-02 17:36 UTC (permalink / raw)
  To: buildroot

For some odd reason, the new pkg-config 1.5.3 changed the behavior of
"pkg-config --version": as soon as another argument than "--version"
is passed, the code assumes the user wanted to run "--modversion"
instead.

Sadly, this breaks badly with our pkg-config wrapper that
unconditionally passes --static to pkg-config when
BR2_STATIC_LIBS=y. When ffmpeg calls "pkg-config --version" to test if
pkg-config is available and functional, it's actually "pkg-config
--static --version" that gets executed. pkg-config assumes that the
user wanted to use --modversion and bails out with an error.

This causes a build failure of ffmpeg in BR2_STATIC_LIBS=y
configuration.

This misbehavior of pkg-config has been reported upstream at
https://git.dereferenced.org/pkgconf/pkgconf/issues/19, but until it
gets fixed, we work around the issue by reverting the commit that does
the "hey let's assume you're using --modversion if --version is passed
with more than one argument".

Fixes:

  http://autobuild.buildroot.net/results/ed82a95e1866ea2caadbb3433b2a255b2cf621d2/
  (and plenty of other ffmpeg + BR2_STATIC_LIBS=y build failures)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
Changes since v1:
- Revert the problematic upstream commit instead of doing a workaround
  specific to the -static option.
---
 ...me-modversion-insted-of-version-if-o.patch | 45 +++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch

diff --git a/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch b/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
new file mode 100644
index 0000000000..e79bea93a5
--- /dev/null
+++ b/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
@@ -0,0 +1,45 @@
+From 4ccef40918a539905a2951bfb81cf8dba4a245c6 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+Date: Wed, 2 Jan 2019 18:15:50 +0100
+Subject: [PATCH] Revert "main: assume --modversion insted of --version if
+ other flags or module names are provided"
+
+This reverts commit 12a0eb124cea85586e57f33c91a1e4c73459eef6, as it
+causes pkg-config to assume --modversion is used when something as
+simple as 'pkg-config --static --version' is used, leading to a
+failure instead of the expected behavior: the one of "pkg-config
+--version".
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+---
+ cli/main.c | 14 ++------------
+ 1 file changed, 2 insertions(+), 12 deletions(-)
+
+diff --git a/cli/main.c b/cli/main.c
+index b52cc85..c5acc10 100644
+--- a/cli/main.c
++++ b/cli/main.c
+@@ -955,18 +955,8 @@ main(int argc, char *argv[])
+ 
+ 	if ((want_flags & PKG_VERSION) == PKG_VERSION)
+ 	{
+-		if (argc > 2)
+-		{
+-			fprintf(stderr, "%s: --version specified with other options or module names, assuming --modversion.\n", argv[0]);
+-
+-			want_flags &= ~PKG_VERSION;
+-			want_flags |= PKG_MODVERSION;
+-		}
+-		else
+-		{
+-			version();
+-			return EXIT_SUCCESS;
+-		}
++		version();
++		return EXIT_SUCCESS;
+ 	}
+ 
+ 	if ((want_flags & PKG_HELP) == PKG_HELP)
+-- 
+2.20.1
+
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v2] package/pkgconf: fix behavior of pkg-config --version
  2019-01-02 17:36 [Buildroot] [PATCH v2] package/pkgconf: fix behavior of pkg-config --version Thomas Petazzoni
@ 2019-01-02 21:21 ` Yann E. MORIN
  2019-01-03 21:04 ` Thomas Petazzoni
  1 sibling, 0 replies; 3+ messages in thread
From: Yann E. MORIN @ 2019-01-02 21:21 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2019-01-02 18:36 +0100, Thomas Petazzoni spake thusly:
> For some odd reason, the new pkg-config 1.5.3 changed the behavior of
> "pkg-config --version": as soon as another argument than "--version"
> is passed, the code assumes the user wanted to run "--modversion"
> instead.
> 
> Sadly, this breaks badly with our pkg-config wrapper that
> unconditionally passes --static to pkg-config when
> BR2_STATIC_LIBS=y. When ffmpeg calls "pkg-config --version" to test if
> pkg-config is available and functional, it's actually "pkg-config
> --static --version" that gets executed. pkg-config assumes that the
> user wanted to use --modversion and bails out with an error.
> 
> This causes a build failure of ffmpeg in BR2_STATIC_LIBS=y
> configuration.
> 
> This misbehavior of pkg-config has been reported upstream at
> https://git.dereferenced.org/pkgconf/pkgconf/issues/19, but until it
> gets fixed, we work around the issue by reverting the commit that does
> the "hey let's assume you're using --modversion if --version is passed
> with more than one argument".
> 
> Fixes:
> 
>   http://autobuild.buildroot.net/results/ed82a95e1866ea2caadbb3433b2a255b2cf621d2/
>   (and plenty of other ffmpeg + BR2_STATIC_LIBS=y build failures)
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

This is idneed a revert of the upstream commit, as suggested, so:

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
> Changes since v1:
> - Revert the problematic upstream commit instead of doing a workaround
>   specific to the -static option.
> ---
>  ...me-modversion-insted-of-version-if-o.patch | 45 +++++++++++++++++++
>  1 file changed, 45 insertions(+)
>  create mode 100644 package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
> 
> diff --git a/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch b/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
> new file mode 100644
> index 0000000000..e79bea93a5
> --- /dev/null
> +++ b/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
> @@ -0,0 +1,45 @@
> +From 4ccef40918a539905a2951bfb81cf8dba4a245c6 Mon Sep 17 00:00:00 2001
> +From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> +Date: Wed, 2 Jan 2019 18:15:50 +0100
> +Subject: [PATCH] Revert "main: assume --modversion insted of --version if
> + other flags or module names are provided"
> +
> +This reverts commit 12a0eb124cea85586e57f33c91a1e4c73459eef6, as it
> +causes pkg-config to assume --modversion is used when something as
> +simple as 'pkg-config --static --version' is used, leading to a
> +failure instead of the expected behavior: the one of "pkg-config
> +--version".
> +
> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> +---
> + cli/main.c | 14 ++------------
> + 1 file changed, 2 insertions(+), 12 deletions(-)
> +
> +diff --git a/cli/main.c b/cli/main.c
> +index b52cc85..c5acc10 100644
> +--- a/cli/main.c
> ++++ b/cli/main.c
> +@@ -955,18 +955,8 @@ main(int argc, char *argv[])
> + 
> + 	if ((want_flags & PKG_VERSION) == PKG_VERSION)
> + 	{
> +-		if (argc > 2)
> +-		{
> +-			fprintf(stderr, "%s: --version specified with other options or module names, assuming --modversion.\n", argv[0]);
> +-
> +-			want_flags &= ~PKG_VERSION;
> +-			want_flags |= PKG_MODVERSION;
> +-		}
> +-		else
> +-		{
> +-			version();
> +-			return EXIT_SUCCESS;
> +-		}
> ++		version();
> ++		return EXIT_SUCCESS;
> + 	}
> + 
> + 	if ((want_flags & PKG_HELP) == PKG_HELP)
> +-- 
> +2.20.1
> +
> -- 
> 2.20.1
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v2] package/pkgconf: fix behavior of pkg-config --version
  2019-01-02 17:36 [Buildroot] [PATCH v2] package/pkgconf: fix behavior of pkg-config --version Thomas Petazzoni
  2019-01-02 21:21 ` Yann E. MORIN
@ 2019-01-03 21:04 ` Thomas Petazzoni
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2019-01-03 21:04 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed,  2 Jan 2019 18:36:38 +0100, Thomas Petazzoni wrote:
> For some odd reason, the new pkg-config 1.5.3 changed the behavior of
> "pkg-config --version": as soon as another argument than "--version"
> is passed, the code assumes the user wanted to run "--modversion"
> instead.
> 
> Sadly, this breaks badly with our pkg-config wrapper that
> unconditionally passes --static to pkg-config when
> BR2_STATIC_LIBS=y. When ffmpeg calls "pkg-config --version" to test if
> pkg-config is available and functional, it's actually "pkg-config
> --static --version" that gets executed. pkg-config assumes that the
> user wanted to use --modversion and bails out with an error.
> 
> This causes a build failure of ffmpeg in BR2_STATIC_LIBS=y
> configuration.
> 
> This misbehavior of pkg-config has been reported upstream at
> https://git.dereferenced.org/pkgconf/pkgconf/issues/19, but until it
> gets fixed, we work around the issue by reverting the commit that does
> the "hey let's assume you're using --modversion if --version is passed
> with more than one argument".
> 
> Fixes:
> 
>   http://autobuild.buildroot.net/results/ed82a95e1866ea2caadbb3433b2a255b2cf621d2/
>   (and plenty of other ffmpeg + BR2_STATIC_LIBS=y build failures)
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> Changes since v1:
> - Revert the problematic upstream commit instead of doing a workaround
>   specific to the -static option.
> ---
>  ...me-modversion-insted-of-version-if-o.patch | 45 +++++++++++++++++++
>  1 file changed, 45 insertions(+)
>  create mode 100644 package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-01-03 21:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-02 17:36 [Buildroot] [PATCH v2] package/pkgconf: fix behavior of pkg-config --version Thomas Petazzoni
2019-01-02 21:21 ` Yann E. MORIN
2019-01-03 21:04 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox