(moving to -dev since this involves writing a portfile)

On 2012-5-28 10:43 , Paulo Moura wrote:
> Hi,
> 
> I'm using the latest versions of MacPorts, Xcode, and PackageMaker. I have a 
> portfile where I define:
> 
> post-pkg {
>       set resources ${workpath}/${name}-${version}.pkg/Contents/Resources/
>       file copy -force -- 
> ${workpath}/${worksrcdir}/scripts/macosx/License.html ${resources}
>       file copy -force -- 
> ${workpath}/${worksrcdir}/scripts/macosx/ReadMe.html ${resources}
>       file copy -force -- 
> ${workpath}/${worksrcdir}/scripts/macosx/Welcome.html ${resources}
>       file copy -force -- ${workpath}/${worksrcdir}/scripts/macosx/postflight 
> ${resources}
> }
> 
> Trying to create a package fails with the error:
> 
> Error: org.macports.pkg for port logtalk returned: error copying 
> "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_logtalk/logtalk/work/lgt2441/scripts/macosx/License.html"
>  to 
> "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_logtalk/logtalk/work/logtalk-2.44.1.pkg/Contents/Resources/":
>  not a directory
> 
> This worked before so I guess something change in the latest MacPorts and/or 
> PackageMaker versions. Any hints?

MacPorts 2.1 will build flat packages by default on 10.6+. This means
you can't just copy files into the resources dir, since it's now inside
a xar archive.

You can get the old behaviour back by setting 'package.flat no'. To make
this work with flat packages, you should instead copy the html files to
${package.resources} in pre-pkg, and the postflight script to
${package.scripts}/postinstall. (Flat packages apparently don't support
postflight scripts as such. Apple tends to simulate them by adding a
dummy package that only contains a postinstall script to the enclosing
Distribution package.)

- Josh
_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Reply via email to