tech-pkg archive

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

[GSoC] pkgin improvements



Greetings,

Here is my proposal to Google's GSoC about improving pkgin. Any 
commentary/criticism/input is recommended :)

Cordially,

=================

Title of the proposal

[NetBSD] Enhancements to the pkgin binary package manager

Short description

This project aims to improve pkgin, a binary package manager relying on pkgsrc, 
the NetBSD package management framework.
Focus will be put on overall performance enhancements and code portability.

Content - Actual proposal

Name : Elias BOUTALEB
Handle : Jambato%irc.freenode.net@localhost
Location/Timezone : Paris, France (GMT+2)
Proposal Title : [NetBSD] Enhancements to the pkgin binary package manager

Motivation: 
Binary packages and package manager software are widespread in the Linux 
ecosystem-distributions. BSD-like systems can also handle binaries via 
pkg_add/pkg_delete, but managing upgrades, dependencies and conflicts with 
those tools can be tedious.

pkgin has been created in order to handle binaries in a similar manner to 
package management utilities such as yum and apt on Linux.
Though the installation, upgrade and removal of packages is correctly 
supported, there is still room for improvement.

Benefits to the Community: 

pkgin inherited the emphasis on portability from NetBSD and pkgsrc.
Besides the visibility gained by the promotion of the project within the GSoC 
setting, other systems and entities can make the most of pkgsrc/pkgin 
(currently used by Joyent [1], is in the base system of DragonflyBSD and 
Minix), allowing the project to go towards an ideal of a universal package 
manager (pkgin) bundled with a universal package management framework (pkgsrc).

Tasks/Deliverables:

According to the maintainer[2], those goals are organized in such a way the 
mentee can immerse himself progressively within the project/code. 

1) Multiple repositories support
2) Speeding up the calculation of the number of installed packages in the 
database 
3) Speeding up the matching of local packages agaisnt remote packages
4) Implement an automated-test system
5) Better conflict handling 
6) Better logging
7) Make pkgin independent from pkg_install binaries

Optional Tasks

I) Factor all pkgin's package manipulation functions into its own library - 
libpkgin
II) Make pkgin able to interface with any database system

Schedule/Milestones/Implementation Details:

Disclaimer : The estimates given about the learning and coding time should not 
be taken at face value. At the moment, I cannot offer an implementation 
solution for all the tasks enumerated in the project wiki page. However, I can 
assure that by the time the SoC begins, solutions shall be found for all tasks.

- I'm currently preparing for my terms in 2 weeks. I should begin properly 
studying pkgsrc and pkgin around the 20th of May.


(May 20th - June 16th)
- Prior to the coding tasks, in order to fully contribute to pkgin and 
understand it well, I'll have to understand how pkgsrc works: to test it and 
use it on 2 environments : a NetBSD virtual machine and a native Linux 
environment.
An understanding of the pkg_summary[3] file format will also be required, as 
pkgin's binaries and dependencies management facilities are based on it


Home | Main Index | Thread Index | Old Index