Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2012-05-29 15:53:02 (GMT)
committer Daniel Drake <dsd@laptop.org>2012-05-29 15:53:02 (GMT)
commitbadee9f99d53d5fc0c5fccd302f0a448ae17b9eb (patch)
treeca832004f85ab232483c56f0732639d04238315c
parent225538d48a266af077e6d11ef1757aa1e2e18b49 (diff)
adobe_flash: use nspluginwrapper, update for WebKit
We have moved from Mozilla to WebKit. While we use GTK3 WebKit1, which tries to load the GTK2 flash player into the same process, we must use nspluginwrapper to add a process separation to avoid a fatal mix of GTK2/GTK3 symbols in the same process.
-rw-r--r--modules/adobe_flash/README4
-rw-r--r--modules/adobe_flash/kspkglist.60.adobeflash.inc1
-rw-r--r--modules/adobe_flash/kspost.50.flashinstall.inc14
3 files changed, 17 insertions, 2 deletions
diff --git a/modules/adobe_flash/README b/modules/adobe_flash/README
index 4ce60e8..a61d60c 100644
--- a/modules/adobe_flash/README
+++ b/modules/adobe_flash/README
@@ -15,10 +15,10 @@ You can request such permission on the Adobe website.
While Flash is available as a standard Fedora RPM distributed by Adobe, it
breaks the rules of packaging and conditionally installs files based on the
package set present on the system at time of installation -- it only installs
-the Mozilla plugin if Mozilla is installed prior to the installation of Flash.
+the plugin if the web browser is installed prior to the installation of Flash.
For this reason, if you simply add the Flash package as an extra package in
-the build, it is possible (and likely?) to be installed before Mozilla,
+the build, it is possible (and likely?) to be installed before the browser,
meaning that Flash doesn't actually work in your resultant image, even
though the RPM was included.
diff --git a/modules/adobe_flash/kspkglist.60.adobeflash.inc b/modules/adobe_flash/kspkglist.60.adobeflash.inc
index 7c5b200..7152337 100644
--- a/modules/adobe_flash/kspkglist.60.adobeflash.inc
+++ b/modules/adobe_flash/kspkglist.60.adobeflash.inc
@@ -2,3 +2,4 @@
-gnash-plugin
flash-plugin
+nspluginwrapper
diff --git a/modules/adobe_flash/kspost.50.flashinstall.inc b/modules/adobe_flash/kspost.50.flashinstall.inc
index ee94cba..e42d1ff 100644
--- a/modules/adobe_flash/kspost.50.flashinstall.inc
+++ b/modules/adobe_flash/kspost.50.flashinstall.inc
@@ -2,3 +2,17 @@
# see README for an explanation of why this is necessary
/usr/lib/flash-plugin/setup 32
+# nspluginwrapper is needed at this time, because libflashplayer links
+# against GTK2 but our browser (Browse/Epiphany) is GTK3.
+# nspluginwrapper provides a process separation model that avoids fatally
+# mixing GTK2/GTK3 symbols in the same process.
+#
+# Moving to WebKit2 will solve this problem, because it moves plugins into
+# their own process. When we move to WebKit2 we will be able to drop
+# nspluginwrapper.
+#
+# Delete all already-wrapped plugins, and only wrap libflashplayer
+rm -f /usr/lib/mozilla/plugins-wrapped/nswrapper*.so
+/usr/lib/nspluginwrapper/npconfig -n -p nswrapper_32_32 \
+ -d /usr/lib/mozilla/plugins-wrapped \
+ -i /usr/lib/mozilla/plugins/libflashplayer.so