diff --git a/mkports-list b/mkports-list new file mode 100644 index 0000000..c898fca --- /dev/null +++ b/mkports-list @@ -0,0 +1 @@ +src sysutils/sysadm sysadm diff --git a/mkports.sh b/mkports.sh new file mode 100755 index 0000000..81b1970 --- /dev/null +++ b/mkports.sh @@ -0,0 +1,146 @@ +#!/bin/sh +# Helper script which will create the port / distfiles +# from a checked out git repo + +get_last_rev_git() +{ + oPWD=`pwd` + cd "${1}" + rev=0 + rev=`git log -n 1 --date=raw . | grep 'Date:' | awk '{print $2}'` + cd "$oPWD" + if [ -n "$rev" ] ; then + echo "$rev" + return 0 + else + rev=`git log -n 1 --date=raw . | grep 'Date:' | awk '{print $2}'` + echo $rev + return 0 + fi + return 1 +} + +massage_subdir() { + cd "$1" + if [ $? -ne 0 ] ; then + echo "SKIPPING $i" + continue + fi + + echo "# \$FreeBSD\$ +# + +$comment +" > Makefile.tmp + + for d in `ls` + do + if [ "$d" = ".." ]; then continue ; fi + if [ "$d" = "." ]; then continue ; fi + if [ "$d" = "Makefile" ]; then continue ; fi + if [ ! -f "$d/Makefile" ]; then continue ; fi + echo " SUBDIR += $d" >> Makefile.tmp + done + echo "" >> Makefile.tmp + echo ".include " >> Makefile.tmp + mv Makefile.tmp Makefile + +} + +if [ -z "$1" ] ; then + echo "Usage: ./mkports.sh " + exit 1 +fi + +if [ ! -d "${1}/Mk" ] ; then + echo "Invalid directory: $1" + exit 1 +fi + +portsdir="${1}" +if [ -z "$2" ] ; then + distdir="${1}/distfiles" +else + distdir="${2}" +fi +if [ ! -d "$distdir" ] ; then + mkdir -p ${distdir} +fi + +ODIR=`pwd` + +# Get this jail version +export UNAME_r="`freebsd-version`" + +# Get the GIT tag +ghtag=`git log -n 1 . | grep '^commit ' | awk '{print $2}'` + + +# Read the list of ports and build them now +while read pline +do + + cd "$ODIR" + ldir=`echo $pline | awk '{print $1}'` + + # Check for sub-dir + echo "$ldir" | grep -q '/' + if [ $? -eq 0 ] ; then + lsubdir=`echo $ldir | cut -d '/' -f 1` + ltopdir=`echo $ldir | cut -d '/' -f 2` + tOps="-C $lsubdir $ltopdir" + else + unset lsubdir ltopdir + tOps="$ldir" + fi + + tdir=`echo $pline | awk '{print $2}'` + tcat=`echo $tdir | cut -d '/' -f 1` + dfile=`echo $pline | awk '{print $3}'` + + # Get git revision number + REV=`get_last_rev_git "./$ldir"` + + port=`echo $pline | awk '{print $2}'` + tverfile="/tmp/.pcbsd-tests/`echo $port | sed 's|/|_|g'`" + if [ -e "$tverfile" -a -n "$PCBSD_MKTESTS" ] ; then + # If this file exists, we did a previous build of this port + oVer=`cat $tverfile` + echo "$port - $REV - $oVer -" + if [ "$REV" = "$oVer" ] ; then + echo "No changes to port: $port" + continue + fi + fi + + # Make the dist files + rm ${distdir}/${dfile}-* 2>/dev/null + echo "Creating $tdir dist file for version: $REV" + tar cvJf ${distdir}/${dfile}-${REV}.tar.xz --exclude .git $tOps 2>/dev/null >/dev/null + if [ $? -ne 0 ] ; then + echo "Error creating distfile..." + exit 1 + fi + + # Copy ports files + if [ -d "${portsdir}/$tdir" ] ; then + rm -rf ${portsdir}/$tdir 2>/dev/null + fi + cp -r ${ldir}/port-files ${portsdir}/$tdir + + # Set the version numbers + sed -i '' "s|%%CHGVERSION%%|${REV}|g" ${portsdir}/$tdir/Makefile + sed -i '' "s|%%GHTAG%%|${ghtag}|g" ${portsdir}/$tdir/Makefile + + # Create the makesums / distinfo file + cd "${portsdir}/$tdir" + make makesum + if [ $? -ne 0 ] ; then + echo "Failed makesum" + exit 1 + fi + + # Now make sure subdir Makefile is correct + massage_subdir "${portsdir}/$tcat" + +done < mkports-list diff --git a/port-files/pkg-descr b/port-files/pkg-descr deleted file mode 100644 index 0d3fd26..0000000 --- a/port-files/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -PC-BSD SysAdm utility and websocket server - -WWW: https://github.com/pcbsd/sysadm diff --git a/port-files/Makefile b/src/port-files/Makefile similarity index 100% rename from port-files/Makefile rename to src/port-files/Makefile diff --git a/port-files/distinfo b/src/port-files/distinfo similarity index 100% rename from port-files/distinfo rename to src/port-files/distinfo diff --git a/src/port-files/pkg-descr b/src/port-files/pkg-descr new file mode 100644 index 0000000..12325af --- /dev/null +++ b/src/port-files/pkg-descr @@ -0,0 +1,3 @@ +Sysadm API server and websocket daemon + +WWW: https://github.com/pcbsd/sysadm diff --git a/port-files/pkg-plist b/src/port-files/pkg-plist similarity index 60% rename from port-files/pkg-plist rename to src/port-files/pkg-plist index 87ca073..a92de7a 100644 --- a/port-files/pkg-plist +++ b/src/port-files/pkg-plist @@ -1,10 +1,16 @@ bin/sysadm bin/sysadm-server -etc/rc.d/sysadm +etc/rc.d/sysadm-restserver +etc/rc.d/sysadm-websocket +include/sysadm-firewall.h include/sysadm-general.h include/sysadm-global.h include/sysadm-lifepreserver.h include/sysadm-network.h +include/sysadm-servicemanager.h +include/sysadm-systeminfo.h +include/sysadm-update.h +include/sysadm-usermanager.h %%QT_LIBDIR%%/%%QT_LIBDIR%%sysadm.so %%QT_LIBDIR%%/%%QT_LIBDIR%%sysadm.so.1 %%QT_LIBDIR%%/%%QT_LIBDIR%%sysadm.so.1.0