ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] Как правильно собрать RPM
@ 2003-09-22 19:57 Прокопьев Евгений
  2003-09-23  4:14 ` iLya Bryzgalow
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Прокопьев Евгений @ 2003-09-22 19:57 UTC (permalink / raw)
  To: community

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

Необходимо собрать 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)

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

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



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Comm] Как правильно собрать RPM
  2003-09-22 19:57 [Comm] Как правильно собрать RPM Прокопьев Евгений
@ 2003-09-23  4:14 ` iLya Bryzgalow
  2003-09-23  9:55   ` Прокопьев Евгений
  2003-09-23  5:05 ` [Comm]Как " Alexey Novikov
  2003-09-23 16:02 ` Michael Shigorin
  2 siblings, 1 reply; 7+ messages in thread
From: iLya Bryzgalow @ 2003-09-23  4:14 UTC (permalink / raw)
  To: community

On Mon, 22 Sep 2003 23:57:06 +0400
Прокопьев Евгений <john@rmts.donpac.ru> wrote:

> 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)
> 
> Что я делаю неправильно?
Надо править спек на предмет удаления "make install"
и всяких "install -m 0644 -o root -g root ..." 
Возьмите "правильный" спек и посмотрите.

-- 
=-iLya Bryzgalow aka iLL-LinuxUser#301257-=
=-Linux-=-Astronomy-=-Krasnodar-=-Russia-=
    _ I don't smoke, so wish to you!
   (_)  ___    ___   JID:ill@jabber.org
  /  / /  /   /  /   JID:illinux@jabber.ru
 /  / /  /__ /  /__  http://illinux.boom.ru
/__/ /_____//_____/  mailto:ill@krumn.oilnet.ru
=-ALT Linux Sisyphus (20030918)


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Comm]Как правильно собрать RPM
  2003-09-22 19:57 [Comm] Как правильно собрать RPM Прокопьев Евгений
  2003-09-23  4:14 ` iLya Bryzgalow
@ 2003-09-23  5:05 ` Alexey Novikov
  2003-09-23 11:36   ` Alexey Novikov
  2003-09-23 16:02 ` Michael Shigorin
  2 siblings, 1 reply; 7+ messages in thread
From: Alexey Novikov @ 2003-09-23  5:05 UTC (permalink / raw)
  To: community

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

Сравните следующие строки:

>make install install-experimental DESTDIR=%buildroot BINDIR=/sbin 
                                           ^^^^^^^^^^
>mkdir -p $RPM_BUILD_ROOT%_initrddir/
          ^^^^^^^^^^^^^^^
>С уважением, Прокопьев Евгений

-- 
С уважением,
Алексей Новиков



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Comm] Как правильно собрать RPM
  2003-09-23  4:14 ` iLya Bryzgalow
@ 2003-09-23  9:55   ` Прокопьев Евгений
  0 siblings, 0 replies; 7+ messages in thread
From: Прокопьев Евгений @ 2003-09-23  9:55 UTC (permalink / raw)
  To: community

iLya Bryzgalow пишет:
> On Mon, 22 Sep 2003 23:57:06 +0400
> Прокопьев Евгений <john@rmts.donpac.ru> wrote:
> 
> 
>>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)
>>
>>Что я делаю неправильно?
> 
> Надо править спек на предмет удаления "make install"

А именно? Чем его заменить?

> и всяких "install -m 0644 -o root -g root ..." 

А это чем?

> Возьмите "правильный" спек и посмотрите.

Да вообще-то я имено так и делал. Спек написан на основе спека iptables, 
мои изменения сводились к замене имен файлов и описаний. Оригинальный 
спек iptables собирается без проблем.


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



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Comm]Как правильно собрать RPM
  2003-09-23  5:05 ` [Comm]Как " Alexey Novikov
@ 2003-09-23 11:36   ` Alexey Novikov
  2003-09-23 16:02     ` [Comm] Re: Как " Michael Shigorin
  0 siblings, 1 reply; 7+ messages in thread
From: Alexey Novikov @ 2003-09-23 11:36 UTC (permalink / raw)
  To: community

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

Прошу прощения, невнимательно смотрел:

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)

Если я правильно понимаю, то нужно патчить Makefile, т.к. он это пытается
сделать во вреья make install. Хотя возможно будет достаточно заменить

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

на

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

-- 
С уважением,
Алексей Новиков



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Comm] Re: Как правильно собрать RPM
  2003-09-23 11:36   ` Alexey Novikov
@ 2003-09-23 16:02     ` Michael Shigorin
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Shigorin @ 2003-09-23 16:02 UTC (permalink / raw)
  To: community

On Tue, Sep 23, 2003 at 03:36:03PM +0400, Alexey Novikov wrote:
> Если я правильно понимаю, то нужно патчить Makefile, т.к. он это пытается
> сделать во вреья make install.

пытается

> Хотя возможно будет достаточно заменить
> make install install-experimental DESTDIR=%buildroot BINDIR=/sbin MANDIR=%_mandir
> на
> make install install-experimental DESTDIR=%buildroot BINDIR=/sbin \
> MANDIR=%buildroot%_mandir

так ЕСТЕСТВЕННО, блин! :)

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Comm] Re: Как правильно собрать RPM
  2003-09-22 19:57 [Comm] Как правильно собрать RPM Прокопьев Евгений
  2003-09-23  4:14 ` iLya Bryzgalow
  2003-09-23  5:05 ` [Comm]Как " Alexey Novikov
@ 2003-09-23 16:02 ` Michael Shigorin
  2 siblings, 0 replies; 7+ messages in thread
From: Michael Shigorin @ 2003-09-23 16:02 UTC (permalink / raw)
  To: community

On Mon, Sep 22, 2003 at 11:57:06PM +0400, Прокопьев Евгений wrote:
> Необходимо собрать RPM для ebtables. Спек выглядит так:

соберете -- не зажимайте ;-)

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-09-23 16:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-22 19:57 [Comm] Как правильно собрать RPM Прокопьев Евгений
2003-09-23  4:14 ` iLya Bryzgalow
2003-09-23  9:55   ` Прокопьев Евгений
2003-09-23  5:05 ` [Comm]Как " Alexey Novikov
2003-09-23 11:36   ` Alexey Novikov
2003-09-23 16:02     ` [Comm] Re: Как " Michael Shigorin
2003-09-23 16:02 ` Michael Shigorin

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git