Poudriere failing to build package that installs to /usr/share

Joseph Ward jbwlists at hilltopgroup.com
Sun Jul 21 21:06:28 UTC 2019


I have a custom port that needs to be able to write into /usr/share. 
Poudriere builds that package without any issue.

However, I have a meta-port that includes that port as a RUN_DEPENDS ,
and the meta-port fails to build because the custom port fails to
install due to "immutable_base", because /usr/share is mounted read-only.

After some digging, I found the line in
/usr/local/share/poudriere/include/fs.sh which declared /usr/share to be
included in the "nullpaths" list which all get mounted read-only with
nullfs.  So I removed the /usr/share entry, and everything seems to
build correctly.

I have 2 questions:

1)  Is there a "proper" way to tell the system not to read-only mount
/usr/share that I just didn't find?  One that won't require me to
manually change that file every time I upgrade poudriere?

2)  Am I likely breaking anything by doing this?  As far as I can tell,
by removing that entry /usr/share is just part of the zfs clone when the
jail starts up and changes will be blown away when the jail is brought
down, but I made a lot of assumptions in getting to that conclusion.


Thank you!

-Joseph




More information about the freebsd-pkg mailing list