Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#31480 closed defect (fixed)

py25-htmldocs: /bin/chmod: Argument list too long

Reported by: lminder@… Owned by: eborisch (Eric A. Borisch)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port: py25-htmldocs

Description (last modified by ryandesign (Ryan Carsten Schmidt))

I cannot install py25-html due to too long argument list to chmod when staging.

Example:

# port install py25-htmldocs
--->  Computing dependencies for py25-htmldocs
--->  Staging py25-htmldocs into destroot
Error: Target org.macports.destroot returned: shell command failed (see log for details)
Log for py25-htmldocs is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_py-htmldocs/py25-htmldocs/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

The relevant extract from the log is:

:info:destroot sh: /bin/chmod: Argument list too long
:info:destroot shell command "chmod a+r `find /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_py-htmldocs/py25-htmldocs/work/destroot/opt/local/share/doc/python25-doc -type f`" returned error 126
:error:destroot Target org.macports.destroot returned: shell command failed (see log for details)

It seems it would be possible to fix this by using a for loop, something like "for i in `find blah` ;do chmod a+r "$i" ; done". I haven't tried, because I don't know how to correctly quote the $ in tcl.

I'm not sure why I'm seeing this error while apparently most other people aren't.

The version of py25-htmldocs is 2.5.4_1. Curiously, 2.5.4_0 seemed to install fine, although I can't retry now.

Change History (6)

comment:1 Changed 13 years ago by lminder@…

Cc: lminder@… added

Cc Me!

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

Cc: lminder@… removed
Description: modified (diff)
Keywords: py25-htmldocs removed
Owner: changed from macports-tickets@… to eborisch@…
Summary: py25-htmldocs fails to installpy25-htmldocs: /bin/chmod: Argument list too long

comment:3 in reply to:  description Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added

Replying to lminder@…:

It seems it would be possible to fix this by using a for loop, something like "for i in `find blah` ;do chmod a+r "$i" ; done". I haven't tried, because I don't know how to correctly quote the $ in tcl.

We shouldn't be using "system ... chmod ... find" at all; we have native Tcl commands for this: fs-traverse, file attributes -permissions, etc.

I'm not sure why I'm seeing this error while apparently most other people aren't.

The directory path where MacPorts ends up building the port may be longer than other users'.

The version of py25-htmldocs is 2.5.4_1. Curiously, 2.5.4_0 seemed to install fine, although I can't retry now.

Yes, because that was the change made in 2.5.4_1; see r84554.

comment:4 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

comment:5 in reply to:  description Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to lminder@…:

I'm not sure why I'm seeing this error while apparently most other people aren't.

Actually, with py25-htmldocs, I see the problem too; I don't with py27-htmldocs. py25-htmldocs installs 1605 files whereas py27-htmldocs installs only 1000 files, so py25-htmldocs' argument list would have been much longer. Probably nobody tested py25-htmldocs. But anyway it's fixed now.

comment:6 Changed 13 years ago by eborisch (Eric A. Borisch)

Thanks for fixing it! I'm not a tcl-er, so I was looking for any fuctional way to accomplish the task... You're correct -- I hadn't tested py25-htmldocs, just the others.

Note: See TracTickets for help on using tickets.