%define oootag OOC680 %define ooomilestone 3 %define rh_rpm_release 4 %define ooo_base_name %{oootag}_m%{ooomilestone}-ure ExclusiveArch: %{ix86} ppc x86_64 Summary: OpenOffice.org UNO Runtime Environment Name: openoffice.org-ure Version: 2.0.3 Release: %{ooomilestone}.%{rh_rpm_release} Epoch: 1 License: LGPL Group: System Environment/Libraries URL: http://www.openoffice.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-root Source: %{ooo_base_name}.tar.bz2 BuildRequires: ant, perl-Archive-Zip BuildRequires: tcsh, perl, sed, zip, bzip2, unzip, tar, findutils, prelink BuildRequires: autoconf, make >= 3.79.1, flex, bison, perl-Compress-Zlib BuildRequires: gcc >= 3.4.3, gcc-c++ >= 3.4.3, binutils BuildRequires: gcc-java >= 4.0.2, libgcj-devel >= 4.0.2 BuildRequires: java-1.4.2-gcj-compat-devel, zlib-devel, freetype-devel BuildRequires: boost-devel >= 1.31.0, libxml2-devel, pam-devel Patch0: openoffice.org-2.0.3.rhXXXXXX.allowmissing.patch Patch1: openoffice.org-2.0.3.rhXXXXXX.uredepends.patch Patch2: openoffice.org-1.9.123.ooo53397.prelinkoptimize.sal.patch Patch3: openoffice.org-2.0.3.oooXXXXX.selinux.bridges.patch Patch4: openoffice.org-2.0.0.rh171692.jvmfwk.defaulttogcj.patch Patch5: openoffice.org.2.0.3.gccXXXXX.linguistic.vorcrash.patch Patch6: openoffice.org.2.0.3.rhXXXXXX.jvmfwk.overriderc.patch %define instdir %{_libdir}/openoffice.org2.0 # gcc#19664# %define stlvisibilityfcked 1 %if %{stlvisibilityfcked} %define stlflags --with-stlport4 %else %define stlflags --without-stlport4 %endif %description The OpenOffice.org UNO (Universal Network Objects) Runtime Environment is the runtime environment which implements the interface-based component model of OpenOffice.org. UNO offers interoperability between different programming languages, different object models, different machine architectures and different processes. UNO components can be implemented in and accessed from any programming language for which a UNO language binding exists. %package devel Summary: Support files necessary to build applications against openoffice.org-ure Group: Development/Libraries Requires: openoffice.org-ure = %{epoch}:%{version}-%{release} %description devel Libraries, headers, and support files necessary to compile applications using openoffice.org-ure %prep %setup -q -n %{ooo_base_name} %patch0 -p1 -b .rhXXXXXX.allowmissing.patch %patch1 -p1 -b .rhXXXXXX.uredepends.patch %patch2 -p1 -b .ooo53397.prelinkoptimize.sal.patch %patch3 -p1 -b .oooXXXXX.selinux.bridges.patch %patch4 -p1 -b .rh171692.jvmfwk.defaulttogcj.patch %patch5 -p1 -b .gccXXXXX.linguistic.vorcrash.patch %patch6 -p1 -b .rhXXXXXX.jvmfwk.overriderc.patch %build echo build start time is `date`, diskspace: `df -h . | tail -n 1` if [ -z "$RPM_BUILD_NCPUS" ] ; then if [ -x /usr/bin/getconf ] ; then RPM_BUILD_NCPUS=$(/usr/bin/getconf _NPROCESSORS_ONLN) if [ $RPM_BUILD_NCPUS -eq 0 ]; then RPM_BUILD_NCPUS=1 fi fi fi cd config_office autoconf %configure --enable-symbols --with-system-boost --with-system-libxml --with-system-zlib --with-system-python --disable-epm --disable-mozilla --without-nas %{stlflags} cd .. ./bootstrap source Linux*Env.Set.sh #faster build export nodep=true export NO_HIDS=true #enable parallel build export MAXPROCESS=$RPM_BUILD_NCPUS export MAXPROCESSLIMIT=65535 export MAXBUILDS=$[RPM_BUILD_NCPUS*2] #use the RPM_OPT_FLAGS but remove the OOo overridden ones for i in $RPM_OPT_FLAGS; do case "$i" in -O?|-pipe|-Wall|-g|-fexceptions|-fasynchronous-unwind-tables) continue;; esac ARCH_FLAGS="$ARCH_FLAGS $i" done ARCH_FLAGS="$ARCH_FLAGS -D_FILE_OFFSET_BITS=64" export ARCH_FLAGS cd ure build --dlv_switch -link --all -P$MAXBUILDS -- -s deliver -link cd ../scp2/macros dmake cd ../source/ure dmake cd ../../util dmake ../$INPATH/bin/ure/ure.ins deliver -link cd ../../instsetoo_native/util mkdir -p ../../solver/680/$INPATH/pck/openoffice touch ../../solver/680/$INPATH/pck/openoffice/nologointro.bmp %install rm -rf $RPM_BUILD_ROOT source Linux*Env.Set.sh cd instsetoo_native/util export PKGFORMATSWITCH="-format rpm -simple $RPM_BUILD_ROOT/%{instdir}" dmake ure_en-US #rh#158977# clear execstack requirement execstack -c $RPM_BUILD_ROOT/%{instdir}/lib/libgcc3_uno.so #ensure that no sneaky un-prelinkable, un-fpic or non executable shared libs #have snuck through pic=0 origin=0 executable=0 for foo in `find $RPM_BUILD_ROOT/%{instdir}/lib -name "*" -exec file {} \;| grep ": ELF" | cut -d: -f 1` ; do chmod +wx $foo ls -asl $foo result=`readelf -d $foo | grep RPATH | grep \\\\[\\$ORIGIN` || true if [ "$result" == "" ]; then echo "RPATH Warning: $foo is b0rked (-rpath missing)" origin=1 fi result=`readelf -d $foo | grep TEXTREL` || true if [ "$result" != "" ]; then echo "TEXTREL Warning: $foo is b0rked (-fpic missing)" pic=1 fi result=`readelf -l $foo | grep GNU_STACK | grep RWE` || true if [ "$result" != "" ]; then echo "GNU_STACK Warning: $foo is b0rked (-noexecstack missing)" executable=1 fi done if [ $origin == 1 ]; then false; fi if [ $pic == 1 ]; then false; fi if [ $executable == 1 ]; then false; fi mv $RPM_BUILD_ROOT/%{instdir}/README $RPM_BUILD_ROOT/%{instdir}/README.URE #fake up the additional -devel bits cd ../../solver/680/unxlng*/inc mkdir -p $RPM_BUILD_ROOT/%{_includedir}/openoffice.org2.0 tar cf - ./ | ( cd /$RPM_BUILD_ROOT/%{_includedir}/openoffice.org2.0; tar xfp -) mkdir -p $RPM_BUILD_ROOT/%{_includedir}/openoffice.org2.0/idl cd ../idl tar cf - com | ( cd $RPM_BUILD_ROOT/%{_includedir}/openoffice.org2.0/idl; tar xfp -) cd ../bin cp makedepend xml2cmp checkdll cppumaker javadep javamaker idlc idlcpp rdbmaker cpp.lcc regcomplazy \ $RPM_BUILD_ROOT/%{instdir}/bin cp types.rdb offapi.rdb udkapi.rdb $RPM_BUILD_ROOT/%{instdir}/share/misc cd ../lib cp libsalcpprt.a $RPM_BUILD_ROOT/%{instdir}/lib #fake up a handy pkgconfig entry mkdir -p $RPM_BUILD_ROOT/%{_libdir}/pkgconfig cd $RPM_BUILD_ROOT/%{_libdir}/pkgconfig echo ooobindir=%{instdir}/bin > openoffice.org-ure.pc echo ooolibdir=%{instdir}/lib >> openoffice.org-ure.pc echo ooordbdir=%{instdir}/share/misc >> openoffice.org-ure.pc echo oooidldir=%{_includedir}/openoffice.org2.0/idl >> openoffice.org-ure.pc echo ooojavadir=%{instdir}/share/java >> openoffice.org-ure.pc echo >> openoffice.org-ure.pc echo Name: %{name} >> openoffice.org-ure.pc echo Description: OpenOffice.org UNO Runtime Environment >> openoffice.org-ure.pc echo Version: %{version} >> openoffice.org-ure.pc echo Libs: -L\${ooolibdir} >> openoffice.org-ure.pc echo Cflags: -I%{_includedir}/openoffice.org2.0 -I%{_includedir}/openoffice.org2.0/stl >> openoffice.org-ure.pc #make some links cd $RPM_BUILD_ROOT/%{instdir}/lib ln -s libjvmaccessgcc3.so.3 libjvmaccessgcc3.so ln -s libjvmfwk.so.3 libjvmfwk.so ln -s libreg.so.3 libreg.so ln -s librmcxt.so.3 librmcxt.so ln -s libstore.so.3 libstore.so ln -s libuno_cppu.so.3 libuno_cppu.so ln -s libuno_cppuhelpergcc3.so.3 libuno_cppuhelpergcc3.so ln -s libuno_sal.so.3 libuno_sal.so ln -s libuno_salhelpergcc3.so.3 libuno_salhelpergcc3.so %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %dir %{instdir} %{instdir}/README.URE %dir %{instdir}/bin %{instdir}/bin/javaldx %{instdir}/bin/uno %{instdir}/bin/uno.bin %dir %{instdir}/lib %{instdir}/lib/jvmfwk3rc %{instdir}/lib/unorc %{instdir}/lib/libgcc3_uno.so %{instdir}/lib/libjava_uno.so %{instdir}/lib/libjpipe.so %{instdir}/lib/libjuh.so %{instdir}/lib/libjuhx.so %{instdir}/lib/libstlport_gcc.so %{instdir}/lib/liburp_uno.so %{instdir}/lib/sunjavaplugin.so %{instdir}/lib/*.so.* %{instdir}/lib/*.uno.so %{instdir}/lib/*.class %dir %{instdir}/share %dir %{instdir}/share/java %{instdir}/share/java/java_uno.jar %{instdir}/share/java/juh.jar %{instdir}/share/java/jurt.jar %{instdir}/share/java/ridl.jar %{instdir}/share/java/unoloader.jar %dir %{instdir}/share/misc %{instdir}/share/misc/javavendors.xml %{instdir}/share/misc/types.rdb %files devel %{_includedir}/openoffice.org2.0 %{_libdir}/pkgconfig/openoffice.org-ure.pc %dir %{instdir} %dir %{instdir}/lib %{instdir}/lib/*.a %{instdir}/lib/libjvmaccessgcc3.so %{instdir}/lib/libjvmfwk.so %{instdir}/lib/libreg.so %{instdir}/lib/librmcxt.so %{instdir}/lib/libstore.so %{instdir}/lib/libuno_cppu.so %{instdir}/lib/libuno_cppuhelpergcc3.so %{instdir}/lib/libuno_sal.so %{instdir}/lib/libuno_salhelpergcc3.so %dir %{instdir}/bin %{instdir}/bin/regcomp %{instdir}/bin/regcomp.bin %{instdir}/bin/regcomplazy %{instdir}/bin/regmerge %{instdir}/bin/regview %{instdir}/bin/startup.sh %{instdir}/bin/makedepend %{instdir}/bin/xml2cmp %{instdir}/bin/checkdll %{instdir}/bin/cppumaker %{instdir}/bin/javadep %{instdir}/bin/javamaker %{instdir}/bin/idlc %{instdir}/bin/idlcpp %{instdir}/bin/rdbmaker %{instdir}/bin/cpp.lcc %dir %{instdir}/share %dir %{instdir}/share/misc %{instdir}/share/misc/services.rdb %{instdir}/share/misc/offapi.rdb %{instdir}/share/misc/udkapi.rdb %changelog * Mon May 15 2006 Caolan McNamara - 1:2.0.3-1.4 - initial import of the levithan