#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