Репозитории ALT
5.1: | 3.2.0.7-alt0.M51.1 |
4.1: | 3.0.0.10-alt1.M41.1 |
4.0: | 2.4.1.7-alt0.M40.1 |
3.0: | 1.1.5-alt1 |
Группа :: Офис
Пакет: openoffice.org
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
%define OOover 1.1.5
%define OOODIR OpenOffice.org%OOover
%define OOOBUILDDIR OOo_%OOover
%set_verify_elf_method textrel=relaxed
%add_findprov_lib_path %_libdir/%OOODIR/program
%add_findprov_lib_path %_libdir/%OOODIR/program/filter
%add_findprov_lib_path %_libdir/%OOODIR/program/components
%add_findreq_skiplist %_libdir/%OOODIR/share/config/webcast/*
%add_findreq_skiplist %_libdir/%OOODIR/program/libspa645li.so
%add_findreq_skiplist %_libdir/%OOODIR/program/libvcl645li.so
%add_findreq_skiplist %_libdir/%OOODIR/program/liblocaledata_es.so
%add_findreq_skiplist %_libdir/%OOODIR/program/libfileacc.so
%add_findreq_skiplist %_libdir/%OOODIR/program/libdict_ja.so
%add_findreq_skiplist %_libdir/%OOODIR/program/libdict_zh.so
%add_findreq_skiplist %_libdir/%OOODIR/program/liblocaledata_euro.so
%add_findreq_skiplist %_libdir/%OOODIR/program/liblocaledata_others.so
%add_findreq_skiplist %_libdir/%OOODIR/program/libofficebean.so
Name: openoffice.org
Version: %OOover
Release: alt1
Obsoletes: openoffice
Summary: OpenOffice.org office suite
License: GPL, LGPL, SISSL, PDL
Group: Office
URL: http://www.openoffice.org/
Packager: Valery Inozemtsev <shrek at altlinux.ru>
Source: OOo_1.1.5_src.tar.gz
Source1: helpcontent_07_unix.tgz
Source2: dictionaries.tar.bz2
Source3: extras.tar.bz2
Source5: wizards.tar.bz2
Source6: ooo-wrappers.tar.gz
Source7: ooo-icons.tar.gz
Source8: openoffice.org.menu
Source9: openintro_alt.bmp
Source10: README.ALT
Source11: openoffice.org-en.xml
Source12: openoffice.org-ru.xml
Source13: findreq.sh
Source14: findprov.sh
Source15: gsi-2004-12-26-sorted.txt.bz2
Patch3: 005_dictionaries.diff
Patch4: 008_ru-RU_fonts_config_VCL.diff
Patch5: 009_fallback_in_fontcfg.diff
Patch7: 011_scp_for_nimbus.diff
Patch8: 012_wizards_script_for_RecodeCyr.diff
Patch9: 013_freetype_bytecode.diff
Patch10: 014_sal_osl_unx_process_exec.diff
Patch11: 015_setup2_util_makefile_regcomp.diff
Patch12: 016_procless_setup_cmdline.diff
Patch14: 020_Work_dir_Documents.diff
Patch17: 023_psprint_disable_font_subst.diff
Patch18: 024_user_upgrade_fix.diff
Patch19: 025_setup_instdb_cmdparam.diff
Patch100: 000_config-switches_nas_fix.diff
Patch101: 000_system-nas.diff
Patch102: 000_ximian_config-switches.diff
Patch103: 000_ximian_system-libstdcpp.diff
Patch104: 000_ximian_system-python.diff
Patch105: 000_ximian_system-db-1.diff
Patch106: 000_ximian_system-db-2.diff
Patch107: 000_system-freetype-fix.diff
Patch300: icon-render.diff
Patch301: bmp32.diff
Patch302: system-xrender.diff
Patch303: icon-masks.diff
Patch342: OOo_1.1.4-doublefree-1.patch
Requires: openoffice.org-lang = %version-%release
AutoReqProv: yes, noshell, nopython
BuildRequires: tcsh patch bison flex perl make
BuildRequires: j2se-devel = 1.4.2 ant
BuildRequires: gcc3.3-c++ libstdc++3.3-devel libpam0-devel xorg-x11-devel
BuildRequires: zip unzip awk sed groff-base libncurses-devel
BuildRequires: libtinfo-devel libalternatives-devel libart_lgpl-devel
BuildRequires: pkgconfig zlib-devel libaudio-devel libcurl-devel
BuildRequires: libdb4.2_java-devel libdb4.2-devel libdb4.2_cxx-devel db4.2-utils
BuildRequires: python-dev freetype2-devel fontconfig-devel
%description
OpenOffice.org office suite
%package ru
Summary: Language-specific files, Russian
Group: Office
AutoReq: no
AutoProv: no
PreReq: openoffice.org = %version-%release, alternatives >= 0.2.0
Requires: openoffice.org = %version-%release
Provides: openoffice.org-lang = %version-%release
%description ru
OpenOffice.org language-specific files, Russian
%package en
Summary: Language-specific files, English
Group: Office
AutoReq: no
AutoProv: no
PreReq: openoffice.org = %version-%release, alternatives >= 0.2.0
Requires: openoffice.org = %version-%release
Provides: openoffice.org-lang = %version-%release
%description en
OpenOffice.org language-specific files, English
%define __find_requires %SOURCE13
%define __find_provides %SOURCE14
%prep
%setup -n %OOOBUILDDIR
%setup -n %OOOBUILDDIR -T -D -a 2
%setup -n %OOOBUILDDIR -T -D -a 3
%setup -n %OOOBUILDDIR -T -D -a 5
%patch3 -p0
%patch4 -p0
%patch5 -p0
%patch7 -p0
%patch8 -p0
%patch10 -p0
%patch11 -p0
%patch12 -p0
%patch14 -p0
%patch17 -p0
%patch18 -p0
%patch19 -p0
%patch100 -p0
%patch101 -p0
%patch102 -p0
%patch103 -p0
%patch104 -p0
%patch105 -p0
%patch106 -p0
%patch107 -p0
%patch300 -p0
%patch301 -p0
%patch302 -p0
%patch303 -p0
%patch342 -p1
%build
cd config_office
aclocal
autoconf
export CC=gcc-3.3
export PKG_CONFIG=%_bindir/pkg-config
%configure \
--with-lang=ENUS,RUSS \
--enable-crashdump=no \
--enable-fontconfig \
--without-gpc \
--without-fonts \
--disable-fontooo \
--with-jdk-home=%_libdir/j2se \
--enable-libart \
--with-system-zlib \
--with-system-freetype \
--with-system-db \
--with-db-jar=%_datadir/java/db.jar \
--with-system-curl \
--with-python \
--with-system-nas \
--with-system-x11-extensions-headers \
--with-system-xrender
cd ..
%__cp %SOURCE9 offmgr/res/openintro.bmp
sh -c '. LinuxIntelEnv.Set.sh
./bootstrap
cd transex3
build --all
deliver
cd ..
bzcat %SOURCE15 > gsl.txt
localize -m -i ru -l 07 -f gsl.txt
dmake || dmake || dmake'
%install
# install files
%__tar xzf %SOURCE1 -C solver/645/unxlngi4.pro/pck/
sh -c '. LinuxIntelEnv.Set.sh; cd instsetoo/util && dmake strip=true'
cd instsetoo/unxlngi4.pro/07/normal
./install --prefix %buildroot/tmp/OOo_07
for i in `grep -rl %buildroot/tmp/OOo_07/%OOODIR %buildroot/tmp/OOo_07/%OOODIR`
do
echo fixing $i
%__sed -e "s|%buildroot/tmp/OOo_07|%_libdir|g" $i >$i.bak
%__mv $i.bak $i
done
cd ../../01/normal
./install --prefix %buildroot/tmp/OOo_01
for i in `grep -rl %buildroot/tmp/OOo_01/%OOODIR %buildroot/tmp/OOo_01/%OOODIR`
do
echo fixing $i
%__sed -e "s|%buildroot/tmp/OOo_01|%_libdir|g" $i >$i.bak
%__mv $i.bak $i
done
%__rm -f %buildroot/tmp/OOo_01/%OOODIR/program/getstyle-gnome\
%buildroot/tmp/OOo_01/%OOODIR/program/msgbox-gnome
%__rm -fr %buildroot/tmp/OOo_0{1.7}/%OOODIR/share/cde
# analize
cd %buildroot/tmp/OOo_07
find . -type l > ../links
find . -type f -exec cmp {} ../OOo_01/{} \; 1>../ru2en.diff 2>../ru.only
cd ../OOo_01
find . -type f -exec cmp {} ../OOo_07/{} \; 1>../en2ru.diff 2>../en.only
find . -type f -exec sh -c 'cmp {} ../OOo_07/{} >/dev/null 2>&1 && echo {}' \; >../common
cd ..
# common
%__cat common links|%__sed -e "s|^\.|%_libdir|" > %_builddir/%OOOBUILDDIR/files
# ru
%__cat ru.only|%__sed -e "s|cmp: \.\./OOo_01/\.\(.*\): No such file or directory|%_libdir\1|" > \
%_builddir/%OOOBUILDDIR/files-ru
# en
%__cat en.only|%__sed -e "s|cmp: \.\./OOo_07/\.\(.*\): No such file or directory|%_libdir\1|" > \
%_builddir/%OOOBUILDDIR/files-en
# different, do something
if false
then
for i in `%__cat ru2en.diff|%__sed -e "s|^\./\(.*\) ../.*|\1|" | egrep -v "psprint.conf|setup.log|README"`
do
cp OOo_01/$i OOo_01/${i}-01
cp OOo_07/$i OOo_07/${i}-07
echo %_libdir/$i >> %_builddir/%OOOBUILDDIR/files
echo %_libdir/${i}-01 >> %_builddir/%OOOBUILDDIR/files-en
echo %_libdir/${i}-07 >> %_builddir/%OOOBUILDDIR/files-ru
done
# place these from ru
%__cat ru2en.diff|%__sed -e "s|^\.\(.*\) \.\./.*|%_libdir\1|" | egrep "psprint.conf|setup.log|README" >> \
%_builddir/%OOOBUILDDIR/files
%__cat %buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Setup.xcu-07| \
%__sed -e \
'/<prop oor:name="ooSetupLocales">/{
:top; N
/<\/value>/{
s|<value>[ \n]*ru[ \n]*</value>|<value></value>|
b bottom
}
b top
}
:bottom
' > %buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Setup.xcu
else # process different files "manually"
# Actually, important files are Common.xcu, Setup.xcu, instdb.ins
%__cat ru2en.diff|%__sed -e "s|^\.\(.*\) \.\./.*|%_libdir\1|" | grep -v instdb.ins >> %_builddir/%OOOBUILDDIR/files
%__mv %buildroot/tmp/OOo_01/%OOODIR/program/instdb.ins \
%buildroot/tmp/OOo_01/%OOODIR/program/instdb-01.ins
%__mv %buildroot/tmp/OOo_07/%OOODIR/program/instdb.ins \
%buildroot/tmp/OOo_07/%OOODIR/program/instdb-07.ins
%__cat %buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Setup.xcu| \
%__sed -e \
'/<prop oor:name="ooSetupLocales">/{
:top; N
/<\/value>/{
s|<value>[ \n]*ru[ \n]*</value>|<value></value>|
b bottom
}
b top
}
:bottom
' > %buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak
%__mv %buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak \
%buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Setup.xcu
diff -u %buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Office/Common.xcu \
%buildroot/tmp/OOo_01/%OOODIR/share/registry/data/org/openoffice/Office/Common.xcu > \
%_builddir/%OOOBUILDDIR/Common.xcu.diff || true
%__cat %_builddir/%OOOBUILDDIR/Common.xcu.diff | \
%__sed -e \
'3,11d
s/^- / /
s/,7 at /,8 at /
' >%_builddir/%OOOBUILDDIR/Common.xcu-2.diff
%__patch -p0 < %_builddir/%OOOBUILDDIR/Common.xcu-2.diff || true
fi
# searching for dirs
%__cat %_builddir/%OOOBUILDDIR/files | \
%__sed -ne ":top {h; s|\(.*\)/.*|\1|p ;/%OOODIR\// b top;}" | \
sort|uniq > %_builddir/%OOOBUILDDIR/dirs
%__cat %_builddir/%OOOBUILDDIR/files-ru | \
%__sed -ne ":top {h; s|\(.*\)/.*|\1|p ;/%OOODIR\// b top;}" | \
sort|uniq > %_builddir/%OOOBUILDDIR/dirs-ru
%__cat %_builddir/%OOOBUILDDIR/files-en | \
%__sed -ne ":top {h; s|\(.*\)/.*|\1|p ;/%OOODIR\// b top;}" | \
sort|uniq > %_builddir/%OOOBUILDDIR/dirs-en
%__mkdir -p %buildroot%_libdir
%__mv %buildroot/tmp/OOo_01/%OOODIR %buildroot%_libdir/
cd %buildroot/tmp/OOo_07
%__tar cf - %OOODIR | %__tar xf - -C %buildroot%_libdir
%__cat %_builddir/%OOOBUILDDIR/dirs-ru %_builddir/%OOOBUILDDIR/dirs-en \
|%__sed -e 's/$/$/'|sort|uniq > %_builddir/%OOOBUILDDIR/dirs.pat
find %buildroot%_libdir/%OOODIR -type d | \
grep -v -f %_builddir/%OOOBUILDDIR/dirs.pat | \
%__sed -e "s|%buildroot||" >> %_builddir/%OOOBUILDDIR/dirs
%__cat %_builddir/%OOOBUILDDIR/dirs |sort|uniq|%__sed -e "s/^/%dir /" \
>> %_builddir/%OOOBUILDDIR/files
%__cat %_builddir/%OOOBUILDDIR/dirs-ru |sort|uniq|%__sed -e "s/^/%dir /" \
>> %_builddir/%OOOBUILDDIR/files-ru
%__cat %_builddir/%OOOBUILDDIR/dirs-en |sort|uniq|%__sed -e "s/^/%dir /" \
>> %_builddir/%OOOBUILDDIR/files-en
%__rm -fr %buildroot/tmp/*
%__subst 's,rsh,ssh,g' %buildroot%_libdir/%OOODIR/program/{pkgchk,soffice,spadmin}
%__tar xzf %SOURCE6 -C %buildroot
%__tar xzf %SOURCE7 -C %buildroot
%__mkdir -p %buildroot%_menudir
%__cp %SOURCE8 %buildroot%_menudir/openoffice.org
%__ln_s %OOODIR %buildroot%_libdir/OpenOffice.org
%__mkdir -p %buildroot%_datadir/doc/%name-%version
%__cp %SOURCE10 %buildroot%_datadir/doc/%name-%version
%__mkdir -p %buildroot%_altdir
%__cat > %buildroot%_altdir/openoffice.org-en <<EOF
%_libdir/%OOODIR/program/instdb.ins %_libdir/%OOODIR/program/instdb-01.ins 10
EOF
%__cat > %buildroot%_altdir/openoffice.org-ru <<EOF
%_libdir/%OOODIR/program/instdb.ins %_libdir/%OOODIR/program/instdb-07.ins 11
EOF
chmod 644 %buildroot%_altdir/openoffice.org-{en,ru}
unset RPM_PYTHON
%post
%update_menus
%postun
%clean_menus
%post ru
%__cat %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu| \
%__sed -e \
'/<prop oor:name="ooSetupLocales">/{
:top
N
/<\/value>/{
/<value>\(\|.*\<\)ru\(\|\>.*\)<\/value>/b bottom
s|<value>\([^<]*\)</value>|<value>\1 ru</value>|
b bottom
}
b top
}
:bottom
' > \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak &&\
%__mv %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu
%register_alternatives openoffice.org-ru
%postun ru
if [ -e %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu ]
then
%__cat %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu| \
%__sed -e \
'/<prop oor:name="ooSetupLocales">/{
:top
N
/<\/value>/ {
s|<value>\(\|.*\<\)ru\(\|\>.*\)</value>|<value>\1 \2</value>|
b bottom
}
b top
}
:bottom
' > \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak
%__mv %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu
fi
%preun ru
%unregister_alternatives openoffice.org-ru
%triggerpostun ru -- openoffice.org-ru = 1.1.2-alt1
%register_alternatives openoffice.org-ru
%post en
%__cat %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu| \
%__sed -e \
'/<prop oor:name="ooSetupLocales">/{
:top
N
/<\/value>/{
/<value>\(\|.*\<\)en-US\(\|\>.*\)<\/value>/b bottom
s|<value>\([^<]*\)</value>|<value>\1 en-US</value>|
b bottom
}
b top
}
:bottom
' > \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak &&\
%__mv %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu
%register_alternatives openoffice.org-en
%postun en
if [ -e %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu ]
then
%__cat %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu| \
%__sed -e \
'/<prop oor:name="ooSetupLocales">/{
:top
N
/<\/value>/ {
s|<value>\(\|.*\<\)en-US\(\|\>.*\)</value>|<value>\1 \2</value>|
b bottom
}
b top
}
:bottom
' > \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak
%__mv %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu
fi
%preun en
%unregister_alternatives openoffice.org-en
%triggerpostun en -- openoffice.org-en = 1.1.2-alt1
%register_alternatives openoffice.org-en
%files -f %_builddir/%OOOBUILDDIR/files
%dir %_datadir/doc/%name-%version
%_datadir/doc/%name-%version/README.ALT
%_libdir/OpenOffice.org
%_bindir/ooffice
%_bindir/oocalc
%_bindir/oodraw
%_bindir/ooimpress
%_bindir/oowriter
%_bindir/oomath
%_menudir/openoffice.org
%_iconsdir/*.png
%_miconsdir/*.png
%_liconsdir/*.png
%files ru -f %_builddir/%OOOBUILDDIR/files-ru
%_altdir/openoffice.org-ru
%_libdir/%OOODIR/program/instdb-07.ins
%files en -f %_builddir/%OOOBUILDDIR/files-en
%_altdir/openoffice.org-en
%_libdir/%OOODIR/program/instdb-01.ins
%changelog
…
Полный changelog можно просмотреть здесь
%define OOODIR OpenOffice.org%OOover
%define OOOBUILDDIR OOo_%OOover
%set_verify_elf_method textrel=relaxed
%add_findprov_lib_path %_libdir/%OOODIR/program
%add_findprov_lib_path %_libdir/%OOODIR/program/filter
%add_findprov_lib_path %_libdir/%OOODIR/program/components
%add_findreq_skiplist %_libdir/%OOODIR/share/config/webcast/*
%add_findreq_skiplist %_libdir/%OOODIR/program/libspa645li.so
%add_findreq_skiplist %_libdir/%OOODIR/program/libvcl645li.so
%add_findreq_skiplist %_libdir/%OOODIR/program/liblocaledata_es.so
%add_findreq_skiplist %_libdir/%OOODIR/program/libfileacc.so
%add_findreq_skiplist %_libdir/%OOODIR/program/libdict_ja.so
%add_findreq_skiplist %_libdir/%OOODIR/program/libdict_zh.so
%add_findreq_skiplist %_libdir/%OOODIR/program/liblocaledata_euro.so
%add_findreq_skiplist %_libdir/%OOODIR/program/liblocaledata_others.so
%add_findreq_skiplist %_libdir/%OOODIR/program/libofficebean.so
Name: openoffice.org
Version: %OOover
Release: alt1
Obsoletes: openoffice
Summary: OpenOffice.org office suite
License: GPL, LGPL, SISSL, PDL
Group: Office
URL: http://www.openoffice.org/
Packager: Valery Inozemtsev <shrek at altlinux.ru>
Source: OOo_1.1.5_src.tar.gz
Source1: helpcontent_07_unix.tgz
Source2: dictionaries.tar.bz2
Source3: extras.tar.bz2
Source5: wizards.tar.bz2
Source6: ooo-wrappers.tar.gz
Source7: ooo-icons.tar.gz
Source8: openoffice.org.menu
Source9: openintro_alt.bmp
Source10: README.ALT
Source11: openoffice.org-en.xml
Source12: openoffice.org-ru.xml
Source13: findreq.sh
Source14: findprov.sh
Source15: gsi-2004-12-26-sorted.txt.bz2
Patch3: 005_dictionaries.diff
Patch4: 008_ru-RU_fonts_config_VCL.diff
Patch5: 009_fallback_in_fontcfg.diff
Patch7: 011_scp_for_nimbus.diff
Patch8: 012_wizards_script_for_RecodeCyr.diff
Patch9: 013_freetype_bytecode.diff
Patch10: 014_sal_osl_unx_process_exec.diff
Patch11: 015_setup2_util_makefile_regcomp.diff
Patch12: 016_procless_setup_cmdline.diff
Patch14: 020_Work_dir_Documents.diff
Patch17: 023_psprint_disable_font_subst.diff
Patch18: 024_user_upgrade_fix.diff
Patch19: 025_setup_instdb_cmdparam.diff
Patch100: 000_config-switches_nas_fix.diff
Patch101: 000_system-nas.diff
Patch102: 000_ximian_config-switches.diff
Patch103: 000_ximian_system-libstdcpp.diff
Patch104: 000_ximian_system-python.diff
Patch105: 000_ximian_system-db-1.diff
Patch106: 000_ximian_system-db-2.diff
Patch107: 000_system-freetype-fix.diff
Patch300: icon-render.diff
Patch301: bmp32.diff
Patch302: system-xrender.diff
Patch303: icon-masks.diff
Patch342: OOo_1.1.4-doublefree-1.patch
Requires: openoffice.org-lang = %version-%release
AutoReqProv: yes, noshell, nopython
BuildRequires: tcsh patch bison flex perl make
BuildRequires: j2se-devel = 1.4.2 ant
BuildRequires: gcc3.3-c++ libstdc++3.3-devel libpam0-devel xorg-x11-devel
BuildRequires: zip unzip awk sed groff-base libncurses-devel
BuildRequires: libtinfo-devel libalternatives-devel libart_lgpl-devel
BuildRequires: pkgconfig zlib-devel libaudio-devel libcurl-devel
BuildRequires: libdb4.2_java-devel libdb4.2-devel libdb4.2_cxx-devel db4.2-utils
BuildRequires: python-dev freetype2-devel fontconfig-devel
%description
OpenOffice.org office suite
%package ru
Summary: Language-specific files, Russian
Group: Office
AutoReq: no
AutoProv: no
PreReq: openoffice.org = %version-%release, alternatives >= 0.2.0
Requires: openoffice.org = %version-%release
Provides: openoffice.org-lang = %version-%release
%description ru
OpenOffice.org language-specific files, Russian
%package en
Summary: Language-specific files, English
Group: Office
AutoReq: no
AutoProv: no
PreReq: openoffice.org = %version-%release, alternatives >= 0.2.0
Requires: openoffice.org = %version-%release
Provides: openoffice.org-lang = %version-%release
%description en
OpenOffice.org language-specific files, English
%define __find_requires %SOURCE13
%define __find_provides %SOURCE14
%prep
%setup -n %OOOBUILDDIR
%setup -n %OOOBUILDDIR -T -D -a 2
%setup -n %OOOBUILDDIR -T -D -a 3
%setup -n %OOOBUILDDIR -T -D -a 5
%patch3 -p0
%patch4 -p0
%patch5 -p0
%patch7 -p0
%patch8 -p0
%patch10 -p0
%patch11 -p0
%patch12 -p0
%patch14 -p0
%patch17 -p0
%patch18 -p0
%patch19 -p0
%patch100 -p0
%patch101 -p0
%patch102 -p0
%patch103 -p0
%patch104 -p0
%patch105 -p0
%patch106 -p0
%patch107 -p0
%patch300 -p0
%patch301 -p0
%patch302 -p0
%patch303 -p0
%patch342 -p1
%build
cd config_office
aclocal
autoconf
export CC=gcc-3.3
export PKG_CONFIG=%_bindir/pkg-config
%configure \
--with-lang=ENUS,RUSS \
--enable-crashdump=no \
--enable-fontconfig \
--without-gpc \
--without-fonts \
--disable-fontooo \
--with-jdk-home=%_libdir/j2se \
--enable-libart \
--with-system-zlib \
--with-system-freetype \
--with-system-db \
--with-db-jar=%_datadir/java/db.jar \
--with-system-curl \
--with-python \
--with-system-nas \
--with-system-x11-extensions-headers \
--with-system-xrender
cd ..
%__cp %SOURCE9 offmgr/res/openintro.bmp
sh -c '. LinuxIntelEnv.Set.sh
./bootstrap
cd transex3
build --all
deliver
cd ..
bzcat %SOURCE15 > gsl.txt
localize -m -i ru -l 07 -f gsl.txt
dmake || dmake || dmake'
%install
# install files
%__tar xzf %SOURCE1 -C solver/645/unxlngi4.pro/pck/
sh -c '. LinuxIntelEnv.Set.sh; cd instsetoo/util && dmake strip=true'
cd instsetoo/unxlngi4.pro/07/normal
./install --prefix %buildroot/tmp/OOo_07
for i in `grep -rl %buildroot/tmp/OOo_07/%OOODIR %buildroot/tmp/OOo_07/%OOODIR`
do
echo fixing $i
%__sed -e "s|%buildroot/tmp/OOo_07|%_libdir|g" $i >$i.bak
%__mv $i.bak $i
done
cd ../../01/normal
./install --prefix %buildroot/tmp/OOo_01
for i in `grep -rl %buildroot/tmp/OOo_01/%OOODIR %buildroot/tmp/OOo_01/%OOODIR`
do
echo fixing $i
%__sed -e "s|%buildroot/tmp/OOo_01|%_libdir|g" $i >$i.bak
%__mv $i.bak $i
done
%__rm -f %buildroot/tmp/OOo_01/%OOODIR/program/getstyle-gnome\
%buildroot/tmp/OOo_01/%OOODIR/program/msgbox-gnome
%__rm -fr %buildroot/tmp/OOo_0{1.7}/%OOODIR/share/cde
# analize
cd %buildroot/tmp/OOo_07
find . -type l > ../links
find . -type f -exec cmp {} ../OOo_01/{} \; 1>../ru2en.diff 2>../ru.only
cd ../OOo_01
find . -type f -exec cmp {} ../OOo_07/{} \; 1>../en2ru.diff 2>../en.only
find . -type f -exec sh -c 'cmp {} ../OOo_07/{} >/dev/null 2>&1 && echo {}' \; >../common
cd ..
# common
%__cat common links|%__sed -e "s|^\.|%_libdir|" > %_builddir/%OOOBUILDDIR/files
# ru
%__cat ru.only|%__sed -e "s|cmp: \.\./OOo_01/\.\(.*\): No such file or directory|%_libdir\1|" > \
%_builddir/%OOOBUILDDIR/files-ru
# en
%__cat en.only|%__sed -e "s|cmp: \.\./OOo_07/\.\(.*\): No such file or directory|%_libdir\1|" > \
%_builddir/%OOOBUILDDIR/files-en
# different, do something
if false
then
for i in `%__cat ru2en.diff|%__sed -e "s|^\./\(.*\) ../.*|\1|" | egrep -v "psprint.conf|setup.log|README"`
do
cp OOo_01/$i OOo_01/${i}-01
cp OOo_07/$i OOo_07/${i}-07
echo %_libdir/$i >> %_builddir/%OOOBUILDDIR/files
echo %_libdir/${i}-01 >> %_builddir/%OOOBUILDDIR/files-en
echo %_libdir/${i}-07 >> %_builddir/%OOOBUILDDIR/files-ru
done
# place these from ru
%__cat ru2en.diff|%__sed -e "s|^\.\(.*\) \.\./.*|%_libdir\1|" | egrep "psprint.conf|setup.log|README" >> \
%_builddir/%OOOBUILDDIR/files
%__cat %buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Setup.xcu-07| \
%__sed -e \
'/<prop oor:name="ooSetupLocales">/{
:top; N
/<\/value>/{
s|<value>[ \n]*ru[ \n]*</value>|<value></value>|
b bottom
}
b top
}
:bottom
' > %buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Setup.xcu
else # process different files "manually"
# Actually, important files are Common.xcu, Setup.xcu, instdb.ins
%__cat ru2en.diff|%__sed -e "s|^\.\(.*\) \.\./.*|%_libdir\1|" | grep -v instdb.ins >> %_builddir/%OOOBUILDDIR/files
%__mv %buildroot/tmp/OOo_01/%OOODIR/program/instdb.ins \
%buildroot/tmp/OOo_01/%OOODIR/program/instdb-01.ins
%__mv %buildroot/tmp/OOo_07/%OOODIR/program/instdb.ins \
%buildroot/tmp/OOo_07/%OOODIR/program/instdb-07.ins
%__cat %buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Setup.xcu| \
%__sed -e \
'/<prop oor:name="ooSetupLocales">/{
:top; N
/<\/value>/{
s|<value>[ \n]*ru[ \n]*</value>|<value></value>|
b bottom
}
b top
}
:bottom
' > %buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak
%__mv %buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak \
%buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Setup.xcu
diff -u %buildroot/tmp/OOo_07/%OOODIR/share/registry/data/org/openoffice/Office/Common.xcu \
%buildroot/tmp/OOo_01/%OOODIR/share/registry/data/org/openoffice/Office/Common.xcu > \
%_builddir/%OOOBUILDDIR/Common.xcu.diff || true
%__cat %_builddir/%OOOBUILDDIR/Common.xcu.diff | \
%__sed -e \
'3,11d
s/^- / /
s/,7 at /,8 at /
' >%_builddir/%OOOBUILDDIR/Common.xcu-2.diff
%__patch -p0 < %_builddir/%OOOBUILDDIR/Common.xcu-2.diff || true
fi
# searching for dirs
%__cat %_builddir/%OOOBUILDDIR/files | \
%__sed -ne ":top {h; s|\(.*\)/.*|\1|p ;/%OOODIR\// b top;}" | \
sort|uniq > %_builddir/%OOOBUILDDIR/dirs
%__cat %_builddir/%OOOBUILDDIR/files-ru | \
%__sed -ne ":top {h; s|\(.*\)/.*|\1|p ;/%OOODIR\// b top;}" | \
sort|uniq > %_builddir/%OOOBUILDDIR/dirs-ru
%__cat %_builddir/%OOOBUILDDIR/files-en | \
%__sed -ne ":top {h; s|\(.*\)/.*|\1|p ;/%OOODIR\// b top;}" | \
sort|uniq > %_builddir/%OOOBUILDDIR/dirs-en
%__mkdir -p %buildroot%_libdir
%__mv %buildroot/tmp/OOo_01/%OOODIR %buildroot%_libdir/
cd %buildroot/tmp/OOo_07
%__tar cf - %OOODIR | %__tar xf - -C %buildroot%_libdir
%__cat %_builddir/%OOOBUILDDIR/dirs-ru %_builddir/%OOOBUILDDIR/dirs-en \
|%__sed -e 's/$/$/'|sort|uniq > %_builddir/%OOOBUILDDIR/dirs.pat
find %buildroot%_libdir/%OOODIR -type d | \
grep -v -f %_builddir/%OOOBUILDDIR/dirs.pat | \
%__sed -e "s|%buildroot||" >> %_builddir/%OOOBUILDDIR/dirs
%__cat %_builddir/%OOOBUILDDIR/dirs |sort|uniq|%__sed -e "s/^/%dir /" \
>> %_builddir/%OOOBUILDDIR/files
%__cat %_builddir/%OOOBUILDDIR/dirs-ru |sort|uniq|%__sed -e "s/^/%dir /" \
>> %_builddir/%OOOBUILDDIR/files-ru
%__cat %_builddir/%OOOBUILDDIR/dirs-en |sort|uniq|%__sed -e "s/^/%dir /" \
>> %_builddir/%OOOBUILDDIR/files-en
%__rm -fr %buildroot/tmp/*
%__subst 's,rsh,ssh,g' %buildroot%_libdir/%OOODIR/program/{pkgchk,soffice,spadmin}
%__tar xzf %SOURCE6 -C %buildroot
%__tar xzf %SOURCE7 -C %buildroot
%__mkdir -p %buildroot%_menudir
%__cp %SOURCE8 %buildroot%_menudir/openoffice.org
%__ln_s %OOODIR %buildroot%_libdir/OpenOffice.org
%__mkdir -p %buildroot%_datadir/doc/%name-%version
%__cp %SOURCE10 %buildroot%_datadir/doc/%name-%version
%__mkdir -p %buildroot%_altdir
%__cat > %buildroot%_altdir/openoffice.org-en <<EOF
%_libdir/%OOODIR/program/instdb.ins %_libdir/%OOODIR/program/instdb-01.ins 10
EOF
%__cat > %buildroot%_altdir/openoffice.org-ru <<EOF
%_libdir/%OOODIR/program/instdb.ins %_libdir/%OOODIR/program/instdb-07.ins 11
EOF
chmod 644 %buildroot%_altdir/openoffice.org-{en,ru}
unset RPM_PYTHON
%post
%update_menus
%postun
%clean_menus
%post ru
%__cat %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu| \
%__sed -e \
'/<prop oor:name="ooSetupLocales">/{
:top
N
/<\/value>/{
/<value>\(\|.*\<\)ru\(\|\>.*\)<\/value>/b bottom
s|<value>\([^<]*\)</value>|<value>\1 ru</value>|
b bottom
}
b top
}
:bottom
' > \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak &&\
%__mv %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu
%register_alternatives openoffice.org-ru
%postun ru
if [ -e %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu ]
then
%__cat %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu| \
%__sed -e \
'/<prop oor:name="ooSetupLocales">/{
:top
N
/<\/value>/ {
s|<value>\(\|.*\<\)ru\(\|\>.*\)</value>|<value>\1 \2</value>|
b bottom
}
b top
}
:bottom
' > \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak
%__mv %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu
fi
%preun ru
%unregister_alternatives openoffice.org-ru
%triggerpostun ru -- openoffice.org-ru = 1.1.2-alt1
%register_alternatives openoffice.org-ru
%post en
%__cat %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu| \
%__sed -e \
'/<prop oor:name="ooSetupLocales">/{
:top
N
/<\/value>/{
/<value>\(\|.*\<\)en-US\(\|\>.*\)<\/value>/b bottom
s|<value>\([^<]*\)</value>|<value>\1 en-US</value>|
b bottom
}
b top
}
:bottom
' > \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak &&\
%__mv %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu
%register_alternatives openoffice.org-en
%postun en
if [ -e %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu ]
then
%__cat %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu| \
%__sed -e \
'/<prop oor:name="ooSetupLocales">/{
:top
N
/<\/value>/ {
s|<value>\(\|.*\<\)en-US\(\|\>.*\)</value>|<value>\1 \2</value>|
b bottom
}
b top
}
:bottom
' > \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak
%__mv %_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu.bak \
%_libdir/%OOODIR/share/registry/data/org/openoffice/Setup.xcu
fi
%preun en
%unregister_alternatives openoffice.org-en
%triggerpostun en -- openoffice.org-en = 1.1.2-alt1
%register_alternatives openoffice.org-en
%files -f %_builddir/%OOOBUILDDIR/files
%dir %_datadir/doc/%name-%version
%_datadir/doc/%name-%version/README.ALT
%_libdir/OpenOffice.org
%_bindir/ooffice
%_bindir/oocalc
%_bindir/oodraw
%_bindir/ooimpress
%_bindir/oowriter
%_bindir/oomath
%_menudir/openoffice.org
%_iconsdir/*.png
%_miconsdir/*.png
%_liconsdir/*.png
%files ru -f %_builddir/%OOOBUILDDIR/files-ru
%_altdir/openoffice.org-ru
%_libdir/%OOODIR/program/instdb-07.ins
%files en -f %_builddir/%OOOBUILDDIR/files-en
%_altdir/openoffice.org-en
%_libdir/%OOODIR/program/instdb-01.ins
%changelog
…
Полный changelog можно просмотреть здесь