diff options
Diffstat (limited to 'bin/etc-update')
-rwxr-xr-x | bin/etc-update | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/bin/etc-update b/bin/etc-update index e8ba989c5..c597a50be 100755 --- a/bin/etc-update +++ b/bin/etc-update @@ -401,12 +401,13 @@ Please select from the menu above (-1 to exit, losing this merge): " my_input=$(read_int) case ${my_input} in 1) echo "Replacing ${ofile} with ${mfile}" - if [[ ${USERLAND:-GNU} == GNU ]]; then - chown --reference="${ofile}" "${mfile}" - chmod --reference="${ofile}" "${mfile}" - else + if [[ ${USERLAND} == BSD ]] || \ + [[ ${USERLAND} == Darwin ]] ; then chown "$(stat -f %Su:%Sg "${ofile}")" "${mfile}" chmod $(stat -f %Mp%Lp "${ofile}") "${mfile}" + else + chown --reference="${ofile}" "${mfile}" + chmod --reference="${ofile}" "${mfile}" fi mv ${mv_opts} "${mfile}" "${ofile}" rm ${rm_opts} "${file}" |