From: Michael Shigorin <mike@osdn.org.ua> To: ALT Devel discussion list <devel@lists.altlinux.org> Subject: Re: [devel] Q: pkg-config: Requires.private == Requires? Date: Tue, 2 Nov 2010 18:29:05 +0200 Message-ID: <20101102162904.GQ21965@osdn.org.ua> (raw) In-Reply-To: <20101102001441.GA3718@altlinux.org> On Tue, Nov 02, 2010 at 03:14:41AM +0300, Dmitry V. Levin wrote: > К сожалению, из-за тупых fdoшников пострадают нормальные > пакеты, которые используют Requires.private именно для > зависимостей статической линковки. Может, попытаться выпрямить fdo'шников? Ну там, рулесы им процитировать? На #freedesktop сослались на pkg-config FAQ и предложили для начала выяснить в pkg-config@l.fd.o: <gvy> hi folks, does "broken Requires.private" bell any rings to anyone? lots of fd.o software has broken pkgconfig files using that instead of Libs.private as our (ALT Linux) builsystem folks say <nchauvet> gvy, Requires.private isn't a strict pkgconfig equivalent of Libs.private IIRC, the thing is that this option still might not be well documented still. But for example Requires.private also affect CFLAGS of shared libraries. <gvy> nchauvet, thx, I'll forward <gvy> nchauvet, btw it was further recommended for the packagers to contemplate options like replacing "Requires.private: libsepol" with "Libs.private: -lsepol" (for libselinux.pc) <alanc> I know the alt Linux guys have been whining that the new Xorg releases follow the Requires.private recommendations from the pkg-config FAQ, because that's not the way they want to use them <gvy> hm <alanc> but I haven't seen them follow our suggestion to take it to the pkg-config mailing list so the maintainers like Mithrandir can respond <jcristau> i haven't quite understood what their problem was in the first place <gvy> well currently we have the choice of: <alanc> changing Requires.private to Libs.private like that seems like going backwards though, since you lose the inheritance of the required -I & -L flags from the other .pc files <gvy> - autoignoring Requires.private (thus breaking static builds); <gvy> - pulling in extra junk for non-static builds (which would be !junk for static ones); <gvy> - doing the replacement on a per package basis <nchauvet> gvy, autoignoring requires.private also break shared build when private 'headers' are involved * alanc is tempted to call "breaking static linking" a feature, but then I'm well past 1980 in my library linking usage <nchauvet> private =/= static library <gvy> :-) <jcristau> pulling in possibly unnneeded stuff for builds doesn't seem all that terrible <gvy> nchauvet, /me's not a toolchain expert by any means, rather trying to build up communication where it seems lacking <nchauvet> gvy, you might fall into on my only contrib to the pkgconfig mailing list, then <gvy> er? :) <gvy> for a bit of context, ALT widely uses autogenerated package dependencies <gvy> both build-time via stracing the build and then mapping fopens into package/soname buildrequires <gvy> and runtime via builroot analysis <gvy> there is also quite a notion that starting to pull in possibly unneeded stuff is a regression <alanc> hah! the complaint we got was because we moved unneeded stuff out of Requires <alanc> or rather, libraries that applications didn't need to directly link against <jcristau> it sounded like their pkg-config was broken and ignoring .private fields when it shouldn't have <gvy> hm, could you please remember who (or where) was that so that I don't duplicate the effort (presumably poorly) and spend everyone's time? <jcristau> https://bugs.freedesktop.org/show_bug.cgi?id=31267 <jcristau> but as was said there, this should be taken to the pkg-config mailing list, not on an xorg bug <gvy> thx <gvy> ah, so I was duplicating ldv@ himself (btw he's a gcc/glibc hacker iirc and not exactly prone to whining) <gvy> thanks, guys (и кстати, "с таким настроением ты слона не продашь" -- в смысле что все козлы и не понимают очевидных вещей) > Мейнтейнерам придётся самим решать, что с этим делать. > Простых варианта два: > - выкинуть Requires.private, поскольку статическая линковка это экзотика; Годится, если и так нет devel-static; вообще это менее экзотика, чем кажется в аквариуме с сизифами. Припомни, что каждый раз, как порывались её закопать -- приходили грамотные люди вроде morozov@ и терпеливо объясняли, почему это была плохая идея. > - добавить мусор в сборочные зависимости, после чего этот мусор попадет в > зависимости собранных devel-пакетов. BR? Этот вариант зацепляет по большей части hasher'ы, так? > Есть и более сложные варианты. На примере того же > libselinux.pc, можно заменить Requires.private: libsepol > на Libs.private: -lsepol > > Тогда и зависимостей лишних не будет, и статическая линковка не сломается. PS: также стоило сослаться на соответствующий апстримный баг: https://bugs.freedesktop.org/show_bug.cgi?id=31267 -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/
next prev parent reply other threads:[~2010-11-02 16:29 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-10-31 21:37 ` Dmitry V. Levin 2010-11-01 8:10 ` Alexey I. Froloff 2010-11-01 8:57 ` Konstantin Pavlov 2010-11-01 9:17 ` sbolshakov 2010-11-01 9:32 ` Dmitry V. Levin 2010-11-01 9:51 ` Valery V. Inozemtsev 2010-11-02 0:14 ` Dmitry V. Levin 2010-11-02 16:29 ` Michael Shigorin [this message] 2010-11-02 16:41 ` Dmitry V. Levin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20101102162904.GQ21965@osdn.org.ua \ --to=mike@osdn.org.ua \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git