pkg debendency override

0 views
Skip to first unread message

Markus Graf

unread,
Nov 23, 2025, 9:07:00 AM (12 days ago) Nov 23
to ques...@freebsd.org

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



Frank Leonhardt

unread,
Nov 27, 2025, 7:40:05 AM (8 days ago) Nov 27
to ques...@freebsd.org
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.






>
>

Reply all
Reply to author
Forward
0 new messages