Я установил (в CentOS 7) программу под названием Rational Software Architect (RSA 9.5), которая представляет собой богатую клиентскую платформу, которая действует как Eclipse, но без фактической установки RPM. RSA поставляется со сценарием установки bash, который в значительной степени просто удалил файлы eclipse в файловую систему. Мой исполняемый файл Eclipse живет в /opt/IBM/SDP/eclipse
с обычными папками Eclipse, такими как «плагины», «функции» и «капли» на том же уровне.Как потребовать файл, не принадлежащий RPM, в файле спецификаций «Требуется»?
Я написал файл спецификации для предыдущей версии «реального» Eclipse, который просто установил некоторые плагины java, которые я написал как файлы jar, поместив их в папку «dropins» и затем вызвав eclipse -clean -initialize
, чтобы синхронизировать Eclipse с моим новым плагины. Это все еще работает с RSA.
Мой вопрос сводится к тому, что раньше, я бы просто строка в файле спецификации аналогично
Requires: eclipse >= 4.4.2
, поскольку Eclipse, был установлен как RPM. Теперь, когда RSA установлен, заменив Eclipse и не связанный с ним RPM, мне нужно найти способ сообщить спецификационному файлу, что требуется установить папку «dropins» перед установкой RPM. Возможно, что-то вроде этого:
Requires: /opt/IBM/SDP/eclipse
Я не имел никакого успеха в вышеупомянутом подходе и задаюсь вопросом, возможно ли установить требование RPM на основе файла, а не пакета? Я не могу найти документацию по этому вопросу и надеялся, что все могут помочь! Заранее спасибо.
FYI ... Я работаю в CentOS 7.2 с rpm-build-4.11.3 и rpmdevtools-8.3.
EDIT: Добавление сообщения об ошибке вернулось из ня при использовании абсолютного пути в спецификации
[[email protected] trunk]# yum localinstall myplugin-1.1.6-rev1255.x86_64.rpm Loaded plugins: fastestmirror, langpacks, rhnplugin This system is receiving updates from RHN Classic or Red Hat Satellite. Examining myplugin-1.1.6-rev1255.x86_64.rpm: myplugin-1.1.6-rev1255.x86_64 Marking myplugin-1.1.6-rev1255.x86_64.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package myplugin.x86_64 0:1.1.6-rev1255 will be installed --> Processing Dependency: /opt/IBM/SDP/eclipse for package: myplugin-1.1.6-rev1255.x86_64 Loading mirror speeds from cached hostfile --> Processing Dependency: /opt/IBM/SDP/eclipse for package: myplugin-1.1.6-rev1255.x86_64 --> Finished Dependency Resolution Error: Package: myplugin-1.1.6-rev1255.x86_64 (/myplugin-1.1.6-rev1255.x86_64) Requires: /opt/IBM/SDP/eclipse You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest
[[email protected] trunk]# ll /opt/IBM/SDP/eclipse -rwxr-xr-x. 1 root root 74675 Jan 28 2015 /opt/IBM/SDP/eclipse
Я уверен, что вы можете иметь абсолютный путь. Он должен остановить вас от установки без него, но поскольку он не найден ни в одном RPM, 'yum' /' dnf' не сможет помочь вам его найти. Я сделал это раньше, чтобы принудительно использовать 32-битные библиотеки glibc в качестве требования к RPM. –
@ AaronD.Marasco См. Вышеизложенное.При использовании абсолютного пути (который вы можете видеть, существует при запуске 'ls -al' в файле), у меня все еще есть проблемы. – mstep91
Это требование может автоматически подбираться при построении оборотов в минуту с макетами. –