diff --git a/build/build.sh b/build/build.sh new file mode 100644 index 0000000..5ab1c27 --- /dev/null +++ b/build/build.sh @@ -0,0 +1,119 @@ +#!/bin/bash + +ROOT=$(cd `dirname $0`; pwd)/.. + +OPENSRC=${ROOT}/opensource +OUTPUT=${ROOT}/output +BUILD=${ROOT}/build + +CLIDIR=${ROOT}/cli +CLISRCNAME="main.c" + +INSTALLHELPERDIR=${ROOT}/install +INSTALLHELPERSRCNAME="main.c" + +HOOKDIR=${ROOT}/hook +HOOKSRCNAME="main.go" + +RUNTIMEDIR=${ROOT}/runtime +RUNTIMESRCNAME="main.go" + +DEBPACK=${ROOT}/debpack +BINDIR=${DEBPACK}/usr/local/bin +DEBDIR=${DEBPACK}/DEBIAN + +RPMPACK=${ROOT}/rpmpack +RPMSOURCESDIR=${RPMPACK}/SOURCES +RPMSPECDIR=${RPMPACK}/SPECS + + +CLISRCPATH=`find ${CLIDIR} -name "${CLISRCNAME}"` +CLISRCDIR=${CLISRCPATH%/${CLISRCNAME}} +INSTALLHELPERSRCPATH=`find ${INSTALLHELPERDIR} -name "${INSTALLHELPERSRCNAME}"` +INSTALLHELPERSRCDIR=${INSTALLHELPERSRCPATH%/${INSTALLHELPERSRCNAME}} +HOOKSRCPATH=`find ${HOOKDIR} -name "${HOOKSRCNAME}"` +HOOKSRCDIR=${HOOKSRCPATH%/${HOOKSRCNAME}} +RUNTIMESRCPATH=`find ${RUNTIMEDIR} -name "${RUNTIMESRCNAME}"` +RUNTIMESRCDIR=${RUNTIMESRCPATH%/${RUNTIMESRCNAME}} + +funcbuild(){ +echo "make cli" +[ -d "${CLISRCDIR}/build" ]&&rm -rf ${CLISRCDIR}/build +mkdir ${CLISRCDIR}/build&&cd ${CLISRCDIR}/build +cmake ../ +make clean +make + +echo "make runtime" +[ -d "${INSTALLHELPERSRCDIR}/build" ]&&rm -rf ${INSTALLHELPERSRCDIR}/build +mkdir ${INSTALLHELPERSRCDIR}/build&&cd ${INSTALLHELPERSRCDIR}/build +cmake ../ +make clean +make + +[ -d "${HOOKSRCDIR}/build" ]&&rm -rf ${HOOKSRCDIR}/build +mkdir ${HOOKSRCDIR}/build&&cd ${HOOKSRCDIR}/build +go build ../${HOOKSRCNAME} +mv main ascend-docker-hook + +[ -d "${RUNTIMESRCDIR}/build" ]&&rm -rf ${RUNTIMESRCDIR}/build +mkdir ${RUNTIMESRCDIR}/build&&cd ${RUNTIMESRCDIR}/build +go build ../${RUNTIMESRCNAME} +mv main ascend-docker-runtime +} + +funcmakedeb(){ +cd ${BUILD} +mkdir -pv {${DEBDIR},${BINDIR}} +/bin/cp -f {${RUNTIMESRCDIR},${HOOKSRCDIR},${INSTALLHELPERSRCDIR},${CLISRCDIR}}/build/ascend-docker* ${BINDIR} +CONPATH=`find ${INSTALLHELPERDIR} -name "control"` +INSTPATH=`find ${INSTALLHELPERDIR} -name "postinst"` +/bin/cp -f ${CONPATH} ${INSTPATH} ${DEBDIR} +echo ${INSTPATH} +chmod 555 ${DEBDIR}/postinst +dpkg-deb -b ${DEBPACK} ascenddockertool_1.0.0_i386.deb +DEBS=`find ${BUILD} -name "*.deb"` +/bin/cp ${DEBS} ${OUTPUT} +} + +funcmakerpm(){ +mkdir -pv ${RPMPACK}/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} +/bin/cp -f {${RUNTIMESRCDIR},${HOOKSRCDIR},${INSTALLHELPERSRCDIR},${CLISRCDIR}}/build/ascend-docker* ${RPMSOURCESDIR} +SPECPATH=`find ${INSTALLHELPERDIR} -name "*.spec"` +dos2unix ${SPECPATH} +/bin/cp -f ${SPECPATH} ${RPMSPECDIR} +rpmbuild --define "_topdir ${RPMPACK}" +rpmbuild --showrc | grep topdir +echo ${RPMPACK} +echo "%_topdir ${RPMPACK}" > ~/.rpmmacros +rpmbuild -bb ${RPMPACK}/SPECS/ascend-docker-plgugin.spec +RPMS=`find ${RPMPACK} -name "*.rpm"` +/bin/cp ${RPMS} ${OUTPUT} +} + +funcmakeclean(){ +[ -d "${RPMPACK}" ]&&rm -rf ${RPMPACK} +[ -d "${DEBPACK}" ]&&rm -rf ${DEBPACK} +} + +funcmakepull(){ +cd ${OPENSRC} +wget -O cJSON.tar.gz https://github.com/DaveGamble/cJSON/archive/v1.7.13.tar.gz --no-check-certificate +} + +funcmakeunzip(){ +cd ${OPENSRC} +tar -xzvf cJSON.tar.gz +CJSONS=`find . -name "cJSON.*"` +CJSONSLIB=`find ${INSTALLHELPERDIR} -name cjson -type d` +/bin/cp -f ${CJSONS} ${CJSONSLIB} +} + +funcmakeclean +if [ $1 == "pull" ]; then +funcmakepull +fi +funcmakeunzip +funcbuild +funcmakerpm +funcmakedeb diff --git a/ci/dependency.xml b/ci/dependency.xml new file mode 100644 index 0000000..d58862d --- /dev/null +++ b/ci/dependency.xml @@ -0,0 +1,36 @@ + + + + Component + Generic + + Atlas Platform + ascend-docker-plugin + 1.0.0 + + N + + + output/ + + + + + + + + 3rd-party + Generic + + cJSON-1.7.13.tar.gz + 05834SXQ + + + + /* + opensource + + + + + diff --git a/install/deb/src/main.c b/install/deb/src/main.c index f149f5b..856ce0c 100644 --- a/install/deb/src/main.c +++ b/install/deb/src/main.c @@ -11,6 +11,7 @@ #define NUM_ARGS 3 #define FINAL_FILE_INDEX 1 #define TEMP_FILE_INDEX 2 +#define PATH_VALUE "/usr/local/bin/ascend-docker-runtime" void ReadJsonFile(const FILE *pf, char *text, int maxBufferSize) { diff --git a/opensource/README.MD b/opensource/README.MD new file mode 100644 index 0000000..7f17201 --- /dev/null +++ b/opensource/README.MD @@ -0,0 +1 @@ +put 3rd-party dependency here \ No newline at end of file diff --git a/output/README.MD b/output/README.MD new file mode 100644 index 0000000..09b35f5 --- /dev/null +++ b/output/README.MD @@ -0,0 +1 @@ +locate the output files \ No newline at end of file