[Comm] Как правильно собрать RPM

Прокопьев Евгений =?iso-8859-1?q?john_=CE=C1_rmts=2Edonpac=2Eru?=
Пн Сен 22 23:57:06 MSD 2003


Здравствуйте!

Необходимо собрать RPM для ebtables. Спек выглядит так:

Name: ebtables
Summary: Ethernet bridge tables
Version: 2.0.5
Release: alt1
Source: ebtables-2.0.5.tar.gz
Source1: ebtables.sh
Source2: ebtables.conf
Source3: ebtables.init
Group: System/Kernel and hardware
Url: http://ebtables.sourceforge.net/
License: GPL
BuildPreReq: kernel24-headers
Requires: kernel24 >= 2.4.20-alt0.1
Prefix: %prefix
AutoProv: yes, nolib

%description
Ethernet bridge tables. A firewalling tool to transparantly filter
network traffic passing a bridge. The filtering possibilities are
limited to link layer filtering and some basic filtering on higher
network layers.
The  ebtables tool can be used together with the other Linux filtering
tools, like iptables. There are no incompatibility issues.

%prep
%setup -q
#%patch1 -p1
#%patch2 -p0
# Put it to a reasonable place
#perl -pi -e "s,/usr/local,%prefix,g" * */*

# Fix NETLINK script detection name
#mv extensions/.NETLINK.test extensions/.NETLINK-test

%build
make COPT_FLAGS="$RPM_OPT_FLAGS" #iptables-save iptables-restore all 
experimental

%install
make install install-experimental DESTDIR=%buildroot BINDIR=/sbin 
MANDIR=%_mandir

mkdir -p $RPM_BUILD_ROOT%_initrddir/
mkdir -p $RPM_BUILD_ROOT%_sysconfdir/sysconfig
install -m640 %SOURCE1 $RPM_BUILD_ROOT%_sysconfdir/sysconfig/ebtables.sh
install -m640 %SOURCE2 $RPM_BUILD_ROOT%_sysconfdir/sysconfig/eb6tables.conf
install -m755 %SOURCE3 $RPM_BUILD_ROOT%_initrddir/ebtables

%files
%config(noreplace) %_sysconfdir/sysconfig/ebtables.sh
%config(noreplace) %_sysconfdir/sysconfig/ebtables.conf
#%doc KNOWN_BUGS
%_initrddir/ebtables
/sbin/ebtables*
#%_mandir/*/ebtables*
#%dir %prefix/lib/ebtables
#%prefix/lib/ebtables/libipt*

%changelog
* Mon Sep 22 2003 Eugene Prokopiev <john на rmts.donpac.ru> 2.0.5
- 2.0.5
- First build

В SOURCE находится следующее:

-rw-rw-rw-    1 john     john        62885 Сен 22 23:37 
ebtables-2.0.5.tar.gz
-rw-r--r--    1 john     john          652 Сен 22 22:14 ebtables.conf
-rwxr-xr-x    1 john     john         1068 Сен 22 23:07 ebtables.init
-rwxr-xr-x    1 john     john         2176 Сен 22 23:10 ebtables.sh

В ebtables-2.0.5.tar.gz находится следующее:

-rw-r--r--    1 john     john         4541 Июл 26 16:04 ChangeLog
-rw-r--r--    1 john     john        20357 Июл 26 16:04 communication.c
-rw-r--r--    1 john     john        17982 Июл 26 16:04 COPYING
-rw-r--r--    1 john     john        25851 Июл 26 16:04 ebtables.8
-rw-r--r--    1 john     john        61971 Июл 26 16:04 ebtables.c
-rw-r--r--    1 john     john         1317 Июл 26 16:04 ethertypes
drwxr-xr-x    2 john     john          544 Июл 26 16:04 extensions
-rw-r--r--    1 john     john         3920 Июл 26 16:04 getethertype.c
drwxr-xr-x    3 john     john          168 Июл 26 16:04 include
-rw-r--r--    1 john     john          895 Июл 26 16:04 INSTALL
-rw-r--r--    1 john     john         2235 Июл 26 16:04 Makefile
-rw-r--r--    1 john     john          144 Июл 26 16:04 THANKS

