- Support PKGNG

- Support Staging
- Update maintainer e-mail address
- Introduce limitation of the port to supported ARCHs
- Add LICENSE
- USE_BZIP2 -> USES tar:bzip2
- Bump PORTREVISION

PR:		ports/187187
Submitted by:	TAKEMON Takashi <takemon@bamboogate.co.jp>
Approved by:	thierry (mentor)
This commit is contained in:
Thomas Zander 2014-03-15 17:05:50 +00:00
parent ba06303884
commit 5e3a6a1c22
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=348356
3 changed files with 120 additions and 10 deletions

View file

@ -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
do-install:
@ ${MKDIR} ${DATADIR}
@ ${RM} ${WRKSRC}/scripts/iso.sh.orig
@ cd ${WRKSRC} && ${FIND} . -type f -print | tar -cf - -T - | \
tar -xf - -C ${DATADIR}
ONLY_FOR_ARCHS= amd64 i386 powerpc
ONLY_FOR_ARCHS_REASON= FreeSBIE build system only supports amd64, i386 and powerpc
.include <bsd.port.mk>
.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} ${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 ${STAGEDIR}${DATADIR}
.include <bsd.port.post.mk>

View file

@ -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

View file

@ -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