You are not logged in.
Pages: 1
Topic closed
Ah, now this one's a doozy. Before someone gets off on the wrong foot and thinks I'm advocating RPM or something... I'm not.
It just so happens that a lot of crap is distributed as RPMs, and sometimes rpmunpack isn't up to snuff. Also, certain installers (ICC, ATI drivers, etc.) require that you use RPMs to install. There are also programs like Alien which convert between package formats and require the particular package systems to be present in order to do so.
Therefore, here is RPM. Enjoy the PKGBUILD... I adapted it a bit from Gentoo's ebuild, the rpm.spec available inside the source rpm, and a bit from some good old-fashioned American ingenuity.
Filename:
rpm-real.tar.gz
( My cable modem fucked up uploading rpm.tar.gz, so please delete that one when you get a chance )
Contents:
PKGBUILD
filelist
rpm-4.2-python2.3.diff
rpm-4.2.1-1.pkg.tar.gz
rpm.install
PKGBUILD:
# Contributor: Michael Baehr <usemike@spamblocked.com>
# Adapted from the gentoo ebuild, available at:
# any-gentoo-mirror/gentoo-x86-portage/app-arch/rpm/rpm-4.2.1.ebuild
pkgname=rpm
pkgver=4.2.1
rpmver=4.2-1
pkgrel=1
pkgdesc="RedHat Package Manager"
url="http://www.rpm.org"
depends=('glibc' 'bzip2' 'db' 'zlib' 'gzip' 'gnupg' 'gettext'
'python' 'popt' 'elfutils')
source=(ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.2.x/$pkgname-$rpmver.src.rpm
rpm-4.2-python2.3.diff)
md5sums=('ab8ddf5f3f3f4fa9c4c8b54252332113' 'ec4886ca775cb1cb83aebcd42f20f59f')
install="rpm.install"
build() {
cd $startdir/src
echo "==> Unpacking source RPM..."
rpmunpack $pkgname-$rpmver.src.rpm
gzip -d $pkgname-$rpmver.cpio.gz
cpio -id < $pkgname-$rpmver.cpio
tar zxvf $pkgname-4.2.tar.gz >/dev/null
cd $pkgname-4.2
patch -p1 < ../rpm-4.2-python2.3.diff
./configure --prefix=/usr --enable-posixmutexes --with-python=2.3
--without-javaglue --enable-nls
make || return 1
make DESTDIR=$startdir/pkg install || return 1
mv $startdir/pkg/bin/rpm $startdir/pkg/usr/bin/rpm
for d in /usr/src/redhat/{BUILD,RPMS,SOURCES,SPECS,SRPMS}; do
mkdir -p $startdir/pkg/$d
done
# We don't need this crap... I'm following rpm.spec here
rm -f $startdir/pkg/usr/lib/rpmpopt
rm -f $startdir/pkg/usr/lib/libpopt*
rm -f $startdir/pkg/usr/include/popt.h
rm -f $startdir/pkg/usr/share/locale/*/LC_MESSAGES/popt.mo
rm -f $startdir/pkg/usr/share/man/man3/popt*
rm -rf $startdir/pkg/usr/man/man3
rm -rf $startdir/pkg/usr/include/beecrypt
rm -f $startdir/pkg/usr/lib/libbeecrypt.{a,la,so,so.2,so.2.20}
rm -f $startdir/pkg/usr/lib/rpm/{Specfile.pm,cpanflute,cpanflute2,
rpmdiff,rpmdiff.cgi,sql.prov,sql.req,tcl.req}
rm -rf $startdir/pkg/bin
rm -rf $startdir/pkg/var/tmp
}Whoa :twisted:
Offline
I am glade you made it. Year ago I uploaded rpm in incoming (still there) but was poorly compiled from binaries and also didn't work properly.
I will update AIR to link the rpm to this topic.
http://bliss-solutions.org/archlinux/in … php?id=486
Markku
Offline
/usr/bin/makepkg: line 20: rpmunpack: command not found
rpm-4.2-1.cpio.gz: No such file or directory
what now?
jabber id: arael (at) fov (dot) pl
Offline
oh sorry ...
shouldn't be that somewhere in deps ?
jabber id: arael (at) fov (dot) pl
Offline
Oops, that should be in makedepends.
Just install rpmunpack.
Note: you'll also need elfutils, which I threw in incoming and which conflicts with the 'libelf' that's currently in pacman. Hopefully it's on its way into the tree (it deprecates libelf).
Offline
Making all in test
make[3]: Entering directory `/var/abs/local/rpm/src/rpm-4.2/python/test'
make[3]: Nie nic do roboty w `all'.
make[3]: Leaving directory `/var/abs/local/rpm/src/rpm-4.2/python/test'
make[3]: Entering directory `/var/abs/local/rpm/src/rpm-4.2/python'
source='rpmmodule.c' object='rpmmodule.lo' libtool=yes
depfile='.deps/rpmmodule.Plo' tmpdepfile='.deps/rpmmodule.TPlo'
depmode=gcc3 /bin/sh ../depcomp
/bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../lib -I../rpmdb -I../rpmio -I../beecrypt -I../popt -I/usr/include/pythonauto -I../zlib -march=i686 -O2 -pipe -D_GNU_SOURCE -D_REENTRANT -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts -c -o rpmmodule.lo `test -f 'rpmmodule.c' || echo './'`rpmmodule.c
rm -f .libs/rpmmodule.lo
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../lib -I../rpmdb -I../rpmio -I../beecrypt -I../popt -I/usr/include/pythonauto -I../zlib -march=i686 -O2 -pipe -D_GNU_SOURCE -D_REENTRANT -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts -c rpmmodule.c -MT rpmmodule.lo -MD -MP -MF .deps/rpmmodule.TPlo -fPIC -DPIC -o .libs/rpmmodule.lo
rpmmodule.c:7:20: Python.h: No such file or directory
In file included from rpmmodule.c:21:
header-py.h:13: error: parse error before "hdr_Type"
(...)I've got python ...
. What is wrong?
jabber id: arael (at) fov (dot) pl
Offline
Where can i get elf utils? I can only find them in rpm format...
Offline
Note: you'll also need elfutils, which I threw in incoming...
Get it at ftp://ftp.archlinux.org/incoming - i just downloaded it yesterday ![]()
Kaleph
jabber: kaleph@jabber.org
Offline
Posted RPM5 PKGbuild into AUR. This is designed to be a dependency for yum so one can create RPM respos to be served from Archlinux using yum-createrepo, also in AUR. Enjoy
Offline
sharkoslinux - I think you've set a new record. This thread is close to five years old. ![]()
I'm closing this now. For future reference - please do not post in any thread that has been inactive for six months or more.
Offline
Pages: 1
Topic closed