Home

Advertisement

cupt-standalone

  • Nov. 5th, 2009 at 12:30 AM
feterny-bird
Some people worried that cupt has a lot of dependencies, so it's uninstallable on very limited systems. I probably have good news for them:


$ dpkg -l | grep perl
ii liblocale-gettext-perl 1.05-4 Using libc functions for internationalizatio
ii perl-base 5.10.1-6 minimal Perl system

$ ./cupt-compiled-i386 -s full-upgrade
Building the package cache... [done]
Initializing package resolver and worker... [done]
Scheduling requested actions... [done]
Resolving possible unmet dependencies...
The following 15 packages will be INSTALLED:

dash gnupg-curl insserv install-info libc-bin libc6-i686 libdb4.7 [...]

The following 118 packages will be UPGRADED:

apt apt-utils base-files base-passwd bash bsdmainutils coreutils cpio [...]

Need to get 48.5MiB/56.0MiB of archives. After unpacking 46.7MiB will be used.
Do you want to continue? [y/N/q] q

$ wc -c ./cupt-compiled-i386
3584686 ./cupt-compiled-i386


This is a part of the log from my i386 chroot.

The only extra dependency for the binary is 'libcurl3-gnutls' for downloading from http/https/ftp. It does not need even perl-base to work, but I can't remove perl-base from the system as it's essential.

PAR rocks.

Tags:

cupt: snapshots and archives-space-limit

  • Oct. 27th, 2009 at 6:51 PM
feterny-bird
I just released Cupt 1.2.0 to Debian experimental.

It now has the ability to create and load Cupt system snapshots (in a sense of installed packages) and the algorithm to try handle changes which require X MiB to download when you have only Y MiB of free disk space available, and X > Y.

For first, see new 'snapshot' subcommand, for second, set new 'cupt::worker::archives-space-limit' option.

Now the 'I-wish-a-feature-in-Cupt' list is again empty. Test, enjoy, report bugs, submit new wishes.

Tags:

cupt 1.1

  • Oct. 22nd, 2009 at 1:11 PM
feterny-bird
I just released cupt 1.1.0 to Debian unstable. I intended to push more changes into it, but James Vega recently discovered critical issue about 'libc6-i686' package that can break the whole system if its version differs from version of 'libc6' package, so in absence of answer from Debian eglibc maintainers I implemented a workaround for it and released new version.

Nevertheless, the following changes worth noting:


  • performance and RAM usage improvements: most significant is a tremendous speed-up of the function that calculates dpkg calls sequence, achieved by throwing away standard Graph library and writing a small private one, optimized for Cupt usage

  • support of '-y' command-line switch

  • reinstalling packages is now possible

Tags:

Debian packages with big number of bugs

  • Oct. 17th, 2009 at 2:00 PM
feterny-bird
While working on Debian, I often don't realize how some important packages lack manpower to handle issues. Examples that touched me are 'apt' and 'perl'. As someone told many times, it would be good if someone with free time, especially newcomers to Debian, help triaging/reproducing bugs in the BTS, writing patches etc. This activity usually doesn't require helper to be a DD or DM, and will usually be more appreciated than preparing 11th web server or 30th window manager to Debian archive. Just ask maintainer(s). Also, you may want to read http://wiki.debian.org/HelpDebian to get the wider picture.

I tried to quickly find a table with Debian packages with highest bug rates over the Debian BTS, but failed, so I constructed my own one, with the help of UDD. This list contains BTS packages with number of bugs > 100 and is available here. The top ten:


          source          | rc_bugs | all_bugs 
--------------------------+---------+----------
 wnpp                     |       0 |     3024
 installation-reports     |      10 |     2119
 apt                      |       4 |      682
 linux-2.6                |       0 |      617
 aptitude                 |       0 |      576
 iceweasel                |       3 |      490
 openssh                  |       1 |      417
 evolution                |       0 |      362
 util-linux               |       1 |      344
 dpkg                     |       1 |      343


Tags:

cupt bits

  • Oct. 3rd, 2009 at 3:47 PM
feterny-bird
I made an announce of Cupt. It resulted in some new people trying & testing & reporting bugs, plus several Linux/Unix-related sites picked up the announce and formed a news entry from it. And a bit sadly, though fully expectedly, most of comments played implementation language holy war.

Since first beta was uploaded, I have some time to perform usual round of optimization, and it appeared to be quite productive this time. Several minor optimizations were simple enough to go directly to master branch. With a usual bunch of bug fixes, they formed just uploaded first release candidate. Another few of them are more complex, so they live in various branches and, presumably, will be a part of Cupt 1.1 after some testing.

