Opened 8 years ago

Closed 8 years ago

#32103 closed defect (fixed)

mumble @1.2.2 fails destroot

Reported by: gotyaoi@… Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: haspatch Cc: nerdling (Jeremy L)
Port: mumble

Description

While I was installing mumble, I got this error when it tried to do the destroot phase

:debug:destroot Executing org.macports.destroot (mumble)
:error:destroot Target org.macports.destroot returned: error copying "/opt/local
/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_p
orts_aqua_mumble/mumble/work/mumble-1.2.2/release/Mumble.app" to "/opt/local/App
lications/MacPorts/Mumble.app": no such file or directory

I checked, and

/opt/local/var/macports/build/ _opt_local_var_macports_sources_rsync.macports.org_release_p orts_aqua_mumble/mumble/work/mumble-1.2.2/release/Mumble.app

definitely exists, but

/opt/local/Applications

and anything below it does not.

seen on OSX 10.5.8

Attachments (1)

mumble.diff (1.3 KB) - added by ryandesign (Ryan Schmidt) 8 years ago.
tentative patch

Download all attachments as: .zip

Change History (8)

comment:1 Changed 8 years ago by mf2k (Frank Schima)

Owner: changed from macports-tickets@… to snc@…

comment:2 Changed 8 years ago by ryandesign (Ryan Schmidt)

Cc: snc@… added
Owner: changed from snc@… to ryandesign@…

This bug was introduced into the port in r59656. Since installing this port requires a 32-bit Mac, I'm having to spend some time installing the dependencies on a secondary system, before I can test my fix.

comment:3 in reply to:  2 Changed 8 years ago by ryandesign (Ryan Schmidt)

Replying to ryandesign@…:

installing this port requires a 32-bit Mac

Well, a Mac on which 32-bit building is the default, i.e. Tiger, Leopard, or 32-bit Snow Leopard.

comment:4 in reply to:  2 Changed 8 years ago by gotyaoi@…

Replying to ryandesign@…:

This bug was introduced into the port in r59656. Since installing this port requires a 32-bit Mac, I'm having to spend some time installing the dependencies on a secondary system, before I can test my fix.

Oh yeah, qt4-mac took ages for me. Take your time, and thanks for looking into this so quickly.

Changed 8 years ago by ryandesign (Ryan Schmidt)

Attachment: mumble.diff added

tentative patch

comment:5 Changed 8 years ago by ryandesign (Ryan Schmidt)

Keywords: haspatch added

Still building dependencies, but here's the patch I'm going to be testing, if you want to test it yourself. The installing-things-correctly part should be right, it's the cleaning-up-previous-bad-installs part I need to test. But if you haven't installed mumble before you won't be affected by that.

comment:6 in reply to:  5 Changed 8 years ago by gotyaoi@…

Replying to ryandesign@…:

Still building dependencies, but here's the patch I'm going to be testing, if you want to test it yourself. The installing-things-correctly part should be right, it's the cleaning-up-previous-bad-installs part I need to test. But if you haven't installed mumble before you won't be affected by that.

Great Success! Mumble is now installed and activated.

comment:7 Changed 8 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: newclosed

Ok, after some testing, I've concluded that all users would have experienced destroot failures with this port. Usually the directory ${prefix}${applications_dir} would not exist, so users would get this destroot error:

Error: Target org.macports.destroot returned: error copying "/opt/local/var/macports/build/_path_to_aqua_mumble/mumble/work/mumble-1.2.2/release/Mumble.app" to "/opt/local/Applications/MacPorts/Mumble.app": no such file or directory

If the user for some reason did have that directory, then they'd instead get this destroot error:

Error: No files have been installed in the destroot directory!
Error: Please make sure that this software supports 'make install DESTDIR=${destroot}' or implement an alternative destroot mechanism in the Portfile.
Error: Files might have been installed directly into your system, check before proceeding.

And in that case, Mumble would have been successfully installed in ${prefix}${applications_dir} but not registered to the port. So the patch I attached here is correct for both fixing the destroot and for cleaning up the unregistered app if it existed. Committed in r87719.

Note: See TracTickets for help on using tickets.