]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/stripper
stripper: Handle capabilities
[ipfire-2.x.git] / src / stripper
index ac5f58ca50cb76f858de26c3108d741cb5f87d65..e51463c6910759ba627a486389f0069bc1fa84fb 100755 (executable)
@@ -27,6 +27,10 @@ function _strip() {
                fi
        done
 
+       # Fetch any capabilities
+       local capabilities="$(getfattr --no-dereference --name="security.capability" \
+               --absolute-names --dump "${file}")"
+
        local cmd=( "${strip}" )
 
        case "$(file -bi ${file})" in
@@ -40,6 +44,11 @@ function _strip() {
 
        echo "Stripping ${file}..."
        ${cmd[*]} ${file}
+
+       # Restore capabilities
+       if [ -n "${capabilities}" ]; then
+               setfattr --no-dereference --restore=<(echo "${capabilities}")
+       fi
 }
 
 for dir in ${dirs}; do