Line 139... |
Line 139... |
139 |
|
139 |
|
140 |
p=`echo ${str} | grep -oP ".*\.mga6"`
|
140 |
p=`echo ${str} | grep -oP ".*\.mga6"`
|
141 |
echo "Mageia-6-${arch} ${p}"
|
141 |
echo "Mageia-6-${arch} ${p}"
|
142 |
}
|
142 |
}
|
143 |
|
143 |
|
- |
|
144 |
#################################
|
- |
|
145 |
# BEGIN HERE #
|
- |
|
146 |
#################################
|
144 |
# Checking arguments (rpm_list and iso file and eventually lang)
|
147 |
# Checking arguments (rpm_list and iso file and eventually lang)
|
145 |
[[ ($# -lt 1) || ($# -gt 2) ]] && echo \
|
148 |
[[ ($# -lt 1) || ($# -gt 2) ]] && echo \
|
146 |
"Usage: $0 ARGS
|
149 |
"Usage: $0 ARGS
|
147 |
--iso-file, -i Mageia-xxx-xxxxxx-xxx.iso (mandatory)
|
150 |
--iso-file, -i Mageia-xxx-xxxxxx-xxx.iso (mandatory)
|
148 |
--lang, -l Language for installation (optional)
|
151 |
--lang, -l Language for installation (optional)
|
Line 168... |
Line 171... |
168 |
# Directories
|
171 |
# Directories
|
169 |
actualDir=$(pwd)
|
172 |
actualDir=$(pwd)
|
170 |
RPMS_DIR=$(pwd)"/rpms"
|
173 |
RPMS_DIR=$(pwd)"/rpms"
|
171 |
[[ -d ${RPMS_DIR} ]] && rm -rf ${RPMS_DIR}
|
174 |
[[ -d ${RPMS_DIR} ]] && rm -rf ${RPMS_DIR}
|
172 |
mkdir ${RPMS_DIR}
|
175 |
mkdir ${RPMS_DIR}
|
173 |
# Retreiving rpm_list
|
176 |
# Retreiving rpm_lists
|
174 |
rpm_needed=`rpm -qa`
|
177 |
rpm_need_by_alcasar=`rpm -qa`
|
- |
|
178 |
rpm_need_by_mageia=`cat minimal-rpm-list`
|
175 |
|
179 |
|
176 |
# official and new dirs
|
180 |
# official and new dirs
|
177 |
mageiaNewDir=/tmp/mageia_new
|
181 |
mageiaNewDir=/tmp/mageia_new
|
178 |
mageiaOfficialDir=/tmp/mageia_official
|
182 |
mageiaOfficialDir=/tmp/mageia_official
|
179 |
|
183 |
|
Line 191... |
Line 195... |
191 |
[[ -d ${mageiaNewDir} ]] && rm -rf ${mageiaNewDir}
|
195 |
[[ -d ${mageiaNewDir} ]] && rm -rf ${mageiaNewDir}
|
192 |
mkdir ${mageiaNewDir}
|
196 |
mkdir ${mageiaNewDir}
|
193 |
|
197 |
|
194 |
# Copying main files except core and nonfree directories
|
198 |
# Copying main files except core and nonfree directories
|
195 |
echo "Extracting base image..."
|
199 |
echo "Extracting base image..."
|
196 |
cd /tmp/mageia_official && \
|
200 |
cd $mageiaOfficialDir && \
|
197 |
tar cf - --exclude=${arch}/media . | (cd $mageiaNewDir && tar xf - ) && cd "${actualDir}"
|
201 |
tar cf - --exclude=${arch}/media . | (cd $mageiaNewDir && tar xf - ) && cd "${actualDir}"
|
198 |
|
202 |
|
199 |
# Creating new directories core and nonfree and dir for alcasar stufs
|
203 |
# Creating new directories core and nonfree and dir for alcasar stufs
|
200 |
mkdir -p ${mageiaNewDir}/${arch}/{media/{core,nonfree},install/alcasar}
|
204 |
mkdir -p ${mageiaNewDir}/${arch}/{media/{core,nonfree},install/alcasar}
|
201 |
|
205 |
|
Line 214... |
Line 218... |
214 |
countNonFree=0
|
218 |
countNonFree=0
|
215 |
|
219 |
|
216 |
# Copying the RPM in core and nonfree and clearing the plop.idx file
|
220 |
# Copying the RPM in core and nonfree and clearing the plop.idx file
|
217 |
echo "Copying RPMS in ISO ..."
|
221 |
echo "Copying RPMS in ISO ..."
|
218 |
> ${plopFilePath}
|
222 |
> ${plopFilePath}
|
219 |
total=`echo $rpm_needed | wc -w`
|
223 |
total=`echo $rpm_need_by_mageia | wc -w`
|
220 |
|
- |
|
221 |
# Selecting rpm
|
224 |
# Selecting & copying of rpm need by Mageia
|
222 |
for rpm in ${rpm_needed}; do
|
225 |
for rpm in ${rpm_need_by_mageia}; do
|
223 |
let percent="${count} * 100 / ${total}"
|
226 |
let percent="${count} * 100 / ${total}"
|
224 |
print_percentage ${percent}
|
227 |
print_percentage ${percent}
|
225 |
# Retreiving output of ls in directories
|
228 |
# Retreiving output of ls in directories
|
226 |
fileInCore=$(ls ${coreDir} | grep "^${rpm}")
|
229 |
fileInCore=$(ls ${coreDir} | grep "^${rpm}")
|
227 |
fileInNonFree=$(ls ${nonFreeDir} | grep "^${rpm}")
|
230 |
fileInNonFree=$(ls ${nonFreeDir} | grep "^${rpm}")
|
228 |
# If present in core, copying in core_new
|
231 |
# If present in core, copying in core_new
|
229 |
if [[ ! -z ${fileInCore} ]]; then
|
232 |
if [[ ! -z ${fileInCore} ]]; then
|
230 |
# Copying RPM
|
233 |
# Copying RPM
|
231 |
cp "${coreDir}/${fileInCore}" ${coreDirNew}
|
234 |
cp "${coreDir}/${fileInCore}" ${coreDirNew}
|
232 |
countCore=$(expr ${countCore} + 1)
|
235 |
countCore=$(expr ${countCore} + 1)
|
233 |
# Updating the plop.idx
|
236 |
# Updating the plop.idx
|
234 |
purifyRpmName ${rpm} ${arch} >> ${plopFilePath}
|
237 |
purifyRpmName ${rpm} ${arch} >> ${plopFilePath}
|
235 |
# If present in nonfree, copying in nonfree_new
|
238 |
# if present in nonfree, copying in nonfree_new
|
236 |
elif [[ ! -z ${fileInNonFree} ]]; then
|
239 |
elif [[ ! -z ${fileInNonFree} ]]; then
|
237 |
# Copying RPM
|
240 |
# Copying RPM
|
238 |
cp "${nonFreeDir}/${fileInNonFree}" ${nonFreeDirNew}
|
241 |
cp "${nonFreeDir}/${fileInNonFree}" ${nonFreeDirNew}
|
239 |
countNonFree=$(expr ${countNonFree} + 1)
|
242 |
countNonFree=$(expr ${countNonFree} + 1)
|
240 |
# Updating the plop.idx
|
243 |
# Updating the plop.idx
|
241 |
purifyRpmName ${rpm} ${arch} >> ${plopFilePath}
|
244 |
purifyRpmName ${rpm} ${arch} >> ${plopFilePath}
|
242 |
else
|
245 |
else
|
243 |
# we need to download it and to copy on ALCASAR special RPM tarball
|
- |
|
244 |
# if RPM name is also in core/nonfree, we need to copying it in core/nonfree
|
- |
|
245 |
# be carefull with kernel (ISO must boot on the original one)
|
- |
|
246 |
url=$(urpmq --ignorearch --sources ${rpm} | grep 'updates\|release' | uniq)
|
- |
|
247 |
wget -P "${RPMS_DIR}" "${url}" --quiet
|
- |
|
248 |
short_name=`rpm -q $rpm --qf "%{NAME}\n"`
|
246 |
echo "$rpm not found"
|
249 |
# echo "$count - $countCore - $countNonFree : $rpm not in core/update - shortame = $short_name"
|
- |
|
250 |
#read a
|
- |
|
251 |
cp ${RPMS_DIR}/${rpm}.${arch}.rpm ${coreDirNew}
|
- |
|
252 |
fi
|
247 |
fi
|
253 |
count=$(expr ${count} + 1)
|
248 |
count=$(expr ${count} + 1)
|
254 |
done
|
249 |
done
|
255 |
|
- |
|
256 |
# Sorting the plop file alphabetically
|
250 |
# Sorting the plop file alphabetically
|
257 |
cat ${plopFilePath} | sort > /tmp/tmpFileMageia && mv /tmp/tmpFileMageia ${plopFilePath}
|
251 |
cat ${plopFilePath} | sort > /tmp/tmpFileMageia && mv /tmp/tmpFileMageia ${plopFilePath}
|
- |
|
252 |
# Informations
|
- |
|
253 |
echo "$count RPMs copied (${countCore} from core and ${countNonFree} from nonfree)"
|
- |
|
254 |
echo "Hit a Key to download complemmentary RPMs"
|
- |
|
255 |
read a
|
258 |
|
256 |
|
- |
|
257 |
count=0
|
- |
|
258 |
total=`echo $rpm_need_by_alcasar | wc -w`
|
- |
|
259 |
# Selecting & copying of rpm need by alcasar
|
- |
|
260 |
for rpm in ${rpm_need_by_alcasar}; do
|
- |
|
261 |
let percent="${count} * 100 / ${total}"
|
- |
|
262 |
print_percentage ${percent}
|
- |
|
263 |
# Retreiving output of ls in directories
|
- |
|
264 |
fileInCore=$(ls ${coreDir} | grep "^${rpm}")
|
- |
|
265 |
fileInNonFree=$(ls ${nonFreeDir} | grep "^${rpm}")
|
- |
|
266 |
# we need to download icomplementary RPMS (that aren't in core nor in nonfree)
|
- |
|
267 |
if [ -z ${fileInCore} ] && [ -z ${fileInNonFree} ]; then
|
- |
|
268 |
url=$(urpmq --ignorearch --sources ${rpm} | grep 'updates\|release' | uniq)
|
- |
|
269 |
wget -P "${RPMS_DIR}" "${url}" --quiet
|
- |
|
270 |
short_name=`rpm -q $rpm --qf "%{NAME}\n"`
|
- |
|
271 |
fi
|
- |
|
272 |
count=$(expr ${count} + 1)
|
- |
|
273 |
done
|
- |
|
274 |
tar -cvf ${actualDir}/alcasar.tar.gz ${RPMS_DIR}/
|
- |
|
275 |
cp ${actualDir}/alcasar.tar.gz ${mageiaNewDir}/${arch}/install/alcasar
|
259 |
# Informations
|
276 |
# Informations
|
260 |
echo "${countCore} files kept from core"
|
277 |
echo "$count complementary RPMs copied"
|
261 |
echo "${countNonFree} files kept from nonfree"
|
278 |
echo "Hit a Key to create the ISO file"
|
- |
|
279 |
read a
|
262 |
|
280 |
|
263 |
# Copying customized files
|
281 |
# Copying customized files
|
264 |
echo "Copying customized files..."
|
282 |
echo "Copying customized files..."
|
265 |
tar -cvf ${actualDir}/alcasar.tar.gz ${RPMS_DIR}/
|
- |
|
266 |
cp ${actualDir}/alcasar.tar.gz ${mageiaNewDir}/${arch}/install/alcasar
|
- |
|
267 |
### only if we want to change the normal install procedure ###
|
283 |
### only if we want to change the normal install procedure ###
|
268 |
#cp ${actualDir}/config/first_login ${mageiaNewDir}/${arch}/install/alcasar
|
284 |
#cp ${actualDir}/config/first_login ${mageiaNewDir}/${arch}/install/alcasar
|
269 |
#cp ${actualDir}/config/auto_inst-${arch}${lang}.cfg.pl ${mageiaNewDir}/${arch}/install/alcasar/auto_inst-${arch}.cfg.pl
|
285 |
#cp ${actualDir}/config/auto_inst-${arch}${lang}.cfg.pl ${mageiaNewDir}/${arch}/install/alcasar/auto_inst-${arch}.cfg.pl
|
270 |
#cp -f ${actualDir}"/config/isolinux-x86_64.cfg" ${mageiaNewDir}/isolinux/isolinux.cfg
|
286 |
#cp -f ${actualDir}"/config/isolinux-x86_64.cfg" ${mageiaNewDir}/isolinux/isolinux.cfg
|
271 |
|
287 |
|