Skip to content

Commit 1d4500a

Browse files
committed
Release: update dist.sh
[skip ci]
1 parent 9351950 commit 1d4500a

File tree

1 file changed

+48
-22
lines changed

1 file changed

+48
-22
lines changed

src/util/dist.sh

+48-22
Original file line numberDiff line numberDiff line change
@@ -29,33 +29,59 @@ mv Makefile.new Makefile
2929

3030
# Set the version in lwt.opam to the version in _oasis, and remove the oasis
3131
# dependency.
32-
sed "s/^version: \"dev\"/version: \"$VERSION\"/" lwt.opam > lwt.opam.1
33-
grep -vi oasis lwt.opam.1 > lwt.opam
34-
rm lwt.opam.1
35-
36-
# Set the version in additional packages based on their META files, and remove
37-
# the "dev" constraint on lwt.
38-
for FILE in `ls lwt_*.opam`
39-
do
40-
PACKAGE=${FILE#lwt_}
41-
PACKAGE=${PACKAGE%.opam}
42-
PACKAGE_VERSION=`cat src/$PACKAGE/META | grep version`
43-
PACKAGE_VERSION=`echo $PACKAGE_VERSION | egrep -o '[0-9]+\.[0-9]+\.[0-9]+'`
44-
sed "s/^version: \"dev\"/version: \"$PACKAGE_VERSION\"/" $FILE > $FILE.1
45-
sed 's/"lwt" {.*$/"lwt" {>= "2.7.0" \& < "3.0.0"}/' $FILE.1 > $FILE
46-
rm $FILE.1
47-
done
32+
sed "s/^version: \"dev\"/version: \"$VERSION\"/" opam/opam > opam/opam.1
33+
grep -vi oasis opam/opam.1 > opam/opam
34+
rm opam/opam.1
4835

4936
# Remove development files.
5037
rm -f \
5138
.jenkins.sh appveyor.yml .travis.yml *.exe configure _oasis .merlin \
5239
src/util/appveyor-build.sh src/util/appveyor-install.sh src/util/dist.sh \
5340
src/util/fetch-dependees.py src/util/travis.sh
5441

55-
# Commit
56-
git add --all --force
57-
git rm .gitignore
58-
git commit -m "Release $VERSION"
59-
git tag -a $VERSION
42+
# Generate extra package build systems, and remove development files.
43+
for PACKAGE in react ssl glib
44+
do
45+
pushd src/$PACKAGE
46+
oasis setup -setup-update none
47+
rm -f _oasis configure
48+
popd
49+
done
50+
51+
# Print instructions for finishing release packaging manually.
52+
set +x
6053

61-
echo "Tag $VERSION created. Run 'git push origin $VERSION' to publish."
54+
echo "1. Move out packages lwt_react, lwt_ssl, lwt_glib with"
55+
echo " mv src/lwt_react SOME-TEMPORARY-DIRECTORY"
56+
echo " and corresponding commands for lwt_ssl, lwt_glib."
57+
echo
58+
echo "2. Pin packages in their final form, and test installation and linking:"
59+
echo " opam pin add . # for the main lwt"
60+
echo " opam pin add SOME-TEMPORARY-DIRECTORY # for each of react, ssl, glib"
61+
echo " opam install lwt"
62+
echo " opam install lwt_react"
63+
echo " and so on; then compile some test programs."
64+
echo
65+
echo "3. Commit to this repo and tag in it to create the main lwt release."
66+
echo " GitHub will create package archives automatically once the tag is"
67+
echo " pushed:"
68+
echo " git add --all --force"
69+
echo " git rm .gitignore"
70+
echo " git commit -m \"Release $VERSION\""
71+
echo " git tag -a $VERSION"
72+
echo " When tagging, include the changelog. For an example, run:"
73+
echo " git show 2.7.0"
74+
echo
75+
echo "4. Create .tar.gz archives manually for the extra packages:"
76+
echo " cd SOME-TEMPORARY-DIRECTORY"
77+
echo " tar cvzf lwt_react.tar.gz *"
78+
echo
79+
echo "5. Post everything to GitHub:"
80+
echo " git push origin $VERSiON"
81+
echo " Attach lwt_react.tar.gz, etc., to the release manually."
82+
echo
83+
echo "X. To revert:"
84+
echo " git checkout master # or whatever branch you were on"
85+
echo " git checkout -- ."
86+
echo " git clean -ffd"
87+
echo " git branch -D release-$VERSION"

0 commit comments

Comments
 (0)