On Fri, Nov 17, 2017 at 08:44:27PM -0500, Doug Ledford wrote: > > If you split step 5 above into 5a) Push from local work repo to local > prep repo and 5b) Do full kernel build in prep repo to test that all > code needed to compile is tracked by git, it would catch that mistake > before it makes it outside the firewall. That's a change I may make > just to be on the safe side in the future. I'm using git worktree command [1] for that. If it helps, this is snippet from my scripts: ----------------------------------------- REPORT_FILE=$(mktemp) function do_one { SHA1=$1 REPORT_FILE=$2 PDIR=$(mktemp -d) git worktree add $PDIR $SHA1 echo "Redirecting the output to $REPORT_FILE" pushd $PDIR &>> $REPORT_FILE x checkpatch HEAD $PDIR &>> $REPORT_FILE cp $KCONFIG . &>> $REPORT_FILE make olddefconfig &>> $REPORT_FILE echo "===== FULL COMPILE =========" &>> $REPORT_FILE make -s -j 4 &>> $REPORT_FILE echo "===== SUB COMPILE =========" &>> $REPORT_FILE make -s -j 4 W=1 drivers/infiniband/ drivers/net/ethernet/mellanox/ &>> $REPORT_FILE echo "===== SMATCH =========" &>> $REPORT_FILE make CHECK="$SMATCH -p=kernel" C=1 drivers/infiniband/ drivers/net/ethernet/mellanox/ -s -j 4 &>> $REPORT_FILE echo "===== SPARSE =========" &>> $REPORT_FILE make CHECK="$SPARSE" C=2 drivers/infiniband/ drivers/net/ethernet/mellanox/ -s -j 4 &>> $REPORT_FILE popd &>> $REPORT_FILE rm -rf $PDIR git worktree prune # TODO: separate checkpatch errors, sparse, smatch NUMB_OF_ERRORS=$(awk -F": " '{print $1}' $REPORT_FILE | grep ":" | sort | uniq |wc -l) echo "There are $NUMB_OF_ERRORS errors/warnings" } do_one $SHA1 $REPORT_FILE ------------------------------------------ Thanks [1] https://git-scm.com/docs/git-worktree > > -- > Doug Ledford <dledford@xxxxxxxxxx> > GPG KeyID: B826A3330E572FDD > Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD
Attachment:
signature.asc
Description: PGP signature