NetBSD-Bugs archive

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

Re: install/50343: pkgsrc bootstrap broken on fresh installation of NetBSD 7.0 amd64



Hi guys,

Thanks for the quick response!

On 2015-10-19 09:40, Joerg Sonnenberger wrote:
  On Sun, Oct 18, 2015 at 08:45:01PM +0000, mag%icus.se@localhost wrote:
  > In short: It seems that chosing to install pkgin during the NetBSD
  > installation process will render pkgsrc impossible to install out
  > of the box.
In short: you are wrong.
On the technical side: Yes, most likely; my experience with BSD-land is only about 48 hours long. :-)

My intention was to report an unfortunate initial user experience, and I tried to keep from speculation on what caused this. My user experience, however, is very much real.
  > In details: I'm used to Linux but new to NetBSD. I downloaded the 7.0
  > amd64 iso and booted it in VirtualBox. At the configuration step in the
  > installation, I selected "Enable installation of binary packages"
  > (which enabled pkgin). I also selected "Additional packages" and
  > entered "bash". (I'm not sure if this is needed to reproduce, probably not.)
This means you will have some pre-installed packages and the associated
  package database entries in /usr/pkg and /var/db/pkg.
That seems reasonable. I re-did the installation one more time. This is what I end up with:

pantheon-vbox$ ls /var/db/pkg
libarchive-3.1.2nb1 pkg_install-20150508 pkgdb.byfile.db pkgin-0.8.0nb1

pantheon-vbox$ find /usr/pkg/
/usr/pkg/
/usr/pkg/man
/usr/pkg/man/man1
/usr/pkg/man/man1/pkg_add.1
/usr/pkg/man/man1/pkg_admin.1
/usr/pkg/man/man1/pkg_create.1
/usr/pkg/man/man1/pkg_delete.1
/usr/pkg/man/man1/pkg_info.1
/usr/pkg/man/man1/pkgin.1
/usr/pkg/man/man5
/usr/pkg/man/man5/pkg_install.conf.5
/usr/pkg/man/man5/pkg_summary.5
/usr/pkg/man/man5/cpio.5
/usr/pkg/man/man5/libarchive-formats.5
/usr/pkg/man/man5/mtree.5
/usr/pkg/man/man5/tar.5
/usr/pkg/man/man7
/usr/pkg/man/man7/pkgsrc.7
/usr/pkg/man/man8
/usr/pkg/man/man8/audit-packages.8
/usr/pkg/man/man8/download-vulnerability-list.8
/usr/pkg/man/man3
/usr/pkg/man/man3/archive_entry.3
/usr/pkg/man/man3/archive_entry_acl.3
/usr/pkg/man/man3/archive_entry_linkify.3
/usr/pkg/man/man3/archive_entry_paths.3
/usr/pkg/man/man3/archive_entry_perms.3
/usr/pkg/man/man3/archive_entry_stat.3
/usr/pkg/man/man3/archive_entry_time.3
/usr/pkg/man/man3/archive_read.3
/usr/pkg/man/man3/archive_read_data.3
/usr/pkg/man/man3/archive_read_disk.3
/usr/pkg/man/man3/archive_read_extract.3
/usr/pkg/man/man3/archive_read_filter.3
/usr/pkg/man/man3/archive_read_format.3
/usr/pkg/man/man3/archive_read_free.3
/usr/pkg/man/man3/archive_read_header.3
/usr/pkg/man/man3/archive_read_new.3
/usr/pkg/man/man3/archive_read_open.3
/usr/pkg/man/man3/archive_read_set_options.3
/usr/pkg/man/man3/archive_util.3
/usr/pkg/man/man3/archive_write.3
/usr/pkg/man/man3/archive_write_blocksize.3
/usr/pkg/man/man3/archive_write_data.3
/usr/pkg/man/man3/archive_write_disk.3
/usr/pkg/man/man3/archive_write_filter.3
/usr/pkg/man/man3/archive_write_finish_entry.3
/usr/pkg/man/man3/archive_write_format.3
/usr/pkg/man/man3/archive_write_free.3
/usr/pkg/man/man3/archive_write_header.3
/usr/pkg/man/man3/archive_write_new.3
/usr/pkg/man/man3/archive_write_open.3
/usr/pkg/man/man3/archive_write_set_options.3
/usr/pkg/man/man3/libarchive.3
/usr/pkg/man/man3/libarchive_changes.3
/usr/pkg/man/man3/libarchive_internals.3
/usr/pkg/sbin
/usr/pkg/sbin/audit-packages
/usr/pkg/sbin/download-vulnerability-list
/usr/pkg/sbin/pkg_add
/usr/pkg/sbin/pkg_admin
/usr/pkg/sbin/pkg_create
/usr/pkg/sbin/pkg_delete
/usr/pkg/sbin/pkg_info
/usr/pkg/include
/usr/pkg/include/archive.h
/usr/pkg/include/archive_entry.h
/usr/pkg/lib
/usr/pkg/lib/libarchive.la
/usr/pkg/lib/libarchive.a
/usr/pkg/lib/libarchive.so
/usr/pkg/lib/libarchive.so.13
/usr/pkg/lib/libarchive.so.13.1.2
/usr/pkg/lib/pkgconfig
/usr/pkg/lib/pkgconfig/libarchive.pc
/usr/pkg/etc
/usr/pkg/etc/pkgin
/usr/pkg/etc/pkgin/repositories.conf
/usr/pkg/bin
/usr/pkg/bin/pkgin
/usr/pkg/share
/usr/pkg/share/examples
/usr/pkg/share/examples/pkgin
/usr/pkg/share/examples/pkgin/preferred.conf.example
/usr/pkg/share/examples/pkgin/repositories.conf.example


> I did not choose to install pkgsrc, at that time. Yes, you did. pkgin is just a tool on top of the normal binary package
  management infrastructure.

What I meant here was that in the installer I was given two option, one to install pkgin (e: Enable installation of binary packages"), and one to install pkgsrc ("f: Fetch and unpack pkgsrc for building from source"). I did not chose to enable the latter in the installer. As a result, I do not have a /usr/pkgsrc directory:

pantheon-vbox$ ls /usr/
X11R7 bin games include lib libdata libexec mdec pkg sbin share tests

Maybe it's just a confusion of terms, but to me, this means I do not have pkgsrc installed.

I've run the installation process a number of times now to figure out what happend. When I did chose the pkgsrc option instead, I did end up with a /usr/pkgsrc directory.

  > Later on, I found out that without pkgsrc, a NetBSD installation is not
  > very useful. I tried to install pkgsrc by running these steps as root:
  > # cd /tmp
  > # ftp ftp://ftp.netbsd.org/pub/pkgsrc/stable/pkgsrc.tar.gz
  > # tar -xzvf pkgsrc.tar.gz -C /usr
  > # cd /usr/pkgsrc/bootstrap/
  > # ./bootstrap
You don't have to do the bootstrap, your system already has all the
  parts.

If that is indeed correct, then this bug report should be turned into something like what Tobias Nygren suggests, namely that running bootstrap when not needed should fail early.

However, I'm not fully convinced this is correct. Running the bootstrap on a fresh system without the pkgin installation results in a different setup. It might be that all these extra packages are strictly not *necessary* for utilizing pkgsrc. However, the difference is at the very least *problematic*. Case in point, on the pkgin installation system I do not have bmake installed. When running the pkgsrc bootstrap successfully on my comparison machine, I have bmake. Several guides on the 'net for working with pkgsrc suggests using bmake when interacting with pkgsrc. I assume it is technically possible to rectify the sitation, but my point here is that such adhoc fixes should not be needed on a fresh installation.

This is what I get when I chose not to install pkgin in the installer, but instead download pkgsrc.tar.gz and run the bootstrap script. As you can see, this situation differs from the pkgin setup.

pantheon-vbox# ls /var/db/pkg/
bmake-20150505 bootstrap-mk-files-20150908 pkg_install-20150901 pkgdb.byfile.db

pantheon-vbox# find /usr/pkg
/usr/pkg
/usr/pkg/share
/usr/pkg/share/mk
/usr/pkg/share/mk/bsd.README
/usr/pkg/share/mk/bsd.dep.mk
/usr/pkg/share/mk/bsd.depall.mk
/usr/pkg/share/mk/bsd.doc.mk
/usr/pkg/share/mk/bsd.files.mk
/usr/pkg/share/mk/bsd.hostprog.mk
/usr/pkg/share/mk/bsd.inc.mk
/usr/pkg/share/mk/bsd.info.mk
/usr/pkg/share/mk/bsd.kernobj.mk
/usr/pkg/share/mk/bsd.kinc.mk
/usr/pkg/share/mk/bsd.kmod.mk
/usr/pkg/share/mk/bsd.lib.mk
/usr/pkg/share/mk/bsd.links.mk
/usr/pkg/share/mk/bsd.man.mk
/usr/pkg/share/mk/bsd.nls.mk
/usr/pkg/share/mk/bsd.obj.mk
/usr/pkg/share/mk/bsd.own.mk
/usr/pkg/share/mk/bsd.prog.mk
/usr/pkg/share/mk/bsd.subdir.mk
/usr/pkg/share/mk/bsd.sys.mk
/usr/pkg/share/mk/sys.mk
/usr/pkg/bin
/usr/pkg/bin/bmake
/usr/pkg/man
/usr/pkg/man/cat1
/usr/pkg/man/man1
/usr/pkg/man/man1/bmake.1
/usr/pkg/man/man1/pkg_add.1
/usr/pkg/man/man1/pkg_admin.1
/usr/pkg/man/man1/pkg_create.1
/usr/pkg/man/man1/pkg_delete.1
/usr/pkg/man/man1/pkg_info.1
/usr/pkg/man/man5
/usr/pkg/man/man5/pkg_summary.5
/usr/pkg/man/man5/pkg_install.conf.5
/usr/pkg/man/man7
/usr/pkg/man/man7/pkgsrc.7
/usr/pkg/man/man8
/usr/pkg/man/man8/audit-packages.8
/usr/pkg/man/man8/download-vulnerability-list.8
/usr/pkg/sbin
/usr/pkg/sbin/pkg_add
/usr/pkg/sbin/pkg_admin
/usr/pkg/sbin/audit-packages
/usr/pkg/sbin/download-vulnerability-list
/usr/pkg/sbin/pkg_create
/usr/pkg/sbin/pkg_delete
/usr/pkg/sbin/pkg_info
/usr/pkg/etc
/usr/pkg/etc/mk.conf


To phrase it differently: If I were to help a friend install NetBSD, I would at this point tell him: "stay away from installing pkgin using the installer! If you do, you will end up with a system that does not have a standard pkgsrc installation (at least not without a lot of work)." Unless the bootstrap script can be fixed to play more nicely with a system that has pkgin installed from start by the installer, I would recommend that you remove that option from the installer. It is more contraproductive than helpful as it stands now.

/Magnus



Home | Main Index | Thread Index | Old Index