tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

First pkg_dry milestone




Hi list,

as said here a couple of days ago, I'm writing an apt/yum-like software for NetBSD. This software, called pkg_dry ("dry" as "without pkgsrc"), aims to be a binary package manager relying on pkg_summary(5), permitting to install, remove and upgrade packages and dependencies using a remote repository.

As of today, pkg_dry is capable of handling these operations :

. package + dependencies installation
. package + reverse dependencies removal
. package + dependencies upgrade

Plus convenient features to display direct dependencies, reverse dependencies and full dependency tree.

I've been more or less the only tester, since pkg_dry still contained debug-related code that made its usage painful. As you may understand, I think it is now time for the software to be tested more widely, and on more (and possibly slower). Pkg_dry is _not_ finished, still many things must be done in order to compete with its Linux equivalents, here's a short-term TODO I have in mind :

. lots of testing
. disk space before download
. add the ability to operate on more than one package at the command line
. an "autoremove" feature to delete orphan dependencies
. multiple repositories handling
. write a manpage :)

The first milestone of pkg_dry is available at http://imil.net/NetBSD/pkg_dry-20090414.tgz

Pkg_dry only depends on databases/sqlite3. It is known to build on NetBSD 5.0 and current. To build it under NetBSD 4.0, you'll need also archivers/libarchive and net/libfetch.

As the software is not yet "productized", some steps still need to be done manually :

. create the database and cache repository

# mkdir -p /var/db/pkg_dry/cache

. set the initial database

# PKG_PATH=ftp://ftp.fr.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0/All; export PKG_PATH
# pkg_dry -u

Here's a data that I may want to know: how long does the database build take on your architecture ? On an Athlon 1600+, time, including pkg_summary download, indicates about 15 seconds.

From here you can test installation :

# pkg_dry -i <package>

Where <package> is the PKGPATH name of the package without category, i.e. :

# pkg_dry -i apache

or

# pkg_dry -i apache2

or

# pkg_dry -i apache22

To list available packages and their correct names :

# pkg_dry -a

To list installed packages

# pkg_dry -l

To remove a package and it's reverse dependencies :

# pkg_dry -r <package>

Removal order should be ok for pkg_delete.

Package upgrade :

# pkg_dry -i <package>

for example :

# pkg_dry -i apache2
[...]
# pkg_dry -i apache22

Direct dependencies are shown using the following flag :

# pkg_dry -d <package>

Full dependency tree for a package :

# pkg_dry -t <package>

Reverse dependencies for an installed package :

# pkg_dry -T <package>

Do not hesitate to send me bug reports, feedback and maybe ideas so the software can be used by everyone to handle binary packages on its NetBSD system.

Best regards,

----------------------------------------
Emile "iMil" Heitor <imil%home.imil.net@localhost>                              
    _
                   http://gcu-squad.org            ASCII ribbon campaign ( )
                                                    - against HTML email  X
                                                                & vCards / \


Home | Main Index | Thread Index | Old Index