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
  --source SOURCE
  --with-dpkg-repack  add no longer downloadable package to the state
  bundle
                      (that can make it rather big)
  --with-dpkg-status  include full copy of dpkg-status file, mostly
  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=85

Feedback is welcome.

Thanks,
 Michael



 
> Thanks,
> Rog??rio Brito.
> 
> -- System Information:
> 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.
> 
> -- no debconf information
> 
> -- 
> 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?login=rbrito%40ime.usp.br
> 
> 



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to