blob: 46fd4c6414a8ee3cc5bef013df2c017a9279ec8f (
plain) (
tree)
|
|
#!/bin/bash
DEST_SYS=/usr/ports/releases/stable
DEST_ARC=/usr/ports/releases/archives
#PRT_GET_FLAGS="-fr -if -is"
PRT_GET_FLAGS="-fr"
# Build Name = R1 (System number) D1 (Droid/Machine number)
BUILD_NAME="R1D9"
#echo "Give build NAME;"
#echo "${DEST_ARC}/NAME-0.0.0.targ.gz"
#read BUILD_NAME
echo "Give build CRUX_RELEASE.VERSION (3.4.X);"
echo "${DEST_ARC}/${BUILD_NAME}-VERSION.tar.gz"
read BUILD_VERSION
mkdir -p ${DEST_SYS}
mkdir -p ${DEST_ARC}
echo "${BUILD_NAME}-${BUILD_VERSION}" >> ${DEST_SYS}/build_version
# archive pkgutils data
tar --xattrs -zcpf ${DEST_SYS}/pkg-db.tar.gz \
/var/lib/pkg/db .
# archive ports data
tar --xattrs -zcpf ${DEST_SYS}/etc_ports.tar.gz \
--directory=/etc/ports \
.
.
# must be using gwak instead of sed
prt-get listinst -v | sed 's/ /#/g' | sed 's/$/.pkg.tar.gz/g' > ${DEST_SYS}/all-installed.pkg
for filename in /etc/ports/*.git; do
source $filename
echo "${NAME} port collection release (exp; ${BUILD_VERSION}):"
read RELEASE
# backup ports collection
echo "Backing up collection: ${NAME}"
tar --xattrs -zcpf ${DEST_SYS}/${NAME}-ports-${RELEASE}.tar.gz \
--directory=/usr/ports/${NAME} \
--exclude=.git/ \
.
# create list of installed packages
prt-get printf "%i %p %n\n" | grep "yes /usr/ports/${NAME}" | cut -d " " -f 3 > ${DEST_SYS}/${NAME}-installed.pkg
# backup collection packages
while read PORT_NAME; do
echo "Backing up package: ${NAME}/${PORT_NAME}"
# get installed version not version on ports
PACKAGE=$(grep "^${PORT_NAME}#" ${DEST_SYS}/all-installed.pkg)
echo "Package: ${PACKAGE}";
# check if binary package exist
if [ ! -f /usr/ports/packages/${PACKAGE} ]; then
echo "Building package: ${PACKAGE};"
sudo prt-get update ${PRT_GET_FLAGS} ${PORT_NAME}
#(cd /usr/ports/${NAME}/${line} \
# && sudo pkgmk -uf)
fi
if [ -f /usr/ports/packages/${PACKAGE} ]; then
echo ${PACKAGE} >> ${DEST_SYS}/${NAME}-backup.pkg
tar rvf ${DEST_SYS}/${NAME}-${RELEASE}.tar \
--directory=/usr/ports/packages \
${PACKAGE}
else
echo "Package ${PACKAGE} from ${PORT_NAME} port not found."
echo ${PACKAGE} >> ${DEST_SYS}/${NAME}-notfound.pkg
fi
done < ${DEST_SYS}/${NAME}-installed.pkg
done
echo "Creating ${DEST_ARC}/${BUILD_NAME}-${BUILD_VERSION}.tar.gz ..."
tar --xattrs -zcpf ${DEST_ARC}/${BUILD_NAME}-${BUILD_VERSION}.tar.gz \
--directory=${DEST_SYS} \
.
echo "Creating links to /usr/ports/installed"
rm -r /usr/ports/installed
pkg_installed
echo "Creating ports page"
portspage --title=${BUILD_NAME}-${BUILD_VERSION} /usr/ports/installed > /usr/ports/installed/index.html
|