В результате сборки получается следующее:

$ rpm -bb --target i586 ebtables.spec

Платформы для сборки: i586
Сборка для платформы i586
Выполняется(%prep): /bin/sh -e /home/john/tmp/rpm-tmp.50100
+ umask 022
+ /bin/mkdir -p /home/john/RPM/BUILD
+ cd /home/john/RPM/BUILD
+ cd /home/john/RPM/BUILD
+ rm -rf ebtables-2.0.5
+ echo 'Source #0 (ebtables-2.0.5.tar.gz):'
Source #0 (ebtables-2.0.5.tar.gz):
+ /bin/gzip -dc /home/john/RPM/SOURCES/ebtables-2.0.5.tar.gz
+ /bin/tar -xf -
+ cd ebtables-2.0.5
+ /bin/chmod -Rf u+rwX,go-w .
+ exit 0
Выполняется(%build): /bin/sh -e /home/john/tmp/rpm-tmp.50100
+ umask 022
+ /bin/mkdir -p /home/john/RPM/BUILD
+ cd /home/john/RPM/BUILD
+ cd ebtables-2.0.5
+ make 'COPT_FLAGS=-pipe -Wall -O2 -fexpensive-optimizations -march=i586 
-mcpu=i686'
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
getethertype.o getethertype.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
ebtables.o ebtables.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
communication.o communication.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebt_802_3.o extensions/ebt_802_3.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebt_nat.o extensions/ebt_nat.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebt_arp.o extensions/ebt_arp.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebt_ip.o extensions/ebt_ip.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebt_standard.o extensions/ebt_standard.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebt_log.o extensions/ebt_log.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebt_redirect.o extensions/ebt_redirect.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebt_vlan.o extensions/ebt_vlan.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebt_mark_m.o extensions/ebt_mark_m.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebt_mark.o extensions/ebt_mark.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebt_pkttype.o extensions/ebt_pkttype.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebt_stp.o extensions/ebt_stp.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebtable_filter.o extensions/ebtable_filter.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebtable_nat.o extensions/ebtable_nat.c -Iinclude/
gcc -Wall -Wunused -DPROGVERSION=\"2.0.5\" -DPROGNAME=\"ebtables\" 
-DPROGDATE=\"July\ 2003\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -c -o 
extensions/ebtable_broute.o extensions/ebtable_broute.c -Iinclude/
gcc -Wall -Wunused -o ebtables getethertype.o ebtables.o communication.o 
extensions/ebt_802_3.o extensions/ebt_nat.o extensions/ebt_arp.o 
extensions/ebt_ip.o extensions/ebt_standard.o extensions/ebt_log.o 
extensions/ebt_redirect.o extensions/ebt_vlan.o extensions/ebt_mark_m.o 
extensions/ebt_mark.o extensions/ebt_pkttype.o extensions/ebt_stp.o 
extensions/ebtable_filter.o extensions/ebtable_nat.o 
extensions/ebtable_broute.o -Iinclude/
+ exit 0
Выполняется(%install): /bin/sh -e /home/john/tmp/rpm-tmp.96427
+ umask 022
+ /bin/mkdir -p /home/john/RPM/BUILD
+ cd /home/john/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /home/john/tmp/ebtables-buildroot
+ :
+ /bin/rm -rf -- /home/john/tmp/ebtables-buildroot
+ cd ebtables-2.0.5
+ make install install-experimental 
DESTDIR=/home/john/tmp/ebtables-buildroot BINDIR=/sbin MANDIR=/usr/share/man
mkdir -p /usr/share/man/man8
install -m 0644 -o root -g root ebtables.8 /usr/share/man/man8/ebtables.8
install: cannot create regular file `/usr/share/man/man8/ebtables.8': 
Permission denied
make: *** [/usr/share/man/man8/ebtables.8] Error 1
ошибка: Неверный код возврата из /home/john/tmp/rpm-tmp.96427 (%install)


Ошибки сборки пакетов:
     Неверный код возврата из /home/john/tmp/rpm-tmp.96427 (%install)

Что я делаю неправильно?

-- 
С уважением, Прокопьев Евгений




Подробная информация о списке рассылки community