Skip to content

Instantly share code, notes, and snippets.

@mikhailnov
Created October 5, 2019 17:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mikhailnov/62577476060227235cd050e144f55b73 to your computer and use it in GitHub Desktop.
Save mikhailnov/62577476060227235cd050e144f55b73 to your computer and use it in GitHub Desktop.
Подкладывание пакетов в репозиторий со своего билдера, /mdv/build-rpm.sh
OUTPUT_FOLDER=$HOME/output
container_data() {
# Generate data for container
[ "$rerun_tests" = 'true' ] && return 0
c_data=container_data.json
project_name=systemd
echo '[' > ${c_data}
comma=0
for rpm in ${OUTPUT_FOLDER}/*.rpm; do
nevr=(`rpm -qp --queryformat "%{NAME} %{EPOCH} %{VERSION} %{RELEASE}" ${rpm}`)
name=${nevr[0]}
if [ "${name}" != '' ] ; then
if [ $comma -eq 1 ]
then
echo -n "," >> ${c_data}
fi
if [ $comma -eq 0 ]
then
comma=1
fi
fullname=`basename $rpm`
epoch=${nevr[1]}
version=${nevr[2]}
release=${nevr[3]}
dep_list=""
[[ ! "${fullname}" =~ ".*src.rpm$" ]] && dep_list=`sudo urpmq --whatrequires --sourcerpm "${name}" | cut -d\ -f2 | rev | cut -f3- -d- | rev | sort -u | grep -v "^${project_name}$" | xargs echo`
sha1=`sha1sum ${rpm} | awk '{ print $1 }'`
echo "--> dep_list for '${name}':"
echo ${dep_list}
echo '{' >> ${c_data}
echo "\"dependent_packages\":\"${dep_list}\"," >> ${c_data}
echo "\"fullname\":\"${fullname}\"," >> ${c_data}
echo "\"sha1\":\"${sha1}\"," >> ${c_data}
echo "\"name\":\"${name}\"," >> ${c_data}
echo "\"epoch\":\"${epoch}\"," >> ${c_data}
echo "\"version\":\"${version}\"," >> ${c_data}
echo "\"release\":\"${release}\"" >> ${c_data}
echo '}' >> ${c_data}
fi
done
echo ']' >> ${c_data}
}
mkdir -p $HOME/output
cd $HOME/output
# for i in `ls *.rpm`; do echo -e "$i \\"; done
for i in \
iproute2-4.8.0-6-rosa2019.1.i586.rpm \
iproute2-4.8.0-6.src.rpm \
iproute2-debuginfo-4.8.0-6-rosa2019.1.i586.rpm \
iproute2-doc-4.8.0-6-rosa2019.1.i586.rpm \
libiproute2-static-devel-4.8.0-6-rosa2019.1.i586.rpm
do
wget http://192.168.122.1:8000/$i -O $i
done
touch build.log
touch root.log
touch state.log
container_data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment