Smart Packs

Anders F Björklund afb at algonet.se
Mon Sep 1 13:47:35 PDT 2008


I added support for "packs" to Smart... Same as Yum's yumpack
or PackageKit's servicepack, these packs are package archives.

The idea is that you can package a couple of packages up as a
single file, and then install that - with dependencies solved.
The depends feature is not completed yet, but the archiving is.
It's given as a new parameter --pack to the download command :

$ smart download --pack zip unzip
Loading cache...
Updating cache...                                     ########## [100%]

Fetching packages...
-> http://se.archive.ubuntu.com/ubuntu/pool/main/u/unzip/ 
unzip_5.52-10ubuntu2_i386.deb
-> http://se.archive.ubuntu.com/ubuntu/pool/main/z/zip/ 
zip_2.32-1_i386.deb
zip_2.32-1_i386.deb                                   ########## [ 50%]
unzip_5.52-10ubuntu2_i386.deb                         ########## [100%]

Creating pack...
zip_2.32-1_i386.deb                                   ########## [ 50%]
unzip_5.52-10ubuntu2_i386.deb                         ########## [100%]

This creates the "pack", default filename being pack.tar but
that name can easily be changed with the --output parameter.
Normally no compression is needed/wanted, since the packages
within are compressed, but it can be gzipped or bzipped2 too.

To install it, you just give the path or url to the file name
just like you would with individual packages. It will expand:

$ smart install --dump pack.tar
Loading cache...
Updating cache...                                     ########## [100%]

Computing transaction...
gcc-4.2-base_4.2.3-2ubuntu7
libc6_2.7-10ubuntu3
libgcc1_1:4.2.3-2ubuntu7
unzip_5.52-10ubuntu2
zip_2.32-1

You can also create it with e.g. wget and tar if you prefer.
It works for all package formats and common tarball formats.

The missing feature is so that you can download a package
and all dependencies, except for those on a package list -
say for instance the ones available in the base install or
on the release CD. Something like --depends and --exclude ?

--anders




More information about the Smart mailing list