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-10-16 20:20:59 (GMT)
committer Daniel Drake <dsd@laptop.org>2012-10-16 20:22:04 (GMT)
commit2ced5a7b019ca2afe25afdedd78cbeb44b085100 (patch)
tree52882d361af3574d074253a66c05eb8d9a42999d
parent2dc2f40a2f128c573c8265e8a8f5bbb408911489 (diff)
adobe_flash: support installing from bare .so file
Adobe Flash may be available on ARM as a bare libflashplayer.so file. Support installation of this format via the adobe_flash module.
-rw-r--r--modules/adobe_flash/README26
-rw-r--r--modules/adobe_flash/ksmain.50.adobe.inc1
-rw-r--r--modules/adobe_flash/ksmain.50.adobe.sh11
-rw-r--r--modules/adobe_flash/kspkglist.50.adobeflash.sh10
-rw-r--r--modules/adobe_flash/kspkglist.60.adobeflash.inc1
-rw-r--r--modules/adobe_flash/kspost.50.adoberepo.inc11
-rw-r--r--modules/adobe_flash/kspost.50.adoberepo.nochroot.inc16
-rw-r--r--modules/adobe_flash/kspost.50.flashinstall.nochroot.inc10
-rw-r--r--modules/adobe_flash/kspost.51.flashinstall.inc (renamed from modules/adobe_flash/kspost.50.flashinstall.inc)2
9 files changed, 67 insertions, 21 deletions
diff --git a/modules/adobe_flash/README b/modules/adobe_flash/README
index a61d60c..46750f6 100644
--- a/modules/adobe_flash/README
+++ b/modules/adobe_flash/README
@@ -1,6 +1,4 @@
This module installs Adobe Flash in the build.
-There is no configuration, simply include this module in your configuration.
-
***** WARNING *****
@@ -11,11 +9,26 @@ unless you have received special permission from Adobe.
You can request such permission on the Adobe website.
+For platforms where Adobe provides a Flash RPM package (x86, at the time of
+writing), there is no configuration, simply include this module in your
+configuration.
+
+For other platforms (e.g. ARM), you must specify the local filesystem path
+to libflashplayer.so which you have obtained for your platform (ask OLPC for
+info), as follows:
+
+[adobe_flash]
+plugin_path=/path/to/libflashplayer.so
+
-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 plugin if the web browser is installed prior to the installation of Flash.
+
+
+== Notes on the Adobe Flash RPM ==
+
+The standard Fedora RPM distributed by Adobe 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 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 the browser,
@@ -26,4 +39,3 @@ The workaround is to use this module, which adds the Adobe repository to the
build and yum repository configuration, includes the package in the build,
and includes a small amount of hackery to make sure that the plugin
installation is performed after installation of all other packages.
-
diff --git a/modules/adobe_flash/ksmain.50.adobe.inc b/modules/adobe_flash/ksmain.50.adobe.inc
deleted file mode 100644
index 199e175..0000000
--- a/modules/adobe_flash/ksmain.50.adobe.inc
+++ /dev/null
@@ -1 +0,0 @@
-repo --name=adobe --baseurl=http://linuxdownload.adobe.com/linux/i386/
diff --git a/modules/adobe_flash/ksmain.50.adobe.sh b/modules/adobe_flash/ksmain.50.adobe.sh
new file mode 100644
index 0000000..3cf38ea
--- /dev/null
+++ b/modules/adobe_flash/ksmain.50.adobe.sh
@@ -0,0 +1,11 @@
+# Copyright (C) 2012 One Laptop Per Child
+# Licensed under the terms of the GNU GPL v2 or later; see COPYING for details.
+
+. $OOB__shlib
+
+# Only include the repo when a local plugin hasn't been provided
+
+path=$(read_config adobe_flash plugin_path)
+[ -n "$path" ] && exit 0
+
+echo "repo --name=adobe --baseurl=http://linuxdownload.adobe.com/linux/i386/"
diff --git a/modules/adobe_flash/kspkglist.50.adobeflash.sh b/modules/adobe_flash/kspkglist.50.adobeflash.sh
new file mode 100644
index 0000000..ed4aa90
--- /dev/null
+++ b/modules/adobe_flash/kspkglist.50.adobeflash.sh
@@ -0,0 +1,10 @@
+# Copyright (C) 2012 One Laptop Per Child
+# Licensed under the terms of the GNU GPL v2 or later; see COPYING for details.
+
+. $OOB__shlib
+
+# Only install the package when a local plugin hasn't been provided
+path=$(read_config adobe_flash plugin_path)
+[ -n "$path" ] && exit 0
+
+echo "flash-plugin"
diff --git a/modules/adobe_flash/kspkglist.60.adobeflash.inc b/modules/adobe_flash/kspkglist.60.adobeflash.inc
index 7152337..40c8a62 100644
--- a/modules/adobe_flash/kspkglist.60.adobeflash.inc
+++ b/modules/adobe_flash/kspkglist.60.adobeflash.inc
@@ -1,5 +1,4 @@
# Must be run after any modules that install gnash-plugin (gnome, sugar)
-gnash-plugin
-flash-plugin
nspluginwrapper
diff --git a/modules/adobe_flash/kspost.50.adoberepo.inc b/modules/adobe_flash/kspost.50.adoberepo.inc
deleted file mode 100644
index b3e9161..0000000
--- a/modules/adobe_flash/kspost.50.adoberepo.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-# Install yum repo entry for Adobe repo
-
-cat <<EOF >/etc/yum.repos.d/adobe-linux-i386.repo
-[adobe-linux-i386]
-name=Adobe Systems Incorporated
-baseurl=http://linuxdownload.adobe.com/linux/i386/
-enabled=1
-gpgcheck=1
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
-EOF
-
diff --git a/modules/adobe_flash/kspost.50.adoberepo.nochroot.inc b/modules/adobe_flash/kspost.50.adoberepo.nochroot.inc
new file mode 100644
index 0000000..a0a1b42
--- /dev/null
+++ b/modules/adobe_flash/kspost.50.adoberepo.nochroot.inc
@@ -0,0 +1,16 @@
+# Licensed under the terms of the GNU GPL v2 or later; see COPYING for details.
+
+. $OOB__shlib
+
+# Install yum repo entry for Adobe repo when we get the package from there
+path=$(read_config adobe_flash plugin_path)
+[ -n "$path" ] && exit 0
+
+cat <<EOF >$INSTALL_ROOT/etc/yum.repos.d/adobe-linux-i386.repo
+[adobe-linux-i386]
+name=Adobe Systems Incorporated
+baseurl=http://linuxdownload.adobe.com/linux/i386/
+enabled=1
+gpgcheck=1
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
+EOF
diff --git a/modules/adobe_flash/kspost.50.flashinstall.nochroot.inc b/modules/adobe_flash/kspost.50.flashinstall.nochroot.inc
new file mode 100644
index 0000000..c265ebe
--- /dev/null
+++ b/modules/adobe_flash/kspost.50.flashinstall.nochroot.inc
@@ -0,0 +1,10 @@
+# Licensed under the terms of the GNU GPL v2 or later; see COPYING for details.
+
+. $OOB__shlib
+
+# Install locally-provided flash plugin
+path=$(read_config adobe_flash plugin_path)
+[ -n "$path" ] || exit 0
+
+mkdir -p $INSTALL_ROOT/usr/lib/mozilla/plugins
+cp -v $path $INSTALL_ROOT/usr/lib/mozilla/plugins/libflashplayer.so
diff --git a/modules/adobe_flash/kspost.50.flashinstall.inc b/modules/adobe_flash/kspost.51.flashinstall.inc
index e42d1ff..8578edd 100644
--- a/modules/adobe_flash/kspost.50.flashinstall.inc
+++ b/modules/adobe_flash/kspost.51.flashinstall.inc
@@ -1,6 +1,6 @@
# Run Adobe install script (basically the point of this module)
# see README for an explanation of why this is necessary
-/usr/lib/flash-plugin/setup 32
+[ -e /usr/lib/flash-plugin/setup ] && /usr/lib/flash-plugin/setup 32
# nspluginwrapper is needed at this time, because libflashplayer links
# against GTK2 but our browser (Browse/Epiphany) is GTK3.