On Fri, Oct 10, 2008 at 6:19 PM, luis jure <[EMAIL PROTECTED]> wrote:
>
>
> hello list,
>
> i need some help to come up with an ebuild for csound (a language for
> sound synthesis).
>
> csound uses scons and then installs files using a script called
> install.py. compilation goes fine.
>
> executables, libraries, plugins and header files are correctly
> installed (under /usr/bin, /usr/lib, /usr/lib/csound/plugins/
> and /usr/include/csound/ respectively)
>
> but i'm having a bunch of messages like this when it comes to installing
> localization files:
>
> === Installing Localisation files ===
> ACCESS DENIED unlink: /usr/share/locale/de/LC_MESSAGES/csound5.mo
> install: cannot remove `/usr/share/locale/de/LC_MESSAGES/csound5.mo':
> Permission denied
> *** error copying /usr/share/locale/de/LC_MESSAGES/csound5.mo
>
> this is the summary:
>
> ------------------ ACCESS VIOLATION SUMMARY ---------------------------
> LOG FILE = "/var/log/sandbox/sandbox-15019.log"
>
> unlink: /usr/share/locale/de/LC_MESSAGES/csound5.mo
> unlink: /usr/share/locale/en_GB/LC_MESSAGES/csound5.mo
> unlink: /usr/share/locale/en_US/LC_MESSAGES/csound5.mo
> unlink: /usr/share/locale/es_CO/LC_MESSAGES/csound5.mo
> unlink: /usr/share/locale/fr/LC_MESSAGES/csound5.mo
> unlink: /usr/share/locale/it/LC_MESSAGES/csound5.mo
> unlink: /usr/share/locale/ro/LC_MESSAGES/csound5.mo
> ------------------------------------------------------------------------
>
> i can circumvent this emerging with FEATURES="-sandbox", but i'd like
> to solve this in a cleaner way.
>
>
> the relevant (i think) part in the script is this:
>
> print ' === Installing Localisation files ==='
> xmgList = findFiles('.', '.+\\.xmg')
> if xmgList.__len__() > 0:
> err = installFiles(xmgList, xmgDir)
> installErrors = installErrors or err
> else:
> xmgList = ['de', 'en_GB','en_US', 'es_CO', 'fr', 'it','ro']
> for i in xmgList:
> makeDir(concatPath([xmgDir, i, 'LC_MESSAGES']))
> src = 'po/' + i + '/LC_MESSAGES/csound5.mo'
> fileName = concatPath([xmgDir, i, 'LC_MESSAGES/csound5.mo'])
> err = runCmd(['install', '-p', '-m', '0644', src, fileName])
> if err == 0:
> addMD5(fileName, fileName)
> print ' %s' % fileName
> else:
> print ' *** error copying %s' % fileName
> installErrors = installErrors or err
>
>
> the ebuild is attached, any help greatly appreciated.
>
> best,
>
> lj
>
>
Can you emerge attr, then run lsattr on the files that cannot be
unlinked? I suspect that they might have extended attributes
preventing those file from being deleted. If you do have extended
attributes, you can remove them using chattr, I've had extended
attributes appear before and to this day don't understand why they
showed up.