Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#58185 closed defect (fixed)

mkfontscale mkfontdir: File conflict

Reported by: mf2k (Frank Schima) Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: Schamschula (Marius Schamschula), michaellass (Michael Lass), vallon (Justin)
Port: mkfontscale mkfontdir

Description

--->  Activating mkfontscale @1.2.0_0
Error: Failed to activate mkfontscale: Image error: /opt/local/bin/mkfontdir is being used by the active mkfontdir port.  Please deactivate this port first, or use 'port -f activate mkfontscale' to force the activation.

Change History (11)

comment:1 Changed 5 years ago by michaellass (Michael Lass)

Cc: michaellass added

comment:2 Changed 5 years ago by Schamschula (Marius Schamschula)

Yup. I noticed this when upgrading my work machine this morning.

This will require a deactivate hack to be add to mkfontscale.

Last edited 5 years ago by Schamschula (Marius Schamschula) (previous) (diff)

comment:3 Changed 5 years ago by Schamschula (Marius Schamschula)

Resolution: fixed
Status: assignedclosed

In d3f13f35deb847b06909ec970b85ea716f2e2291/macports-ports (master):

mkfontscale: force deactivate conflicing mkfontdir

Closes: #58185

comment:4 Changed 5 years ago by mf2k (Frank Schima)

So let me get this straight, mkfontdir depends on mkfontscale which itself installs mkfontdir and has a newer version?

So why do we need a port for mkfontdir?

Last edited 5 years ago by mf2k (Frank Schima) (previous) (diff)

comment:5 Changed 5 years ago by mf2k (Frank Schima)

This fix does not solve the problem, namely that both ports install the same file. The deactivate hack is needed only when a previous version needs to be deactivated when updating to a newer version.

Last edited 5 years ago by mf2k (Frank Schima) (previous) (diff)

comment:6 Changed 5 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: closedreopened

comment:8 Changed 5 years ago by vallon (Justin)

I don't know what the expectation is here, but it seems that my mkfontdir is installed but inactive. Not sure how it got that way. port upgrade had trouble with conflicting /opt/local/bin/mkfontdir. I can not install, activate, or uninstall it (without resorting to -f):

$ date
Sat Mar  9 19:30:45 EST 2019
$ port installed mkfontdir
The following ports are currently installed:
  mkfontdir @1.0.7_0
$ port activate mkfontdir
--->  Computing dependencies for mkfontdir
--->  Activating mkfontdir @1.0.7_0
Error: Failed to activate mkfontdir: Image error: /opt/local/bin/mkfontdir is being used by the active mkfontscale port.  Please deactivate this port first, or use 'port -f activate mkfontdir' to force the activation.
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_mkfontdir-1.0.7_0_469b6ad86e7ffbb26072b0825460b552eb9abe2fdd023ef26895190b3e9c7651-873/mkfontdir/main.log for details.
Warning: Failed to execute portfile from registry for mkfontdir @1.0.7_0
--->  Activating mkfontdir @1.0.7_0
Error: port activate failed: Image error: /opt/local/bin/mkfontdir is being used by the active mkfontscale port.  Please deactivate this port first, or use 'port -f activate mkfontdir' to force the activation.
$ sudo port uninstall mkfontdir
Note: It is not recommended to uninstall/deactivate a port that has dependents as it breaks the dependents.
The following ports will break:
 font-adobe-100dpi @1.0.3_0
 font-adobe-75dpi @1.0.3_0
Continue? [y/N]: 
...
$ sudo port -u uninstall
Note: It is not recommended to uninstall/deactivate a port that has dependents as it breaks the dependents.
The following ports will break:
 font-adobe-100dpi @1.0.3_0
 font-adobe-75dpi @1.0.3_0
...
Continue? [y/N]: n
--->  Cleaning mkfontdir
$ port provides /opt/local/bin/mkfontdir
/opt/local/bin/mkfontdir is provided by: mkfontscale
$ port info font-adobe-100dpi
font-adobe-100dpi @1.0.3 (x11, x11-font, graphics)

Description:          X.org Adobe 100 DPI font
Homepage:             https://www.x.org/

Build Dependencies:   pkgconfig, bdftopcf, xorg-font-util, gzip
Library Dependencies: fontconfig, mkfontscale
Platforms:            darwin
License:              X11
Maintainers:          Email: jeremyhu@macports.org, GitHub: jeremyhu
                      Policy: openmaintainer

$ port upgrade outdated
Nothing to upgrade.

It isn't clear to me why it thinks font-adobe-100dpi depends on mkfontdir.

I would guess "uninstall -f" might fix this, but just wondering whether this broken-state should have resolved itself automatically.

Last edited 5 years ago by vallon (Justin) (previous) (diff)

comment:9 Changed 5 years ago by vallon (Justin)

Cc: vallon added

comment:10 Changed 5 years ago by Schamschula (Marius Schamschula)

comment:11 Changed 5 years ago by vallon (Justin)

Yes:

# port selfupdate
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.5.4 installed,
MacPorts base version 2.5.4 downloaded.
--->  Updating the ports tree
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated
# port info mkfontdir
mkfontdir @1.0.7_1
Replaced by:          mkfontscale

Description:          This port has been replaced by mkfontscale.
Homepage:             https://www.macports.org

Platforms:            darwin
License:              MIT
Maintainers:          Email: jeremyhu@macports.org, GitHub: jeremyhu
                      Policy: openmaintainer
# port upgrade outdated
Nothing to upgrade.
# port -u uninstall
Note: It is not recommended to uninstall/deactivate a port that has dependents as it breaks the dependents.
The following ports will break:
 font-adobe-100dpi @1.0.3_0
 font-adobe-75dpi @1.0.3_0
...
Continue? [y/N]: n
--->  Cleaning mkfontdir
# port uninstall mkfontdir
Note: It is not recommended to uninstall/deactivate a port that has dependents as it breaks the dependents.
The following ports will break:
 font-adobe-100dpi @1.0.3_0
 font-adobe-75dpi @1.0.3_0
...
Continue? [y/N]: n
Note: See TracTickets for help on using tickets.