# Version of java %define javaver 1.8.0 # Alternatives priority %define priority 18000 # jnlp prorocol gnome registry keys %define gurlhandler /desktop/gnome/url-handlers %define jnlphandler %{gurlhandler}/jnlp %define jnlpshandler %{gurlhandler}/jnlps %define javadir %{_jvmdir}/java-%{javaver}-openjdk %define jredir %{_jvmdir}/jre-%{javaver}-openjdk %define javaplugin libjavaplugin.so.%{_arch} %define binsuffix .itweb %define preffered_java java-%{javaver}-openjdk Name: icedtea-web Version: 1.7.1 Release: 2%{?dist} Summary: Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation Group: Applications/Internet License: LGPLv2+ and GPLv2 with exceptions URL: http://icedtea.classpath.org/wiki/IcedTea-Web Source0: http://icedtea.classpath.org/download/source/%{name}-%{version}.tar.gz Patch0: bashCompDirHardcodedAgain.patch Patch1: issue1.patch Patch2: issue2.patch Patch3: issue3.patch Patch4: PreventiveleQueue.patch Patch11: issue1-bin.patch Patch33: issue3-bin.patch BuildRequires: jpackage-utils BuildRequires: %{preffered_java}-devel BuildRequires: desktop-file-utils BuildRequires: gecko-devel BuildRequires: glib2-devel BuildRequires: autoconf BuildRequires: automake BuildRequires: xulrunner-devel BuildRequires: junit4 BuildRequires: libappstream-glib # new in 1.5 to have clean up for malformed XMLs BuildRequires: tagsoup # rhino is used as JS evaluator in testtime BuildRequires: rhino # to apply binary tests for CVEs BuildRequires: git # For functionality and the OpenJDK dirs Requires: %{preffered_java} Requires: jpackage-utils Requires: bash-completion #maven fragments Requires(post): jpackage-utils Requires(postun): jpackage-utils # For the mozilla plugin dir Requires: mozilla-filesystem%{?_isa} # When itw builds against it, it have to be also in runtime Requires: tagsoup # rhino is used as JS evaluator in runtime Requires: rhino # Post requires alternatives to install tool alternatives. Requires(post): %{_sbindir}/alternatives # in version 1.7 and higher for --family switch Requires(post): chkconfig >= 1.7 # jnlp protocols support Requires(post): GConf2 # Postun requires alternatives to uninstall tool alternatives. Requires(postun): %{_sbindir}/alternatives # in version 1.7 and higher for --family switch Requires(postun): chkconfig >= 1.7 # jnlp protocols support Requires(postun): GConf2 # Standard JPackage plugin provides. Provides: java-plugin = 1:%{javaver} Provides: javaws = 1:%{javaver} Provides: %{preffered_java}-plugin = 1:%{version} Obsoletes: java-1.6.0-openjdk-plugin %description The IcedTea-Web project provides a Java web browser plugin, an implementation of Java Web Start (originally based on the Netx project) and a settings tool to manage deployment settings for the aforementioned plugin and Web Start implementations. %package javadoc Summary: API documentation for IcedTea-Web Group: Documentation Requires: %{name} = %{version}-%{release} Requires: jpackage-utils BuildArch: noarch %description javadoc This package contains Javadocs for the IcedTea-Web project. %package devel Summary: pure sources for debugging IcedTea-Web Group: devel Requires: %{name} = %{version}-%{release} BuildArch: noarch %description devel This package contains ziped sources of the IcedTea-Web project. %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 if [ -e ../.git ] ; then mv ../.git ../ggit fi git apply --no-index --binary -v %{PATCH11} git apply --no-index --binary -v %{PATCH33} if [ -e ../ggit ] ; then mv ../ggit ../.git fi %build autoreconf -vfi CXXFLAGS="$RPM_OPT_FLAGS $RPM_LD_FLAGS" \ %configure \ --with-pkgversion=rhel-%{release}-%{_arch} \ --docdir=%{_datadir}/javadoc/%{name} \ --with-jdk-home=%{javadir} \ --with-jre-home=%{jredir} \ --libdir=%{_libdir} \ --program-suffix=%{binsuffix} \ --prefix=%{_prefix} make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT # icedteaweb-completion is currently not handled by make nor make install mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ mv completion/policyeditor.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ mv completion/javaws.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ mv completion/itweb-settings.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ # Move javaws man page to a more specific name mv $RPM_BUILD_ROOT/%{_mandir}/man1/javaws.1 $RPM_BUILD_ROOT/%{_mandir}/man1/javaws.itweb.1 # Install desktop files. install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps} desktop-file-install --vendor ''\ --dir $RPM_BUILD_ROOT%{_datadir}/applications javaws.desktop desktop-file-install --vendor ''\ --dir $RPM_BUILD_ROOT%{_datadir}/applications itweb-settings.desktop desktop-file-install --vendor ''\ --dir $RPM_BUILD_ROOT%{_datadir}/applications policyeditor.desktop # install MetaInfo file for firefox mkdir -p %{buildroot}/%{_datadir}/appdata ; # just because appstream-util install do not work in rhel7 # broken in rhel7 DESTDIR=%{buildroot} appstream-util install metadata/%{name}.metainfo.xml cp metadata/%{name}.metainfo.xml %{buildroot}/%{_datadir}/appdata/ # install MetaInfo file for javaws # broken in rhel7 DESTDIR=%{buildroot} appstream-util install metadata/%{name}-javaws.appdata.xml cp metadata/%{name}-javaws.appdata.xml %{buildroot}/%{_datadir}/appdata/ # maven fragments generation mkdir -p $RPM_BUILD_ROOT%{_javadir} pushd $RPM_BUILD_ROOT%{_javadir} ln -s ../%{name}/netx.jar %{name}.jar ln -s ../%{name}/plugin.jar %{name}-plugin.jar popd mkdir -p $RPM_BUILD_ROOT/%{_mavenpomdir} cp metadata/%{name}.pom $RPM_BUILD_ROOT/%{_mavenpomdir}/%{name}.pom cp metadata/%{name}-plugin.pom $RPM_BUILD_ROOT/%{_mavenpomdir}/%{name}-plugin.pom # __main__.IncompatibleFilenames: Filenames of POM /builddir/build/BUILDROOT/icedtea-web-1.6.2-1.el7.x86_64/usr/share/maven-poms/icedtea-web.pom and JAR /builddir/build/BUILDROOT/icedtea-web-1.6.2-1.el7.x86_64/usr/share/java/icedtea-web.jar does not match properly. Check that JAR subdirectories matches '.' in pom name. # resolve before 7.2.z! #add_maven_depmap %{name}.pom %{name}.jar #add_maven_depmap %{name}-plugin.pom %{name}-plugin.jar cp netx.build/lib/src.zip $RPM_BUILD_ROOT%{_datadir}/%{name}/netx.src.zip cp liveconnect/lib/src.zip $RPM_BUILD_ROOT%{_datadir}/%{name}/plugin.src.zip %find_lang %{name} --all-name --with-man %check make check appstream-util validate $RPM_BUILD_ROOT/%{_datadir}/appdata/*.xml || : %post alternatives \ --install %{_libdir}/mozilla/plugins/libjavaplugin.so %{javaplugin} %{_libdir}/IcedTeaPlugin.so %{priority} --family %{preffered_java}.%{_arch} \ --slave %{_bindir}/javaws javaws %{_prefix}/bin/javaws%{binsuffix} \ --slave %{_bindir}/itweb-settings itweb-settings %{_prefix}/bin/itweb-settings%{binsuffix} \ --slave %{_bindir}/policyeditor policyeditor %{_prefix}/bin/policyeditor%{binsuffix} \ --slave %{_bindir}/ControlPanel ControlPanel %{_prefix}/bin/itweb-settings%{binsuffix} \ --slave %{_mandir}/man1/javaws.1.gz javaws.1.gz %{_mandir}/man1/javaws%{binsuffix}.1.gz \ --slave %{_mandir}/man1/ControlPanel.1.gz ControlPanel.1.gz %{_mandir}/man1/itweb-settings.1.gz gconftool-2 -s %{jnlphandler}/command '%{_prefix}/bin/javaws%{binsuffix} %s' --type String &> /dev/null || : gconftool-2 -s %{jnlphandler}/enabled --type Boolean true &> /dev/null || : gconftool-2 -s %{jnlpshandler}/command '%{_prefix}/bin/javaws%{binsuffix} %s' --type String &> /dev/null || : gconftool-2 -s %{jnlpshandler}/enabled --type Boolean true &> /dev/null || : %posttrans update-desktop-database &> /dev/null || : exit 0 %postun update-desktop-database &> /dev/null || : if [ $1 -eq 0 ] then alternatives --remove %{javaplugin} %{_libdir}/IcedTeaPlugin.so gconftool-2 -u %{jnlphandler}/command &> /dev/null || : gconftool-2 -u %{jnlphandler}/enabled &> /dev/null || : gconftool-2 -u %{jnlpshandler}/command &> /dev/null || : gconftool-2 -u %{jnlpshandler}/enabled &> /dev/null || : fi exit 0 # files -f .mfiles -f %{name}.lang %files -f %{name}.lang %defattr(-,root,root,-) %{_sysconfdir}/bash_completion.d/* %{_prefix}/bin/* %{_libdir}/IcedTeaPlugin.so %{_datadir}/applications/* %dir %{_datadir}/%{name} %{_datadir}/%{name}/*.jar %{_datadir}/%{name}/*.png %{_datadir}/man/man1/* %{_datadir}/pixmaps/* %{_datadir}/appdata/*.xml # thsoe four shouldnotbe there. Fixme! something went wrong %{_mavenpomdir}/%{name}.pom %{_mavenpomdir}/%{name}-plugin.pom %{_javadir}/%{name}.jar %{_javadir}/%{name}-plugin.jar %doc NEWS README %license COPYING %files javadoc %defattr(-,root,root,-) %{_datadir}/javadoc/%{name} %license COPYING %files devel %{_datadir}/%{name}/*.zip %license COPYING %changelog * Thu Jul 18 2019 Jiri Vanek 1.7.2-16 - added patch1, patch4 and patch11 to fix CVE-2019-10182 - added patch2 to fix CVE-2019-10181 - added patch3 and patch33 to fix CVE-2019-10185 - Resolves: rhbz#1724958 - Resolves: rhbz#1725928 - Resolves: rhbz#1724989 * Mon Dec 18 2017 Jiri Vanek 1.7.1-1 * bump to 1.7.1 - Resolves: rhbz#1475411 * Fri Nov 03 2017 Jiri Vanek 1.7-3 - javaws specific manpage renmed from -suffix to .suffix - Resolves: rhbz#1475411 * Wed Oct 18 2017 Jiri Vanek 1.7-2 - gathered various patches from usptream - Resolves: rhbz#1475411 * Wed Oct 18 2017 Jiri Vanek 1.7-1 - updated to itw 1.7 and sync from fedora - added forgotten slaves of itweb-settings policyeditor - Own %%{_datadir}/%%{name} dir - Mark non-English man pages with %%lang - Install COPYING as %%license - last three by Ville Skytta via 1481270 - for sake of rpms added patch0, bashCompDirHardcodedAgain.patch to hardcode bashcompletion dir - removed maven macros in favour of manual handling (bug) - Resolves: rhbz#1475411 * Thu Jul 14 2016 Jiri Vanek 1.6.2-4 - fixed typo in provides - Resolves: rhbz#1299537 * Wed Jul 13 2016 Jiri Vanek 1.6.2-3 - added --family to make it part of javas alternatives alignment - java-javaver-openjdk collected into preffered_java - Resolves: rhbz#1299537 * Wed Feb 03 2016 Jiri Vanek 1.6.2-1 - updated to 1.6.2 - fixed also rhbz#1303437 - package owns /etc/bash_completion.d but it should not own it - generated maven metadata (isntalled but not used. %add_maven_depmap need tobe fixed) - Resolves: rhbz#1299537 * Wed Oct 14 2015 Jiri Vanek 1.6.1-4 - added and and applied patch2 fileLogInitializationError-1.6.patch to prevent consequences 1268909 - Resolves: rhbz#1217153 * Tue Sep 29 2015 Jiri Vanek 1.6.1-3 - added and applied patch1 donLogToFileBeforeFileLogsInitiate.patch - Resolves: rhbz#1217153 * Mon Sep 21 2015 Jiri Vanek 1.6.1-2 - added and applied patch0 javadocFixes.patch - Resolves: rhbz#1217153 * Fri Sep 11 2015 Jiri Vanek 1.6.1-1 - updated to upstream release 1.6.1 - metadata xml files enhanced for javaws - forced to use jdk8 by default - Resolves: rhbz#1217153 * Thu Aug 27 2015 Jiri Vanek 1.6.0-2 - added gnome-software support - Resolves: rhbz#1217153 * Thu Nov 27 2014 Jiri Vanek 1.6.0-1 - update to upstream 1.6 - made to use jdk8 (rh1184970) - it will be necessary for 1.6.1 anyway (rh1233687) - Resolves: rhbz#1217153 * Thu Nov 27 2014 Jiri Vanek 1.5.2-0 - update to upstream 1.5.2 - enabled tagsoup - forced rhino - Resolves: rhbz#1075793 * Fri Oct 17 2014 Jiri Vanek 1.5.1-3 - removed ExcludeArch: ppc - openjdk on ppc should be now fixed - Resolves: rhbz#1075793 * Mon Aug 18 2014 Jiri Vanek 1.5.1-2 - added ExcludeArch: ppc - Resolves: rhbz#1125557 * Mon Aug 18 2014 Jiri Vanek 1.5.1-1 - fixed obsolates to any jdk6 plugin - Resolves: rhbz#1077287 * Fri Aug 15 2014 Jiri Vanek 1.5.1-0 - update to upstream 1.5.1 - removed all patches (all upstreamed) - Resolves: rhbz#1077287 * Mon Apr 07 2014 Jiri Vanek 1.5-2 - add not yet upstreamed DE localisation of 1.5 - patch0 DElocalizationforIcedTea-Web1.5-0001.patch - autoreconf gog -vfi, see RH1077898 - ./configure changed to %%configure - Resolves: rhbz#1077287 * Tue Mar 11 2014 Jiri Vanek 1.4.2-1 - fixing brand in with-pkgversion switch to rhel - Resolves: rhbz#1065518 * Mon Mar 10 2014 Jiri Vanek 1.4.2-0 - updated to 1.4.2 - Resolves: rhbz#1065518 * Fri Jan 24 2014 Daniel Mach - 1.4.1-2 - Mass rebuild 2014-01-24 * Fri Dec 27 2013 Daniel Mach - 1.4.1-1 - Mass rebuild 2013-12-27 * Tue Sep 24 2013 Jiri Vanek 1.4.1-0 - updated to 1.4.1 - add icedtea-web man page (resolves 948443) - removed upstreamed patch1 b25-appContextFix.patch - removed upstreamed patch2 rhino-pac-permissions.patch - make check enabled again - should be build for non-standart archs !-) - removed unused multilib arches (yupii!) - Resolves: rhbz#1009820 * Wed Jun 19 2013 Jiri Vanek 1.4.0-2 - added patch1 b25-appContextFix.patch to make it run with future openjdk * Fri Jun 07 2013 Jiri Vanek 1.4-1 - Adapted to latest openjdk changes - added build requires for autoconf and automake - minor clean up * Sat May 04 2013 Jiri Vanek 1.4-0 - Updated to 1.4 - See announcement for detail - http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-May/023195.html - commented out check - some junit4 incompatibility * Wed Apr 17 2013 Jiri Vanek 1.3.2-0 - Updated to latest ustream release of 1.3 branch - 1.3.2 - Security Updates - CVE-2013-1927, RH884705: fixed gifar vulnerability - CVE-2013-1926, RH916774: Class-loader incorrectly shared for applets with same relative-path. - Common - Added new option in itw-settings which allows users to set JVM arguments when plugin is initialized. - NetX - PR580: http://www.horaoficial.cl/ loads improperly - Plugin PR1260: IcedTea-Web should not rely on GTK PR1157: Applets can hang browser after fatal exception - Removed upstreamed patch to remove GTK dependency - icedtea-web-pr1260-remove-gtk-dep.patch * Wed Feb 20 2013 Ville Skyttä - 1.3.1-5 - Resolves: rhbz#875496 - Build with $RPM_LD_FLAGS and %%{_smp_mflags}. - Run unit tests during build. * Thu Feb 14 2013 Fedora Release Engineering - 1.3.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Wed Jan 16 2013 Deepak Bhole 1.3.1-3 - Resolves: rhbz#889644, rhbz#895197 - Added patch to remove GTK dependency * Thu Dec 20 2012 Jiri Vanek 1.3.1-2 - Moved to be build with GTK3 * Wed Nov 07 2012 Deepak Bhole 1.3.1-1 - Resolves: RH869040/CVE-2012-4540 * Mon Sep 17 2012 Deepak Bhole 1.3-1 - Updated to 1.3 - Resolves: rhbz#720836: Epiphany fails to execute Java applets * Tue Jul 31 2012 Deepak Bhole 1.2.1-1 - Updated to 1.2.1 - Resolves: RH840592/CVE-2012-3422 - Resolves: RH841345/CVE-2012-3423 * Thu Jul 19 2012 Fedora Release Engineering - 1.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Thu May 03 2012 Deepak Bhole 1.2-4 - Resolves rhbz#814585 - Fixed java-plugin provides and added one for javaws * Tue Apr 17 2012 Deepak Bhole 1.2-3 - Updated summary - Fixed virtual provide * Tue Mar 13 2012 Peter Robinson - 1.2-2 - Enable building on ARM platforms * Mon Mar 05 2012 Deepak Bhole 1.2-1 - Updated to 1.2 * Fri Jan 13 2012 Fedora Release Engineering - 1.1.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Fri Nov 25 2011 Deepak Bhole 1.1.4-3 - Resolves rhbz#757191 - Bumped min_openjdk_version to -60 (latest) * Thu Nov 24 2011 Deepak Bhole 1.1.4-2 - Resolves: rhbz#742887. Do not own directories not created by the package. * Tue Nov 08 2011 Deepak Bhole 1.1.4-1 - Updated to 1.1.4 - Added npapi-fix patch so that the plug-in compiles with xulrunner 8 * Thu Sep 01 2011 Deepak Bhole 1.1.2-1 - Updated to 1.1.2 - Removed all patches (now upstream) - Resolves: rhbz# 734890 * Tue Aug 23 2011 Deepak Bhole 1.1.1-3 - Added patch to allow install to jre dir - Fixed requirement for java-1.7.0-openjdk * Tue Aug 09 2011 Deepak Bhole 1.1.1-2 - Fixed file ownership so that debuginfo is not in main package * Wed Aug 03 2011 Deepak Bhole 1.1.1-1 - Bump to 1.1.1 - Added patch for PR768 and PR769 * Wed Jul 20 2011 Deepak Bhole 1.0.4-1 - Bump to 1.0.4 - Fixed rhbz#718164: Home directory path disclosure to untrusted applications - Fixed rhbz#718170: Java Web Start security warning dialog manipulation * Mon Jun 13 2011 Deepak Bhole 1.0.3-1 - Update to 1.0.3 - Resolves: rhbz#691259 * Mon Apr 04 2011 Deepak Bhole 1.0.2-2 - Fixed incorrect macro value for min_openjdk_version - Use posttrans instead of post, so that upgrade from old plugin works * Mon Apr 04 2011 Deepak Bhole 1.0.2-1 - Initial build