[MacPorts] #37333: missing destroot and worksrcpath directories on destroot stage when creating binary + documentation port
MacPorts
noreply at macports.org
Mon Dec 17 09:54:40 PST 2012
#37333: missing destroot and worksrcpath directories on destroot stage when
creating binary + documentation port
-------------------------+--------------------------------
Reporter: garymamon@… | Owner: macports-tickets@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.1.2
Keywords: destroot | Port:
-------------------------+--------------------------------
I am trying to construct a port for a binary package plus documentation
plus Makefile (for install), using MacPorts to force installation of
dependent packages if missing. Because my package ("scamp") is already
compiled (with a special compiler), my PortFile has:
{{{
use_configure no
build {}
}}}
But after running:
% cd ~/ports; portindex; cd; sudo port clean scamp; sudo port uninstall
scamp; sudo rm /opt/local/var/macports/distfiles/scamp/scamp-2.0b5.tbz2 ;
sudo rm -rf
/opt/local/var/macports/build/_Users_gam_ports_science_scamp/scamp; sudo
port -v install scamp @2.0b5
after correct fetching, checksuming, extracting [from .tbz2 file],
configuring, and building, I run into an error, whatever I try for the
destroot stage in my Portfile. For example with (an empty)
{{{
destroot {
puts "prefix = ${prefix}"
puts "workpath = ${workpath}"
puts "worksrcpath = ${worksrcpath}"
puts "destroot = ${destroot}"
}
}}}
I get
{{{
prefix = /opt/local
workpath =
/opt/local/var/macports/build/_Users_gam_ports_science_scamp/scamp/work
worksrcpath =
/opt/local/var/macports/build/_Users_gam_ports_science_scamp/scamp/work/scamp-2.0b5
destroot =
/opt/local/var/macports/build/_Users_gam_ports_science_scamp/scamp/work/destroot
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.
Error: org.macports.destroot for port scamp returned: Staging scamp into
destroot failed
}}}
Now if I try
{{{
ls -l
/opt/local/var/macports/build/_Users_gam_ports_science_scamp/scamp/work/scamp-2.0b5
}}}
or
{{{
ls -l
/opt/local/var/macports/build/_Users_gam_ports_science_scamp/scamp/work/destroot
}}}
the directories do not exist! On the other hand, the {{{workpath}}}
directory exists and contains the root of the files I wish to have
installed by the end user (i.e. Makefile, README, INSTALL, bin, doc,
man...). Note that the Makefile has an install:
{{{
install:
cp -R bin $(DESTDIR)
mkdir -p $(DESTDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
mkdir -p $(DESTDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)/share
cp -R doc man [A-Z]*
$(DESTDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)/share
}}}
Are these destroot issues normal or a bug in MacPorts? How can I work
around them?
--
Ticket URL: <https://trac.macports.org/ticket/37333>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list