Created attachment 149534 [details] rename In order to follow upstream (centos) naming and of non-linux variants add the suffix. This should avoid confusing 0.22.0 and 2.x branches as they provide different .so libraries. The fix should better reflect current PORTNAME. - graphics/gdk-pixbuf provides libgdk_pixbuf.so.2 - graphics/gdk-pixbuf2 provides libgdk_pixbuf-2.0.so.0 - graphics/linux-f10-gdk-pixbuf provides libgdk_pixbuf.so.2 - graphics/linux-c6-gdk-pixbuf provides libgdk_pixbuf-2.0.so.0 $ svn mv graphics/linux-c6-gdk-pixbuf{,2} $ svn patch /path/to/gdkpixbuf2.diff (Ignore rejects under www/linux-seamonkey before bug 195120)
Auto-assigned to maintainer emulation@FreeBSD.org
While I generally like the idea of having the upstreamed naming scheme in our portstree, here's the problem: Instead of your patch to www/linux-opera and www/linux-seamonkey you will need to discriminate the USE_LINUX_APPS= setting based on which linux distribution is used, given that you cannot use either gdkpixbuf2 with -f10, or gdkpixbuf with -c6. So, something like -USE_LINUX_APPS= gdkpixbuf gtk2 naslibs png sqlite3 xorglibs +USE_LINUX_APPS= gtk2 naslibs png sqlite3 xorglibs +.if ${USE_LINUX} == "f10" +USE_LINUX_APPS+= gdkpixbuf +.else +USE_LINUX_APPS+= gdkpixbuf2 +.endif for www/linux-opera and something like USE_LINUX_APPS+=alsalib alsa-plugins-oss atk dbusglib dbuslibs \ - fontconfig gdkpixbuf gtk2 hicontheme pango + fontconfig gtk2 hicontheme pango +.if ${USE_LINUX} == "f10" +USE_LINUX_APPS+= gdkpixbuf +.else +USE_LINUX_APPS+= gdkpixbuf2 +.endif for www/linux-seamonkey becomes necessary, along with entry in MOVED and UPDATING telling users to reinstall (pkg set -o etc) instructions.
Created attachment 149539 [details] rename, v2 Apologies for not testing the patch. Trying again with the quirk in bsd.linux-apps.mk. The intent is to help linux-foo ports and leave linux-f10-foo + linux-c6-foo for infra. If an actual consumer for gdk-pixbuf 0.22.0 appears c6 flavor can be added from an unofficial repo.
Created attachment 149540 [details] linux-opera f10 log
Created attachment 149541 [details] linux-firefox f10 log
Created attachment 149542 [details] linux-opera c6 log
Created attachment 149543 [details] linux-firefox c6 log
Created attachment 149544 [details] linux-c6-flashplugin log Ignore unrelated bugs: ====> Running Q/A tests (stage-qa) Warning: you may not need USES=desktop-file-utils ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist Error: Orphaned: @dir %%LINUXBASE%%/usr/lib Error: Orphaned: @dir %%LINUXBASE%%/usr Error: Orphaned: @dir %%LINUXBASE%% Error: Orphaned: @dir /compat
Your logs show the exact problem I was hinting at: the -f10 versions don't install gdk-pixbuf.
(In reply to Johannes Jost Meixner from comment #9) > Your logs show the exact problem I was hinting at: the -f10 versions don't > install gdk-pixbuf. Why that is a problem? I haven't found a single linux- port that depends on libgdk_pixbuf.so.2 provided by gdk-pixbuf among both f10 and c6. As the library is vestige of Gnome 1, no modern (often still gtk2) software depends on it. Then no need to install a non-leaf port that doesn't provide the required library. $ cd www/linux-opera $ readelf -d $(make -V WRKSRC)/lib/linux-opera/liboperagtk2.so | fgrep pixbuf 0x00000001 (NEEDED) Shared library: [libgdk_pixbuf-2.0.so.0] $ cd graphics/linux-f10-gdk-pixbuf $ fgrep libgdk_pixbuf-2.0.so.0 pkg-plist $ cd x11-toolkits/linux-f10-gtk2 $ fgrep libgdk_pixbuf-2.0.so.0 pkg-plist usr/lib/libgdk_pixbuf-2.0.so.0 usr/lib/libgdk_pixbuf-2.0.so.0.1400.7 OTOH, native gdk-pixbuf actually has (mostly gtk12) consumers. Non-linux firefox and opera are not among them as they implicitly have USE_GNOME=gdkpixbuf2.
> Why that is a problem? I haven't found a single linux- port that depends on libgdk_pixbuf.so.2 provided by gdk-pixbuf among both f10 and c6. Yeah, it isn't. I didn't know about gdk-pixbuf(1!) being a GNOME 1 "vestige". Just to make sure I understand the versions/provisioning of things correctly: * with linux-f10, linux-f10-gdk-pixbuf is GNOME1 and hence really old. * with linux-f10, gdk-pixbuf2 is provided by linux-f10-gtk2 * with linux-c6 (6.6 but not 6.5), gdk-pixbuf2 is provided by linux-c6-gdk-pixbuf * no linux-c6 port (so far) provides gdk-pixbuf (1!), and none seems needed ? Does that sound right?
Yes. You can confirm with runtime testing on top of |poudriere jail -s|. (In reply to Johannes Jost Meixner from comment #11) > * with linux-f10, gdk-pixbuf2 is provided by linux-f10-gtk2 Which means there maybe more ports that depend on gdk-pixbuf2 but not properly marked so. They work fine with f10 but not with c6 anymore.
Created attachment 149577 [details] rename, v3 Rebased against bug 195120.
Created attachment 149578 [details] rename, v3 Oops, forgot about linux-c6-gtk2 itself.
(In reply to Jan Beich from comment #14) > Created attachment 149578 [details] > rename, v3 > > Oops, forgot about linux-c6-gtk2 itself. I've created a phabric review revision with the patches of 195120 and 195121. https://reviews.freebsd.org/D1192 In preparation for making c6 default I've reversed the condition in Mk/bsd.linux-apps.com a little, asking for f10 OR "yes", else defaulting to centos (it'll make things easier in the future.)
A commit references this bug: Author: xmj Date: Mon Nov 24 02:40:15 UTC 2014 New revision: 373192 URL: https://svnweb.freebsd.org/changeset/ports/373192 Log: graphics/linux-c6-gdk-pixbuf: rename to -pixbuf2 - Rename gdk-pixbuf to linux-c6-gdk-pixbuf2 to properly distinguish between linux- gdk-pixbuf 1 and 2. - Change consumers dependencies to match. PR: 195120, 195121 Differential Revision: https://reviews.freebsd.org/D1192 Submitted by: Jan Beich <jbeich@vfemail.net> Reviewed by: rene (emulation) Approved by: swills (mentor) Approved by: portmgr (swills) Changes: head/MOVED head/Mk/bsd.linux-apps.mk head/graphics/linux-c6-gdk-pixbuf/ head/graphics/linux-c6-gdk-pixbuf2/ head/www/linux-c6-flashplugin11/Makefile head/www/linux-opera/Makefile head/x11-toolkits/linux-c6-gtk2/Makefile
Committed, thanks!