install
doesn't work on directories. Use it to create the directories and then use cp
to copy the contents.
Frage
I need to make a very simple rpm to extract a tar.gz and to put its contents in /var/www without doing anything else.
I have a .spec that is supposed to do that, but it fails with a non verbose error.
rpmlint does not throw an error.
Here goes the spec:
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"
And this is the last part of the error message:
+ 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)
Lösung 2
Andere Tipps
There are many problems with this .spec
file. Here are some big ones:
- Absolute path in
%install
- this makes it needroot
to build (a no-no) and can stomp on anything that the build machine already has installed on it. If you're trying to copy the config from a machine, tar up the files you want. - No source files. See above - you wouldn't be able to have a
.src
RPM. - You don't own the directories in the files lists (
%dir
). - RPMs should not touch
/var/www/
- see Fedora Packaging Guidelines. - Name conflict - don't name it
redmine
if it is your specific config. Instead,Requires
a standardredmine
package and name yours something likeredmine-companyname-config
. Or use that name and have itObsoletes
andProvides
the originalredmine
if you must.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow