Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Прерывание установки RPM


Автор: NZero 29.9.2016, 14:43
Всем привет! Нужна помощь в вопросе сборки и установке rpm! Сделал spec файл, все собралось, радовался! Потом начал усложнять файл спецификаций и потребовалось, чтобы перед установкой бинарника на машину прошла проверочка и если проверка не прошла, то прерывать установку. В интернете инфу по этому вопросу не нашлась, exit 0 не помогло.

SPEC файл

Код


#This is a simple spec file for muromec
 
%define tmpdir          /tmp/muromec
%define name            muromec
%define release         1
%define version         2.0
%define buildroot       %{tmpdir}/%{name}-%{version}-root
 
Summary(ru):    По для резервирования серверов
BuildRoot:      %{buildroot}
License:        GPL
Name:           %{name}
Version:        %{version}
Release:        %{release}
 
Source:         %{name}/%{name}-%{version}.tar.gz
 
%description -l ru
ПО "Муромец" предназначено для резервирования серверов и синхронизации данных между серверами
 
%pre
server1="server1"
server2="server2"
server3="server3"
 
server=$(hostname -s)
 
if [ $server1 = $server ] || [ $server3 = $server ];then
    if [ ! -f /usr/bin/sv-loc ] ;then #Проверка
             echo "Не установлен сервер локаций"
             exit 0 #Если проверка не прошла останавливаем установку! Но установка продолжает выполняться(((
    fi
fi
 
%prep
%setup -q -c
 
%build
make
 
%install
rm -rf $RPM_BUILD_ROOT
install -m 755 -d $RPM_BUILD_ROOT%{_bindir}
cp $RPM_BUILD_DIR/%{name}-%{version}/cluster $RPM_BUILD_ROOT%{_bindir}
 
%clean
rm -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_DIR/*
 
%files
%defattr(755,root,root)
%{_bindir}/cluster
 
%changelog
* Thu Sep 29 2016 - 2.0-1
- Первая сборка бинарника


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)