Differences between revisions 1 and 26 (spanning 25 versions)
Revision 1 as of 2009-05-29 20:48:57
Size: 1524
Editor: ?EugeneVLyubimkin
Comment:
Revision 26 as of 2012-04-01 16:18:30
Size: 2842
Editor: ?EugeneVLyubimkin
Comment: small updates to the current branch information
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Cupt == = Cupt =
Line 3: Line 3:
Cupt is experimental re-implementation of APT suite from scratch using Perl .
It consists of Perl modules and console front-end to them.
== What is it? ==

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

==
FAQ ==
Line 12: Line 15:
The first announcement is [[http://lists.debian.org/deity/2009/02/msg00080.html|here]]. Also, on [[http://lists.debian.org/debian-devel-announce/2009/09/msg00010.html|debian-devel-announce]].
Line 17: Line 22:
'''What useful features has Cupt already?''' '''What features Cupt has?'''
Line 25: Line 30:
 * support of LZMA-compressed indxes;
 * 'satisfy' subcommand.
 * support of LZMA-compressed indexes;
 * 'satisfy' subcommand;
 * synchronization by source versions;
 * 'shell' subcommand;
 * debdelta integration;
 * and more
.
Line 28: Line 37:
'''What features will Cupt have in future?''' '''What important features Cupt doesn't have?'''
Line 30: Line 39:
See incomplete [[http://github.com/jackyf/cupt/blob/0d2de9cc2183f5f6ca89522860a3efd20f1d7a26/doc/roadmap|roadmap]].

'''Why is it 'experimental'?'''

Because not all important functionality is implemented yet:
* working with source packages;
* translated package descriptions;

'''Why Perl?'''

 * I like Perl
 * code conciseness
 * code extensibility
 * several useful libraries available
 * handling of cdrom:// URIs.
Line 48: Line 44:

'''How to feedback?'''

 * file bugs against the package 'cupt' in Debian
 * 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.

== Development ==

=== Repository ===

Cupt uses Git. URIs: [[https://github.com/jackyf/cupt|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. This is the branch which will go to Debian Wheezy.

The HTML version of the latest tutorial may be found, apart from the binary packages, [[http://people.debian.org/~jackyf/cupt2/tutorial.html|here]].

=== Old stable branch ===

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

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.

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
  • 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.

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. This is the branch which will go to Debian Wheezy.

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