Subversion Repositories general

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1177 → Rev 1178

/rebootd/trunk/bin/make_freebsd_port.sh
0,0 → 1,79
#!/bin/sh
 
#
# make a FreeBSD port of the project
#
 
PROJ=rebootd
 
OUTDIR=output
FREEBSDDIR=${OUTDIR}/freebsd-port
COMMITDIR=releases
WEBDIR=26th.net:www/26th.net/html/public/projects/rebootd/bin # scp format
 
# only commited revisions are allowed for release
CUR_REVISION=`svnversion .`
if ( ! echo ${CUR_REVISION} | grep -E '^[0-9]+$' > /dev/null ) ; then
echo "Cannot make release - current revision ${CUR_REVISION} not commited" >> /dev/stderr
#exit 1;
fi
 
# get last release version
(ls ${COMMITDIR}/${PROJ}-[0-9]*.tar.gz \
| awk '
BEGIN { maj=-1; min=0; rev=0; }
{ split($0,n,"-"); split(n[2],nn,"\.");
if(maj>nn[1]) next; if(maj<nn[1]) {maj=nn[1];min=nn[2];rev=nn[3];next;}
if(min>nn[2]) next; if(min<nn[2]) {min=nn[2];rev=nn[3];next}
if(rev<nn[3]) rev=nn[3];}
END {print maj, min, rev;}' \
| read VER_MAJOR VER_MINOR VER_REVISION ) \
|| { echo "Cannot find releases in ${COMMITDIR}" >> /dev/stderr; exit 2; }
[ ${VER_MAJOR} = "-1" ] || { echo "Cannot determine release version" >> /dev/stderr; exit 1; }
 
RELEASE_NAME=${PROJ}-${VER_MAJOR}.${VER_MINOR}.${VER_REVISION}
RELEASE_TAR=${RELEASE_NAME}.tar.gz
 
# create the tar
rm -rf ${FREEBSDDIR} \
|| { echo "Cannot delete ${FREEBSDDIR} dir" >> /dev/stderr; exit 2; }
mkdir ${FREEBSDDIR} \
|| { echo "Cannot create ${FREEBSDDIR} dir" >> /dev/stderr; exit 2; }
cp -r ports/freebsd ${FREEBSDDIR}/${PROJ} \
|| { echo "Cannot copy ports/freebsd to ${FREEBSDDIR}/${PROJ}" >> /dev/stderr; exit 2; }
sed -e 's/%VER_MAJOR%/${VER_MAJOR}/' -e 's/%VER_MINOR%/${VER_MINOR}/' \
-e 's/%VER_REVISION%/${VER_REVISION}/' ports/freebsd/Makefile \
> ${FREEBSDDIR}/${PROJ}/Makefile \
|| { echo "Cannot generate ${FREEBSDDIR}/${PROJ}/Makefile" >> /dev/stderr; exit 2; }
( cd ${COMMITDIR}; md5 ${RELEASE_TAR} ) > ${FREEBSDDIR}/${PROJ}/distinfo \
|| { echo "Cannot get MD5 of ${COMMITDIR}/${RELEASE_TAR}" >> /dev/stderr; exit 2; }
echo "SIZE (${RELEASE_TAR}) =" `stat -f '%z' ${COMMITDIR}/${RELEASE_TAR}` >> ${FREEBSDDIR}/${PROJ}/distinfo \
|| { echo "Cannot stat ${COMMITDIR}/${RELEASE_TAR}" >> /dev/stderr; exit 2; }
tar cf - --exclude '*/.svn' -C ${FREEBSDDIR} ${PROJ} | gzip > ${OUTDIR}/${PROJ}-freebsd-port.tar.gz \
|| { echo "Cannot create ${OUTDIR}/${PROJ}-freebsd-port.tar.gz" >> /dev/stderr; exit 2; }
rm -rf ${FREEBSDDIR} \
|| { echo "Cannot clear ${FREEBSDDIR} dir" >> /dev/stderr; exit 2; }
 
# commit the release
echo "Relase made successfully. Enter YES to commit it."
read confirm
if [ "$confirm" != "YES" ] ; then
echo "you have to answer 'YES' to continue"
exit 1
fi
 
cp ${OUTDIR}/${PROJ}-freebsd-port.tar.gz ${COMMITDIR} \
|| { echo "Cannot copy ${OUTDIR}/${PROJ}-freebsd-port.tar.gz to releases" >> /dev/stderr; exit 2; }
svn commit ${COMMITDIR}/${PROJ}-freebsd-port.tar.gz \
-m "${PROJ}: auto commit of FreeBSD port for release ${VER_MAJOR}.${VER_MINOR}.${VER_REVISION}" \
|| { echo "Cannot commit ${COMMITDIR}/${PROJ}-freebsd-port.tar.gz" >> /dev/stderr; exit 2; }
svn up \
|| { echo "Cannot update working copy" >> /dev/stderr; exit 2; }
 
# publish to web
scp ${COMMITDIR}/${PROJ}-freebsd-port.tar.gz ${WEBDIR} \
|| { echo "Cannot publish ${COMMITDIR}/${PROJ}-freebsd-port.tar.gz to ${WEBDIR}" >> /dev/stderr; \
exit 2; }
 
echo "FreeBSD port for relase ${RELEASE_NAME} is commited and published"
 
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/rebootd/trunk/bin/make_release.sh
7,9 → 7,7
 
PROJ=rebootd
OUTDIR=output
PROG=${OUTDIR}/${PROJ}
SRCDIR=src
SRCS=${SRCDIR}/rebootd.c
 
VER_MAJOR=$1
VER_MINOR=$2
16,7 → 14,6
VER_REVISION=`svnversion .`
RELEASE_NAME=${PROJ}-${VER_MAJOR}.${VER_MINOR}.${VER_REVISION}
 
SAMPLES=${SRCDIR}/rebootd.conf
RELDIR=${OUTDIR}/release
COMMITDIR=releases
WEBDIR=26th.net:www/26th.net/html/public/projects/rebootd/bin # scp format
47,7 → 44,7
|| { echo "Cannot clear ${RELDIR} dir" >> /dev/stderr; exit 2; }
 
# commit the release
echo "Relase made successfully. Enter YES to commit it."
echo "Release made successfully. Enter YES to commit it."
read confirm
if [ "$confirm" != "YES" ] ; then
echo "you have to answer 'YES' to continue"
61,8 → 58,10
svn commit ${COMMITDIR}/${RELEASE_NAME}.tar.gz \
-m "${PROJ}: auto commit of new release ${VER_MAJOR}.${VER_MINOR}.${VER_REVISION}" \
|| { echo "Cannot commit ${COMMITDIR}/${RELEASE_NAME}.tar.gz" >> /dev/stderr; exit 2; }
svn up \
|| { echo "Cannot update working copy" >> /dev/stderr; exit 2; }
 
# publish web
# publish to web
scp ${COMMITDIR}/${RELEASE_NAME}.tar.gz ${WEBDIR} \
|| { echo "Cannot publish ${COMMITDIR}/${RELEASE_NAME}.tar.gz to ${WEBDIR}" >> /dev/stderr; exit 2; }