Re: dropping autogenerated dependency on pkg-config

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 30 Apr 2019 at 14:59, Neal Gompa <ngompa13@xxxxxxxxx> wrote:
[,,]
> Bollocks .. just sed/perl oneliner which will add BuildRequires: pkgconfig if in package is used any "BuildRequires: pkgconfig(<foo>) and remove from rpmdependencies autogenerator add "Requires: pkgconfig" if package has any on the list any pkgconfig file -> rebuild all affected packages.
> It should take ~1h for someone with proven packager priviledges.

Note that removing /usr/bin/pkg-config from the build environment also
stops pkgconfig() Provides/Requires from being generated.

And while I am a provenpackager and capable of making these kinds of
changes, I won't if I think they're not a good idea (like this one).

So that is your problem that you don't see that serving any .pc file should not automatically cause "Requires: pkgconfig(<foo>)", and that such generator should not relay on availability of pkgconfig command in build env isn't correct solution as well.

If you still have some king of doubts that this is correct solution just please try to describe scenario when this may not work or will produce misleading results. Can you do this .. please?

Just in case if anyone woulds be asking did I tested this.
I'm using above solution since I've first time opened issue ticket against rpm to drop adding pkgconfig (~two years ago). So far ItWorks(tm).
Please find in attachment patch patch which I'm using.
If you will have look closer you can find that this patch effectively removes only one line and everything else makes that generator shorter and depends only on POSIX sh (because it does not uses any bash specific extensions).

And on the bottom line
If that problem would be solved we can start discussing dropping adding Requires.Private as automatic devel dependencies. And filter off Libs.Priovarte as only handful pf Fedora packages provides static libraries.
This issue is as well related to meson messy behaviour. Coincidence but today I'v opened issue ticket against meson related to propagating Requires.Provate when meson is used to build only shared ABI.

PS. No offence but when it comes to engineering usually when someone cannot prove/disprove something in technical context and to refuse something they are using only what they like/dislike usually I'm stoop listening.
If you do not understand simple fact that you can only use your taste when you have two Correct(tm) solutions .. just change job.

kloczek
-- 
Tomasz Kłoczko | LinkedIn: http://lnkd.in/FXPWxH
--- rpm-4.14.2.1/scripts/pkgconfigdeps.sh~	2017-10-05 12:04:57.587602034 +0200
+++ rpm-4.14.2.1/scripts/pkgconfigdeps.sh	2018-12-31 08:33:37.433158137 +0100
@@ -1,19 +1,19 @@
-#!/bin/bash
+#!/bin/sh
 
 pkgconfig=/usr/bin/pkg-config
 test -x $pkgconfig || {
-    cat > /dev/null
-    exit 0
+	cat > /dev/null
+	exit 0
 }
 
 [ $# -ge 1 ] || {
-    cat > /dev/null
-    exit 0
+	cat > /dev/null
+	exit 0
 }
 
 $pkgconfig --atleast-pkgconfig-version="0.24" || {
-    cat > /dev/null
-    exit 0
+	cat > /dev/null
+	exit 0
 }
 
 # Under pkgconf, disables dependency resolver
@@ -44,7 +44,6 @@
     case "${filename}" in
     *.pc)
 	i="`expr $i + 1`"
-	[ $i -eq 1 ] && echo "$pkgconfig"
 	DIR="`dirname ${filename}`"
 	export PKG_CONFIG_PATH="$DIR:$DIR/../../share/pkgconfig"
 	$pkgconfig --print-requires --print-requires-private "$filename" 2> /dev/null | while read n r v ; do
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux