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