Bug#641864: how should apt-clone be used?

September 16th, 2011 - 06:30 pm ET by Rogério Brito | Report spam
Package: apt-clone
Version: 0.2
Severity: normal

Hi.

I believe that I've hit a major usability problem with apt-clone, but I am
keeping here the severity as normal.

After reading the help output of apt-clone, it says:

,-[ apt-clone -h ]
| usage: apt-clone [-h] [--debug] {info,restore,clone,restore-new-distro} ...
| (...)
| clone create a clone-file from <source> (usually '/') to <destination>
`-

Unfortunately, using what would be obvious from the command line, I get:

,-[ apt-clone clone / /tmp/foo ]
| usage: apt-clone [-h] [--debug] {info,restore,clone,restore-new-distro} ...
| apt-clone: error: unrecognized arguments: /tmp/foo
`-

I that case, I have expected / to act as <source> and /tmp/foo to act as
<destination>, just like the help output.

Trying further, when I omitted /tmp/foo from my command line, I got:

,-[ apt-clone clone / ]
| not installable: libgp11-0, mnsymbol, skype, libfaac0, libzen0, libavformat52, handbrake-gtk, libnotify1, monkeys-audio, youtube-dl, lame, e4rat, aacgain, xbmc, libmac2, xbmc-data, sgml-base, libspectre1, pst-utils, libdvdcss2, libpst4, lucida, mplayer2, linux-image-2.6.38-2-amd64, libmediainfo0, libavutil50, xbmc-bin, linux-image-2.6.39-2-amd64, libmkv0, tsmuxer, libavcodec52, debian-multimedia-keyring, mencoder, minionpro, libcryptui0, libmp3lame0, pdf2djvu, xbmc-skin-confluence, libgdata7, mediainfo
| version mismatch: qmail, baobab, gedit, gnome-system-log, gnome-system-monitor, zenity, libnm-glib-vpn1, nautilus-actions, default-jre, network-manager, gnome-terminal-data, gnome-search-tool, default-jre-headless, libgnome-keyring0, gnome-dictionary, gnome-terminal, gnome-utils-common, gnome-screenshot, libpam-gnome-keyring, openjdk-6-jre-lib, gnome-utils, gnome-keyring, eog, evolution-data-server, seahorse, gedit-common, openjdk-6-jre, openjdk-6-jre-headless, gnome-nettool, libgdict-1.0-6
`-

Many of those packages I compiled myself or put them on hold (I don't want
gnome 3, for instance) and I would have expected that the part

,-
| It can also save/restore no longer downloadable packages using dpkg-repack.
`-

would hold here, as that's precisely the case of packages not being
available in the archives.

Do I have to make anything manually? I thought that apt-clone would automate
completely the job, without manual intervention.

In other words, what's the expected usage, workflow? I have not yet read the
source for apt-clone, but I would not think that that should be expected
from the regular users.


Thanks,
Rogério Brito.

Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (101, 'experimental')
Architecture: i386 (x86_64)

Kernel: Linux 3.1.0-rc4-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.utf-8, LC_CTYPE=pt_BR.utf-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages apt-clone depends on:
ii lsb-release 3.2-28
ii python 2.6.7-3
ii python-apt 0.8.0
ii python-argparse 1.2.1-1
ii python2.6 2.6.7-4
ii python2.7 2.7.2-5

Versions of packages apt-clone recommends:
ii dpkg-repack 1.35

apt-clone suggests no packages.


Rogério Brito : rbrito@{ime.usp.br,gmail.com} : GPG key 4096R/BCFCAAAA
http://rb.doesntexist.org : Packages for LaTeX : algorithms.berlios.de
DebianQA: http://qa.debian.org/developer.php?...ime.usp.br



To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
email Follow the discussionReplies 1 replyReplies Make a reply

Replies

#1 Michael Vogt
September 19th, 2011 - 04:30 am ET | Report spam
On Fri, Sep 16, 2011 at 07:24:51PM -0300, Rog??rio Brito wrote:
Package: apt-clone
Version: 0.2
Severity: normal



Thanks for your bugreport.

I believe that I've hit a major usability problem with apt-clone, but I am
keeping here the severity as normal.

After reading the help output of apt-clone, it says:

