On Tue, Jul 07, 2026 at 01:21:05PM +0100, Stuart Henderson wrote:
> On 2026/07/07 13:45, Jeremie Courreges-Anglas wrote:
[...]
> > I've thought about it some more and I'm not sure my initial diff is
> > the way to go anymore. Seems like zhuk@ made sure portimport and
> > portcheck could be used from any valid ports tree checkout, not just
> > whatever the user happens to be using for builds.
Actually portcheck would whine if ran from an arbitrary location:
ritchie /tmp/ports/mystuff/devel/libigloo$ /tmp/portimport
Package(s) would be named: Can't find /tmp/ports/mystuff/devel/libigloo under
PORTSDIR_PATH=/usr/ports:/usr/ports/mystuff
Fatal: can't figure out PKGPATH (in /tmp/ports/mystuff/devel/libigloo)
Fatal: one category in devel should match
PKGPATH=/tmp/ports/mystuff/devel/libigloo (in /tmp/ports/mystuff/devel/libigloo)
*** Error 1 in /tmp/ports/mystuff/devel/libigloo
(/usr/ports/infrastructure/mk/bsd.port.mk:3904 '.BEGIN': @exit 1)
Anyway...
> So maybe dropping
> > mystuff really is the simplest approach, but ENOTIME right now.
>
> ah that makes sense...
Here's a new diff. If -p isn't passed, keep using $PWD to determine
portsdir, but as a special case also trim /mystuff from the resulting
path. mystuff *is* a special case anyway. This is enough to fix the
pesky error.
While here (to be committed separately):
1. test -z $variable works for the wrong reason, properly quote the variable
expansion to respect the semantics of -z
2. revert the cvs -R addition, it didn't help fix the issue
ritchie /tmp/ports/mystuff/devel/libigloo$ /tmp/portimport
Package(s) would be named: libigloo-0.9.5
Import would go into: ports/devel/libigloo
Does this look correct? [y/n] y
U ports/devel/libigloo/Makefile
U ports/devel/libigloo/distinfo
U ports/devel/libigloo/pkg/PLIST
U ports/devel/libigloo/pkg/DESCR
No conflicts created by this import
Don't forget to commit the devel/Makefile when you're done!
/tmp/ports/devel
ritchie /tmp/ports/mystuff/devel/libigloo$ ls /tmp/ports/devel/libigloo
CVS/ Makefile distinfo pkg/
ok?
Index: portimport
===================================================================
RCS file: /cvs/ports/infrastructure/bin/portimport,v
diff -u -p -r1.10 portimport
--- portimport 19 Feb 2020 17:53:18 -0000 1.10
+++ portimport 8 Jul 2026 20:37:15 -0000
@@ -46,7 +46,7 @@ shift $(($OPTIND - 1))
error=false
pkgpath=$(portcheck "${portcheck_args[@]}") || error=true
-if test -z $pkgpath; then
+if test -z "$pkgpath"; then
echo >&2 "Can't determine pkgpath"
exit 1
fi
@@ -55,7 +55,10 @@ if $error; then
[[ $ans == +(y|Y) ]] || exit 1
fi
-portsdir=${portsdir:-${PWD%"/$pkgpath"}}
+if [ -z "$portsdir" ]; then
+ portsdir=${PWD%"/$pkgpath"}
+ portsdir=${portsdir%/mystuff}
+fi
timestamp=$(date '+%Y%m%d')
[email protected]:/cvs
@@ -71,7 +74,7 @@ if [[ $ans == +(y|Y) ]]; then
cvs -d$cvsroot import ports/$pkgpath $user ${user}_$timestamp
grep -q "^@new" pkg/P* && echo "New users/groups, remember to commit
infrastructure/db/user.list!"
cd "$portsdir/${pkgpath%/*}"
- cvs -R -d$cvsroot update -AdP ${pkgpath##*/}
+ cvs -d$cvsroot update -AdP ${pkgpath##*/}
echo "Don't forget to commit the ${pkgpath%/*}/Makefile when you're
done!"
pwd
fi
--
jca