Comments (6)
Isn't mtree part of the base system? Could you send this as a bug report upstream please? (https://www.netbsd.org/support/send-pr.html)
from pkgsrc.
from pkgsrc.
I also submitted an upstream issue (about another problem) on 2022-01-10.
Received zero response so far.
So I am not sure what is the workflow here.
from pkgsrc.
@sskras If your bug report was about a different problem, then it does not belong here.
There is no SLO on replies to bug reports.
from pkgsrc.
@bsiegert So I just realized something:
There is mtree in two places:
https://github.com/NetBSD/pkgsrc/tree/trunk/pkgtools/mtree/files (which is what this issue pertains to)
and
https://github.com/NetBSD/src/tree/trunk/usr.sbin/mtree
(and of course their CVS origins)
I note that these two trees aren't identical, and in fact are rather divergent. The pkgsrc version -- this one -- is portable, and in fact I maintain mtree-netbsd for Debian based on this version.
The NetBSD/src version is not portable, but appears newer (for instance, having added -F).
I did have engagement on 56733 but did not at the time realize that we were talking about two different mtrees!
So I am very much talking about the pkgsrc one, which is https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/pkgtools/mtree/index.html . Presumably it is portable because pkgsrc itself is portable, to *BSD, Linux, and so forth.
I don't know how the NetBSD/src mtree flows into the pkgsrc mtree -- perhaps, at the moment, the answer is "it doesn't" - fair enough. All I know is that this patch fixes the issue for me:
--- verify.c.orig 2018-08-22 15:48:38.000000000 -0500
+++ verify.c 2022-03-01 09:45:04.854574448 -0600
@@ -142,9 +142,7 @@
if (specdepth != p->fts_level)
goto extra;
for (ep = level; ep; ep = ep->next)
- if ((ep->flags & F_MAGIC &&
- !fnmatch(ep->name, p->fts_name, FNM_PATHNAME)) ||
- !strcmp(ep->name, p->fts_name)) {
+ if (!strcmp(ep->name, p->fts_name)) {
ep->flags |= F_VISIT;
if (compare(ep, p))
rval = MISMATCHEXIT;
from pkgsrc.
Noting this from an email conversation:
There are some other mtree implementations and forks from NetBSD; for instance:
- https://github.com/archiecobbs/mtree-port (fork from pkgsrc; very old, doesn't even have -C)
- https://github.com/archiecobbs/nmtree (more current fork from pkgsrc)
Like the pkrsrc mtree, these two seem to be outdated relative to the
usr.sbin mtree.
Other implementations:
- libarchive, of course. (does not do verification)
- FreeBSD has an semi-compatible mtree. I found it has issues with
filenames containing tildes, so I avoided it. - https://github.com/mratajsky/libmtree (appears to originate from
FreeBSD; apparently abandoned) - https://github.com/eric-switzer/mtree-parse (Python)
- https://github.com/vbatts/go-mtree (re-implementation in Go)
- https://github.com/vbatts/go-mtree (Rust parser)
The NetBSD pkgsrc tree is directly used as part of the Arch Linux
packaging format; https://aur.archlinux.org/packages/nmtree for details.
They also have a "git" mtree derived from archiecobbs/nmtree as above.
So effectively NetBSD pkgsrc tree is the ultimate upstream for a number
of other projects. It is probably reasonable to point many of those to
use archiecobbs/nmtree but I thought I ought to write down all the
options here for others that may be looking.
from pkgsrc.
Related Issues (20)
- bind916 - removed _XOPEN_SOURCE - socket.c HOT 2
- Bug/problem reporting: use GitHub or use GNATS ? HOT 2
- devel/cmake: CMake 3.22 not able to detect properly compiler on macOS Monterey HOT 8
- harfbuzz build fail on macOS afer upgrade Xcode to 13.3.0 (and 13.3.1)
- Unprivileged bootstrapping fails on Ubuntu 20.04: `ERROR: Circular dependency detected` HOT 2
- Can't build libstrophe because there is no PLIST file HOT 3
- Cross-compiling on Linux (native) for QNX (target) HOT 2
- Request to add tintin++ from pkgsrc-wip HOT 2
- Update opendmarc to 1.3.3
- Allow for set default environment variables on user side HOT 4
- fix the issue that compile gpsd failure on smartos / illumos
- autoconf to 2.70 breaks building gmake on apple silicon. HOT 3
- outdated software description: nanogrep HOT 4
- bind external DNS zone config HOT 1
- man pages missing from graphics/colord/PLIST HOT 2
- zsh: segmentation fault hexchat
- bootstrapping on mac m1 HOT 2
- anyplans on regaining support for freebsd and fixing bootstrap for it HOT 7
- Can you add zlib-ng and minizip-ng packages?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pkgsrc.