24 |
exit 1 |
exit 1 |
25 |
fi |
fi |
26 |
|
|
27 |
|
USE_UNIONFS=false |
28 |
|
|
29 |
BUILDROOT=/mnt/BUILDROOT-"${CURARCH}"-NEXT |
BUILDROOT=/mnt/BUILDROOT-"${CURARCH}"-NEXT |
30 |
|
|
31 |
BUILDROOT_CHROOT=${BUILDROOT}/chroot |
if [[ ${USE_UNIONFS} = true ]] |
32 |
BUILDROOT_WRITEABLE=${BUILDROOT}/writeable |
then |
33 |
BUILDROOT_LAYEREDFS=${BUILDROOT}/layeredfs |
BUILDROOT_CHROOT=${BUILDROOT}/chroot |
34 |
|
BUILDROOT_WRITEABLE=${BUILDROOT}/writeable |
35 |
|
BUILDROOT_LAYEREDFS=${BUILDROOT}/layeredfs |
36 |
|
fi |
37 |
|
|
38 |
SMAGEDIR=$(dirname ${SMAGEFILE}) |
SMAGEDIR=$(dirname ${SMAGEFILE}) |
39 |
MD5DIR=${SMAGEDIR}/md5 |
MD5DIR=${SMAGEDIR}/md5 |
70 |
|
|
71 |
trap_exit() |
trap_exit() |
72 |
{ |
{ |
73 |
is_loc_mounted "${BUILDROOT_LAYEREDFS}/dev" && sudo umount ${BUILDROOT_LAYEREDFS}/dev |
is_loc_mounted "${BUILDROOT}/dev" && sudo umount ${BUILDROOT}/dev |
74 |
is_loc_mounted "${BUILDROOT_LAYEREDFS}/proc" && sudo umount ${BUILDROOT_LAYEREDFS}/proc |
is_loc_mounted "${BUILDROOT}/proc" && sudo umount ${BUILDROOT}/proc |
75 |
is_loc_mounted "${BUILDROOT_LAYEREDFS}/sys" && sudo umount ${BUILDROOT_LAYEREDFS}/sys |
is_loc_mounted "${BUILDROOT}/sys" && sudo umount ${BUILDROOT}/sys |
76 |
is_loc_mounted "${BUILDROOT_LAYEREDFS}" && sudo umount ${BUILDROOT_LAYEREDFS} |
if [[ ${USE_UNIONFS} = true ]] |
77 |
|
then |
78 |
|
is_loc_mounted "${BUILDROOT_LAYEREDFS}" && sudo umount ${BUILDROOT_LAYEREDFS} |
79 |
|
fi |
80 |
echo "add2svn-next aborted" |
echo "add2svn-next aborted" |
81 |
exit 1 |
exit 1 |
82 |
} |
} |
93 |
|
|
94 |
# evaluate the value |
# evaluate the value |
95 |
source ${file} $> /dev/null |
source ${file} $> /dev/null |
96 |
|
|
97 |
|
# fix pcategorie -> pcat |
98 |
|
if [[ -z ${PCAT} ]] |
99 |
|
then |
100 |
|
[[ -n ${PCATEGORIE} ]] && PCAT="${PCATEGORIE}" |
101 |
|
fi |
102 |
|
|
103 |
eval value=\$$(echo ${var}) |
eval value=\$$(echo ${var}) |
104 |
echo "${value}" |
echo "${value}" |
105 |
} |
} |
118 |
export -f ${function} |
export -f ${function} |
119 |
} |
} |
120 |
|
|
121 |
CURPCATEGORIE=$(get_value_from_file PCATEGORIE ${SMAGEFILE}) |
CURPCAT=$(get_value_from_file PCAT ${SMAGEFILE}) |
122 |
#INSTALLDB_BUILDROOT=$(get_value_from_file INSTALLDB ${BUILDROOT}/etc/mage.rc) |
if [[ ${USE_UNIONFS} = true ]] |
123 |
INSTALLDB_BUILDROOT=$(get_value_from_file INSTALLDB ${BUILDROOT}/chroot/etc/mage.rc) |
then |
124 |
|
INSTALLDB_BUILDROOT=$(get_value_from_file INSTALLDB ${BUILDROOT}/chroot/etc/mage.rc) |
125 |
|
else |
126 |
|
INSTALLDB_BUILDROOT=$(get_value_from_file INSTALLDB ${BUILDROOT}/etc/mage.rc) |
127 |
|
fi |
128 |
CURSPLITPACKAGES="$(get_value_from_file SPLIT_PACKAGES ${SMAGEFILE})" |
CURSPLITPACKAGES="$(get_value_from_file SPLIT_PACKAGES ${SMAGEFILE})" |
129 |
|
|
130 |
# set some proper traps |
# set some proper traps |
131 |
trap "trap_exit" SIGINT SIGQUIT |
trap "trap_exit" SIGINT SIGQUIT EXIT |
132 |
|
|
133 |
# install layeredfs direcories |
if [[ ${USE_UNIONFS} = true ]] |
134 |
[[ ! -d ${BUILDROOT_CHROOT} ]] && sudo install -d ${BUILDROOT_CHROOT} |
then |
135 |
[[ ! -d ${BUILDROOT_WRITEABLE} ]] && sudo install -d ${BUILDROOT_WRITEABLE} |
# install layeredfs direcories |
136 |
[[ ! -d ${BUILDROOT_LAYEREDFS} ]] && sudo install -d ${BUILDROOT_LAYEREDFS} |
[[ ! -d ${BUILDROOT_CHROOT} ]] && sudo install -d ${BUILDROOT_CHROOT} |
137 |
|
[[ ! -d ${BUILDROOT_WRITEABLE} ]] && sudo install -d ${BUILDROOT_WRITEABLE} |
138 |
# mount layeredfs |
[[ ! -d ${BUILDROOT_LAYEREDFS} ]] && sudo install -d ${BUILDROOT_LAYEREDFS} |
139 |
sudo mount -t unionfs -o dirs=${BUILDROOT_WRITEABLE}=rw:${BUILDROOT_CHROOT}=ro unionfs ${BUILDROOT_LAYEREDFS} |
|
140 |
BUILDROOT=${BUILDROOT_LAYEREDFS} |
# mount layeredfs |
141 |
|
sudo mount -t unionfs -o dirs=${BUILDROOT_WRITEABLE}=rw:${BUILDROOT_CHROOT}=ro unionfs ${BUILDROOT_LAYEREDFS} |
142 |
sudo mount -t proc proc ${BUILDROOT_LAYEREDFS}/proc |
BUILDROOT=${BUILDROOT_LAYEREDFS} |
143 |
sudo mount -t sysfs sysfs ${BUILDROOT_LAYEREDFS}/sys |
fi |
|
sudo mount -o bind /dev ${BUILDROOT_LAYEREDFS}/dev |
|
144 |
|
|
145 |
|
sudo mount -t proc proc ${BUILDROOT}/proc |
146 |
|
sudo mount -t sysfs sysfs ${BUILDROOT}/sys |
147 |
|
sudo mount -o bind /dev ${BUILDROOT}/dev |
148 |
|
|
149 |
# abort if the package is already installed in BUILDROOT |
# abort if the package is already installed in BUILDROOT |
150 |
if [[ -z ${CURSPLITPACKAGES} ]] |
if [[ -z ${CURSPLITPACKAGES} ]] |
151 |
then |
then |
152 |
if [[ -d ${BUILDROOT}/${INSTALLDB_BUILDROOT}/${CURPCATEGORIE}/${CURPNAME}-${CURPVER}-${CURPBUILD} ]] |
if [[ -d ${BUILDROOT}/${INSTALLDB_BUILDROOT}/${CURPCAT}/${CURPNAME}-${CURPVER}-${CURPBUILD} ]] |
153 |
then |
then |
154 |
echo "Package '${CURPCATEGORIE}/${CURPNAME}-${CURPVER}-${CURPBUILD}' already installed in ${BUILDROOT}. Aborting!" |
echo "Package '${CURPCAT}/${CURPNAME}-${CURPVER}-${CURPBUILD}' already installed in ${BUILDROOT}. Aborting!" |
155 |
exit 1 |
exit 1 |
156 |
fi |
fi |
157 |
else |
else |
158 |
for i in ${CURSPLITPACKAGES} |
for i in ${CURSPLITPACKAGES} |
159 |
do |
do |
160 |
if [[ -d ${BUILDROOT}/${INSTALLDB_BUILDROOT}/${CURPCATEGORIE}/${i}-${CURPVER}-${CURPBUILD} ]] |
if [[ -d ${BUILDROOT}/${INSTALLDB_BUILDROOT}/${CURPCAT}/${i}-${CURPVER}-${CURPBUILD} ]] |
161 |
then |
then |
162 |
SPLITINSTALLED+=" ${CURPCATEGORIE}/${i}-${CURPVER}-${CURPBUILD}" |
SPLITINSTALLED+=" ${CURPCAT}/${i}-${CURPVER}-${CURPBUILD}" |
163 |
fi |
fi |
164 |
done |
done |
165 |
if [[ ! -z ${SPLITINSTALLED} ]] |
if [[ ! -z ${SPLITINSTALLED} ]] |
166 |
then |
then |
167 |
echo "Following SPLIT-Packages are installled from ${CURPCATEGORIE}/${CURPNAME}-${CURPVER}-${CURPBUILD} in ${BUILDROOT}:" |
echo "Following SPLIT-Packages are installled from ${CURPCAT}/${CURPNAME}-${CURPVER}-${CURPBUILD} in ${BUILDROOT}:" |
168 |
for i in ${SPLITINSTALLED} |
for i in ${SPLITINSTALLED} |
169 |
do |
do |
170 |
echo " ${i}" |
echo " ${i}" |
213 |
#echo 'echo PATH=\${PATH};read' >> ${BUILDROOT}/.installrc |
#echo 'echo PATH=\${PATH};read' >> ${BUILDROOT}/.installrc |
214 |
#echo 'cd /var/cache/mage/smage/trunk/${REPO}' >> ${BUILDROOT}/.installrc |
#echo 'cd /var/cache/mage/smage/trunk/${REPO}' >> ${BUILDROOT}/.installrc |
215 |
echo 'cd /var/cache/mage/smage/branches/magellan-next/${REPO}' >> ${BUILDROOT}/.installrc |
echo 'cd /var/cache/mage/smage/branches/magellan-next/${REPO}' >> ${BUILDROOT}/.installrc |
216 |
|
echo 'svn update distribution' >> ${BUILDROOT}/.installrc |
217 |
echo 'svn update include' >> ${BUILDROOT}/.installrc |
echo 'svn update include' >> ${BUILDROOT}/.installrc |
218 |
echo 'svn update ${CURPNAME}' >> ${BUILDROOT}/.installrc |
echo 'svn update ${CURPNAME}' >> ${BUILDROOT}/.installrc |
219 |
echo 'USE_SRCTARBALL=${USE_SRCTARBALL}' >> ${BUILDROOT}/.installrc |
echo 'USE_SRCTARBALL=${USE_SRCTARBALL}' >> ${BUILDROOT}/.installrc |
295 |
[[ -d /var/cache/mage/sources/${CURPNAME} ]] && rm -rf /var/cache/mage/sources/${CURPNAME} |
[[ -d /var/cache/mage/sources/${CURPNAME} ]] && rm -rf /var/cache/mage/sources/${CURPNAME} |
296 |
|
|
297 |
# umount layeredfs |
# umount layeredfs |
298 |
is_loc_mounted "${BUILDROOT_LAYEREDFS}/dev" && sudo umount ${BUILDROOT_LAYEREDFS}/dev |
is_loc_mounted "${BUILDROOT}/dev" && sudo umount ${BUILDROOT}/dev |
299 |
is_loc_mounted "${BUILDROOT_LAYEREDFS}/proc" && sudo umount ${BUILDROOT_LAYEREDFS}/proc |
is_loc_mounted "${BUILDROOT}/proc" && sudo umount ${BUILDROOT}/proc |
300 |
is_loc_mounted "${BUILDROOT_LAYEREDFS}/sys" && sudo umount ${BUILDROOT_LAYEREDFS}/sys |
is_loc_mounted "${BUILDROOT}/sys" && sudo umount ${BUILDROOT}/sys |
301 |
is_loc_mounted "${BUILDROOT_LAYEREDFS}" && sudo umount ${BUILDROOT_LAYEREDFS} |
if [[ ${USE_UNIONFS} = true ]] |
302 |
|
then |
303 |
|
is_loc_mounted "${BUILDROOT_LAYEREDFS}" && sudo umount ${BUILDROOT_LAYEREDFS} |
304 |
|
fi |
305 |
|
|
306 |
# if we don't break before; all things are right - regardless if $? is not zero |
# if we don't break before; all things are right - regardless if $? is not zero |
307 |
# because some things like src-pkg creation may be disabled |
# because some things like src-pkg creation may be disabled |