pkgsrc-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



The following reply was made to PR pkg/50343; it has been noted by GNATS.

From: Magnus Ihse Bursie <mag%icus.se@localhost>
To: gnats-bugs%NetBSD.org@localhost, install-manager%netbsd.org@localhost,
 gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
Cc: 
Subject: Re: install/50343: pkgsrc bootstrap broken on fresh installation of
 NetBSD 7.0 amd64
Date: Mon, 19 Oct 2015 23:47:35 +0200

 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