New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #10881 (closed defect: fixed)

Opened 7 years ago

Last modified 4 years ago

BUG: pkg/mpkg/dmg/mdmg/rpm/dpkg commands skip destroot

Reported by: dcurtis@… Owned by: macports-tickets@…
Priority: Normal Milestone: MacPorts 1.8.0
Component: base Version:
Keywords: mpkg destroot Cc: grahamperrin, liontooth@…, rick.richardson@…, tommyd@…, nerdrew@…, jmr@…
Port:

Description (last modified by jberry@…) (diff)

Cannot build packages / meta-packages. For some reason it's thinking it should skip the destroot step and so there is nothing to archive for the pkg.


[Users/dcurtis] > pkg xrender
DEBUG: Found port in file:///usr/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/x11/xrender
DEBUG: Changing to port directory: /usr/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/x11/xrender
DEBUG: Requested variant darwin is not provided by port xrender.
DEBUG: Requested variant i386 is not provided by port xrender.
DEBUG: Requested variant macosx is not provided by port xrender.
DEBUG: Executing variant darwin_8 provides darwin_8
DEBUG: Found port in file:///usr/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/x11/XFree86
DEBUG: Changing to port directory: /usr/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/x11/XFree86
DEBUG: Searching for dependency: XFree86
DEBUG: Didn't find receipt, going to depspec regex for: XFree86
DEBUG: Found Dependency: path: /usr/X11R6/lib filename: libX11.6.dylib regex: ^libX11\.6\.dylib$
DEBUG: Found Dependency: path: /usr/X11R6/lib filename: libX11.6.dylib regex: ^libX11\.6\.dylib$
DEBUG: Found port in file:///usr/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/x11/render
DEBUG: Changing to port directory: /usr/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/x11/render
DEBUG: Searching for dependency: render
DEBUG: Found Dependency: receipt exists for render
DEBUG: Skipping com.apple.main (xrender) since this port is already installed
DEBUG: Skipping com.apple.fetch (xrender) since this port is already installed
DEBUG: Skipping com.apple.checksum (xrender) since this port is already installed
DEBUG: setting option extract.cmd to /usr/bin/bzip2
DEBUG: Skipping com.apple.extract (xrender) since this port is already installed
DEBUG: Skipping com.apple.patch (xrender) since this port is already installed
DEBUG: Skipping com.apple.configure (xrender) since this port is already installed
DEBUG: Skipping com.apple.build (xrender) since this port is already installed
DEBUG: Skipping com.apple.destroot (xrender) since this port is already installed
DEBUG: Executing com.apple.pkg (xrender)
--->  Creating pkg for xrender-0.9.0
can't stat /usr/local/var/db/dports/build/_usr_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_x11_xrender/work/destroot (No such file or directory)
can't make bom /usr/local/var/db/dports/build/_usr_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_x11_xrender/work/xrender-0.9.0.pkg/Contents/Archive.bom for dir /usr/local/var/db/dports/build/_usr_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_x11_xrender/work/destroot
Error: Target com.apple.pkg returned: shell command "mkbom /usr/local/var/db/dports/build/_usr_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_x11_xrender/work/destroot /usr/local/var/db/dports/build/_usr_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_x11_xrender/work/xrender-0.9.0.pkg/Contents/Archive.bom" returned error 1
Command output: can't stat /usr/local/var/db/dports/build/_usr_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_x11_xrender/work/destroot (No such file or directory)
can't make bom /usr/local/var/db/dports/build/_usr_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_x11_xrender/work/xrender-0.9.0.pkg/Contents/Archive.bom for dir /usr/local/var/db/dports/build/_usr_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_x11_xrender/work/destroot

Warning: the following items did not execute (for xrender): com.apple.pkg
Error: Status 1 encountered during processing.

Change History

comment:1 Changed 7 years ago by dcurtis@…

For any port; if you clean, destroot, pkg then you will not recieve this error. It's something about required steps (bascially "skipping destroot because port installed").

comment:2 Changed 7 years ago by markd@…

  • Summary changed from mpkg/pkg command builds with errors to BUG: mpkg/pkg command skips destroot

comment:3 Changed 7 years ago by jberry@…

  • Description modified (diff)

Please mark output as code so it's easier to read.

comment:4 Changed 7 years ago by dcurtis@…

temporary fix:

when doing mpkg use the -k flag and it will leave the destroot contents.

comment:5 Changed 6 years ago by pipping@…

  • Milestone set to Port Bugs

comment:6 Changed 6 years ago by pipping@…

  • Milestone changed from Port Bugs to MacPorts 1.4

comment:7 Changed 6 years ago by jmpp@…

  • Priority changed from Blocker to Important
  • Milestone changed from MacPorts 1.4 to Needs developer review

Fixing this so that a meta package builds through regular port(1) operation would require forcing some things internally, which I'm figuring is not going to be that easy since some guessing as to what to force would have to take place. Therefore setting to "Needs developer review" so that discussion on the issue can set it to a version'd milestone.

-jmpp

comment:8 Changed 6 years ago by jmpp@…

  • Owner changed from darwinports-bugs@… to macports-dev@…

