aboutsummaryrefslogtreecommitdiff
path: root/sysutils
diff options
context:
space:
mode:
authorThomas Zander <riggs@FreeBSD.org>2014-03-15 17:05:50 +0000
committerThomas Zander <riggs@FreeBSD.org>2014-03-15 17:05:50 +0000
commit5e3a6a1c227a89745f5186f3738a72b8f3b8f992 (patch)
treea051c76c4ef068d6f3d37a8ea11a42450b2ad0d6 /sysutils
parentba06303884d25f44cdf5c44883b130696dc2c538 (diff)
downloadports-5e3a6a1c227a89745f5186f3738a72b8f3b8f992.tar.gz
ports-5e3a6a1c227a89745f5186f3738a72b8f3b8f992.zip
Notes
Diffstat (limited to 'sysutils')
-rw-r--r--sysutils/freesbie/Makefile31
-rw-r--r--sysutils/freesbie/files/conf-arch-FREESBIE.in5
-rw-r--r--sysutils/freesbie/files/extra-patch-pkgng90
3 files changed, 118 insertions, 8 deletions
diff --git a/sysutils/freesbie/Makefile b/sysutils/freesbie/Makefile
index 69e244c56983..86e9d773a62a 100644
--- a/sysutils/freesbie/Makefile
+++ b/sysutils/freesbie/Makefile
@@ -3,27 +3,42 @@
PORTNAME= freesbie
PORTVERSION= 2.0.20070710
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= sysutils
MASTER_SITES= http://www.rrr.de/~riggs/freesbie/
MASTER_SITES+= ${MASTER_SITE_LOCAL:S/%SUBDIR%/delphij/}
DISTNAME= ${PORTNAME}-${PORTVERSION:S/2.0.//}
-MAINTAINER= riggs@rrr.de
+MAINTAINER= riggs@FreeBSD.org
COMMENT= Yet another cool answer to the system-on-cd question
+LICENSE= BSD2CLAUSE
+
RUN_DEPENDS= cdrecord:${PORTSDIR}/sysutils/cdrtools
-USE_BZIP2= yes
+USES= tar:bzip2
NO_BUILD= yes
WRKSRC= ${WRKDIR}/${PORTNAME}2
-NO_STAGE= yes
+ONLY_FOR_ARCHS= amd64 i386 powerpc
+ONLY_FOR_ARCHS_REASON= FreeSBIE build system only supports amd64, i386 and powerpc
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_PKGNG)
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-pkgng
+.endif
+
+pre-configure:
+ @${SED} -e "s:%%ARCH%%:${ARCH}:g" ${FILESDIR}/conf-arch-FREESBIE.in > ${WRKSRC}/conf/${ARCH}/FREESBIE
+
do-install:
- @ ${MKDIR} ${DATADIR}
- @ ${RM} ${WRKSRC}/scripts/iso.sh.orig
+ @ ${MKDIR} ${STAGEDIR}${DATADIR}
+ @ ${RM} -f ${WRKSRC}/scripts/iso.sh.orig \
+ ${WRKSRC}/scripts/pkginstall.sh.orig \
+ ${WRKSRC}/scripts/pkgselect.sh.orig
@ cd ${WRKSRC} && ${FIND} . -type f -print | tar -cf - -T - | \
- tar -xf - -C ${DATADIR}
+ tar -xf - -C ${STAGEDIR}${DATADIR}
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/sysutils/freesbie/files/conf-arch-FREESBIE.in b/sysutils/freesbie/files/conf-arch-FREESBIE.in
new file mode 100644
index 000000000000..b4a1bf9975a3
--- /dev/null
+++ b/sysutils/freesbie/files/conf-arch-FREESBIE.in
@@ -0,0 +1,5 @@
+include /usr/src/sys/%%ARCH%%/conf/GENERIC
+ident FREESBIE
+options GEOM_UZIP # Read-only compressed disks
+options GEOM_LABEL # Providers labelization.
+options UNIONFS # Union filesystem
diff --git a/sysutils/freesbie/files/extra-patch-pkgng b/sysutils/freesbie/files/extra-patch-pkgng
new file mode 100644
index 000000000000..44c923e22fe7
--- /dev/null
+++ b/sysutils/freesbie/files/extra-patch-pkgng
@@ -0,0 +1,90 @@
+--- scripts/pkginstall.sh.orig 2007-01-16 19:14:46.000000000 +0900
++++ scripts/pkginstall.sh 2014-03-10 15:36:47.962245461 +0900
+@@ -52,7 +52,7 @@
+
+ # pkg_info might fail if the listed package isn't present
+ set +e
+- origins=$(pkg_info -EX "^$(escape_pkg ${pkg})($|-[^-]+$)")
++ origins=$(pkg query -x "%n-%v" "^$(escape_pkg ${pkg})($|-[^-]+$)")
+ retval=$?
+ set -e
+ if [ ${retval} -eq 0 ]; then
+@@ -84,7 +84,7 @@
+ touch deps
+ echo -n "Finding dependencies... "
+ while read pkg; do
+- deps=$(pkg_info -qr ${pkg} | cut -d ' ' -f 2)
++ deps=$(pkg query "%dn-%dv" ${pkg})
+ for dep in ${deps}; do
+ echo ${dep} >> tmp_deps
+ done
+@@ -142,7 +142,7 @@
+ export PACKAGE_BUILDING=yo
+ chrootpkgpath=${CHROOTWD#$BASEDIR}
+ pkgfile=${WORKDIR}/sortpkg
+- pkgaddcmd="chroot ${BASEDIR} pkg_add -v"
++ pkgaddcmd="/usr/local/sbin/pkg -c ${BASEDIR} add -f "
+ totpkg=$(wc -l $pkgfile | awk '{print $1}')
+ echo "Copying ${totpkg} packages"
+ cd ${CHROOTWD}
+@@ -159,7 +159,11 @@
+ count=$((${count} + 1))
+
+ echo "Running pkg_create -b ${pkg} ${CHROOTWD}/${pkg}.tar" >> ${LOGFILE}
+- pkg_create -b ${pkg} ${CHROOTWD}/${pkg}.tar >> ${LOGFILE} 2>&1
++ rpkg=`pkg query %dn-%dv ${pkg}`
++ for spkg in ${rpkg}; do
++ pkg create -o ${CHROOTWD} -n -f tar ${spkg} >> ${LOGFILE} 2>&1
++ done
++ pkg create -o ${CHROOTWD} -n -f tar ${pkg} >> ${LOGFILE} 2>&1
+
+ echo "Running $pkgaddcmd ${chrootpkgpath}/${pkg}.tar" >> ${LOGFILE}
+ $pkgaddcmd ${chrootpkgpath}/${pkg}.tar >> ${LOGFILE} 2>&1
+@@ -168,12 +172,17 @@
+
+ done < $pkgfile
+ echo "]"
++ if [ -f ${WORKDIR}/extra/customroot/var/db ]; then
++ chroot ${BASEDIR} pkg backup -d test.db
++ env PKG_DBDIR=${WORKDIR}extra/customroot/var/db/pkg pkg backup -r ${BASEDIR}/test.db
++ rm ${BASEDIR}/test.db
++ fi
+ set -e
+ }
+
+ delete_old_packages() {
+ echo "Deleting previously installed packages"
+- chroot ${BASEDIR} pkg_delete -a >> ${LOGFILE} 2>&1
++ pkg -c ${BASEDIR} delete -afy >> ${LOGFILE} 2>&1
+ }
+
+ # Deletes workdirs
+--- scripts/pkgselect.sh.orig 2014-02-16 02:43:17.000000000 +0000
++++ scripts/pkgselect.sh 2014-02-25 20:55:34.000000000 +0000
+@@ -21,7 +21,7 @@
+
+ # Check if there are packages installed on the system
+ check_pkgs() {
+- count=$(pkg_info -Qoa | wc -l)
++ count=$(pkg query -a "%n-%v:%o" | wc -l)
+ if [ ${count} -eq 0 ]; then
+ /usr/bin/dialog --title "FreeSBIE Packages selection" --clear \
+ --msgbox "Sorry, you don't have any packages installed.\n\nPlease install at least the packages you want\nto include in your distribution." 10 50
+@@ -40,7 +40,7 @@
+ # Create a different file for each category. Each row in each file
+ # will look like:
+ # PKGNAME PKGNAME-version
+- pkg_info -Qoa | awk \
++ pkg query -a "%n-%v:%o" | awk \
+ ' BEGIN { FS=":|/" }
+ {
+ a=$1;
+@@ -63,7 +63,7 @@
+
+ # pkg_info might fail if the listed package isn't present
+ set +e
+- origins=$(pkg_info -QoX "^$(escape_pkg ${pkg})($|-[^-]+$)")
++ origins=$(pkg query -x "%n-%v:%o" "^$(escape_pkg ${pkg})($|-[^-]+$)")
+ retval=$?
+ set -e
+ if [ ${retval} -eq 0 ]; then