source: BLFS/gen_pkg_book.sh@ ecfb828

experimental
Last change on this file since ecfb828 was 26906e0, checked in by George Boudreau <georgeb@…>, 18 years ago

Added error msg

  • Property mode set to 100755
File size: 3.0 KB
Line 
1#!/bin/bash
2
3#
4# Read and parse the configuration parameters..
5#
6ConfigFile="configuration"
7while [ 0 ]; do
8 read || break 1
9
10 # Garbage collection
11 case ${REPLY} in
12 \#* | '') continue ;;
13 esac
14
15 case "${REPLY}" in
16 CONFIG_ALSA=* | \
17 CONFIG_GNOME-CORE=* | \
18 CONFIG_GNOME-FULL=* | \
19 CONFIG_KDE-CORE=* | \
20 CONFIG_KDE-FULL=* | \
21 CONFIG_KDE-KOFFICE=* | \
22 CONFIG_XORG7=* ) REPLY=${REPLY%=*} # Strip the trailing '=y' test.. unecessary
23 echo -n "${REPLY}"
24 if [[ $((++cntr)) > 1 ]]; then
25 echo " <<-- ERROR:: SELECT ONLY 1 PACKAGE AT A TIME, META-PACKAGE NOT SELECTED"
26 else
27 echo ""
28 optTARGET=$(echo $REPLY | cut -d "_" -f2 | tr [A-Z] [a-z])
29 fi
30 continue ;;
31
32 # Create global variables for these parameters.
33 optDependency=* | \
34 PRINT_SERVER=* | \
35 MAIL_SERVER=* | \
36 GHOSTSCRIPT=* | \
37 KBR5=* | \
38 X11=* | \
39 SUDO=* | \
40 TRACKING_DIR=* ) eval ${REPLY} # Define/set a global variable..
41 continue ;;
42 esac
43
44 if [[ "${REPLY}" =~ "^CONFIG_" ]]; then
45 echo -n "$REPLY"
46 if [[ $((++cntr)) > 1 ]]; then
47 echo " <<-- ERROR SELECT ONLY 1 PACKAGE AT A TIME, WILL NOT BUILD"
48 else
49 echo ""
50 optTARGET=$( echo $REPLY | sed -e 's@CONFIG_@@' -e 's@=y@@' )
51 fi
52 fi
53done <$ConfigFile
54if [[ $optTARGET = "" ]]; then
55 echo -e "\n>>> NO TARGET SELECTED.. applicaton terminated"
56 echo -e " Run <make> again and select a package to build\n"
57 exit 0
58fi
59
60#
61# Regenerate the META-package dependencies from the configuration file
62#
63rm -f libs/*.dep-MOD
64while [ 0 ]; do
65 read || break 1
66 case ${REPLY} in
67 \#* | '') continue ;;
68 esac
69
70 # Drop the "=y"
71 REPLY=${REPLY%=*}
72 if [[ "${REPLY}" =~ "^DEP_" ]]; then
73 META_PACKAGE=$(echo $REPLY | cut -d "_" -f2 | tr [A-Z] [a-z])
74 DEP_FNAME=$(echo $REPLY | cut -d "_" -f3)
75 echo "${DEP_FNAME}" >>libs/${META_PACKAGE}.dep-MOD
76 fi
77
78done <$ConfigFile
79#
80# Replace to 'old' dependency file with a new one.
81#
82for dst in `ls ./libs/*.dep-MOD 2>/dev/null`; do
83 cp -vf $dst ${dst%-MOD}
84done
85
86
87set -e
88declare TARGET=$optTARGET
89declare DEP_LEVEL=$optDependency
90declare PKGXML
91declare BLFS_XML
92declare VERBOSITY=1
93[[ -z $SUDO ]] && SUDO=y
94
95#---------------------
96# Constants
97source libs/constants.inc
98[[ $? > 0 ]] && echo -e "\n\tERROR: constants.inc did not load..\n" && exit
99
100#---------------------
101# Dependencies module
102source libs/func_dependencies
103[[ $? > 0 ]] && echo -e "\n\tERROR: func_dependencies did not load..\n" && exit
104
105#---------------------
106# parser module
107source libs/func_parser
108[[ $? > 0 ]] && echo -e "\n\tERROR: func_parser did not load..\n" && exit
109
110
111#------- MAIN --------
112if [[ ! -f packages ]] ; then
113 echo -e "\tNo packages file has been found.\n"
114 echo -e "\tExecution aborted.\n"
115 exit 1
116fi
117
118generate_dependency_tree
119generate_TARGET_xml
120generate_target_book
121create_build_scripts "${SUDO}"
Note: See TracBrowser for help on using the repository browser.