On xorg-libraries, /usr/X11R6, sysinstall and more

So far, I’ve had a wonderful day. It started by trying to figure out why several hundred of packages are failing on i386-6. After a long time trying to find a general pattern, I boiled it down to xorg-libraries. It turns out that when Kris did some spring cleaning and removed the /usr/X11R6 directory from bindist, it is now a symlink created during pre-install in xorg-libraries. What happens next on deinstall is that pkg-install sees the symlink and edits several /etc files to remove the mention of X11R6 there so those scripts are not run twice. As the removal of X11R6 in /etc was not MFCed to RELENG_6, this means that those files are changes and thus show up as leftovers on pointyhat.

So far so good. Now, how to fix this:

  1. MFC the changes to /etc. This may break existing installations, but only if src is updated and not ports.
  2. Readd the directory to bindist on 6 so the symlink isn’t created and pkg-install does not edit /etc. Nasty hack.
  3. Don’t run pkg-install during PACKAGE_BUILDING. This is already set in Makefile, but not in the package. And now comes the fun part. Moving this to the package will cause problems as PACKAGE_BUILDING is set during sysinstall, so installing xorg packages from sysinstall will leave X11R6 behind in /etc.

Stay tuned for fixes.

Leave a Comment