Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37792157
en ru br
Репозитории 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
www.altlinux.org/Changes

Группа :: Офис
Пакет: 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 можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin