#16282 closed defect (fixed)
emacs 22.2: bad use of chown in destroot stage
Reported by: | vinc17@… | Owned by: | darren.bane@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.6.0 |
Keywords: | Cc: | ||
Port: |
Description
I get the following errors:
---> Staging emacs into destroot [...] for dir in /opt/local/var/macports/build/_Users_vinc17_software_dports_editors_emacs/work/emacs-22.2/etc /opt/local/var/macports/build/_Users_vinc17_software_dports_editors_emacs/work/emacs-22.2/lisp ; do \ dest=$1 ; shift ; \ [ -d ${dir} ] \ && [ `(cd ${dir} && /bin/pwd)` != `(cd ${dest} && /bin/pwd)` ] \ && (echo "Copying ${dir} to ${dest}..." ; \ (cd ${dir}; tar -chf - . ) \ | (cd ${dest}; umask 022; \ tar -xvf - && cat > /dev/null) || exit 1; \ find ${dest} -exec chown ${LOGNAME:-$USERNAME} {} ';' ;\ for subdir in `find ${dest} -type d ! -name RCS ! -name CVS -print` ; do \ chmod a+rx ${subdir} ; \ rm -rf ${subdir}/RCS ; \ rm -rf ${subdir}/CVS ; \ rm -f ${subdir}/.cvsignore ; \ rm -f ${subdir}/.arch-inventory ; \ rm -f ${subdir}/\#* ; \ rm -f ${subdir}/.\#* ; \ rm -f ${subdir}/*~ ; \ rm -f ${subdir}/*.orig ; \ rm -f ${subdir}/[mM]akefile* ; \ rm -f ${subdir}/ChangeLog* ; \ rm -f ${subdir}/dired.todo ; \ done) ; \ done Copying /opt/local/var/macports/build/_Users_vinc17_software_dports_editors_emacs/work/emacs-22.2/etc to /opt/local/var/macports/build/_Users_vinc17_software_dports_editors_emacs/work/destroot/opt/local/share/emacs/22.2/etc... ./ ./BABYL ./calccard.ps ./calccard.tex [...] ./yow.lines usage: chown [-fhv] [-R [-H | -L | -P]] owner[:group] file ... chown [-fhv] [-R [-H | -L | -P]] :group file ... usage: chown [-fhv] [-R [-H | -L | -P]] owner[:group] file ... chown [-fhv] [-R [-H | -L | -P]] :group file ... [...]
Here "sudo env | grep NAME" gives:
LOGNAME=root USERNAME=vinc17
I suppose that the problem is that MacPorts undefines both LOGNAME and USERNAME.
Attachments (3)
Change History (9)
comment:1 Changed 16 years ago by vinc17@…
Owner: | changed from macports-tickets@… to darren.bane@… |
---|
comment:2 Changed 16 years ago by vinc17@…
Replying to vinc17@macports.org:
I suppose that the problem is that MacPorts undefines both LOGNAME and USERNAME.
Indeed, if I insert
echo "chown '$${LOGNAME:-$$USERNAME}' ..." ; \
before the "find $${dest} -exec chown", I get:
chown '' ...
I think that a fix would be to remove all these unnecessary chown's. Or MacPorts base should be fixed to keep LOGNAME set to a valid value (I wonder if unsetting it is allowed by POSIX).
comment:3 Changed 16 years ago by raimue (Rainer Müller)
Can someone explain why emacs wants to change the owner at all? Would it be a problem if it is owned by root?
Changed 16 years ago by darren.bane@…
Attachment: | patch-Portfile.diff added |
---|
Patch against editors/emacs/Portfile
Changed 16 years ago by darren.bane@…
Attachment: | patch-Makefile.in.diff added |
---|
New patch, to go in editors/emacs/files
Changed 16 years ago by darren.bane@…
Attachment: | patch-leim-Makefile.in.diff added |
---|
New patch, to go in editors/emacs/files
comment:4 Changed 16 years ago by darren.bane@…
I agree that the chowns are unnecessary, and have uploaded patches to remove them. Can someone with commit privs do the honours please?
Also, the other patches in editors/emacs/files are no longer used and can be removed.
comment:5 Changed 16 years ago by febeling@…
Resolution: | → fixed |
---|---|
Status: | new → closed |
I did so in r39221 and close the ticket.
Forgot to assign to maintainer...