Skip to contentSkip to conversation

fix for RPM build target under newer versions

PATCH In review peter 2 participants 2 messages Dec 17, 2002 Kbuild

lore
Share & tools
lore

peter

author
#0 lore raw

PATCH 1/1 fix for RPM build target under newer versions

Hi all,
I notice there's an "rpm" target in the Makefile, which seems broken
under RH 8.0. This may also apply to some "bleeding-edge" versions of Mandrake and Suse. Specifically, RH "split" the RPM build process into a separate utility from the old style rpm command. This could be fixed with a few aliases to keep backwards compatibility a bit easier. I wonder why an RH install doesn't already do this?

The reason why I'm sending this is because it's in the Makefile itself. If it wasn't for that, I'd just use the aliases mentioned above.

home/pete/Makefile.new renamed from usr/src/linux-2.4.19/Makefile +12 -1
@@ -567,5 +567,16 @@
 	rm $(KERNELPATH) ; \
 	cd $(TOPDIR) ; \
 	. scripts/mkversion > .version ; \
-	rpmbuild -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \
+
+#	RedHat split the RPM build process into a separate
+#	utility called "rpmbuild", leading to a broken 
+#	"make rpm" target in the kernel Makefile;
+#	this patch fixes that.
+
+	if [ `rpm --version | cut -b 12-15 | tr -d .` -ge '41' ] ;
+		then
+		rpmbuild -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \ 
+		else
+		rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \
+	fi ; \
 	rm $(TOPDIR)/../$(KERNELPATH).tar.gz
#1 lore raw
Quoted 9 lines · peter
home/pete/Makefile.new renamed from usr/src/linux-2.4.19/Makefile +2 -1
@@ -567,5 +567,16 @@
 	rm $(KERNELPATH) ; \
 	cd $(TOPDIR) ; \
 	. scripts/mkversion > .version ; \
-	rpmbuild -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \
+
+#	RedHat split the RPM build process into a separate

home/pete/Makefile.new line 581

Quoted 10 lines
home/pete/Makefile.new renamed from usr/src/linux-2.4.19/Makefile +10 -0
+#	utility called "rpmbuild", leading to a broken 
+#	"make rpm" target in the kernel Makefile;
+#	this patch fixes that.
+
+	if [ `rpm --version | cut -b 12-15 | tr -d .` -ge '41' ] ;
+		then
+		rpmbuild -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \ 
+		else
+		rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \
+	fi ; \

Ugh. How about

--- cut ---
RPM=which rpmbuild
if [ -z "$RPM" ]; then
RPM=rpm
fi
$RPM -ta $(TOPDIR)/../$(KERNELPATH).tar.gz
--- cut ---

Looks less fragile. On RH 7.3 (and RH 6.x with upgrades) you also have a rpmbuild binary (but rpm still does building, this got deprecated and later removed on 8.0).

Regards
Henning

Signature · 5 lines
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen       -- Geschaeftsfuehrer
INTERMETA - Gesellschaft fuer Mehrwertdienste mbH     [email protected]

Am Schwabachgrund 22  Fon.: 09131 / 50654-0   [email protected]
D-91054 Buckenhof     Fax.: 09131 / 50654-20