[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