[arch-general] Installing createrepo/repoview on Arch Linux
Here is a quick synopsis of what is required to install createrepo on Arch in case you need to provide an rpm repository for rpm based distros hosted on your Arch server: AUR Package Summary (in order to build/install): beecrypt rpm (THIS PKG IS ORPHANED, BUT STILL CURRENT FOR rpm-5.1.9) yum-metadata-parser (OUT OF DATE -- updated PKGBUILD below) python-iniparse yum (the 'depends' line in the PKGBUILD must be fixed - see below) yum-createrepo (OUT OF DATE -- updated PKGBUILD below) kid repoview Detailed Build/Install Info: Install beecrypt http://aur.archlinux.org/packages.php?ID=16387 (download tarball, untar/ungzip, cd into directory) makepkg -s sudo pacman -U beecrypt-4.2.1-2-x86_64.pkg.tar.xz Installl rpm http://aur.archlinux.org/packages.php?ID=16857 (THIS PKG IS ORPHANED, BUT STILL CURRENT FOR rpm-5.1.9) (download tarball, untar/ungzip, cd into directory) makepkg -s sudo pacman -U rpm-5.1.9-1-x86_64.pkg.tar.xz Install yum-metadata-parser http://aur.archlinux.org/packages.php?ID=22978 (OUT OF DATE -- here is the updated PKGBUILD) (download tarball, untar/ungzip, cd into directory) fix PKGBUILD as follows: # Maintainer: Chris Tusa <linisys@gmail.com> pkgname=yum-metadata-parser pkgver=1.1.4 pkgrel=2 pkgdesc="C-based metadata parser to quickly parse xml metadata into sqlite databases." arch=('i686' 'x86_64') license=('GPL') url="http://yum.baseurl.org/" groups=('lib') depends=('python' 'glib2') source=(http://yum.baseurl.org/download/yum-metadata-parser/${pkgname}-${pkgver}.tar.gz) md5sums=('05289971e5cfde532631f2a99f6c58c7') build() { cd ${srcdir}/${pkgname}-${pkgver} python ./setup.py build || return 1 python ./setup.py install --prefix=${pkgdir}/usr || return 1 } makepkg -s sudo pacman -U yum-metadata-parser-1.1.4-2-x86_64.pkg.tar.xz Install python-iniparse http://aur.archlinux.org/packages.php?ID=22977 (download tarball, untar/ungzip, cd into directory) makepkg -s sudo pacman -U python-iniparse-0.4-1-x86_64.pkg.tar.xz Install yum http://aur.archlinux.org/packages.php?ID=22976 (download tarball, untar/ungzip, cd into directory) (the 'depends' line in the PKGBUILD must be fixed by changing rpm-org to rpm as follows:) #depends=('python' 'intltool' 'urlgrabber' 'rpm-org' 'python-pysqlite' 'yum-metadata-parser' 'python-iniparse') depends=('python' 'intltool' 'urlgrabber' 'rpm' 'python-pysqlite' 'yum-metadata-parser' 'python-iniparse') makepkg -s Targets (2): python-pycurl-7.19.0-4 urlgrabber-3.9.1-1 <snip> sudo pacman -U yum-3.2.28-1-x86_64.pkg.tar.xz Install yum-createrepo http://aur.archlinux.org/packages.php?ID=22951 (OUT OF DATE -- here is the updated PKGBUILD) (download tarball, untar/ungzip, cd into directory) fix PKGBUILD as follows (In work - not finished) : # Maintainer: Chris Tusa <linisys@gmail.com> pkgname=yum-createrepo pkgver=0.9.8 pkgrel=3 pkgdesc="A tool to create yum repositories from ArchLinux systems." arch=('i686' 'x86_64') license=('GPL') url="http://createrepo.baseurl.org" groups=('system') depends=('python' 'python-lxml' 'rpm' 'yum') source=(http://createrepo.baseurl.org/download/createrepo-${pkgver}.tar.gz createrepo0.patch createrepo1.patch) md5sums=('e37418bebb559e7420532574c1bdb18c' 'b074d7ccf1327346570ce14592470b05' 'b63a92689cfb7d4aea1cd0c7a0f55c56') build() { cd ${srcdir}/createrepo-${pkgver} # Apply Makefile patches to rename files during install cd ${srcdir}/createrepo-${pkgver}/docs patch -p1 < ${srcdir}/createrepo0.patch cd ${srcdir}/createrepo-${pkgver}/bin patch -p1 < ${srcdir}/createrepo1.patch cd ${srcdir}/createrepo-${pkgver} make || return 1 make DESTDIR=${pkgdir} install || return 1 } makepkg -s Targets (1): python-lxml-2.2.8-1 <snip> sudo pacman -U yum-createrepo-0.9.8-3-x86_64.pkg.tar.xz Install kid http://aur.archlinux.org/packages.php?ID=2831 (download tarball, untar/ungzip, cd into directory) makepkg -s sudo pacman -U kid-0.9.6-4-x86_64.pkg.tar.xz Install repoview (to gen html pages for rpms) http://aur.archlinux.org/packages.php?ID=35377 (download tarball, untar/ungzip, cd into directory) makepkg -s sudo pacman -U repoview-0.6.5-1-any.pkg.tar.xz Done, works fine, enjoy! -- David C. Rankin, J.D.,P.E. Rankin Law Firm, PLLC 510 Ochiltree Street Nacogdoches, Texas 75961 Telephone: (936) 715-9333 Facsimile: (936) 715-9339 www.rankinlawfirm.com
On 09/14/2010 01:24 PM, David C. Rankin wrote:
Here is a quick synopsis of what is required to install createrepo on Arch in case you need to provide an rpm repository for rpm based distros hosted on your Arch server:
AUR Package Summary (in order to build/install):
beecrypt rpm (THIS PKG IS ORPHANED, BUT STILL CURRENT FOR rpm-5.1.9) yum-metadata-parser (OUT OF DATE -- updated PKGBUILD below) python-iniparse yum (the 'depends' line in the PKGBUILD must be fixed - see below) yum-createrepo (OUT OF DATE -- updated PKGBUILD below) kid repoview
Detailed Build/Install Info:
<snip>
Install yum http://aur.archlinux.org/packages.php?ID=22976 (download tarball, untar/ungzip, cd into directory) (the 'depends' line in the PKGBUILD must be fixed by changing rpm-org to rpm as follows:)
#depends=('python' 'intltool' 'urlgrabber' 'rpm-org' 'python-pysqlite' 'yum-metadata-parser' 'python-iniparse') depends=('python' 'intltool' 'urlgrabber' 'rpm' 'python-pysqlite' 'yum-metadata-parser' 'python-iniparse')
For sake of completeness, you will need to patch yum to work with suse rpms. Here is the patch from the upstream guys. Maybe somebody can incorporate this into the PKGBUILD: Yum needs a patch to work with 4.4.3 and beyond (such as your 5.1.9) Easiest is just adding the enum values, rather than conditionals... --anders patch-yum-packages.py --- yum/packages.py.orig +++ yum/packages.py @@ -1353,11 +1353,14 @@ is a pre-requires or a not""" # FIXME this should probably be put in rpmUtils.miscutils since # - that's what it is + RPMSENSE_PREREQ = (1 << 6) + RPMSENSE_SCRIPT_PRE = (1 << 9) + RPMSENSE_SCRIPT_POST = (1 << 10) if flag is not None: # Note: RPMSENSE_PREREQ == 0 since rpm-4.4'ish - if flag & (rpm.RPMSENSE_PREREQ | - rpm.RPMSENSE_SCRIPT_PRE | - rpm.RPMSENSE_SCRIPT_POST): + if flag & (RPMSENSE_PREREQ | + RPMSENSE_SCRIPT_PRE | + RPMSENSE_SCRIPT_POST): return 1 return 0
makepkg -s Targets (2): python-pycurl-7.19.0-4 urlgrabber-3.9.1-1 <snip> sudo pacman -U yum-3.2.28-1-x86_64.pkg.tar.xz <snip>
Now it is:
Done, works fine, enjoy!
-- David C. Rankin, J.D.,P.E. Rankin Law Firm, PLLC 510 Ochiltree Street Nacogdoches, Texas 75961 Telephone: (936) 715-9333 Facsimile: (936) 715-9339 www.rankinlawfirm.com
On 09/14/2010 01:24 PM, David C. Rankin wrote:
Here is a quick synopsis of what is required to install createrepo on Arch in case you need to provide an rpm repository for rpm based distros hosted on your Arch server:
AUR Package Summary (in order to build/install):
beecrypt rpm (THIS PKG IS ORPHANED, BUT STILL CURRENT FOR rpm-5.1.9) yum-metadata-parser (OUT OF DATE -- updated PKGBUILD below) python-iniparse yum (the 'depends' line in the PKGBUILD must be fixed - see below) yum-createrepo (OUT OF DATE -- updated PKGBUILD below) kid repoview
Couple of questions: (1) Should we do a wiki page on this? (2) What do we do about the "orphaned" rpm package in AUR? Shouldn't that package have a maintainer? I'm not that skilled in packaging/patching or Makefiles so I wouldn't exactly feel comfortable taking it on, but with something as needed as rpm for handling repos that will be stored on Arch servers, this should definitely have somebody looking after it. What is the process for getting a new maintainer for it? -- David C. Rankin, J.D.,P.E. Rankin Law Firm, PLLC 510 Ochiltree Street Nacogdoches, Texas 75961 Telephone: (936) 715-9333 Facsimile: (936) 715-9339 www.rankinlawfirm.com
participants (1)
-
David C. Rankin