Summary: | webplugin sym links broken (e.g., multimedia/totem) | ||||||
---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | John Hein <jcfyecrayz> | ||||
Component: | Ports Framework | Assignee: | Port Management Team <portmgr> | ||||
Status: | Closed Overcome By Events | ||||||
Severity: | Affects Only Me | CC: | bapt, jkim | ||||
Priority: | --- | ||||||
Version: | Latest | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
I sent this out in mid-May in email, but I think it has been overlooked. So I'm adding here as a bug so it doesn't get forgotten. I can't reproduce the problem: % make webplugin-post-install install -d /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/gecko /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-cone-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/gecko/ /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-gmp-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/gecko/ /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-mully-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/gecko/ /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-narrowspace-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/gecko/ install -d /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/opera /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-cone-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/opera/ /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-gmp-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/opera/ /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-mully-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/opera/ /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-narrowspace-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/opera/ install -d /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/opera-devel /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-cone-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/opera-devel/ /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-gmp-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/opera-devel/ /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-mully-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/opera-devel/ /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-narrowspace-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/opera-devel/ install -d /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/webkit-gtk2 /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-cone-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/webkit-gtk2/ /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-gmp-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/webkit-gtk2/ /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-mully-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/webkit-gtk2/ /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-narrowspace-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/webkit-gtk2/ - Mk/Uses is portmgr territory - Can't reproduce with bmake but can reproduce with fmake fmake is not supported anymore |
Created attachment 143475 [details] fix webplugin sym links due to make eval order problems I think webplugin sym links are still broken even after: ============== r333783 | jkim | 2013-11-14 11:43:25 -0700 (Thu, 14 Nov 2013) | 6 lines Changed paths: M /head/Mk/Uses/webplugin.mk Fix symlink when PKGBASE, WEBPLUGIN_DIR, and WEBPLUGIN_NAME are not defined. The deeply nested expression for .for loop cannot be completely evaluated at the time of loop expansion because PKGBASE will be assigned much later. Approved by: bapt ============== The issue is the same as what is described in the commit message. When WEBPLUGIN_NAME is undefined by the port, WEBPLUGIN_DIR (which references WEBPLUGIN_NAME) will also not have the right value until after PKGBASE is defined. But the :S substitution is done before that and thus before WEBPLUGIN_DIR really gets the value we want it to have (not at the time the ln command is run). For example, in multimedia/totem, I see the following during 'make stage': . . gmake[1]: Leaving directory `/usr/ports/multimedia/totem/work/totem-2.32.0' install -d /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/gecko /bin/ln -sf /usr/local/lib/browser_plugins//libtotem-cone-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/gecko/ . . And that sym link is broken. It should be: /bin/ln -sf /usr/local/lib/browser_plugins/totem/libtotem-cone-plugin.so /usr/ports/multimedia/totem/work/stage/usr/local/lib/browser_plugins/symlinks/gecko/ ^^^^^ Attached is a fix that avoids the :S evaluation that happens too soon.