From 2ced5a7b019ca2afe25afdedd78cbeb44b085100 Mon Sep 17 00:00:00 2001 From: Daniel Drake Date: Tue, 16 Oct 2012 20:20:59 +0000 Subject: 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. --- 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 </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 <$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. -- cgit v0.9.1