On Fri, Nov 18, 2011 at 11:34:23AM +1100, Tom Gundersen wrote:
> On Fri, Nov 18, 2011 at 5:31 AM, Dave Reisner <[email protected]> wrote:
> > On Fri, Nov 18, 2011 at 03:41:58AM +1100, Tom Gundersen wrote:
> >> Now we fail silently if the file exists, which means there is no easy way 
> >> to overwrite binaries.
> >>
> >> I think it makes the most sense to do the following:
> >> 1) add all the busybox stuff as a basic system;
> >> 2) overwrite some of the links with any binaries we add to base hook;
> >> 3) allow users to write their own hooks to overwrite even more stuff.
> >>
> >> This can now be done by this hook.
> >>
> >> [this should have been part of the previous patch serios, it got lost on 
> >> the way, sorry about that.]
> >> Signed-off-by: Tom Gundersen <[email protected]>
> >> ---
> >>  functions |    4 +---
> >>  1 files changed, 1 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/functions b/functions
> >> index ef4463e..54c1034 100644
> >> --- a/functions
> >> +++ b/functions
> >> @@ -82,7 +82,6 @@ _add_file() {
> >>      #   $3: mode
> >>
> >>      (( $# == 3 )) || return $EINVAL
> >> -    [[ -e "$BUILDROOT$1" ]] && return $EEXIST
> >>
> >>      (( QUIET )) || plain "adding file: %s" "$1"
> >>      command install -Dm$3 "$2" "$BUILDROOT$1"
> >> @@ -106,10 +105,9 @@ _add_symlink() {
> >>      #   $2: target of $1
> >>
> >>      (( $# == 2 )) || return $EINVAL
> >> -    [[ -L "$BUILDROOT$1" ]] && return $EEXIST
> >>
> >>      (( QUIET )) || plain "adding symlink: %s -> %s" "$1" "$2"
> >> -    ln -s "$2" "$BUILDROOT$1"
> >> +    ln -sf "$2" "$BUILDROOT$1"
> >
> > This will do the wrong thing when a symlink exists and points to a
> > directory. I think it's as simple as passing the -n flag to ln.
> 
> Ah, I had not thought of that scenario. Sounds like what you propose
> is reasonable, I'll push a new version to my repo after
> testing/thinking about it a bit.

It's something that's bitten me way too many times when switching
symlinks to different doc roots on web servers ;)

> More importantly: do you agree with the general approach (of allowing
> files to be overwritten)?
> 
> -t

Yeah, I think I do.

d

Attachment: pgpbS4IWB11Cy.pgp
Description: PGP signature

Reply via email to