Обновления RCP P2 в многопользовательской среде из установки только для чтения

Я создал пакет Ubuntu для установки моего приложения RCP. Установленные файлы принадлежат пользователю root. Может ли пользователь впоследствии устанавливать обновления через P2? Документация по Многопользовательские установки Eclipse предполагают, что это возможно, наряду с ответом на этот вопрос.

Однако, когда я запускаю приложение, оно не проверяет наличие обновлений автоматически, как обычно, и сайт обновлений, который я указал в p2.inf, не отображается в диалоговом окне «Установить новое программное обеспечение...».

Использование параметров времени выполнения -configuration или -data не помогло.

Я могу заставить его работать с помощью хака, запустив sudo chown -R <my_username> /opt/<my_app_installation>. Когда я впоследствии запускаю приложение, оно правильно проверяет наличие обновлений при запуске, и мой сайт обновлений правильно отображается в диалоговом окне «Установить новое программное обеспечение ...». Конечно, я бы предпочел, чтобы любые данные, которые он записывает в этот установочный каталог, вместо этого записывались в домашний каталог пользователя.


Дополнительная информация:

Вот список файлов и папок, которые появились в моем установочном каталоге только после того, как каталог стал владельцем <my_username> и программа была запущена.

/opt/<my_app_installation>/configuration/org.eclipse.core.runtime
/opt/<my_app_installation>/configuration/org.eclipse.equinox.app
/opt/<my_app_installation>/configuration/org.eclipse.osgi
/opt/<my_app_installation>/p2/org.eclipse.equinox.p2.engine/profileRegistry/profile.profile/1339896994308.profile.gz
/opt/<my_app_installation>/p2/org.eclipse.equinox.p2.engine/profileRegistry/profile.profile/.data/.settings/org.eclipse.equinox.p2.ui.sdk.prefs
/opt/<my_app_installation>/p2/org.eclipse.equinox.p2.engine/profileRegistry/profile.profile/.data/.settings/org.eclipse.equinox.p2.ui.sdk.scheduler.prefs
/opt/<my_app_installation>/p2/org.eclipse.equinox.p2.repository

Другие экспериментальные результаты:

Даже с доступным для записи каталогом установки (chown'd) никакие файлы не помещаются туда, когда указана опция времени выполнения -configuration $HOME/.my_app_files.


person kostmo    schedule 17.06.2012    source источник
comment
Вы использовали параметр -initialize при первом запуске от имени пользователя? Я считаю, что необходимо разместить файлы в домашнем каталоге в соответствии с вашей конфигурацией. После первого запуска эта опция вам больше не понадобится.   -  person Justin.Wood    schedule 26.06.2012
comment
Я считаю, что опция -initialize предназначена для создания каталогов конфигурации без фактического запуска приложения с графическим интерфейсом. При первом запуске, если вы опустите параметр -initialize, каталоги конфигурации все равно будут созданы.   -  person kostmo    schedule 26.06.2012


Ответы (1)


Существует множество ограничений самого p2 для установки общего доступа. Насколько я знаю, в последнем выпуске Juno также нет значительных улучшений.

Но парень из Redhat работает над установкой p2 с пакетом RPM, вы можете прочитать его прогресс в его запись в блоге. Работой и идеей можно поделиться с пакетом Debian.

person Kane    schedule 26.06.2012
comment
Ошибки 249133 и 358471 показывает, что многие люди борются с этим. Кажется, что то, что я хочу, невозможно в настоящее время. - person kostmo; 26.06.2012