%define name flash-player-plugin %define version 10.3.183.5 %define rel 1 # backportability %define _localstatedir /var Summary: Flash Player plugin for browsers Name: %name Version: %version Release: %mkrel %rel License: Proprietary URL: http://www.adobe.com/products/flashplayer/ Group: Networking/WWW ExclusiveArch: %ix86 Requires(pre): curl # obtained by objdump -x /usr/lib/mozilla/plugins/libflashplayer.so | grep NEEDED # helper: for i in $(objdump -p libflashplayer.so | grep NEEDED | awk '{ print $2 }'); do # echo -n "$i: "; rpm -qf /usr/lib64/$i; done # libX11.so.6 libXext.so.6 libXt.so.6 libfreetype.so.6 Requires: %{_lib}x11_6 %{_lib}xext6 %{_lib}xt6 %{_lib}freetype6 # libfontconfig.so.1 libgtk-x11-2.0.so.0, libgdk-x11-2.0.so.0 Requires: %{_lib}fontconfig1 %{_lib}gtk+-x11-2.0_0 # libatk-1.0.so.0 libgdk_pixbuf-2.0.so.0 libpangocairo-1.0.so.0, libpango-1.0.so.0 Requires: %{_lib}atk1.0_0 %{_lib}gdk_pixbuf2.0_0 %{_lib}pango1.0_0 # libcairo.so.2 libgobject-2.0.so.0, libgmodule-2.0.so.0, libglib-2.0.so.0 Requires: %{_lib}cairo2 %{_lib}glib2.0_0 # libnss3.so, libsmime3.so, libssl3.so libplds4.so, libplc4.so, libnspr4.so Requires: %{_lib}nss3 %{_lib}nspr4 # required for audio, dlopened: Requires: %{_lib}alsa2 # dlopened: Requires: %{_lib}curl4 # dlopened, for video acceleration: Suggests: %{_lib}vdpau1 # Conflicts: FlashPlayer < 9.0.115.0-5 Conflicts: flash-plugin FlashPlayer-plugin flashplayer-plugin # Conflict with free plugins to avoid user confusion as to which one is # actually used: Conflicts: gnash-firefox-plugin Conflicts: swfdec-mozilla Conflicts: lightspark-mozilla-plugin Conflicts: libflashsupport < 0.20080000.1 Obsoletes: flash-player-plugin10.2 < 10.2.152 BuildRequires: kde4-macros BuildRoot: %{_tmppath}/%{name}-root %description Adobe Flash Player plugin for browsers. NOTE: This package does not contain the Flash Player itself. The software will be automatically downloaded from Adobe during the package installation. Installing this package indicates acceptance of the EULA, available from http://www.adobe.com/products/eulas/players/flash/. # It would be preferable to have the KCM module in the main package with # simply not requiring any kde stuff. However, standard KDE installation # doesn't necessary include libkutils4. - Anssi 08/2011 %package kde Summary: Flash Player KDE settings module Group: Networking/WWW Requires: %{name} = %{version}-%{release} Requires(post): %{name} = %{version}-%{release} # helper: for i in $(objdump -p usr/lib/kde4/kcm_adobe_flash_player.so | grep NEEDED | awk '{ print $2 }'); do # echo -n "$i: "; rpm -qf /usr/lib64/$i; done Requires: %{_lib}kdeui5 Requires: %{_lib}sm6 Requires: %{_lib}ice6 Requires: %{_lib}x11_6 Requires: %{_lib}xext6 Requires: %{_lib}xft2 Requires: %{_lib}xau6 Requires: %{_lib}xdmcp6 Requires: %{_lib}xpm4 Requires: %{_lib}kutils4 Requires: %{_lib}kdecore5 Requires: %{_lib}qtdbus4 Requires: %{_lib}qtcore4 Requires: %{_lib}qtsvg4 Requires: %{_lib}qtgui4 Conflicts: flash-player-plugin < 10.3.183.5 Conflicts: flash-player-plugin11 < 11.0.1.98-0.b2.080811.2 %description kde KDE settings module for Adobe Flash Player. NOTE: This package does not contain the software itself. The software will be automatically downloaded from the Adobe server during the package installation. Installing this package indicates acceptance of the EULA, available from http://www.adobe.com/products/eulas/players/flash/. %prep %setup -c -T # The linuxdownload.adobe.com rpm usually stays up longer, but fpdownload.macromedia.com is faster. # Their md5sums usually differ. %ifarch %ix86 %define downurl1 http://fpdownload.macromedia.com/get/flashplayer/current/flash-plugin-%version-release.i386.rpm %define tmd5sum1 05df93d6f61f555bec3267ea6eeb54f0 %define downurl2 http://linuxdownload.adobe.com/linux/i386/flash-plugin-%version-release.i386.rpm %define tmd5sum2 c02f9b54d942c0b0d59edb1cbff2ae6b %define tarname flash-plugin-%version-release.i386.rpm %define tartype rpm %endif %ifarch x86_64 %define downurl1 http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-%version.linux-x86_64.so.tar.gz %define tmd5sum1 none, not available %define downurl2 %nil %define tmd5sum2 %nil %define tarname libflashplayer-%version.linux-x86_64.so.tar.gz %define tartype tar %endif %define file %{_localstatedir}/lib/%{name}/%{tarname} %install rm -rf %{buildroot} install -d -m755 %{buildroot}%{_localstatedir}/lib/%{name} install -d -m755 %{buildroot}%{_libdir}/mozilla/plugins touch %{buildroot}%{_libdir}/mozilla/plugins/libflashplayer.so touch %{buildroot}%{_libdir}/mozilla/plugins/LICENSE.flashplayer touch %{buildroot}%{_libdir}/mozilla/plugins/README.flashplayer touch %{buildroot}%{_localstatedir}/lib/%{name}/%{tarname} install -d -m755 %{buildroot}%{_bindir} touch %{buildroot}%{_bindir}/flash-player-properties install -d -m755 %{buildroot}%{_kde_services} touch %{buildroot}%{_kde_services}/kcm_adobe_flash_player.desktop install -d -m755 %{buildroot}%{_kde_libdir}/kde4 touch %{buildroot}%{_kde_libdir}/kde4/kcm_adobe_flash_player.so install -d -m755 %{buildroot}%{_datadir}/applications touch %{buildroot}%{_datadir}/applications/flash-player-properties.desktop for i in 16 22 24 32 48; do install -d -m755 %{buildroot}%{_iconsdir}/hicolor/${i}x${i}/apps touch %{buildroot}%{_iconsdir}/hicolor/${i}x${i}/apps/flash-player-properties.png done install -d -m755 %{buildroot}%{_datadir}/%{name} cat > %{buildroot}%{_datadir}/%{name}/functions << EOF tar_extract() { extractdir=\$(mktemp -d --tmpdir=/tmp) if [ -z "\$extractdir" ]; then echo "Error during extraction." >&2 exit 1 fi cd "\$extractdir" || exit 1 %if "%tartype" == "rpm" rpm2cpio "%file" | cpio -i --quiet -d %else tar -xzf "%file" %endif FILENUM=1 FILE_SRC="\$FILE1_SRC" FILE_DST="\$FILE1_DST" while [ -n "\$FILE_SRC" ]; do mv -f "\$FILE_SRC" "\$FILE_DST" FILENUM=\$((FILENUM+1)) eval FILE_SRC="\\\$FILE\${FILENUM}_SRC" eval FILE_DST="\\\$FILE\${FILENUM}_DST" done rm -rf "\$extractdir" } EOF %clean rm -rf %{buildroot} %pre checkmd5sum() { [ -e "$1" ] || return 1 FILEMD5="$(md5sum $1 | cut -d" " -f1)" [ -n "$FILEMD5" ] || return 1 MD5NUM=1 eval MD5SUM="\$MD5SUM$MD5NUM" while [ "$MD5SUM" ]; do [ "$MD5SUM" = "$FILEMD5" ] && return 0 MD5NUM=$((MD5NUM+1)) eval MD5SUM="\$MD5SUM$MD5NUM" done return 1 } MD5SUM1="%{tmd5sum1}" MD5SUM2="%{tmd5sum2}" MD5SUM3= URL1="%{downurl1}" URL2="%{downurl2}" URL3= URLNUM=1 install -d -m 0755 %{_localstatedir}/lib/%{name} echo "Note that by downloading the Adobe Flash Player you indicate your acceptance of" echo "the EULA, available from http://www.adobe.com/products/eulas/players/flash/" while ! checkmd5sum "%file"; do eval URL="\$URL$URLNUM" if [ -z "$URL" ]; then echo "Error: Unable to download Flash Player. This is likely due to this package" >&2 echo " being too old. Please file a bug report at https://bugs.mageia.org" >&2 echo " so that the package gets updated. Thank you." >&2 echo "" >&2 echo " In the meantime, you can download Flash Player manually from" >&2 echo " http://get.adobe.com/flashplayer/" >&2 exit 1 fi URLNUM=$((URLNUM+1)) echo "Downloading from $URL:" curl --connect-timeout 20 -m 10800 -L "$URL" > "%file" done %post FILE1_SRC="usr/lib/flash-plugin/libflashplayer.so" FILE1_DST="%{_libdir}/mozilla/plugins/libflashplayer.so" FILE2_SRC="usr/lib/flash-plugin/LICENSE" FILE2_DST="%{_libdir}/mozilla/plugins/LICENSE.flashplayer" FILE3_SRC="usr/lib/flash-plugin/README" FILE3_DST="%{_libdir}/mozilla/plugins/README.flashplayer" FILE4_SRC="usr/bin/flash-player-properties" FILE4_DST="%{_bindir}/flash-player-properties" FILE5_SRC="usr/share/applications/flash-player-properties.desktop" FILE5_DST="%{_datadir}/applications/flash-player-properties.desktop" FILE6_SRC="usr/share/icons/hicolor/16x16/apps/flash-player-properties.png" FILE6_DST="%{_iconsdir}/hicolor/16x16/apps/flash-player-properties.png" FILE7_SRC="usr/share/icons/hicolor/22x22/apps/flash-player-properties.png" FILE7_DST="%{_iconsdir}/hicolor/22x22/apps/flash-player-properties.png" FILE8_SRC="usr/share/icons/hicolor/24x24/apps/flash-player-properties.png" FILE8_DST="%{_iconsdir}/hicolor/24x24/apps/flash-player-properties.png" FILE9_SRC="usr/share/icons/hicolor/32x32/apps/flash-player-properties.png" FILE9_DST="%{_iconsdir}/hicolor/32x32/apps/flash-player-properties.png" FILE10_SRC="usr/share/icons/hicolor/48x48/apps/flash-player-properties.png" FILE10_DST="%{_iconsdir}/hicolor/48x48/apps/flash-player-properties.png" FILE11_SRC= . %{_datadir}/%{name}/functions tar_extract # show in KDE as well (in case user doesn't have -kde subpkg sed -i 's,NotShowIn=KDE;,,' %{_datadir}/applications/flash-player-properties.desktop # otherwise KDE hides it: sed -i 's,GNOME;,,' %{_datadir}/applications/flash-player-properties.desktop echo "Installation successful." if [ "$(uname -m)" == x86_64 ]; then if ! [ -x %{_bindir}/nspluginwrapper ]; then echo "Install nspluginwrapper if you want to use the plugin with 64bit browsers too." fi fi %post kde FILE1_SRC="usr/lib/kde4/kcm_adobe_flash_player.so" FILE1_DST="%{_kde_libdir}/kde4/kcm_adobe_flash_player.so" FILE2_SRC="usr/share/kde4/services/kcm_adobe_flash_player.desktop" FILE2_DST="%{_kde_services}/kcm_adobe_flash_player.desktop" . %{_datadir}/%{name}/functions tar_extract if [ "$(uname -m)" == x86_64 ]; then echo "Note: Adobe Flash Player configurator can only be accessed from the normal Tools" echo "menu instead of KDE System Settings (due to this being a 64bit system)." rm -f %{_kde_services}/kcm_adobe_flash_player.desktop fi %files %defattr(-,root,root) %dir %{_localstatedir}/lib/%{name} %ghost %{_localstatedir}/lib/%{name}/%{tarname} %dir %{_datadir}/%{name} %{_datadir}/%{name}/functions %dir %{_libdir}/mozilla %dir %{_libdir}/mozilla/plugins %ghost %{_libdir}/mozilla/plugins/libflashplayer.so %ghost %{_libdir}/mozilla/plugins/LICENSE.flashplayer %ghost %{_libdir}/mozilla/plugins/README.flashplayer %ghost %{_bindir}/flash-player-properties %ghost %{_datadir}/applications/flash-player-properties.desktop %ghost %{_iconsdir}/hicolor/*/apps/flash-player-properties.png %files kde %defattr(-,root,root) %ghost %{_kde_libdir}/kde4/kcm_adobe_flash_player.so %ghost %{_kde_services}/kcm_adobe_flash_player.desktop