Tags:

I became DD.

  • Sep. 7th, 2009 at 9:58 AM
feterny-bird
That are only 3 simple words, but their value is hard to underrate. It's very important milestone in my Debian work.

The achievement might not be possible, if there wasn't the help of:
- Vincent Bernat, who thoroughly corrected my first packaging and sponsored my first (and not only) package;
- Dmitry E. Oboukhov, who uploaded many packages for me and also gave some useful advices;
- Roger Leigh, who spent not one day to improve my packaging skills, and also advocated my NM application;
- Enrico Zini, who was my NM Application Manager.
Thank you!

Thanks to people who built my NM procession chain up to creating the account: Bernd Zeimetz (FD), Christoph Berg (DAM), Peter Palfrader (account creation).

Tags:

debdelta rocks even more

  • Aug. 30th, 2009 at 2:01 PM
feterny-bird
Starting with cupt 0.5.2, I'm able to use debdelta for upgrading my packages. Usually it saves 30-50% of traffic costs for me, which is already good.

Several days ago I felt service was in outage because no new deltas were available, but today it saved 96% of traffic! I guess the reason is change of default delta algorithm on Andrea's site with deltas, but hey, whatever, 1MiB instead of 27MiB! Debdelta rocks.

Tags:

cupt: preparings for 0.6.0

  • Aug. 19th, 2009 at 12:16 AM
feterny-bird
Cupt 0.6.0 will bring:
- switch to method-only interface to BinaryVersion and SourceVersion classes;
- completed documentation for libcupt-perl library;
- 'why' subcommand;
- 'version' subcommand;
- 'help' subcommand;
- bunch of bug fixes and minor improvements in resolver, worker and other parts.

No fancy stuff, unlike all previous 0.x.0 releases. That's because I implemented almost all what I wanted from dpkg front-end (and some more), and my personal "wishlist" is now empty. As well as Debian BTS one.

I will release & upload 0.6.0 just once 0.5.2 got propagated into testing. And you can look at master branch right now to catch possible regressions earlier than in 0.6.y patch releases.

Presumably, 0.6 will be the last 0.x series of Cupt. I plan to bump version to 1.0.0~rc1 after it.

Tags:

cupt: debdelta integration

  • Aug. 11th, 2009 at 3:54 PM
feterny-bird
Recently I finally received the needed info from A Mennucc1, the author and maintainer of debdelta(1) utility. Debdelta suite can download the delta between two versions of the same package and reconstruct the target .deb. Currently provided infrastructure allows to use deltas for a) Debian security updates b) Debian testing c) Debian unstable.

In Cupt 0.5.2, I managed to add a "download method" uses debdelta to obtain a .deb. To enable it, just install the 'debdelta' package.

For the cases when delta is very big, servers don't provide it, so the debdelta method will instantly fail with a 'HTTP 404' message (delta is not available), and Cupt will download the full package as usual.

Tags:

feterny-bird
Cupt 0.5.0 was just uploaded to Debian unstable. Several bug fixes and one new console interface feature.

This is new subcommand, 'shell', which gives you an interactive shell-like environment. It preloads package cache index, so you can explore installed/available packages more quickly. You can modify the system too within a shell, in that case the cache will be rebuilt thereafter. The stateful config/cache pair and readline support, in other words. Read more in the cupt(1).

Tags:

feterny-bird
It's been a while since I wrote about Cupt package manager status, and here is another update.

Working with source packages is implemented as of version 0.3.0. Due to silly programming mistake, it is broken in 0.3.2 and 0.3.3, and I noticed this fact only recently. 0.4.0 has it working again.

Localized descriptions support is implemented as of version 0.4.0. Nothing too intriguing here, just an implementation of 'apt::acquire::translation' APT option.

Now, the high spot of the 0.4.0 is...
Source version synchronizing is the new ability of the native Cupt resolver to synchronize versions of all installed binary packages that came from the same source packages, to one version, either using 'best try' approach or strictly. See the descriptive help for the 'cupt::resolver::synchronize-source-versions' in the cupt(1). This option can be a solution for #246992.


Cupt 0.4.0.1 is just uploaded to unstable. Don't hesitate to feedback. Enjoy!

Tags:

qmmp 0.3.0 is finally in testing

  • Jul. 19th, 2009 at 2:39 PM
feterny-bird
The Qmmp audio player has finally been propagated to Debian testing. Version 0.3.0 gives much more functionality than previous 0.2.x series, and if you still seek for a music player, give it a try.

Tags:

seeking for a [Debian] job abroad

  • Jul. 19th, 2009 at 2:06 PM
feterny-bird
With a new and warm "Bachelor in Computer Science" academic status, and being involved in Debian more than a year with some progress, I would like to try applying my existing and future knowledge in some Debian-related development job.

It would be also good to find this job in some foreign country such as Canada, Australia, or one that belongs to West Europe. The design and development of medium/large-sized programs in C/C++/Perl languages is what I'm mainly interested for.

Being on the kind of crossroad, I want to search for a way to go up. Unfortunately, my native country, Ukraine, isn't too "interested" in providing such opportunities.

€2,5 million to burn ISO image wrongly

  • Jul. 15th, 2009 at 9:23 AM
feterny-bird
I am pretty sure that most of us know how to burn CDs. Moreover, burning prepared ISOs is a deal of one GUI click or one console command. However, it seems that IBS(ru) Company, Microsoft® Gold Certified Partner, cannot do even it. Sad, but true.


Last years there were some good movements in Russia towards Free Software, and there is a some plan to throw some proprietary software components to trash for year 2010 in favor of Free Software ones (mostly due for costs, not ideas).

As a part of such movements, and by the government contract, ALT Linux Company, the Russia-originated and Russia-oriented Linux distributor prepared 3 CD medias for 57 thousands of Russian schools. Mentioned above IBS(ru) was just to replicate these disks and send them to schools.

Possibly, someone decided this is a boring task and chose to remaster disks. Did all replication and sent medias. They didn't bothered even to test the disks - at least of the them should be bootable, and this property was lost during "remastering". After the loud scandal in press people apologized and promised to re-send corrected CDs. Yeah, really, they re-sent. Second time they messed up with filename encoding, and all Russian (non-Latin) file names were unreadable by Linux by default. Nice work, eh? There will no third try, they sure it's all right.

cupt: time to feedback

  • Jul. 1st, 2009 at 6:09 PM
feterny-bird
Cupt, the re-implementation of APT suite, continues growing.

Since the previous post a lot of bugs were fixed, several versions were uploaded to Debian. As always, many bugs were hunted out, and now, last 0.2.3 version hasn't any open bugs in BTS.

I claim this is a good time for anyone who experienced bugs with APT to at least try typing one's favorite package manager command (update, full-upgrade, install, remove etc.) with cupt. Not being Swiss knife, Cupt already works for many known cases. If it doesn't, file a bug.

I claim this is a good time for anyone who feels that Perl is bad programming language to show practical objective statistics (speed, memory footprint etc.).

I claim this is a good time for anyone who has some words to say about Cupt (good or bad) to say them. Using private e-mail or via #cupt channel on OFTC IRC network.

Several people asked me before, do I want to replace APT by Cupt in some future. Well, if APT will stay unmaintained as it is now, then the answer is probably 'yes'.


In the meantime, a half-pilot implementation of source packages is ready. It's possible the next uploaded version of Cupt will strike out the 'experimental' word from the tool's description.

Tags:

cupt: 20 days over

  • May. 24th, 2009 at 11:11 PM
feterny-bird
So, 20 days passed after the first announcement, and here is the list of changes since then:

Cupt entered Debian unstable. Please report any bugs and suggestions to Debian BTS. Also, you may use #cupt channel on irc.debian.org if you want to discuss something.

New features implemented include:
- resolver reasons tracking (-D, --show-reasons)
- new 'changelog' subcommand
- new 'copyright' subcommand
- 'policy' subcommand called without arguments now prints release data available, like 'apt-cache policy'
- '--no-remove' option
- '--no-auto-remove' option
- support of 'dpkg::pre-invoke', 'dpkg::post-invoke' APT options

And, of course, many bugs fixes.

Tags:

cupt: let me introduce it

  • May. 4th, 2009 at 7:49 PM
feterny-bird
Cupt is experimental re-implementation of APT suite from scratch using Perl .
It consists of Perl modules and console front-end to them.

Why?

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


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 useful 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;
- 'satisfy' subcommand.

What features will Cupt have in future?

See incomplete roadmap.


Why is it 'experimental'?

Because not all important functionality is implemented yet:
- 'update' action;
- cooperating with debconf;
- working with source packages;
- translated package descriptions;


Why Perl?

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


Can I use Cupt along with APT?

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


Can I build a Debian package for Cupt?

Yes, go to repository, checkout it and build the Debian package as usual.


What's the status of Cupt in Debian?

It's currently in the NEW queue, but don't rush to try root-required actions because it's still experimental.


Who am I?

The man who had been contributing to the APT.

Tags: