Контроль качества: Установка OpenOffice.org разных версий в одну систему

From Wiki
Revision as of 10:20, 13 November 2010 by Sancho (talk | contribs) (Добавлен шаблон Path)
Jump to navigationJump to search

ja:JA/QA/Run_OOo_versions_parallel sl:SL/Run_OOo_versions_parallel de:DE/Run_OOo_versions_parallel


Вступление

Для оказания содействия в исправлении ошибок OpenOffice.org достаточно использовать в повседневной работе DEV-сборку и сообщать об обнаруженных ошибках.

Стабильные версии, по умолчанию, устанавливается в /opt на Linux и c:\Program Files на Windows. Например, OpenOffice.org 3.2 ставится в папку /opt/openoffice.org3 на *nix системах, и C:\Program Files\OpenOffice.org 3\ на Windows.

DEV-сборка установится в /opt/ooo-dev3/ (*nix) и C:\Program Files\OOo-dev 3\ (Windows).

В связи с этим, при необходимости сохранить в системе старые стабильные сборки или установить несколько DEV-сборок, обычный способ установки не позволит этого, так как одна версия перезапишет другую.

Изложенные ниже способы дают возможность установки и использования параллельно в одной системе нескольких разных сборок.


Linux

В этой части будет показано, как установить любую версию OpenOffice.org, распространяемую в пакетах RPM или DEB. В этом методе будет опущена процедура инсталляции. Вместо неё пакеты буду распакованы в заданный пользователем каталог.

Documentation note.png При использовании этого метода не имеет значения, какой тип пакетов (RPM или DEB) используется, а так же не имеет значения, какой формат пакетов использует дистрибутив Linux (то есть, можно распаковать RPM пакеты на Debian, или DEB пакеты на Gentoo).


Установка OpenOffice.org 3.* (трёхслойный OpenOffice.org)

Начиная с DEV300m4, в OpenOffice.org есть три слоя (см. Three-Layer OpenOffice.org). Это значит, что при распаковке пакетов RPM/DEB, будет создано 2 каталога:

1. opt/openoffice.org   (содержит нижний и средний слои: ure и basis)
2. opt/openoffice.org3   (содержит верхний слой)

где, возможно, понадобится заменить openoffice.org на другое имя. Например: ooo-dev.

Так как необходимо создать самодостаточную установку OpenOffice.org (без интеграции с операционной системой, со своим профилем, который не будет пересекаться с профилями других версий), достаточно распаковать пакеты и переименовать этот каталог opt так, чтобы три слоя по прежнему были вместе.

RPM пакеты

В данном примере рассматривается установка

OOo-Dev_DEV300m77_Linux_x86_install-rpm_en-US.tar.gz

загруженного в каталог:

/home/user/download/ooo/
# cd в папку, куда загружен файл *.tar.gz
# в этом примере файл
# OOo-Dev_DEV300m77_Linux_x86_install-rpm_en-US.tar.gz
# скачан в папку /home/user/download/ooo/

~> cd download/ooo/

# создаём временную папку TEMP_INST

~/download/ooo> mkdir TEMP_INST 

# cd в папку

~/download/ooo> cd TEMP_INST/ 

# распакуем скачанный файл
~/download/ooo/TEMP_INST> tar -zxvf ../OOo-Dev_DEV300m77_Linux_x86_install-rpm_en-US.tar.gz

Этими командами распаковно содержимое пакетов во временную папку.

Теперь следует перейти в каталог RPMS.

# теперь необходимо создать ещё один временный каталог для распаковки файлов,
# содержащихся в папке RPMS

~/download/ooo/TEMP_INST> cd DEV300_m77_native_packed-2_en-US.9496/RPMS/ 

# в этом примере сократим имя папки: 
# вместо ~/download/ooo/TEMP_INST/DEV300_m77_native_packed-2_en-US.9496/RPMS>
# напишем: ~/download/ooo/TEMP_INST/ DEV300_m77.../RPMS>

# создание временной папки, которая и станет окончательной папкой установки OpenOffice.org

~/download/ooo/TEMP_INST/DEV300_m77.../RPMS> mkdir TEMP_ROOT 
~/download/ooo/TEMP_INST/DEV300_m77.../RPMS> cd TEMP_ROOT/
Documentation note.png В зависимости от версии изменяются имена файлов и каталогов.

Распаковать RPM можно за 1 или 2 шага:

# за 1 шаг

~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT> for i in ../o*.rpm; do rpm2cpio $i | cpio -id; done
Tip.png Использовна звёздочка в конструкии for i in ../o*.rpm, так как среди пакетов может находится пакет с Java Runtime Environment (в данном примере, пакет с JRE называется jre-6u19-linux-i586.rpm), поэтому ../o*.rpm говорит, что нужно распаковывать пакеты с "o" вначале имени файла.


# за 2 шага
# нижний и средний слои

~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT> for i in ../openoffice.org*.rpm; do rpm2cpio $i | cpio -id; done 

# распаковка верхнего слоя

~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT> for i in ../ooo-dev*.rpm; do rpm2cpio $i | cpio -id; done

По окончании этой операции в каталоге

/home/user/download/ooo/TEMP_INST/DEV300_m77_native_packed-2_en-US.9496/RPMS/TEMP_ROOT

создана папка opt, в которой есть 2 папки:

/TEMP_ROOT/opt/ooo-dev3
/TEMP_ROOT/opt/ooo-dev

Последняя содержит ещё 2 папки:

basis3.3
ure

Теперь можно скопировать или переместить эту папку opt в любое место.

# в этом примере устанавливается нова версия в /home/user/OOo_DEV300_m77

~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT> mv opt ~/OOo_DEV300_m77

На последнем шаге требуется удалить все временные файлы:

~/download/ooo/TEMP_INST/DEV300_m77.../RPMS/TEMP_ROOT> cd ~/download/ooo/
~download/ooo> rm -rf TEMP_INST/

DEB пакеты

В данном примере рассматривается установка

OOo-Dev_DEV300m77_Linux_x86_install-deb_en-US.tar.gz

загруженного в каталог

/home/user/download/ooo/
# cd в папку загрузки файла *.tar.gz
# в этом примере
# файл OOo-Dev_DEV300m77_Linux_x86_install-deb_en-US.tar.gz
# загружен в папку /home/user/download/ooo/

~> cd download/ooo/

# создание временной папки TEMP_INST

~/download/ooo> mkdir TEMP_INST 

# переход в неё

~/download/ooo> cd TEMP_INST/ 

# распаковка содержимого скачанного файла

~/download/ooo/TEMP_INST> tar -zxvf ../OOo-Dev_DEV300m77_Linux_x86_install-deb_en-US.tar.gz

В результате во временной папке находятся распакованные файлы.


Затем следует перейти в папку DEBS с помощью команды cd, содержащую файлы *.deb.

# создание следующей временной папки для распаковки файлов *.deb.

~/download/ooo/TEMP_INST> cd DEV300_m77_native_packed-2_en-US.9496/DEBS/ 

# в дальнейшем примере используется сокращённое имя папки:
# вместо       ~/download/ooo/TEMP_INST/DEV300_m77_native_packed-2_en-US.9496/DEBS>
# используется ~/download/ooo/TEMP_INST/DEV300_m77.../DEBS>

# создание временного каталога, в котором будет располагаться установленный OpenOffice.org

~/download/ooo/TEMP_INST/DEV300_m77.../DEBS> mkdir TEMP_ROOT 
~/download/ooo/TEMP_INST/DEV300_m77 .../DEBS> cd TEMP_ROOT/
Documentation note.png В зависимости от версии изменяются имена файлов и каталогов:
  1. ooobasis-dev3.3-*.deb - нижний и средний слои
  2. ooo-dev3-*.deb - верхний слой

Можно распаковать все *.deb за 1 или 2 шага:

# за 1 шаг