,-[ apt-clone -h ]
| usage: apt-clone [-h] [--debug] {info,restore,clone,restore-new-distro} ...
| (...)
| clone create a clone-file from <source> (usually '/') to <destination>
`-

Unfortunately, using what would be obvious from the command line, I get:

,-[ apt-clone clone / /tmp/foo ]
| usage: apt-clone [-h] [--debug] {info,restore,clone,restore-new-distro} ...
| apt-clone: error: unrecognized arguments: /tmp/foo
`-

I that case, I have expected / to act as <source> and /tmp/foo to act as
<destination>, just like the help output.



Indeed you are right, the current help is bad. It used to be like this
(source destination) but because most people will use "/" as source
anyway that is the default now and only destination needs to be
specified. apt-lone clone --help will show it correctly:

$ apt-clone clone --help
usage: apt-clone clone [-h] [--source SOURCE] [--with-dpkg-repack]
[--with-dpkg-status]
destination

positional arguments:
destination

optional arguments:
-h, --help show this help message and exit
bundle
(that can make it rather big)
useful for
debugging

But obviously this needs correcting in the main help text too.

Trying further, when I omitted /tmp/foo from my command line, I got:

,-[ apt-clone clone / ]
| not installable: libgp11-0, mnsymbol, skype, libfaac0, libzen0, libavformat52, handbrake-gtk, libnotify1, monkeys-audio, youtube-dl, lame, e4rat, aacgain, xbmc, libmac2, xbmc-data, sgml-base, libspectre1, pst-utils, libdvdcss2, libpst4, lucida, mplayer2, linux-image-2.6.38-2-amd64, libmediainfo0, libavutil50, xbmc-bin, linux-image-2.6.39-2-amd64, libmkv0, tsmuxer, libavcodec52, debian-multimedia-keyring, mencoder, minionpro, libcryptui0, libmp3lame0, pdf2djvu, xbmc-skin-confluence, libgdata7, mediainfo
| version mismatch: qmail, baobab, gedit, gnome-system-log, gnome-system-monitor, zenity, libnm-glib-vpn1, nautilus-actions, default-jre, network-manager, gnome-terminal-data, gnome-search-tool, default-jre-headless, libgnome-keyring0, gnome-dictionary, gnome-terminal, gnome-utils-common, gnome-screenshot, libpam-gnome-keyring, openjdk-6-jre-lib, gnome-utils, gnome-keyring, eog, evolution-data-server, seahorse, gedit-common, openjdk-6-jre, openjdk-6-jre-headless, gnome-nettool, libgdict-1.0-6
`-

Many of those packages I compiled myself or put them on hold (I don't want
gnome 3, for instance) and I would have expected that the part

,-
| It can also save/restore no longer downloadable packages using dpkg-repack.
`-

would hold here, as that's precisely the case of packages not being
available in the archives.



Indeed. Because this makes the clone archive usually really big its
not done by default. It needs "--with-dpkg-repack" on the
commandline. I added a note about this now to the output if this
option is not given.

Do I have to make anything manually? I thought that apt-clone would automate
completely the job, without manual intervention.



It should do, indeed. Its just that the commandline switch is a bit
hidden.

In other words, what's the expected usage, workflow? I have not yet read the
source for apt-clone, but I would not think that that should be expected
from the regular users.



No, it should not be expected from the user. The envisioned workflow
is:
$ apt-clone clone /tmp/mybox
$ sudo apt-clone restore /tmp/mybox.apt-clone.tar.gz --destination=/tmp/test-chroot
(or no --destination then it will simply use the main system instead
of creating a chroot and cloning the system there).

I commited some improvements to the text now to:
http://bazaar.launchpad.net/~ubuntu-core-dev/apt-clone/trunk/revision/85?start_revidÂ…

Feedback is welcome.

Thanks,
Michael




Thanks,
Rog??rio Brito.

Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (101, 'experimental')
Architecture: i386 (x86_64)

Kernel: Linux 3.1.0-rc4-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.utf-8, LC_CTYPE=pt_BR.utf-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages apt-clone depends on:
ii lsb-release 3.2-28
ii python 2.6.7-3
ii python-apt 0.8.0
ii python-argparse 1.2.1-1
ii python2.6 2.6.7-4
ii python2.7 2.7.2-5

Versions of packages apt-clone recommends:
ii dpkg-repack 1.35

apt-clone suggests no packages.


Rog??rio Brito : rbrito@{ime.usp.br,gmail.com} : GPG key 4096R/BCFCAAAA
http://rb.doesntexist.org : Packages for LaTeX : algorithms.berlios.de
DebianQA: http://qa.debian.org/developer.php?...ime.usp.br







To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact

Similar topics