#!/bin/sh
#set -x

# Edit this one!
VCS_TAG="VCStag"

PORTSDIR="/usr/ports"
LOCAL_METAPORTS="${PORTSDIR}/local"

PORTVERSION=`/bin/date +%Y%m%d00`
HOSTNAME_FULL=`/bin/hostname`
HOSTNAME_SHORT=`/bin/hostname -s`
LOCALBASE_METAPORT="${HOSTNAME_SHORT}-localbase"

cd ${PORTSDIR} || exit

if [ ! -d ${LOCAL_METAPORTS} ]; then
  mkdir -p ${LOCAL_METAPORTS} || exit;

  if [ ! -d ${LOCAL_METAPORTS} ]; then
    echo "${0}: unable to create ${LOCAL_METAPORTS}" > /dev/stderr;
    exit 69;
  fi;
fi

if [ ! -f Makefile.local ]; then
  echo "# \$${VCS_TAG}$" > Makefile.local;
  echo >> Makefile.local;
  echo "SUBDIR+=	local" >> Makefile.local;
fi

cd ${LOCAL_METAPORTS} || exit

if [ ! -d ${LOCALBASE_METAPORT} ]; then
  mkdir ${LOCALBASE_METAPORT} || exit;

  if [ ! -d ${LOCALBASE_METAPORT} ]; then
    echo "${0}: unable to create ${LOCALBASE_METAPORT}" > /dev/stderr;
    exit 69;
  fi
fi

if [ ! -f Makefile ]; then
  echo "# \$${VCS_TAG}\$" > Makefile;
  echo >> Makefile;
  echo "SUBDIR+=	${LOCALBASE_METAPORT}" >> Makefile;
  echo >> Makefile;
  echo ".include <bsd.port.subdir.mk>" >> Makefile;
fi

cd ${LOCALBASE_METAPORT} || exit

if [ ! -f Makefile ]; then
  echo "# \$${VCS_TAG}\$

PORTNAME=		${LOCALBASE_METAPORT}
PORTVERSION=		${PORTVERSION}
PORTREVISION=		0
CATEGORIES=		local
VALID_CATEGORIES+=	local

MAINTAINER=		hostmaster@localhost
COMMENT=		Software needed on ${HOSTNAME_FULL}

USES=			metaport

NO_WRKSUBDIR=		yes

# pkg query 'RUN_DEPENDS+=\t\t%n>0:%o' category/name
# RUN_DEPENDS+=		packagename>0:category/portname@flavour

# This one-liner for /bin/sh displays the origins of the ports that have flavor annotations.
# for p in \`pkg info -q\`; do o=\`pkg query %o \${p}\`; f=\`pkg info --annotations \${p} | awk '/flavor/{print \$3}'\`; [ -n \"\${f}\" ] && echo \${o}@\${f}; done; unset p o f
" > Makefile

  pkg query -a 'RUN_DEPENDS+=\t\t%n>0:%o' >> Makefile

  echo "
.include <bsd.port.mk>

# EOF" >> Makefile

  echo "Software needed on ${HOSTNAME_FULL}

WWW: http://localhost/" > pkg-descr
fi # ! -f Makefile

# EOF
