Ошибка при установке RPM -% post-скрипта зависимых от спецификации зависимостей / bin / sh - PullRequest
1 голос
/ 30 января 2012

Я пытаюсь построить RPM для моего кода Java. Разделы сборки и установки RPM работают нормально. Но позже я добавил сценарий оболочки в% post, чтобы запустить файл сценария оболочки, который создает некоторые файлы и запускает приложение Java. Файл копируется нормально. Но в разделе% post я получаю ошибку bin / sh с ошибками. Я собираю rpm на машине linux, а целевые машины - centOS. Я также пробовал AutoReqProv: нет в spec-файл. Я не запускаю установку от имени пользователя root. Кроме того, на целевых машинах не должно быть ANT (я использую его для создания кода Java, это может быть не связано с проблемой). Я прилагаю Код ниже. По умолчанию расположение установки находится в папке tmp. (для тестирования).

Summary: test           Summary: test
        Name: test
        Version: 1
        Release: 1
        License: Restricted
        Group: Applications/System
        BuildRoot: ~/rpm/BUILD/helloworld-root 
        URL: http://mycompany.net/helloworld.tar
        Vendor: Mycompany
        Packager: Mycompany  
        Prefix: /tmp
        BuildArchitectures: x86_64 

        %description
         Hello World

        %prep
        pwd
        %build
        pwd
        echo "changing directory"
        echo $RPM_BUILD_ROOT
        cd %{_sourcedir}
        pwd
        ant -f testbuild.xml
        %install
        pwd
        echo "in install"
        echo $RPM_BUILD_ROOT
        rm -rf $RPM_BUILD_ROOT
        mkdir -p $RPM_BUILD_ROOT/tmp/test/
        cd $RPM_BUILD_ROOT/tmp/test/
        tar -xf %{_builddir}/test.tar

        %post
        sh /tmp/test/createdb.sh
        %clean
        %files 
        /tmp/test
        %changelog

Я также выполнил поиск в Google, но не смог найти способ запуска сценария оболочки из spec.with раздела post, я попытался запустить через командную строку, он работает нормально. Я ценю помощь, если кто-то может указать, где проблема является?

1 Ответ

1 голос
/ 13 февраля 2012
%post -p /bin/bash

Это даст вашему почтовому сценарию терминал для запуска команд bash и всего, что вы делаете в нем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...