X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fdedeckeh.git;a=blobdiff_plain;f=scripts%2Fsysupgrade-tar.sh;h=b93b2584bb4970bcb16650b893722444986fdf88;hp=45b17daccd81587916ea640ab0406f766e2a43de;hb=HEAD;hpb=db49dd894e7485020445043fb4eef58eebece7d8 diff --git a/scripts/sysupgrade-tar.sh b/scripts/sysupgrade-tar.sh index 45b17daccd..b93b2584bb 100755 --- a/scripts/sysupgrade-tar.sh +++ b/scripts/sysupgrade-tar.sh @@ -1,5 +1,7 @@ #!/bin/sh +. $TOPDIR/scripts/functions.sh + board="" kernel="" rootfs="" @@ -53,7 +55,16 @@ fi mkdir -p "${tmpdir}/sysupgrade-${board}" echo "BOARD=${board}" > "${tmpdir}/sysupgrade-${board}/CONTROL" -[ -z "${rootfs}" ] || cp "${rootfs}" "${tmpdir}/sysupgrade-${board}/root" +if [ -n "${rootfs}" ]; then + case "$( get_fs_type ${rootfs} )" in + "squashfs") + dd if="${rootfs}" of="${tmpdir}/sysupgrade-${board}/root" bs=1024 conv=sync + ;; + *) + cp "${rootfs}" "${tmpdir}/sysupgrade-${board}/root" + ;; + esac +fi [ -z "${kernel}" ] || cp "${kernel}" "${tmpdir}/sysupgrade-${board}/kernel" mtime="" @@ -61,7 +72,7 @@ if [ -n "$SOURCE_DATE_EPOCH" ]; then mtime="--mtime=@${SOURCE_DATE_EPOCH}" fi -(cd "$tmpdir"; tar cvf sysupgrade.tar sysupgrade-${board} ${mtime}) +(cd "$tmpdir"; tar --sort=name --owner=0 --group=0 --numeric-owner -cvf sysupgrade.tar sysupgrade-${board} ${mtime}) err="$?" if [ -e "$tmpdir/sysupgrade.tar" ]; then cp "$tmpdir/sysupgrade.tar" "$outfile"