Fix typos

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>
Catch SyntaxError in check_scripts

Rewrap this exception to ISError to avoid threat them as unexpected error.

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>
Add an example of description file in man page

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>
Handle exception for unknown repository

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>
Handle complex version number

Image version now accept a string of digit separated by dots and extra char as
a qualifier (~ or +).

Example:
1.2.3.4~dev < 1.2.3.4 < 1.2.3.4+dev

Old repositories are still compatible thanks to sqlite type affinity
(https://www.sqlite.org/faq.html#q3).

We use a package version comparison algorithm for image version comparison
inspired by Debian.

Seblu: Fix typos

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>
Change config parser to configobj

configobj keeps the order of options in config file, we don't need to use
OrderedDict.

Seblu: Sad :'(

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>
Allow to compress payload with different compressor

Compressors are specified in description file.
For example:

[compressor]
gzip = *
none = *.gz, *.bz2
bzip2 = rootfs*

This description file set gzip as default compressor, do not compress payload
which end with .gz and .bz2 and use bzip2 as compressor for payload matching
'rootfs*'

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>
Update repository version

Old repository are still usable.
Database changes:
Add is_min_version and image_format in image table.
Add repository table which contain database uuid, version and motd.

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>
Add a command to upgrade old repositories to the current version

The command 'upgrade_db' create a dummy repository (to the current version) and
add each images/payloads from the repository to upgrade. Symlinks are used to
avoid copy. Old database is still available in repository as db.bak.

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>
Add motd command

This command allow to display/edit the MOTD for a local repository

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>
Update list command, display is_min_version and format

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>
Update repo command, display repository uuid and version (if online)

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>
Update ignore file

Signed-off-by: Sébastien Luttringer <sebastien.luttringer@smartjog.com>