OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 14-Nov-2006 09:49:51
Branch: HEAD Handle: 2006111408495001
Modified files:
openpkg-src/urpmi urpmi.patch urpmi.spec
Log:
add rpmtools to have the [urpmi.]genhdlist command at hand
Summary:
Revision Changes Path
1.13 +56 -9 openpkg-src/urpmi/urpmi.patch
1.20 +46 -2 openpkg-src/urpmi/urpmi.spec
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/urpmi/urpmi.patch
============================================================================
$ cvs diff -u -r1.12 -r1.13 urpmi.patch
--- openpkg-src/urpmi/urpmi.patch 14 Nov 2006 07:43:53 -0000 1.12
+++ openpkg-src/urpmi/urpmi.patch 14 Nov 2006 08:49:50 -0000 1.13
@@ -1,6 +1,6 @@
Index: URPM-1.47/Makefile.PL
--- URPM-1.47/Makefile.PL.orig 2006-06-12 12:20:55 +0200
-+++ URPM-1.47/Makefile.PL 2006-06-12 21:21:37 +0200
++++ URPM-1.47/Makefile.PL 2006-11-14 09:16:09 +0100
@@ -3,46 +3,15 @@
# where to find the rpm utility
@@ -78,8 +78,8 @@
realclean => { FILES => "t/RPMS/noarch/*" },
);
Index: URPM-1.47/URPM.xs
---- URPM-1.47/URPM.xs.orig 2006-06-12 12:42:25 +0200
-+++ URPM-1.47/URPM.xs 2006-06-12 21:21:21 +0200
+--- URPM-1.47/URPM.xs.orig 2006-09-19 10:57:31 +0200
++++ URPM-1.47/URPM.xs 2006-11-14 09:16:09 +0100
@@ -22,6 +22,7 @@
#include <fcntl.h>
#include <unistd.h>
@@ -88,10 +88,57 @@
#undef Fflush
#undef Mkdir
-
---- urpmi-4.8.29/Makefile.PL.bla 2006-03-21 18:28:24.000000000 +0100
-+++ urpmi-4.8.29/Makefile.PL 2006-11-12 00:39:36.000000000 +0100
-@@ -64,6 +64,7 @@
+Index: rpmtools-5.1.0/Makefile.PL
+--- rpmtools-5.1.0/Makefile.PL.orig 2006-08-22 15:46:50 +0200
++++ rpmtools-5.1.0/Makefile.PL 2006-11-14 09:16:09 +0100
+@@ -45,8 +45,8 @@
+ RPMTOOLSVERSION => $rpmtools_version,
+ FROMC => 'parsehdlist rpm2header #rpm-find-leaves',
+ FROMCC => '#gendepslist2 hdlist2names hdlist2files hdlist2prereq
hdlist2groups',
+- LIBRPM => '-lrpm -lrpmio -lrpmdb -lrpmbuild -lz -lbz2 -lpopt',
+- INCRPM => '-I/usr/include/rpm',
++ LIBRPM => `openpkg rpm-config --ldflags --libs`,
++ INCRPM => `openpkg rpm-config --cflags --cppflags`,
+ },
+ depend => {
+ clean_subdirs => 'cleanc',
+@@ -63,7 +63,7 @@
+ C => [],
+ OBJECT => '',
+ CCFLAGS => '-Wall',
+- OPTIMIZE => '-O3 -fomit-frame-pointer -fno-exceptions -pipe
-s -ffast-math -fexpensive-optimizations',
++ OPTIMIZE => '-O2',
+ INC => '',
+ LIBS => [ '' ],
+ INSTALLDIRS => 'vendor',
+Index: rpmtools-5.1.0/parsehdlist.c
+--- rpmtools-5.1.0/parsehdlist.c.orig 2006-06-13 13:19:09 +0200
++++ rpmtools-5.1.0/parsehdlist.c 2006-11-14 09:16:27 +0100
+@@ -7,6 +7,7 @@
+ #include <unistd.h>
+ #include <signal.h>
+ #include <errno.h>
++#include <rpm/glob.h>
+ #include <rpm/rpmlib.h>
+ #include <rpm/header.h>
+ #include <stdio.h>
+Index: rpmtools-5.1.0/rpm2header.c
+--- rpmtools-5.1.0/rpm2header.c.orig 2006-06-12 11:10:34 +0200
++++ rpmtools-5.1.0/rpm2header.c 2006-11-14 09:16:55 +0100
+@@ -5,7 +5,8 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+-#include <rpmlib.h>
++#include <rpm/glob.h>
++#include <rpm/rpmlib.h>
+ #include <rpm/rpmts.h>
+
+ #define FILENAME_TAG 1000000
+Index: urpmi-4.8.29/Makefile.PL
+--- urpmi-4.8.29/Makefile.PL.orig 2006-11-02 11:33:59 +0100
++++ urpmi-4.8.29/Makefile.PL 2006-11-14 09:16:09 +0100
+@@ -60,6 +60,7 @@
my $po = $with_po ? ' installpo' : '';
my $gui = $with_gui ? ' installgurpmi2' : '';
$inherited =~ s/^install ::/$& installconfigfiles
installstatedir$po$gui/gm;
@@ -99,7 +146,7 @@
$inherited;
}
-@@ -104,10 +105,10 @@
+@@ -110,10 +111,10 @@
install -m 644 inst.list skip.list \$(SYSCONFDIR)/urpmi
installstatedir:
@@ -114,7 +161,7 @@
installgurpmi2: pure_install
ln -s -f consolehelper \$(DESTINSTALLSCRIPT)/gurpmi2
-@@ -151,8 +152,8 @@
+@@ -147,8 +148,8 @@
INST_MAN5DIR => 'blib/man5',
INST_MAN8DIR => 'blib/man8',
# We could read those values from rpm macros.
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/urpmi/urpmi.spec
============================================================================
$ cvs diff -u -r1.19 -r1.20 urpmi.spec
--- openpkg-src/urpmi/urpmi.spec 14 Nov 2006 07:43:54 -0000 1.19
+++ openpkg-src/urpmi/urpmi.spec 14 Nov 2006 08:49:51 -0000 1.20
@@ -31,6 +31,8 @@
%define V_mdv_distribconf_rpm 3.06-1mdv2007.0
%define V_mdv_packdrakeng 1.01
%define V_mdv_packdrakeng_rpm 1.01-2mdk
+%define V_rpmtools 5.1.0
+%define V_rpmtools_rpm 5.1.0-1mdv2007.0
# package information
Name: urpmi
@@ -55,13 +57,14 @@
Source1:
ftp://ftp.free.fr/pub/Distributions_Linux/MandrivaLinux/devel/cooker/SRPMS/main/release/perl-URPM-%{V_urpm_rpm}.src.rpm
Source2:
ftp://ftp.free.fr/pub/Distributions_Linux/MandrivaLinux/devel/cooker/SRPMS/main/release/perl-MDV-Distribconf-%{V_mdv_distribconf_rpm}.src.rpm
Source3:
ftp://ftp.free.fr/pub/Distributions_Linux/MandrivaLinux/devel/cooker/SRPMS/main/release/perl-MDV-Packdrakeng-%{V_mdv_packdrakeng_rpm}.src.rpm
+Source4:
ftp://ftp.free.fr/pub/Distributions_Linux/MandrivaLinux/devel/cooker/SRPMS/main/release/rpmtools-%{V_rpmtools_rpm}.src.rpm
Patch0: urpmi.patch
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20040130, perl, perl-openpkg, cpio
-PreReq: OpenPKG, openpkg >= 20040130, perl, coreutils
+PreReq: OpenPKG, openpkg >= 20040130, perl, coreutils, openssl
PreReq: perl-parse, perl-crypto, perl-locale
%if "%{with_wget}" == "yes"
PreReq: wget
@@ -100,6 +103,11 @@
url =
ftp://ftp.free.fr/pub/Distributions_Linux/MandrivaLinux/devel/cooker/SRPMS/main/release/
regex = perl-MDV-Distribconf-(__VER__)\.src\.rpm
}
+ prog urpmi:rpmtools = {
+ version = %{V_rpmtools}
+ url =
ftp://ftp.free.fr/pub/Distributions_Linux/MandrivaLinux/devel/cooker/SRPMS/main/release/
+ regex = rpmtools-(__VER__)\.src\.rpm
+ }
%prep
%setup -q -T -c
@@ -107,16 +115,20 @@
%{l_rpm2cpio} %{SOURCE perl-URPM-%{V_urpm_rpm}.src.rpm}
| cpio -idvmu
%{l_rpm2cpio} %{SOURCE
perl-MDV-Distribconf-%{V_mdv_distribconf_rpm}.src.rpm} | cpio -idvmu
%{l_rpm2cpio} %{SOURCE
perl-MDV-Packdrakeng-%{V_mdv_packdrakeng_rpm}.src.rpm} | cpio -idvmu
+ %{l_rpm2cpio} %{SOURCE rpmtools-%{V_rpmtools_rpm}.src.rpm}
| cpio -idvmu
%{l_bzip2} -d -c urpmi-%{V_urpmi}.tar.bz2
| %{l_tar} xf -
%{l_bzip2} -d -c URPM-%{V_urpm}.tar.bz2
| %{l_tar} xf -
%{l_bzip2} -d -c MDV-Packdrakeng-%{V_mdv_packdrakeng}.tar.bz2
| %{l_tar} xf -
%{l_gzip} -d -c MDV-Distribconf-%{V_mdv_distribconf}.tar.gz
| %{l_tar} xf -
+ %{l_bzip2} -d -c rpmtools-%{V_rpmtools}.tar.bz2
| %{l_tar} xf -
%patch -p0
%build
%install
rm -rf $RPM_BUILD_ROOT
+
+ # adjust URPMI sources
( cd urpmi-%{V_urpmi}
# adjust path to configuration files
%{l_shtool} subst \
@@ -141,7 +153,7 @@
%{l_shtool} subst \
-e "s;/bin/cp;%{l_prefix}/bin/cp;" \
-e "s;/bin/mv;%{l_prefix}/bin/mv;" \
- -e "s;/usr/bin/md5sum;%{l_prefix}/bin/md5sum;" \
+ -e "s;/usr/bin/md5sum;%{l_prefix}/bin/urpmi.md5sum;" \
urpm/util.pm
%{l_shtool} subst \
-e "s;/usr/bin/curl;%{l_prefix}/lib/openpkg/curl;" \
@@ -156,6 +168,11 @@
%endif
urpm/download.pm
) || exit $?
+ ( cd rpmtools-%{V_rpmtools}
+ %{l_shtool} subst \
+ -e 's;/usr/bin/md5sum;%{l_prefix}/bin/urpmi.md5sum;g' \
+ genhdlist
+ ) || exit $?
# install addon Perl modules
%{l_prefix}/bin/perl-openpkg prepare
@@ -163,8 +180,35 @@
%{l_prefix}/bin/perl-openpkg -d MDV-Packdrakeng-%{V_mdv_packdrakeng}
configure build install
%{l_prefix}/bin/perl-openpkg -d URPM-%{V_urpm} configure build install
%{l_prefix}/bin/perl-openpkg -d urpmi-%{V_urpmi} configure build install
+ %{l_prefix}/bin/perl-openpkg -d rpmtools-%{V_rpmtools} configure build
install
%{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
+ # install helper utility
+ ( echo "#!/bin/sh"
+ echo "%{l_prefix}/bin/openssl md5 \"[EMAIL PROTECTED]" | sed -e
's;^MD5(\\(.*\\))= *\\(.*\\);\\2 \\1;'"
+ ) >$RPM_BUILD_ROOT%{l_prefix}/bin/urpmi.md5sum
+ chmod a+x $RPM_BUILD_ROOT%{l_prefix}/bin/urpmi.md5sum
+
+ # post-adjust installation
+ mv $RPM_BUILD_ROOT%{l_prefix}/bin/packdrake \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/urpmi.packdrake
+ mv $RPM_BUILD_ROOT%{l_prefix}/bin/dumpdistribconf \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/urpmi.dumpdistribconf
+ mv $RPM_BUILD_ROOT%{l_prefix}/bin/checkdistrib \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/urpmi.checkdistrib
+ mv $RPM_BUILD_ROOT%{l_prefix}/bin/parsehdlist \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/urpmi.parsehdlist
+ mv $RPM_BUILD_ROOT%{l_prefix}/bin/gendistrib \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/urpmi.gendistrib
+ mv $RPM_BUILD_ROOT%{l_prefix}/bin/genhdlist \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/urpmi.genhdlist
+ mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpm-find-leaves \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/urpmi.rpmfindleaves
+ mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpm2cpio.pl \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/urpmi.rpm2cpio
+ mv $RPM_BUILD_ROOT%{l_prefix}/bin/rpm2header \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/urpmi.rpm2header
+
# determine installation files
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
%{l_files_std} `cat perl-openpkg-files` \
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [email protected]