Differences between revisions 29 and 30
Revision 29 as of 2012-08-31 16:14:38
Size: 3718
Editor: ?EugeneVLyubimkin
Comment: added info why cdrom:// and MultiArch aren't handled
Revision 30 as of 2013-09-30 15:52:45
Size: 3699
Editor: ?EugeneVLyubimkin
Comment: updated branch information
Deletions are marked like this. Additions are marked like this.
Line 89: Line 89:
Implemented in C++11, consists of a runtime library, download method plugins and a console front-end to them. This is the branch which will go to Debian Wheezy. Implemented in C++11, consists of a runtime library, download method plugins and a console front-end to them. Debian Wheezy contains `2.5.x`.

Cupt

What is it?

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

FAQ

Why?

  • 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 Cupt has?

  • 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;
  • synchronization by source versions;
  • 'shell' subcommand;
  • debdelta integration;
  • and more.

What important features Cupt doesn't have?

  • handling of cdrom:// URIs (noone with CDROM available has written the code);
  • proposed multiarch handling (there is no official documentation yet (30.08.2012)).

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 the package 'cupt' in Debian
  • write to the mailing list cupt-user[]lists.alioth.debian.org
  • join #cupt on irc.debian.org

Why Cupt can't parse the configuration file /etc/apt/apt.conf.d/00CDMountPoint?

If you see the error like

E: syntax error: line 4, character 1: expected: semicolon (';')
E: unable to parse the config file '//etc/apt/apt.conf.d/00CDMountPoint'
W: skipped the configuration file '//etc/apt/apt.conf.d/00CDMountPoint'

then you have a buggy configuration file which doesn't follow the syntax rules from apt.conf(5). It misses the ';'. Here's how this file should be corrected:

Acquire::cdrom {
  mount "/media/cdrom";
};
Dir::Media::MountPath "/media/cdrom";

Notice the semicolon in the end of the third line.

Why 'cupt update' fails with 'no download handlers available'?

If you have http/ftp mirrors in your sources.list(5) and see the error like

Fail:1 no download handlers available

from cupt update command, you have to install one of the packages libcupt2-0-downloadmethod-curl or libcupt2-0-downloadmethod-wget. One of these packages should have been installed by default unless you switched off installing Recommends or modified the configuration in some another way which prevented libcupt download methods from being automatically installed.

For more explanations, see bts#672804.

Development

Repository

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

Current/stable branch

The stable branch is 2.x (master in the Git repository). Implemented in C++11, consists of a runtime library, download method plugins and a console front-end to them. Debian Wheezy contains 2.5.x.

The HTML version of the latest tutorial may be found, apart from the binary packages, here.

Old stable branch

The 1.x branch was written in Perl. This is the branch which went to Debian Squeeze.


CategorySoftware