tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Relationship between pkgsrc/pkgtools/mtree and mtree in base



On Tue, Mar 01 2022, Jonathan Perkin wrote:

> * On 2022-03-01 at 16:20 GMT, Benny Siegert wrote:
>
>>Can anyone tell me what the relationship between the two is? Is
>>pkgsrc/pkgtools/mtree a portable port?
>>
>>The version number (20130908) suggests that its last sync with base
>>was a long time ago. Would anyone be interested in bringing a newer
>>version to pkgsrc?
>
> Back in the day mtree was a required part of the bootstrap process.  As that
> hasn't been the case for 15 years now we should just remove it from pkgsrc
> completely to avoid any confusion.
>
> Someone may want to archive the current files onto GitHub or something first if
> there really is a desire to maintain a portable version.

Hi Jonathan,

Thank you for the clarification.  I would just like to add some detail
about the usage of mtree outside NetBSD.  I maintain the mtree-netbsd
package for Debian (which is thus also available on the derivatives such
as Ubuntu).  We are using the pkgsrc branch.

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.

John


Home | Main Index | Thread Index | Old Index