Hi all, On Wed, Oct 04, 2006 at 11:52:56PM +0200, Simone Rota wrote:
Topics (out of my mind, bring yours! :))
- Team reorganization: find out what's missing (jobs, documentation) - The new contrib: choosing an external maintainer, defining the rules. - Sub-repositories: x11r7, gnome, kde... - Switching to git core/opt developement - CRUX 2.3: how will it look like? - CRUX 2.3: release period? Shall we plan a CRUXCON 2007? - Resolve the "sort-of-maintained ports" problem for core and opt. - Define a (not too strict) release process
- pkgutils C rewrite Seriously, I've made some proof of concept and I'd like to share it with you. It's attached. It's not an appeal for accepting, just an infantile offer. :-) But I'd be glad to see if it would be useful. ----- NOTE: It may be buggy as yet and can delete all information from your computer. Don't use it if you have anything to lose. You are warned. :-) At least, make the /var/lib/pkg/db backup ----- It's not completely pkgutils as yet, but the most harder part of it: pkgadd. pkgrm and pkginfo are pending. It's complete rewrite from scratch, besides of license header. Per's copyright stayed intact, because he is the author of pkgutils idea. It is using libarchive library now. And because of completely different conflicts-finding algorithms it is handle symlinks in the very right way. For example, if filesystem have /usr/var as a symlink to /var (it have), then the new package with /usr/var/ directory and /usr/var/foo/bar files in it will be written to the database as: usr/var usr/var/foo/ usr/var/foo/bar (original pkgutils would write first line as "usr/var/", note the slash) That means, that pkgutils understood that it should "convert" package's usr/var/ directory to the filesystem's usr/var symlink. Also, it uses a bit different pkgadd.conf file parser (not sscanf), and because of that regexp field now can contain spaces (don't know how useful it is, but it's good thing to have anyway, imo). And because of that, when you need \ character in the regexp, you must place it (the regexp) in quotes and escape it in C-manner. Like, UPGRADE "^var/spool/\\w*cron/.*$" NO Though, regexp without spaces and \ characters still can be written without quotes: UPGRADE ^etc/mail/cf/.*$ YES Because of these incompatibles, /usr/etc/pkgadd.conf used for now. pkgadd "frontend" to the libpkgadd uses getopt_long() to handle command line arguments and thus can process multiple packages specified on the command line, for example: # pkgadd /mnt/cdrom/crux/core/*.pkg.tar.gz Plus, pkgadd don't care about if package installed already or not, it will upgrade package if it's installed and install it if not. That was nontrivial to do in original pkgutils because of internal difficulties. Though, that feature can be disabled by inserting if(pkg_installed && !u_option) exit(1); clause. Hope you'll find time to discuss it either on IRC meeting or in mailing list.
Regards, Simone
Good luck, -- Anton (irc: bd2)