Re: [List] pkg debendency override
- In reply to: Markus Graf : "pkg debendency override"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 27 Nov 2025 12:39:38 UTC
On 23/11/2025 13:28, Markus Graf wrote: > > Hi, > > I do want to solve upgrading mu, but I also want to learn how pkg works. > > I am on emacs-30.2,3 and mu-1.8.13_4. > I use the emacs window manager exwm as window manager, so I do not > want to uninstall emacs. > > # pkg upgrade > > The following 7 package(s) will be affected (of 0 checked): > > New packages to be INSTALLED: > emacs-nox: 30.2,3 [FreeBSD] > > Installed packages to be UPGRADED: > mu: 1.8.13_4 -> 1.12.13 [FreeBSD] > > Installed packages to be REMOVED: > emacs: 30.2,3 > mu4e: 1.8.13_12 > pdf-tools: 1.1.0_14 > tablist: 1.0.13_11 > yaml.el: 1.2.1 > > Number of packages to be removed: 5 > Number of packages to be installed: 1 > Number of packages to be upgraded: 1 > > $ pkg rquery %do mu > databases/xapian-core > devel/readline > devel/libfmt > mail/gmime30 > devel/glib20 > devel/gettext-runtime > editors/emacs > > $ pkg rquery %ro emacs-nox > ... > mail/mu > ... > > My main questions are: > > How do I tell pkg that emacs should be ok, no emacs-nox needed? I > tried pkg set -o editors/emacs-nox:editors/emacs > > The last commit on mail/mu did not update the DISTVERSION or > PORTREVISION, so how do I tell which version made it into pkg? > > If the last commit made it into pkg, where does the runtime dependency > on emacs-nox come from? As I read > https://cgit.freebsd.org/ports/tree/mail/mu/Makefile emacs@nox is only > a manpages build dependency. > > Best regards > > Markus Hi Markus, I am no expert on the FreeBSD pkg system, but as no actual expert has answered for three days I've had a dig. What I think is happening is this... Stuff in a binary package is compiled with the default options you'd get if you compiled the port (I believe this is always the case). You can't change that, unless YOU compile from the port. So compiling from the port is your best plan. But why is this happening? mu requires emac-nox because that was the default option when it was compiled (it builds the man pages using them). I think the full emacs would also work, but it wasn't specified when the package was built pkg set -o editors/emacs-nox:editors/emacs does NOT work because it doesn't overrode declared dependencies INSIDE a package and you're also creating a conflict (the two packages would try to install conflicting files). I've had a look-see at the Makefile in /usr/ports/mail/mu/ The current version has the line: MANPAGES_BUILD_DEPENDS= emacs:editors/emacs@nox This, I think, is where your problem lies. It's not there in older versions (I'm comparing 1.8.13 and 1.12.13 as I happen to have them online). Turning off the MANPAGES option should kill the need for the dependency, or try just removing the @nox, perhaps? This is why I'm not an expert. Regards, Frank. > >