2014-02-19 3 views
1

Мне нужно сделать очень простой rpm, чтобы извлечь tar.gz и поместить его содержимое в/var/www, не делая ничего другого.Ошибки в простой .RPM

У меня есть .spec, который должен это делать, но он терпит неудачу с необоснованной ошибкой.

rpmlint не выдает ошибку.

Здесь идет спецификации:

Name:   redmine 
Version:  2.4.3 
Release:  1%{?dist} 
Summary:  A flexible project management web application 

Group:   Development/Tools/Other 
License:  GPL-2.0 
URL:   http://www.redmine.org/ 
Source0:  %{name}-%{version}.tar.gz 
BuildRoot:  %{_tmppath}/%{name}-%{version}-build 

BuildRequires: gcc 
Requires:  httpd 

%description 

Redmine is a flexible project management web application. 
Written using Ruby on Rails framework, it is cross-platform and cross-database. 
%prep 
%setup 

%build 

%install 
rm -rf %{buildroot} 
mkdir -p /var/www/redmine/ 
install -m 0755 * /var/www/redmine/ 
mkdir -p /var/www/redmine/tmp/ 

%clean 
rm -rf %{buildroot} 


%files 
%defattr(-,root,root,-) 
/var/www/redmine/* 
/var/www/redmine/app/* 
/var/www/redmine/config/* 
/var/www/redmine/db/* 
/var/www/redmine/doc/* 
/var/www/redmine/extra/* 
/var/www/redmine/lib/* 
/var/www/redmine/plugins/* 
/var/www/redmine/public/* 
/var/www/redmine/script/* 
/var/www/redmine/test/* 
/var/www/redmine/tmp/* 
/var/www/redmine/vendor/* 
%defattr(-,apache,apache,-) 
/var/www/redmine/tmp/* 
/var/www/redmine/files/* 
/var/www/redmine/log/* 

%post 
echo " " 
echo "installatios was successful" 

И это последняя часть сообщения об ошибке:

+ rm -rf /root/rpmbuild/BUILDROOT/redmine-2.4.3-1.el6.i386 
+ mkdir -p /var/www/redmine/ 
+ install -m 0755 CONTRIBUTING.md Gemfile README.rdoc Rakefile app config config.ru db doc extra files lib log plugins public script test tmp vendor /var/www/redmine/ 
install: omitting directory `app' 
install: omitting directory `config' 
install: omitting directory `db' 
install: omitting directory `doc' 
install: omitting directory `extra' 
install: omitting directory `files' 
install: omitting directory `lib' 
install: omitting directory `log' 
install: omitting directory `plugins' 
install: omitting directory `public' 
install: omitting directory `script' 
install: omitting directory `test' 
install: omitting directory `tmp' 
install: omitting directory `vendor' 
error: Bad exit status from /var/tmp/rpm-tmp.FwRGmu (%install) 


RPM build errors: 
    Bad exit status from /var/tmp/rpm-tmp.FwRGmu (%install) 

ответ

0

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

1

Есть много проблем с этим файлом .spec. нет Вот некоторые большие:

  1. Абсолютный путь в %install - это делает его нужно root строить (не-нет) и может топать на что-либо, что сборка машины уже установленной на нем. Если вы пытаетесь скопировать конфигурацию с компьютера, настройте нужные файлы.
  2. Нет исходных файлов. См. Выше - вы не сможете получить .src об/мин.
  3. Вы не являетесь владельцем каталогов в списках файлов (%dir).
  4. RPM не должны касаться /var/www/ - см. Fedora Packaging Guidelines.
  5. Имя конфликта - не назовите его redmine, если это ваша конкретная конфигурация. Вместо этого, Requires стандартный пакет redmine и имя ваше что-то вроде redmine-companyname-config. Или используйте это имя и получите Obsoletes и Provides оригинал redmine, если необходимо.
Смежные вопросы