On Tue, Dec 9, 2014 at 9:20 AM, Richard W.M. Jones <rjones@redhat.com> wrote:
On Tue, Dec 09, 2014 at 09:10:19AM -0800, Jason Helfman wrote:
> On Thu, Mar 27, 2014 at 3:26 PM, Richard W.M. Jones <rjones@redhat.com>
> wrote:
>
> > I'm pleased to announce libguestfs 1.26, a library and set of tools
> > for accessing and modifying virtual machine disk images.  This release
> > took more than 6 months of work by a considerable number of people,
> > and has many new features (see release notes below).
> >
> > You can get libguestfs 1.26 here:
> >
> > Main website:     http://libguestfs.org/
> >
> >       Source:     http://libguestfs.org/download/1.26-stable/
> >                   You will also need latest supermin from here:
> >                   http://libguestfs.org/download/supermin/
> >
> >
> Hello All,
>
> Is there any particular reason that you think this would not run on FreeBSD?
> Any Linux-isms that are just not available on FreeBSD?

There are a few.  However I'm quite happy to accept patches to make it
work / work better on FreeBSD.

> I noticed this announcement [1] awhile ago, that mentioned febootstrap as a
> requirement,
> however we don't have this for FreeBSD. However, we do have debootstrap
> [2]. Debian is listed
> in the announcement [1], so thought that it could work with debootstrap,
> but wanted inquire about
> any gotchas or experiences before diving in and seeing for myself.
>
> [1] https://www.redhat.com/archives/libguestfs/2011-March/msg00098.html
> [2] https://wiki.debian.org/Debootstrap

Unfortunately debootstrap is not going to help.

The package that libguestfs depends on is 'supermin':

  http://libguestfs.org/supermin.1.html

Supermin makes certain assumptions about package managers that may or
may not apply to FreeBSD ports/packages.  For example:

 - that a package manager (similar to rpm/dpkg/etc) exists

 - that it packages pre-compiled binaries (not sources)

 - that you can list out the files belonging to a package

 - that there are dependency relationships between packages

 - that all files on the filesystem are part of a package (except
   user-generated files)

There are various ways to make libguestfs work without supermin, see
the FAQ here:

  http://libguestfs.org/guestfs-faq.1.html#how-can-i-compile-and-install-libguestfs-without-supermin

although depending on a Fedora-built appliance may not be very
satisfying.

You could build a fixed FreeBSD-based appliance, but distributing it
wouldn't be very nice, and getting security updates even less so.
Supermin solves these kinds of problems.

Rich.

--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW


Is there a way to get it to support 'pkg' the packaging utility for FreeBSD? It supports
everything you noted above, will full API support.

https://wiki.freebsd.org/pkgng/

I'll look at the link you provided. Thanks!

-jgh

--
Jason Helfman          | FreeBSD Committer
jgh@FreeBSD.org     | http://people.freebsd.org/~jgh  | The Power to Serve