On 20 January 2017 at 02:49, Peter Hutterer <[email protected]> wrote: > On Thu, Jan 19, 2017 at 07:30:10PM +0000, Emil Velikov wrote: >> From: Emil Velikov <[email protected]> >> >> Months ago, before my work in here there the script had a number of >> assumptions: >> - autoreconf or alike is ran by the user - slight nuisance esp. when >> releasing multiple packages. >> - the generated files were compatible with the ones on the server - >> rarely and issue, but still >> - config.status means 'all the autotools bits were generated correctly' >> - failed to consider if user has multiple config.status - using >> ./build-64bit/ and ./build-32bit/ anyone ? >> - ... >> >> With 663364cda5e316a0509ff5869293e3a815b9945f we mitigated a lot of that >> but did not consider >> - forcing people to `git clean' is annoying and if not careful one can >> purge local files that they want to keep >> - the files generated by autotools were left behind >> >> In order to mitigate those use git worktree. This is more efficient >> [both bandwidth and storage wise] than pulling/generating git tarballs, >> git clone and friends. >> >> Cc: Peter Hutterer <[email protected]> >> Signed-off-by: Emil Velikov <[email protected]> >> --- >> There's a git of noise produced by git worktree and autoreconf. I'm fine >> with 2>/dev/null but I'd leave that to others to decide >> --- >> release.sh | 34 +++++++++++++++++++--------------- >> 1 file changed, 19 insertions(+), 15 deletions(-) >> >> diff --git a/release.sh b/release.sh >> index 8ed179d..0b3fcbf 100755 >> --- a/release.sh >> +++ b/release.sh >> @@ -357,25 +357,24 @@ process_module() { >> return 1 >> fi >> >> - if [ -e configure ]; then >> - echo "Error: the git repository contains configure" >> - echo "Did you forget to run git clean -fXd (and git clean -fxd) ?" >> - return 1 >> - fi >> - >> - # Create tmpdir for the build >> + # Create tmpdir for the release >> build_dir=`mktemp -d -p . build.XXXXXXXXXX` >> if [ $? -ne 0 ]; then >> - echo "Error: could not create a temporary directory for the build." >> + echo "Error: could not create a temporary directory for the release" >> echo "Do you have coreutils' mktemp ?" >> return 1 >> fi >> >> - echo "Info: generating configure." >> - autoreconf --force --install >/dev/null >> + # Worktree removal is intentionally left to the user, due to: >> + # - currently we cannot select only one worktree to prune >> + # - requires to removal of $build_dir which might contradict with the >> + # user decision to keep some artefacts like tarballs or other >> + echo "Info: creating new git worktree." >> + git worktree add $build_dir >> if [ $? -ne 0 ]; then >> - echo "Error: failed to generate configure." >> - return 1 >> + echo "Error: failed to create a git worktree." >> + cd $top_src >> + return 1 > > there's an indentation error, Funky indentation was there (it was a code movement) - we still have a handful of tabs that are meant to be 8 spaces.
> but otherwise the series looks good and is > Reviewed-by: Peter Hutterer <[email protected]> > Note: after another thought I've went with v2 for 3/4 (having a version check and building from there). > I guess I'll test this on the next release ;) > Thank you very much. Please let me know if you spot anything odd. -Emil _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
