Summary: | dohtml fails silently on directories w/o recursion arg | ||
---|---|---|---|
Product: | Portage Development | Reporter: | brad walker <bradmwalker> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jakub |
Priority: | High | Keywords: | InVCS |
Version: | 2.1 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 216231 | ||
Attachments: |
dohtml.patch
dohtml.patch dohtml.patch |
Description
brad walker
2006-10-01 09:33:33 UTC
this line in main:/usr/lib/portage/dohtml causes the problem: success = success and install(basename, dirname, options) as soon as install fails once the 'for x in args' loop never installs again. the python keyword 'and' prevents `install' execution after `success' is false. `install' returns false on a directory without options.recurse, causing the problem originally described. Created attachment 105973 [details, diff]
dohtml.patch
Changes:
added QA Notice for directories without recursion
fixed main driver loop ('success &= install' instead of 'success = success & install')
misc. cleanups
Created attachment 106027 [details, diff]
dohtml.patch
same as last with indentation fixed
Instead of using the output module for the ewarn, I suppose we should spawn something like `bash -c 'source ${PORTAGE_BIN_PATH}/isolated-function.sh; ewarn "QA Notice:..."'` so that it works correctly with the elog framework. Note that soon we'll have a QA elog level for bug #160075. Created attachment 106478 [details, diff]
dohtml.patch
Changes:
use new eqawarn function from isolated-functions.sh (tested with svn isolated-functions.sh)
Thanks. In svn r5642 I've fixed it so that it continues to install files even after some fail. I'll wait until after the final release of 2.1.2 (coming soon) for the QA warning since I'm not sure how many packages it will affect and people will get upset if it produces any warnings that they see as invalid or unnecessary. cool beans. please (re)consider the latest proposed patch. it includes many cleanups: whitespace, expressions, and comments. the main loop fix applied in svn r5642 is excessively verbose compared to the patch's fix. again, the misuse of keyword 'and' vs. operator '&' caused the original problem. simply substituting '&' for 'and' fixes the error; using '&=' simplifies the statement further. Is this bug still even remotely relevant with current portage versions? Fixed in r9476 and released in sys-apps/portage-2.2_pre5. This bug should be RESOLVED FIXED and block bug #210077. This is supposed to be fixed in portage-2.2_pre5 or earlier. This is supposed to be fixed in portage-2.2_pre5 or earlier. |