From owner-freebsd-ports@FreeBSD.ORG Wed Nov 9 05:17:19 2005 Return-Path: X-Original-To: ports@freebsd.org Delivered-To: freebsd-ports@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E38F216A41F for ; Wed, 9 Nov 2005 05:17:19 +0000 (GMT) (envelope-from andrew@fubar.geek.nz) Received: from avmta4-rme.xtra.co.nz (avmta4-rme.xtra.co.nz [210.86.15.159]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2B18D43D45 for ; Wed, 9 Nov 2005 05:17:18 +0000 (GMT) (envelope-from andrew@fubar.geek.nz) Received: from mta4-rme.xtra.co.nz ([210.86.15.140]) by avmta4-rme.xtra.co.nz with ESMTP id <20051109051717.IYLT8315.avmta4-rme.xtra.co.nz@mta4-rme.xtra.co.nz> for ; Wed, 9 Nov 2005 18:17:17 +1300 Received: from serv.int.fubar.geek.nz ([222.153.60.207]) by mta4-rme.xtra.co.nz with ESMTP id <20051109051717.TSKT1416.mta4-rme.xtra.co.nz@serv.int.fubar.geek.nz> for ; Wed, 9 Nov 2005 18:17:17 +1300 Received: from [192.168.1.160] (unknown [192.168.1.160]) by serv.int.fubar.geek.nz (Postfix) with ESMTP id 7D5CB6122 for ; Wed, 9 Nov 2005 18:17:16 +1300 (NZDT) Message-ID: <43718661.5090503@fubar.geek.nz> Date: Wed, 09 Nov 2005 18:17:21 +1300 From: Andrew Turner User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051013) X-Accept-Language: en-us, en MIME-Version: 1.0 To: ports@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Subject: libpkg initial release X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Nov 2005 05:17:20 -0000 Announcing the first release of libpkg I have been working on a library to work with packages. It uses libarchive to extract the package directly to the correct location. Pros: * It appears to be faster than using pkg_add because it extracts the files directly to the correct location rather than to a temporary location then copy to the correct location. Problems: * It can only install packages not uninstall or create them. * Can't get a list of installed packages. * There is no dependency handling. * Doesn't always follow style(9). * Not all possible lines in +CONTENTS are handled. * @exec lines in +CONTENTS are not executed. * A failed install will leave files with no package. There is a demo in the demo sub directory that will install one or more given packages to "./fakeroot". libpkg contains a 3 main concepts: * Package Repository - A collection of installable packages. * Package Database - A collection of installed packages. * Package - A single package. To install a package you retrieve it from the pkg_repo then send it to the pkg_db. The pkg_db will install the package and register it. libpkg is available from https://developer.berlios.de/project/showfiles.php?group_id=5252 MD5 (libpkg-0.1.20051109.tar.bz2) = bc4e8fb5bddc7b4baa25572197e4038c MD5 (libpkg-0.1.20051109.tar.gz) = 94999c21160abd9368ad951d63950b4a SHA256 (libpkg-0.1.20051109.tar.bz2) = 466b25900b661441208146cce58ea1999fa898e767a087e1ad3da30aa91648b2 SHA256 (libpkg-0.1.20051109.tar.gz) = 6205abf1e2cda486bb5101ce3abf6706d294ecc53231f41c462bdd646345df8c There is anonymous subversions avaliable by using either of: svn checkout svn://svn.berlios.de/libpkg/tags/libpkg-0.1.20051109 svn checkout http://svn.berlios.de/svnroot/repos/libpkg/tags/libpkg-0.1.20051109 I would like to thank Tim Kientzle for sending me the his origional libpkg which parts of this are based on.