Git Product home page Git Product logo

Comments (6)

bsiegert avatar bsiegert commented on July 16, 2024

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.

jgoerzen avatar jgoerzen commented on July 16, 2024

from pkgsrc.

sskras avatar sskras commented on July 16, 2024

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.

bsiegert avatar bsiegert commented on July 16, 2024

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

jgoerzen avatar jgoerzen commented on July 16, 2024

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

jgoerzen avatar jgoerzen commented on July 16, 2024

Noting this from an email conversation:

There are some other mtree implementations and forks from NetBSD; for instance:

Like the pkrsrc mtree, these two seem to be outdated relative to the
usr.sbin mtree.

Other implementations:

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.