comment:9 Changed 6 years ago by jmpp@…

  • Milestone changed from Needs developer review to MacPorts base bugs

Milestone Needs developer review deleted

comment:10 Changed 6 years ago by nox@…

  • Priority changed from Important to High
  • Version 1.3.2 deleted

comment:11 Changed 6 years ago by afb@…

This bug also affects the rpm/dpkg targets (as they also need a destroot)

The workaround is to either use the force, or to uninstall everything...
(or disable the autoclean, as suggested above - same as the -k option)

comment:12 Changed 5 years ago by ryandesign@…

Has duplicate #13669.

comment:13 Changed 5 years ago by jmpp@…

  • Priority changed from High to Normal

comment:14 Changed 5 years ago by afb@…

  • Cc grahamperrin added

comment:15 Changed 5 years ago by ryandesign@…

  • Cc liontooth@…, rick.richardson@… added
  • Summary changed from BUG: mpkg/pkg command skips destroot to BUG: pkg/mpkg/dmg/mdmg/rpm/dpkg commands skip destroot

dmg and mdmg targets are also affected; see duplicates #14437 and #13669, respectively.

comment:16 Changed 5 years ago by rick.richardson@…

There are two workarounds in the ticket above:

  • port -f destroot ghostscript, to make the root "valid"
  • disable autoclean for future installs to be packageable

e.g.

$ sudo port -f destroot ghostscript

$ sudo port dmg ghostscript

comment:17 follow-up: ↓ 18 Changed 5 years ago by dbruce@…

I still can't make a dmg of my port (tuxmath) even with the above work-arounds. Is there currently a functioning way to do this?

Here's what I did:
sudo port mdmg tuxmath - ran into the problems above with the missing directories for tuxmath itself as well as for many of the dep libs. After creating all these dirs manually with mkdir, here's what I get:

janis-lehtinens-imac:~ dbruce$ sudo port clean tuxmath[[BR]]
--->  Cleaning tuxmath[[BR]]
janis-lehtinens-imac:~ dbruce$ sudo port -f destroot tuxmath[[BR]]
--->  Fetching tuxmath[[BR]]
--->  Verifying checksum(s) for tuxmath[[BR]]
--->  Extracting tuxmath[[BR]]
--->  Configuring tuxmath[[BR]]
--->  Building tuxmath with target all[[BR]]
--->  Staging tuxmath into destroot[[BR]]
janis-lehtinens-imac:~ dbruce$ sudo port mdmg tuxmath[[BR]]
--->  Creating pkg for tuxmath-1.6.1[[BR]]
--->  Creating pkg for expat-2.0.1[[BR]]
(... skipping lots of Creating pkg for *...)[[BR]]
--->  Creating pkg for zlib-1.2.3[[BR]]
--->  Creating disk image for tuxmath-1.6.1[[BR]]
Error: Target org.macports.mdmg returned: shell command "ditto -rsrcFork /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_games_tuxmath/work/tuxmath-1.6.1.mpkg '/Volumes/tuxmath-1.6.1 3/tuxmath-1.6.1.mpkg'" returned error 1
Command output: ditto: /Volumes/tuxmath-1.6.1 3/tuxmath-1.6.1.mpkg/Contents/Packages/tuxmath-1.6.1.pkg/Contents/Archive.pax.gz: No space left on device

(the disk is definitely not full)

So -

  1. For the packages that fail to create the needed dir, what needs to be added to the Portfile?
  2. Is there something beyond "sudo port -f destroot tuxmath; sudo port dmg tuxmath" I need to do?

David Bruce - dbruce@…

comment:18 in reply to: ↑ 17 Changed 5 years ago by afb@…

Replying to dbruce@tampabay.rr.com:

I still can't make a dmg of my port (tuxmath) even with the above work-arounds. Is there currently a functioning way to do this?

That is a different issue (#13968), the size calculations for meta-packages/diskimages are off...

comment:19 Changed 5 years ago by ryandesign@…

Has duplicate #15987.

comment:20 Changed 5 years ago by probono@…

Given that this has been around for 2 years, is this considered a bug or a feature? (honest question)

comment:21 Changed 4 years ago by toby@…

  • Milestone changed from MacPorts base bugs to MacPorts Future

Milestone MacPorts base bugs deleted

comment:22 Changed 4 years ago by nelek@…

How am I supposed to work around this if I'm trying to build a package with dependencies? Even if i do the workaround, i still get the error for each other dependency I'm trying to build. For large sets this is totally unworkable.

And how can a serious bug like this exist for 2 years without a fix??

[CODE] ERROR: The specified root is invalid: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_archivers_bzip2/work/destroot CODE

comment:23 Changed 4 years ago by blb@…

  • Cc tommyd@… added

Cc reporter of dup #18213.

comment:24 Changed 4 years ago by nerdrew@…

  • Cc nerdrew@… added

Cc Me!

comment:25 Changed 4 years ago by jmr@…

  • Cc jmr@… added
  • Status changed from new to closed
  • Resolution set to fixed
  • Milestone changed from MacPorts Future to MacPorts 1.8.0

This appears to have been fixed by r50490.

Note: See TracTickets for help on using tickets.