LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: [PATCH] ipvsadm rpm build for RHEL 4.0

To: Horms <horms@xxxxxxxxxxxx>
Subject: Re: [PATCH] ipvsadm rpm build for RHEL 4.0
Cc: "LinuxVirtualServer.org user..." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Cc: "Nielsen, Steve" <SNielsen@xxxxxxxxxxxx>
From: Wensong Zhang <wensong@xxxxxxxxxxxx>
Date: Mon, 27 Jun 2005 00:50:25 +0800 (CST)

Hi Horms and Steve,

Thanks for the patch.

I like the idea of using rpm --eval '<macro>' to determine rpm build directories. I am afraid that the other two changes may add some limitation to build ipvsadm. For example, some people may use vanilla kernel source, it's flexible to make symbolic link of /usr/src/linux to the target kernel source, and people may not have kernel-source rpm installed. So, I just applied the "rpm --val" change.

Thanks,

Wensong


On Fri, 24 Jun 2005, Horms wrote:

Hi Wensong,

this seems good to me, though I haven't tested it.

--
Horms

----- Forwarded message from "Nielsen, Steve" <SNielsen@xxxxxxxxxxxx> -----

Subject: patch submission for ipvsadm rpm build for RHEL 4.0
Date: Thu, 23 Jun 2005 11:10:34 -0400
From: "Nielsen, Steve" <SNielsen@xxxxxxxxxxxx>
To: ultramonkey-users@xxxxxxxxxxxxxxx
Reply-to: ultramonkey-users@xxxxxxxxxxxxxxx
X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00
        autolearn=unavailable version=3.0.2-stephanie.vergenet.net_2005051000

Here is a patch that will allow the newest ipvsadm to build on RHEL4.0.

Changes made:
* added buildrequires for kernel-source
* autodetect linux version using uname -r and then set include path accordingly
* use rpm --eval '<macro>' to determine SPECS and SOURCES directory. This allow 
the use of rpmmacros

I made these changes against the latest src rpm for ipvsadm from 
linuxvirtualserver.org (1.24-5)

Thanks,
Steve

================

diff -u -r ipvsadm-1.24.orig/ipvsadm.spec.in ipvsadm-1.24.new/ipvsadm.spec.in
--- ipvsadm-1.24.orig/ipvsadm.spec.in   2003-12-20 03:12:56.000000000 -0600
+++ ipvsadm-1.24.new/ipvsadm.spec.in    2005-06-23 10:05:06.983168120 -0500
@@ -11,6 +11,7 @@
BuildRoot: /var/tmp/%name-%{PACKAGE_VERSION}-root
Provides: %{name}-%{version}
Conflicts: piranha <= 0.4.14
+BuildRequires: kernel-source

%description
ipvsadm is a utility to administer the IP Virtual Server services
@@ -51,6 +52,11 @@


%changelog
+* Thu Jun 23 2005 Steve Nielsen <snielsen@xxxxxxxxxxxx>
+- Autodetect linux source version
+- Respect rpmmacros that might be set (by using rpm --eval)
+- Added "BuildRequires: kernel-source"
+
* Sat Dec 20 2003 Wensong Zhang <wensong@xxxxxxxxxxxx>
- tidy up the description

diff -u -r ipvsadm-1.24.orig/libipvs/Makefile ipvsadm-1.24.new/libipvs/Makefile
--- ipvsadm-1.24.orig/libipvs/Makefile  2002-12-19 07:53:07.000000000 -0600
+++ ipvsadm-1.24.new/libipvs/Makefile   2005-06-23 09:27:40.524681720 -0500
@@ -1,7 +1,8 @@
# Makefile for libipvs

CC     = gcc
-INCLUDE        = -I/usr/src/linux/include
+KERNVER        = $(shell uname -r | sed 's/smp//')
+INCLUDE        = -I/usr/src/linux-$(KERNVER)/include
CFLAGS     = -Wall -Wunused -Wstrict-prototypes -g -O2

INCLUDE        += $(shell if [ -f ../../ip_vs.h ]; then    \
diff -u -r ipvsadm-1.24.orig/Makefile ipvsadm-1.24.new/Makefile
--- ipvsadm-1.24.orig/Makefile  2004-10-27 10:53:07.000000000 -0500
+++ ipvsadm-1.24.new/Makefile   2005-06-23 10:04:07.204255896 -0500
@@ -27,13 +27,16 @@

NAME       = ipvsadm
VERSION        = $(shell cat VERSION)
-RELEASE        = 5
+RELEASE        = 7
SCHEDULERS = "$(shell cat SCHEDULERS)"
PROGROOT   = $(shell basename `pwd`)
ARCH       = $(shell uname -m)
+KERNVER        = $(shell uname -r | sed 's/smp//')
+RPMSOURCEDIR   = $(shell rpm --eval '%_sourcedir')
+RPMSPECDIR = $(shell rpm --eval '%_specdir')

CC     = gcc
-INCLUDE        = -I/usr/src/linux/include -I.. -I.
+INCLUDE        = -I/usr/src/linux-$(KERNVER)/include -I.. -I.
SBIN       = $(BUILD_ROOT)/sbin
MANDIR     = usr/man
MAN        = $(BUILD_ROOT)/$(MANDIR)/man8
@@ -128,14 +131,14 @@
       rm -f $(NAME)-$(VERSION)

rpms:      dist
-       cp $(NAME)-$(VERSION).tar.gz /usr/src/redhat/SOURCES/
-       cp $(NAME).spec /usr/src/redhat/SPECS/
-       (cd /usr/src/redhat/SPECS/ ; $(RPMBUILD) -ba $(NAME).spec)
+       cp $(NAME)-$(VERSION).tar.gz $(RPMSOURCEDIR)/
+       cp $(NAME).spec $(RPMSPECDIR)/
+       (cd $(RPMSPECDIR)/ ; $(RPMBUILD) -ba $(NAME).spec)

srpm:      dist
-       cp $(NAME)-$(VERSION).tar.gz /usr/src/redhat/SOURCES/
-       cp $(NAME).spec /usr/src/redhat/SPECS/
-       (cd /usr/src/redhat/SPECS/ ; $(RPMBUILD) -bs $(NAME).spec)
+       cp $(NAME)-$(VERSION).tar.gz $(RPMSOURCEDIR)/
+       cp $(NAME).spec $(RPMSPECDIR)/
+       (cd $(RPMSPECDIR)/ ; $(RPMBUILD) -bs $(NAME).spec)

deb:       debs


--
Ultra Monkey - http://www.ultramonkey.org/
To UNSUBSCRIBE, email to lisa@xxxxxxxxxxxxxxx, with a body:
unsubscribe ultramonkey-users your-email-address@xxxxxxxxxxx
where "your-email-address@xxxxxxxxxxx" is YOUR email address.

----- End forwarded message -----


<Prev in Thread] Current Thread [Next in Thread>