Differences between revisions 18 and 19
Revision 18 as of 2011-01-06 13:11:24
Size: 2421
Editor: ?EugeneVLyubimkin
Comment: restructured
Revision 19 as of 2011-01-06 13:19:37
Size: 2560
Editor: ?EugeneVLyubimkin
Comment: more repository links
Deletions are marked like this. Additions are marked like this.
Line 58: Line 58:
== Development status == == Development ==
Line 60: Line 60:
=== Current/Stable === === Repository ===

Cupt uses Git. URIs: [[https://github.com/jackyf/cupt|browse]], clone: `git://github.com/jackyf/cupt.git`.

=== Current/stable branch ===
Line 65: Line 69:
=== Development === === Development branch ===


What is it?

Cupt is a partial re-implementation of APT suite from scratch.



  • to finally avoid some bugs in APT design;
  • to introduce some useful features;
  • to make an extensible and readable codebase;

The first announcement is here. Also, on debian-devel-announce.

What infrastructure does Cupt use?

It uses the same APT infrastructure, e.g. index files, deb cache archive files, configuration files. It understands some of widely used APT options.

What features has Cupt already?

  • full-case strict dependency problem resolver;
  • command-line and APT-like option name checker;
  • case-sensitive search;
  • pinning by source package name;
  • pinning by package groups using shell-like patterns;
  • configurable 'depends' and 'rdepends' subcommands;
  • support of LZMA-compressed indexes;
  • 'satisfy' subcommand;
  • source versions synchronization;
  • 'shell' subcommand;
  • debdelta integration.

What important features Cupt doesn't have?

  • handling of cdrom:// URIs;
  • PDiffs support.

Why Perl was chosen?

  • I like Perl
  • code conciseness
  • code extensibility
  • several useful libraries available

Can I use Cupt along with libapt-based package managers?

Yes, you can mix apt-get/apt-cache/aptitude/etc. with cupt without bad consequences.

How to feedback?

  • file bugs against 'cupt' package in Debian
  • join #cupt on irc.debian.org
  • mail me directly



Cupt uses Git. URIs: browse, clone: git://github.com/jackyf/cupt.git.

Current/stable branch

The stable branch is 1.5.x (master in the Git repository). Implemented in Perl, consists of Perl modules and a console front-end to them. This is the branch which will go to Debian Squeeze.

Development branch

The 2.0.x branch (develop in the Git repository) is currently under active development, "alpha" stage. Both the library and the front-end are being rewritten in C++(0x). Last sources, binary packages for architecture i386 and more details can be found here.

Why the language was changed to C++?

I want Cupt to be also fast and not RAM-hungry. Perl intepreter limits an achievement of these goals significantly.