Плохой статус выхода из /var/tmp / rpm-tmp.ajKra4 (%prep)
у меня странная проблема с RPM, я новичок в этом, поэтому терпите меня... У меня есть файл спецификации, созданный, и когда я запускаю сборку, я получаю сообщение об ошибке:
/var/tmp / rpm-tmp.ajKra4: строка 36: cd: hero-01: нет такого файла или каталога ошибка: плохое состояние выхода из /var/tmp / rpm-tmp.ajKra4 (%prep)
затем я проверяю, что временный файл и он пытается компакт-диск в каталог, который не существует.. Следует ли создавать это в файле spec? если да, то где?
вот мой файл спецификации:
Summary: Install Hero
Name: hero
Version: 01
Release: 1
Group: Billing reporting
Source: %{name}-%{version}.tar.gz
License: SLA
%description
Hero billing reports system
%prep
rm -rf %{_topdir}/BUILD/*
%setup
%install
mkdir -p /opt/%{name}
cp -r * /opt/%{name}
%post
find /opt/%{name} -type d -exec chmod 755 {} ;
find /opt/%{name} -type f -exec chmod 644 {} ;
chmod -R 755 /opt/%{name}/bin
%files
/opt/%{name}
%defattr(-,root,root,0755)
%clean
rm -rf $RPM_BUILD_ROOT
%postun
rm -rf /opt/%{name}
возможно, я что-то упускаю? Не будет первым lol, спасибо
вот также, что выводит этот файл tmp:
#!/bin/sh
RPM_SOURCE_DIR="/root/rpmbuild/SOURCES"
RPM_BUILD_DIR="/root/rpmbuild/BUILD"
RPM_OPT_FLAGS="-O2 -g"
RPM_ARCH="x86_64"
RPM_OS="linux"
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
RPM_DOC_DIR="/usr/share/doc"
export RPM_DOC_DIR
RPM_PACKAGE_NAME="hero"
RPM_PACKAGE_VERSION="01"
RPM_PACKAGE_RELEASE="1"
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
LANG=C
export LANG
unset CDPATH DISPLAY ||:
RPM_BUILD_ROOT="/root/rpmbuild/BUILDROOT/hero-01-1.x86_64"
export RPM_BUILD_ROOT
PKG_CONFIG_PATH="/usr/lib64/pkgconfig:/usr/share/pkgconfig"
export PKG_CONFIG_PATH
set -x
umask 022
cd "/root/rpmbuild/BUILD"
rm -rf /root/rpmbuild/BUILD/*
cd '/root/rpmbuild/BUILD'
rm -rf 'hero-01'
/usr/bin/gzip -dc '/root/rpmbuild/SOURCES/hero-01.tar.gz' | /bin/tar -xvvf -
STATUS=$?
if [ $STATUS -ne 0 ]; then
exit $STATUS
fi
cd 'hero-01'
/bin/chmod -Rf a+rX,u+w,g-w,o-w .
exit 0
2 ответов
проверить http://www.rpm.org/max-rpm/s1-rpm-inside-macros.html, в частности раздел" - N-Set Name of Build Directory".
к %настройки макроса ожидает, что после untaring тдо.gz, будет доступен каталог hero-01, но ваш герой-01.смола.gz, вероятно, создает какое-то другое имя каталога, возможно, без версии, включенной в имя.
Так, например, если есть каталог "hero" вместо каталога "hero-01" в / root/rpmbuild / BUILD после распаковки, затем обновите файл спецификации, чтобы использовать "%setup-N hero "вместо" %setup".
в папке rpmbuild перейдите в SOURCES
и переименуйте исходную папку следующим образом:
mypackage-1.0
затем создайте tarball:
mypackage-1.0.tar.gz
и это должно сработать.
что происходит, так это то, что после распаковки архива rpmbuild ожидает папку с именем mypackage-1.0, а не mypackage или mypackage-что-то еще.
соблюдать соглашения об именах. Проверьте Рекомендации