On Wednesday 19 September 2012 18:16:11 Ian Wienand wrote: > --- /dev/null > +++ b/scripts/create-spdx > @@ -0,0 +1,91 @@ > +#!/bin/bash
considering this is also POSIX compliant, use /bin/sh > +# http://www.spdx.org/ would be handy to include this URL in the usage output > +BUSYBOX_VERSION=$(egrep '^VERSION =|^PATCHLEVEL =|^SUBLEVEL =' > "${SRC_DIR}/Makefile" | sed 's/^.*= //' | tr '\n' '.') why not make this an argument to the script and have the makefile pass it along via $(KERNELVERSION) ? seems like much less effort. > +cp "${SRC_DIR}/scripts/COPYRIGHT.spdx.template" "${DEST_FILE}" probably should run `set -e` at the top of the script to avoid having to add error checking everywhere > +# replace template strings > +sed "s/%BUSYBOX_VERSION%/${BUSYBOX_VERSION}/" "${DEST_FILE}" > > "${DEST_FILE}.tmp" > +mv "${DEST_FILE}.tmp" "${DEST_FILE}" use the -i flag with sed to avoid this ugly `sed ... > tmp; mv tmp ...` logic > +echo -e "\n\n# autogenerated file info\n\n" >> "${DEST_FILE}" use printf rather than `echo -e`. also, i wonder why you bother quoting the dest file when you don't bother quoting any of the source files. > + copyright=$(grep 'Copyright' ${f} | sed 's/^.*Copyright/Copyright/') single command: sed -n '/Copyright/s:^.*Copyright:Copyright:p' ${f} > + echo "FileName: ${f#$SRC_DIR}" >> "${DEST_FILE}" > + echo "FileType: SOURCE" >> "${DEST_FILE}" > + echo "FileChecksum: SHA1: ${chksum}" >> "${DEST_FILE}" > + echo "LicenseConcluded: GPL-2.0" >> "${DEST_FILE}" > + echo "LicenseInfoInFile: NOASSERTION" >> "${DEST_FILE}" use heredocs to simplify: cat <<-EOF >> "${DEST_FILE}" FileName: ...... ..... EOF > +VER_FILE=$(tempfile) use mktemp > +grep '^FileChecksum' "${DEST_FILE}" | awk '{print $3}' | sort | tr -d '\n' no need to grep|awk: awk '$1 ~ /^FileChecksum' {print $3} "${DEST_FILE}" | sort ... > > "${VER_FILE}" > > +VER_HASH=$(sha1sum "${VER_FILE}" | awk '{print $1}') > +rm -f "${VER_FILE}" so you create a tempfile just to run sha1 on it ? use a pipeline and avoid that altogether: VER_HASH=$(awk ... | sort | tr ... | sha1sum | awk ...) > +sed "s/%PACKAGE_VERIFICATION_CODE%/${VER_HASH}/" "${DEST_FILE}" > > "${DEST_FILE}.tmp" > +mv "${DEST_FILE}.tmp" "${DEST_FILE}" sed -i -mike
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
