Prevent concurrent access to the Git clone
This commit is contained in:
parent
a441c018e2
commit
d528d56e2d
|
@ -98,6 +98,10 @@ else
|
||||||
trap '' EXIT
|
trap '' EXIT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Prevent concurrent writes to the channels and the Git clone.
|
||||||
|
exec 10>$channelsDir/.htaccess.lock
|
||||||
|
flock 10
|
||||||
|
|
||||||
# Copy over to nixos.org.
|
# Copy over to nixos.org.
|
||||||
cd "$releasesDir"
|
cd "$releasesDir"
|
||||||
rsync -avR . hydra-mirror@nixos.org:"$releasesDir" --exclude .htaccess --exclude ".tmp.*" --delete >&2
|
rsync -avR . hydra-mirror@nixos.org:"$releasesDir" --exclude .htaccess --exclude ".tmp.*" --delete >&2
|
||||||
|
@ -109,12 +113,12 @@ echo "Redirect /releases/nixos/channels/$channelName /releases/nixos/$branch/$re
|
||||||
mv $htaccess.tmp $htaccess
|
mv $htaccess.tmp $htaccess
|
||||||
ln -sfn $releaseDir $channelsDir/$channelName # dummy symlink
|
ln -sfn $releaseDir $channelsDir/$channelName # dummy symlink
|
||||||
|
|
||||||
flock -x $channelsDir/.htaccess.lock -c "cat $channelsDir/.htaccess-nix* > $channelsDir/.htaccess"
|
cat $channelsDir/.htaccess-nix* > $channelsDir/.htaccess
|
||||||
|
|
||||||
cd "$channelsDir"
|
cd "$channelsDir"
|
||||||
rsync -avR . hydra-mirror@nixos.org:"$channelsDir" --delete >&2
|
rsync -avR . hydra-mirror@nixos.org:"$channelsDir" --delete >&2
|
||||||
|
|
||||||
# Update the nixpkgs-channels repo. FIXME: protect against concurrent access
|
# Update the nixpkgs-channels repo.
|
||||||
git remote update nixpkgs >&2
|
git remote update nixpkgs >&2
|
||||||
git push nixpkgs-channels "$rev:refs/heads/$channelName" >&2
|
git push nixpkgs-channels "$rev:refs/heads/$channelName" >&2
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,10 @@ else
|
||||||
mv $tmpDir $releaseDir
|
mv $tmpDir $releaseDir
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Prevent concurrent writes to the channels and the Git clone.
|
||||||
|
exec 10>$channelsDir/.htaccess.lock
|
||||||
|
flock 10
|
||||||
|
|
||||||
# Copy over to nixos.org.
|
# Copy over to nixos.org.
|
||||||
cd "$releasesDir"
|
cd "$releasesDir"
|
||||||
rsync -avR . hydra-mirror@nixos.org:"$releasesDir" --delete >&2
|
rsync -avR . hydra-mirror@nixos.org:"$releasesDir" --delete >&2
|
||||||
|
@ -53,7 +57,7 @@ echo "Redirect /releases/nixpkgs/channels/$channelName /releases/nixpkgs/$releas
|
||||||
mv $htaccess.tmp $htaccess
|
mv $htaccess.tmp $htaccess
|
||||||
ln -sfn $releaseDir $channelsDir/$channelName # dummy symlink
|
ln -sfn $releaseDir $channelsDir/$channelName # dummy symlink
|
||||||
|
|
||||||
flock -x $channelsDir/.htaccess.lock -c "cat $channelsDir/.htaccess-nix* > $channelsDir/.htaccess"
|
cat $channelsDir/.htaccess-nix* > $channelsDir/.htaccess
|
||||||
|
|
||||||
cd "$channelsDir"
|
cd "$channelsDir"
|
||||||
rsync -avR . hydra-mirror@nixos.org:"$channelsDir" --delete >&2
|
rsync -avR . hydra-mirror@nixos.org:"$channelsDir" --delete >&2
|
||||||
|
|
Loading…
Reference in a new issue