Hi all, I'm pleased to announce pkgutils-c, pkgutils rewritten in C, as purposed in http://crux.nu/Main/PkgutilsIdeas article. It is using libarchive, and it's drop-in replacement for the pkgutils except that you have to rejmerge /etc/pkgadd.conf, as its format changed (regexps must be placed in "" quotes and \ character must be escaped by \: like "\\d+"). pkgadd's -u option is meaningless now, but still accepted for the compatibility. There are still may be some amount of bugs, thus don't try it on the box you fear to bring down. And don't blame CRUX developers for the bugs/misbehaviours in pkgutils-c, blame me because it is my effort only. You can download it here: ftp://crux-arm.kmeaw.com/pub/crux-arm/depot/pkgutils-c-1.0.tar.bz2 git tree also available: git clone git://crux-arm.kmeaw.com/git/utils Ugly but tested Pkgfile under the crux/ directory. I'm using much cleaner version, because I have libarchive in my core ports collection. Good luck, -- Anton (irc: bd2)
Ah, forgot to tell. It's deadly slow on big packages as now, because libstdc++ using RB-Trees inside, and C version using unsorted doubly linked lists. I hope sorted ll will solve performance issues, if not... then I guess I will use GNU avl or libredblack.sf.net.
On Wed, Oct 25, 2006 at 02:30:39AM +0400, Anton Vorontsov wrote:
Hi all,
I'm pleased to announce pkgutils-c, pkgutils rewritten in C, as purposed in http://crux.nu/Main/PkgutilsIdeas article. It is using libarchive, and it's drop-in replacement for the pkgutils except that you have to rejmerge /etc/pkgadd.conf, as its format changed (regexps must be placed in "" quotes and \ character must be escaped by \: like "\\d+").
pkgadd's -u option is meaningless now, but still accepted for the compatibility.
There are still may be some amount of bugs, thus don't try it on the box you fear to bring down.
And don't blame CRUX developers for the bugs/misbehaviours in pkgutils-c, blame me because it is my effort only.
Okay, I've solved all performance issues, and pkgutils-c should be now even a bit faster than C++ version. No new external libs used. GNU C and libarchive only dependencies. Much thanks to Mark Rosenstand who actually tried it, found many bugs, and sent patches. I've done "prt-get sysup" (was 60 ports to update for me), and I haven't seen any breakage afterwards. Thus I assume that that version is bugfree*. You can download updated version here: ftp://crux-arm.kmeaw.com/pub/crux-arm/depot/pkgutils-c-1.1.tar.bz2 or using git: git clone git://crux-arm.kmeaw.com/git/utils (don't forget to rejmerge just after installing it, pkgadd.conf's format changed!)
Ugly but tested Pkgfile under the crux/ directory. I'm using much cleaner version, because I have libarchive in my core ports collection.
Good luck, -- Anton (irc: bd2) * almost
participants (1)
-
Anton Vorontsov