Magellan Linux

Contents of /smage/trunk/include/mcore.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1657 - (show annotations) (download)
Thu Mar 10 21:46:18 2011 UTC (13 years, 2 months ago) by niro
File size: 3405 byte(s)
-do not automatically add --disable-nls to configure line if requested
1 # $Id$
2 # mcore specific functions
3
4 # some global includes
5 sminclude cleanutils mtools
6
7 # injects files to given path (defaults to /usr/bin)
8 # mcinjectfile file {/path/to/dest}
9 mcinjectfile()
10 {
11 local file
12 local dest
13
14 [[ -z $1 ]] && die "No etc file given"
15
16 file="${SMAGENAME%/*}/mcore/files/$1"
17 dest="$2"
18 if [[ -z $2 ]]
19 then
20 dest=/usr/bin
21 install -d ${BINDIR}/${dest} || die
22 fi
23
24 # install our configfile
25 install -m 0644 -o root -g root ${file} ${BINDIR}/${dest} || die
26 }
27
28 # injects executables to given path
29 # mcinjectexec exec {/path/to/dest}
30 mcinjectexec()
31 {
32 local file
33 local dest
34
35 [[ -z $1 ]] && die "No etc file given"
36
37 file="${SMAGENAME%/*}/mcore/files/$1"
38 dest="$2"
39 if [[ -z $2 ]]
40 then
41 dest=/usr/bin
42 install -d ${BINDIR}/${dest} || die
43 fi
44
45 # install our configfile
46 install -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die
47 }
48
49 # injects a patch to the sourcecode
50 # - basically the same like mpatch() but uses patches from ${SMAGENAME%/*}/mcore/files
51 # mcinjectpatch patch
52 mcinjectpatch()
53 {
54 local PATCHOPTS
55 local PATCHFILE
56 local i
57
58 PATCHOPTS=$1
59 PATCHFILE=$2
60
61 if [[ -z $2 ]]
62 then
63 PATCHFILE=$1
64
65 ## patch level auto-detection, get patch level
66 for ((i=0; i < 10; i++))
67 do
68 patch --dry-run -Np${i} -i ${SMAGENAME%/*}/mcore/files/${PATCHFILE} > /dev/null
69 if [[ $? = 0 ]]
70 then
71 PATCHOPTS="-Np${i}"
72 break
73 fi
74 done
75 fi
76
77 echo -e "${COLBLUE}*** ${COLGREEN}Applying mCore patch '${PATCHFILE}'${COLDEFAULT}"
78 patch "${PATCHOPTS}" -i ${SMAGENAME%/*}/mcore/files/${PATCHFILE}
79 }
80
81 #############################
82 ##### compile functions ####
83 #############################
84
85 # respect multilib!
86 if [[ -z $(typeset -f oldconfigure) ]]
87 then
88 mc_old_mconfigure=mc_old$(typeset -f mconfigure)
89 else
90 mc_old_mconfigure=mc_old$(typeset -f oldmconfigure)
91 fi
92 eval ${mc_old_mconfigure}
93 mconfigure()
94 {
95 local myconf
96 local configurefile
97
98 # get configure instructions from smage dir
99 if [[ -f ${SMAGENAME%/*}/mcore/${PNAME}-${PVER}-${PBUILD}.cfg ]]
100 then
101 # version specific configure files
102 configurefile=${SMAGENAME%/*}/mcore/${PNAME}-${PVER}-${PBUILD}.cfg
103 elif [[ -f ${SMAGENAME%/*}/mcore/${PNAME}.cfg ]]
104 then
105 # generic configure files for a package
106 configurefile=${SMAGENAME%/*}/mcore/${PNAME}.cfg
107 else
108 configurefile=""
109 fi
110
111 # now read the content
112 if [[ -f ${configurefile} ]]
113 then
114 echo -e "${COLBLUE}*** ${COLGREEN}Using configure info from ${configurefile}${COLDEFAULT}"
115 local line
116 while read line
117 do
118 # ignore empty and commeted lines
119 case "${line}" in
120 \#*|"") continue ;;
121 esac
122
123 echo -e " adding ${COLGREEN}${line}${COLDEFAULT} to MCORE_CONFIGURE_OPTS"
124 MCORE_CONFIGURE_OPTS+=" ${line}"
125 done < ${configurefile}
126 fi
127
128 case "${MCORE_NO_DISABLE_NLS}" in
129 1|true|TRUE|yes|YES) ;;
130 *) myconf="${myconf} --disable-nls" ;;
131 esac
132
133 mc_oldmconfigure ${myconf} $@ ${MCORE_CONFIGURE_OPTS} || die
134 }
135
136 # get custom mcore functions
137 if [[ -f ${SMAGENAME%/*}/mcore/${PNAME}-${PVER}-${PBUILD}.custom ]]
138 then
139 echo -e "${COLBLUE}*** ${COLGREEN}Using custom build info from ${SMAGENAME%/*}/mcore/${PNAME}-${PVER}-${PBUILD}.custom${COLDEFAULT}"
140 source ${SMAGENAME%/*}/mcore/${PNAME}-${PVER}-${PBUILD}.custom
141 elif [[ -f ${SMAGENAME%/*}/mcore/${PNAME}.custom ]]
142 then
143 echo -e "${COLBLUE}*** ${COLGREEN}Using custom build info from ${SMAGENAME%/*}/mcore/${PNAME}.custom${COLDEFAULT}"
144 source ${SMAGENAME%/*}/mcore/${PNAME}.custom
145 fi