]> git.pld-linux.org Git - packages/arpd.git/blob - arpd.spec
- nice cosmetics in pre and post
[packages/arpd.git] / arpd.spec
1 Summary:        User-space arp daemon
2 Summary(pl):    Demon arpd
3 Name:           arpd
4 Version:        1.0.2
5 Release:        3
6 License:        GPL
7 Group:          Daemons
8 Group(de):      Server
9 Group(pl):      Serwery
10 Source0:        %{name}-%{version}.tar.gz
11 Source1:        %{name}-init
12 Patch0:         %{name}-%{version}.debian-patch
13 Patch1:         %{name}-%{version}.pld-patch
14 Patch2:         %{name}-makefile-patch
15 Patch3:         %{name}-more_tables.patch
16 Patch4:         %{name}-uid.patch
17 Prereq:         /sbin/chkconfig
18 Prereq:         rc-scripts >= 0.2.0
19 Prereq:         fileutils
20 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
21
22 %description
23 The ARP daemon moves the management of the ARP (Address Resolution
24 Protocol) table from kernel to user space. It is useful for sites with
25 LARGE network segments (256+ systems per segment), because the kernel
26 hash tables are not optimized to handle this situation. To use the ARP
27 daemon your kernel needs to have ARPD and NETLINK support enabled. The
28 standard kernels of PLD lack this support. It shouldn't be run without
29 that!! This version can alocate 2048 entries.
30
31 %description -l pl
32 Demon ARP przekazuje zarz±dzanie tablic± ARP (Address Resolution
33 Protocol) z kernel'a do przestrzeni u¿ytkownika. Jest to bardzo
34 u¿yteczne dla miejsc o du¿ych segmentach sieci (256+ systemów na
35 segment), poniewa¿ tablice w j±drze nie s± zoptymalizowane na takie
36 sytuacje. Aby u¿ywaæ tego demona musisz mieæ ARPD support oraz NETLINK
37 support uaktywnione w j±drze. Uwaga! Stanadardowe j±dro PLD nie ma
38 supportu ARPD!!. Demon nie powinien byæ startowany bez tego!! Ta
39 wersja potrafi zaakceptowaæ 2048 pozycji.
40
41 %prep
42 %setup  -q -n %{name}-%{version}.orig
43 %patch0 -p1
44 %patch1 -p1
45 %patch2 -p1
46 %patch3
47 %patch4 -p1
48
49 %build
50 %{__make}
51
52 %install
53 rm -rf $RPM_BUILD_ROOT
54 install -d $RPM_BUILD_ROOT/{usr/sbin,etc/rc.d/init.d,/var/lib/arpd}
55
56 install arpd $RPM_BUILD_ROOT%{_sbindir}/arpd
57 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/arpd
58
59 gzip -9nf CHANGES
60
61 %pre
62 if [ -n "`id -u arpd 2>/dev/null`" ]; then
63         if [ "`id -u arpd`" != "40" ]; then
64                 echo "Warning: user arpd haven't uid=40. Correct this before installing arpd." 1>&2
65                 exit 1
66         fi
67 else
68         echo "Adding arpd user (UID=40)"
69         /usr/sbin/useradd -u 40 -r -d /var/lib/arpd -s /bin/false -c "arpd user" -g daemon arpd 1>&2
70 fi
71
72 %post
73 /sbin/chkconfig --add arpd
74 if [ ! -e /dev/arpd ]; then
75         echo "Making /dev/arpd device"
76         mknod /dev/arpd c 36 8 
77         echo "Moving /dev/arpd to /var/lib/arpd/arpd and making symlink"
78         mv -f /dev/arpd /var/lib/arpd
79         chown arpd /var/lib/arpd/arpd
80         ln -s /var/lib/arpd/arpd dev/arpd
81 else
82         if [ ! -L /dev/arpd ]; then
83                 echo "Moving /dev/arpd to /var/lib/arpd/arpd and making symlink"
84                 mv -f /dev/arpd /var/lib/arpd
85                 chown arpd /var/lib/arpd/arpd
86                 ln -s /var/lib/arpd/arpd dev/arpd
87         fi
88 fi
89 echo "You need arpd kernel support. The standard kernels of PLD lack this support!!"
90 if [ -f /var/lock/subsys/arpd ]; then
91         /etc/rc.d/init.d/arpd restart 1>&2
92 else
93         echo "Run \"/etc/rc.d/init.d/arpd start\" to start arpd daemon."
94 fi
95
96
97 %preun
98 /sbin/chkconfig --del arpd
99 if [ "$1" = "0" ]; then
100         if [ -f /var/lock/subsys/arpd ]; then
101                 /etc/rc.d/init.d/arpd stop 1>&2
102         fi
103         /sbin/chkconfig --del arpd
104         echo "Moving /var/lib/arpd/arpd to /dev/arpd and removing symlink"
105         rm -f /dev/arpd
106         mv -f /var/lib/arpd/arpd /dev/arpd
107         chown root:root /dev/arpd
108 fi
109
110 %postun
111 if [ "$1" = "0" ]; then
112         echo "Removing arpd user (UID=40)"
113         /usr/sbin/userdel arpd
114 fi
115
116 %clean
117 rm -rf $RPM_BUILD_ROOT
118
119 %files
120 %defattr(644,root,root,755)
121 %doc *.gz README.html
122 %attr(754,root,root) %{_sbindir}/arpd
123 %attr(754,root,root) /etc/rc.d/init.d/arpd
124 %dir %attr(750,arpd,root) /var/lib/arpd
This page took 0.05493 seconds and 4 git commands to generate.