~lool/linaro-image-tools/lp-711573

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/usr/bin/python
# Copyright (C) 2010, 2011 Linaro
#
# Author: James Westby <james.westby@linaro.org>
#
# This file is part of Linaro Image Tools.
#
# Linaro Image Tools is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# Linaro Image Tools is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with Linaro Image Tools; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
# USA.

import argparse
import logging
import sys

from hwpack.builder import ConfigFileMissing, HardwarePackBuilder


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "CONFIG_FILE",
        help="The configuration file to take the hardware pack information "
        "from.")
    parser.add_argument(
        "VERSION", help="The version of the hardware pack to create.")
    parser.add_argument(
        "--local-deb", action="append", dest="local_debs", default=[],
        metavar="LOCAL_DEB",
        help=("Include LOCAL_DEB in the hardware pack, even if it's an older "
              "version than a package that would be otherwise installed.  "
              "Can be used more than once."))
    parser.add_argument("--debug", action="store_true")
    args = parser.parse_args()
    ch = logging.StreamHandler()
    ch.setLevel(logging.INFO)
    formatter = logging.Formatter("%(message)s")
    ch.setFormatter(formatter)
    logger = logging.getLogger("hwpack")
    logger.setLevel(logging.INFO)
    logger.addHandler(ch)
    if args.debug:
        ch.setLevel(logging.DEBUG)
        formatter = logging.Formatter(
            "%(asctime)s - %(name)s - %(levelname)s - %(message)s")
        ch.setFormatter(formatter)
        logger.setLevel(logging.DEBUG)
    try:
        builder = HardwarePackBuilder(
            args.CONFIG_FILE, args.VERSION, args.local_debs)
    except ConfigFileMissing, e:
        sys.stderr.write(str(e) + "\n")
        sys.exit(1)
    builder.build()