~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT> for i in ../*.deb; do dpkg-deb -x $i . ; done
# за 2 шага
# средний и нижний слои

~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT> for i in ../openoffice.org*.deb; do dpkg-deb -x $i . ; done 

# верхний слой
~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT> for i in ../ooo-dev*.deb; do dpkg-deb -x $i . ; done

После выполнения этих команд в папке

/home/user/download/ooo/TEMP_INST/DEV300_m77_native_packed-2_en-US.9496/DEBS/TEMP_ROOT

есть папка opt, содержащая 2 вложенные папки:

/TEMP_ROOT/opt/ooo-dev3
/TEMP_ROOT/opt/ooo-dev

последняя содержит ещё 2 папки:

basis3.3
ure

Папка opt подготовлена и её можно скопировать или переместить в любое место.

# в этом примере устанавливается новая версия в /home/user/OOo_DEV300_m77

~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT> mv opt ~/OOo_DEV300_m77

В завершении удаляются все временные файлы.

~/download/ooo/TEMP_INST/DEV300_m77.../DEBS/TEMP_ROOT> cd ~/download/ooo/
~download/ooo> rm -rf TEMP_INST/


Настройки профиля для версий 3.*

Перед первым запуском установленной сборки, необходимо выполнить изменения в настройках. (Инструкции одинаковы для RPM и DEB.)

По умолчанию OpenOffice.org хранит настройки отдельно для каждого пользователя в профиле

/home/user/.openoffice.org/ (стабильные сборки и RC)

или

/home/user/.ooo-dev/ (сборки DEV)

Это значит, что нельзя параллельно запустить две сборки, которые обе устанавливаются как ooo-dev или openoffice.org, т.к. они одновременно использовали бы один и тот же профиль и конфликтовали ли бы друг с другом.

Чтобы этого избежать, следует изменить настройки так чтобы OpenOffice.org хранил профиль в другом месте. Например в своей корневой папке. В этом случае будет легче и удалять приложение, поскольку и OpenOffice.org, и его профиль будут в одном каталоге.

Для этого необходимо отредактировать файл

bootstraprc

находящийся в папке

program

верхнего слоя (т.е. ooo-dev3)


В данном примере:

/home/user/OOo_DEV300_m77/ooo-dev3/program

Так как этот файл не имеет прав на запись, необходимо сперва установить права:

> cd ~/OOo_DEV300_m77/ooo-dev3/program
~/OOo_DEV300_m77/ooo-dev3/program> chmod +w bootstraprc

Теперь возможно открыть это файл в текстовом редакторе и изменить ту строку, которая начинается с UserInstallation=:

UserInstallation=$ORIGIN/..

Файл целиком может принять следующий вид:

[Bootstrap]
BaseInstallation=${OOO_BASE_DIR}
InstallMode=<installmode>
ProductKey=OOo-dev 3.0
UserInstallation=$ORIGIN/..
[ErrorReport]
ErrorReportPort=80
ErrorReportServer=report.services.openoffice.org

Таким способом, папка профиля будет располагаться там же, где и сам OpenOffice.org, и становится возможным запускать параллельно несколько разных версий.


Windows

В Windows следует выполнить "административную установку" пакета. Это функция доступна для любого пакета, использующего MSI, и, в основном, это значит - распаковка всех файлов *.cab.

Дистрибутив OpenOffice.org для Windows представляет собой один установочный файл (смораспаковывающийся архив), содержащий в себе полный установочный набор файлов (1 файл *.exe более 100 МБ в размере, вида OOo-Dev_DEV300m77_Win_x86_install-wJRE_en-US.exe).

Для текущей задачи следует:

  • запустить его на выполнение. Будет предложено выбрать каталог для распаковки дистрибутива (например: C:\temp\install) и произведена сама распаковка;
  • после завершения распаковки автоматически будет запущен инсталлятор с приветствием и предложением начать установку. Необходимо щёлкнуть кнопку Cancel (Отмена).

Далее необходимо запустить консоль (Пуск → Выполнить..., введсти "cmd", нажать  ↵ Enter  , либо вызвать через меню Программы → Стандартные → Командная строка)

В консоли следует ввести:

 ...> c:
 c:\> cd \temp\install
 c:\temp\install> msiexec /a ooodev33.msi
Tip.png Предполагается, что файл ooodev33.msi существует в папке c:\temp\install. Его имя может меняться в зависимости от версии, к примеру, для OOO320m17 имя файла openofficeorg32.msi, но это должен быть всегда один единственный файл. Используйте его имя.


msiexec это инструмент для исполнения файлов .msi. Переключатель /a инициирует запуск административной установки. Он запускает диалог запроса о целевой папке установки. Следует указать каталог, где будет располагался установленный OpenOffice.org. Затем следует щёлкнуть кнопку "Install" ("Установить") и дождаться окончания установки.

Documentation note.png Следующая команда:

msiexec /a ooodev33.msi TARGETDIR="c:\Program Files\OOoDev\m77" /qr
установит OpenOffice.org в папку "C:\Program Files\OOoDev\m77", без диалога и вопросов.

Начиная с DEV300m23, необходимые файлы Microsoft Visual C++ runtime не содержатся более в установленном OpenOffice.org, а вместо этого, устанавливаются во время обычной установки (см. this interface-announce@openoffice.org mail). Так как во время административной установки это действие не выполняется, следует самостоятельно установить Пакет Microsoft Visual C++ 2008 Redistributable (x86) (или эквивалент для другой версии компилятора).


Профиль

Как и на версиях для Linux, следует сделать так, чтобы профиль OpenOffice.org не конфликтовал с другими версиями. Для этого необходимо отредактировать в блокноте файл

<OOo_installation>\program\bootstrap.ini

и найти строку

UserInstallation=$SYSUSERCONFIG/OOo-dev
Documentation note.png Опять же, последняя часть "OOo-dev" зависит от версии, но строка, которая начинается с UserInstallation - всего одна.

Необходимо заменить её на:

UserInstallation=$ORIGIN/..

Файл целиком может принять следующий вид:

[Bootstrap]
BaseInstallation=${OOO_BASE_DIR}
InstallMode=<installmode>
ProductKey=OpenOffice.org 3.2
UserInstallation=$ORIGIN/..
[ErrorReport]
ErrorReportPort=80
ErrorReportServer=report.services.openoffice.org

Теперь настройки пользователя будут храниться в папке user рядом с папкой program. Это имеет 2 преимущества: профили не пересекаются, и чтобы удалить программу вместе с настройками пользователя нужно удалить всего одну папку.

Documentation caution.png Все пользователи, работая с этой установкой, будут использовать одни и те же настройки.


Настройки для автоматического тестирования

Для проведения автоматического тестирования с помощью VCL TestTool, следует проверить настройки.

Чтобы VCLTestTool нашёл папку установки, нужно настроить параметр OOoProgramDir в диалоге настроек VCLTesttool.

Снимок-Настройки-OOoProgramDir.png Template:RUsigntransyear






К началу страницы