]> git.pld-linux.org Git - packages/rpm-build-tools.git/blob - builder.sh
- full help,
[packages/rpm-build-tools.git] / builder.sh
1 #!/bin/bash
2
3
4 PATH="/bin:/usr/bin:/usr/sbin:/sbin:/usr/X11R6/bin"
5
6 SPECFILE=""
7 BE_VERBOSE=""
8
9 PATCHES=""
10 SOURCES=""
11 ICON=""
12 PACKAGE_RELEASE=""
13 PACKAGE_VERSION=""
14 PACKAGE_NAME=""
15
16 usage()
17 {
18 echo "\
19 Usage: builder [-V] [--version] [-a] [--as_anon] [-b] [--build]
20         [-d <cvsroot>] [--cvsroot <cvsroot>] [-g] [--get] [-h] [--help]
21         [-l <logfile>] [--logtofile <logfile>] [-q] [--quiet] 
22         [-v] [--verbose] <package>.spec
23
24         -V, --version   - output builder version
25         -a, --as_anon   - get files via pserver as cvs@cvs.pld.org.pl,
26         -b, --build     - get all files from CVS repo and build
27                           package from <package>.spec,
28         -d, --cvsroot   - setup \$CVSROOT,
29         -g, --get       - get <package>.spec and all relayted files from
30                           CVS repo,
31         -h, --help      - this message,
32         -l, --logtofile - log all to file,
33         -q, --quiet     - be quiet,
34         -v, --verbose   - be verbose,
35
36 "
37 }
38
39 parse_spec()
40 {
41     (echo "%dump"; cat $SPECFILE) > $SPECFILE.__
42
43     SOURCES="`rpm -bp $SPECFILE.__ 2>&1 | awk '/ SOURCE[0-9]+/ {print $3}'`"
44     PATCHES="`rpm -bp $SPECFILE.__ 2>&1 | awk '/ PATCH[0-9]+/ {print $3}'`"
45     ICON="`rpm -bp $SPECFILE.__ 2>&1 | awk '/^Icon:/ {print $2}' ${SPEC}`"
46     PACKAGE_NAME="`rpm -bp $SPECFILE.__ 2>&1 | awk '/ name/ {print $3}'`"
47     PACKAGE_VERSION="`rpm -bp $SPECFILE.__ 2>&1 | awk '/ PACKAGE_VERSION/ {print $3}'`"
48     PACKAGE_RELEASE="`rpm -bp $SPECFILE.__ 2>&1 | awk '/ PACKAGE_RELEASE/ {print $3}'`"
49
50     rm -f $SPECFILE.__
51
52     if [ "$BE_VERBOSE" != "" ]; then
53         echo -e "- Sources :\n  " $SOURCES
54         echo -e "- Patches :\n  " $PATCHES
55         if [ "$ICON" != ""
56         echo -e "- Icon    :\n  " $ICON
57         echo -e "- Name    : " $PACKAGE_NAME
58         echo -e "- Version : " $PACKAGE_VERSION
59         echo -e "- Release : " $PACKAGE_RELEASE
60     fi
61 }
62
63 get_spec()
64 {
65     echo "get_spec"
66 }
67
68 get_all_files()
69 {
70     echo "get_all_files"
71 }
72
73 build_package()
74 {
75     echo "build_package"
76 }
77
78 while test $# -gt 0 ; do
79     case "${1}" in
80         -V | --version )
81             shift ;;
82         -a | --as_anon )
83             shift ;;
84         -b | --build )
85             shift ;;
86         -d | --cvsroot )
87             shift ;;
88         -g | --get )
89             COMMAND="get"; shift ;;
90         -h | --help )
91             COMMAND="usage"; shift ;;
92         -l | --logtofile )
93             shift ;;
94         -q | --quiet )
95             shift ;;
96         -v | --verbose )
97             BE_VERBOSE="1"; shift ;;
98         * )
99             SPECFILE="${1}"; shift ;;
100     esac
101 done
102
103 case "$COMMAND" in
104     "build" )
105         if [ "$SPECFILE" != "" ]; then
106             get_spec;
107             parse_spec;
108             get_all_files;
109             build_package;
110         else
111             echo "ERROR: spec file name not specified.";
112             usage;
113         fi
114         ;;
115     "get" )
116         if [ "$SPECFILE" != "" ]; then
117             get_spec;
118             parse_spec;
119             get_all_files;
120         else
121             echo "ERROR: spec file name not specified.";
122             usage;
123         fi
124         ;;
125     "usage" )
126         usage;;
127 esac
This page took 0.066592 seconds and 4 git commands to generate.