Opened 11 years ago

Closed 11 years ago

#43406 closed defect (fixed)

gawk @4.1.1: destroot fails on upgrade

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: Schamschula (Marius Schamschula)
Port: gawk

Description

On Leopard, when upgrading to gawk @4.1.1 from a previous version, this error occurs during destroot:

/usr/bin/make  install-data-hook
make[4]: Entering directory `/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_gawk/gawk/work/gawk-4.1.1/extension'
for i in filefuncs.la fnmatch.la fork.la inplace.la ordchr.la readdir.la readfile.la revoutput.la revtwoway.la rwarray.la testext.la time.la ; do \
		rm -f /opt/local/lib/gawk/$i ; \
	done
rm: /opt/local/lib/gawk/filefuncs.la: Permission denied
rm: /opt/local/lib/gawk/fnmatch.la: Permission denied
rm: /opt/local/lib/gawk/fork.la: Permission denied
rm: /opt/local/lib/gawk/inplace.la: Permission denied
rm: /opt/local/lib/gawk/ordchr.la: Permission denied
rm: /opt/local/lib/gawk/readdir.la: Permission denied
rm: /opt/local/lib/gawk/readfile.la: Permission denied
rm: /opt/local/lib/gawk/revoutput.la: Permission denied
rm: /opt/local/lib/gawk/revtwoway.la: Permission denied
rm: /opt/local/lib/gawk/rwarray.la: Permission denied
rm: /opt/local/lib/gawk/testext.la: Permission denied
rm: /opt/local/lib/gawk/time.la: Permission denied
make[4]: *** [install-data-hook] Error 1

The Makefile erroneously assumes it has permission to alter files in the prefix, but MacPorts prohibits that; it may only alter files in the workpath.

This problem probably affects all users with default settings on Mountain Lion and earlier. I didn't see this problem on my Mavericks system when updating the port, because the Makefile only tries to remove .la files, and MacPorts base by default automatically removes all .la files after destroot on Mavericks and later, so there was nothing for the Makefile to remove.

The buildbots didn't see the problem because they never do upgrades; they always do fresh installs with no existing ports installed.

Change History (1)

comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

I believe r119180 is the correct fix. Since this change means that extension .la files are no longer installed on any OS version, which was presumably the intention all along, I increased the revision. I'll report the bug to the developers.

Note: See TracTickets for help on using tickets.