Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
verimag
synchrone
lutin
Commits
a821a52a
Commit
a821a52a
authored
Jan 28, 2019
by
erwan
Browse files
Build: now use a custom bash script to build opam packages
parent
1a81cf1b
Pipeline
#18269
passed with stages
in 9 minutes and 4 seconds
Changes
3
Pipelines
3
Show whitespace changes
Inline
Side-by-side
Makefile.dev
View file @
a821a52a
#######################################################################################
# Workflow:
# C=
git commit
; A=
git
amend ; U=
update_version ; P=opam pack
# C=
make cia
; A=
make
amend ; U=
make uv ; P=make opam-rel
# - to make sure the sha and the version are good, one should never
# do U and then A.
# - to make sure gtit is not confused, one should never do A and the P
#
# thereforeto avoid such problems, legal trace are defined by this automata:
# therefore
,
to avoid such problems, legal trace are defined by this automata:
# 0 -C-> 1
# 1 -A-> 1
# 1 -P-> 2
...
...
@@ -13,11 +13,17 @@
# 1 -U-> 0
# to implement such a workflow, C puts a lock (state 1) and U removes it (state 0)
###############################
# a few git shortcuts
# typical workflow:
# uv -> cia -> amend* -> push ->
# wait for gitlab release job -> pull (to get the release tag)
# and then; optionnaly, to release an opam version:
# opam-rel
uv
:
update_version
update_version
:
git pull
rm
-f
lutin/src/version.ml
make lutin/src/version.ml
cp
_oasis _oasis.save
...
...
@@ -35,7 +41,7 @@ cia-no-test:
push
:
opam-test
git push
&&
make uv
git push
amend
:
...
...
@@ -69,62 +75,12 @@ tags:
# opam-ing
NAME
=
lutin
PACKNAME
=
$(NAME)
.
$(PRE_VERSION)
WWW
=
/import/www/DIST-TOOLS/SYNCHRONE
HTTP
=
http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE
# for testing opam packages before publishing
WWWTEST
=
/import/www/DIST-TOOLS/SYNCHRONE/test
HTTPTEST
=
http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/test
$(PACKNAME).tgz
:
git archive
--prefix
=
$(PACKNAME)
/
-o
$(PACKNAME)
.tgz HEAD
$(WWW)/pool/$(PACKNAME).tgz
:
$(PACKNAME).tgz
cp
$^
$@
$(WWWTEST)/pool/$(PACKNAME).tgz
:
$(PACKNAME).tgz
cp
$^
$@
OPAM_FILE
=
$(
shell
find
$(WWW)
/opam-repository/packages
-name
opam |
grep
utin |
sort
|
tail
-1
|
sed
-e
's/^./\U&/'
)
OPAM_FILE_TEST
=
$(
shell
find
$(WWWTEST)
/opam-repository/packages
-name
opam |
grep
utin |
sort
|
tail
-1
|
sed
-e
's/^./\U&/'
)
OPAM_DIR
=
$(
shell
dirname
$(OPAM_FILE)
)
OFFICIAL_OPAM_DIR
=
/home/jahier/local/opam-repository/packages/lutin
x
:
echo
$(OPAM_FILE)
echo
$(OPAM_FILE_TEST)
i
:
opam-installer lutin.install
--prefix
=
$(OPAM_DIR)
opam
:
$(WWW)/pool/$(PACKNAME).tgz
cd
$(WWW)
/opam-repository/packages/
&&
\
oasis2opam
$(HTTP)
/pool/
$(PACKNAME)
.tgz
&&
\
cp
~/lurette/opam
$(OPAM_FILE)
&&
\
cd
..
;
opam-admin check
&&
opam-admin make
-g
&&
\
cp
-rf
$(OPAM_DIR)
$(OFFICIAL_OPAM_DIR)
# if the following rule fails, it migth be necessary to do:
# cp opam.diff opam.diff.exp
# The idea is that oasis2opam correctly track dependancies, but
# generate a wrong opam file. Hence, I diff opam.diff.exp and opam.diff
# to make sure that my "manual" opam file does not miss a dep
opam-test
:
$(WWWTEST)/pool/$(PACKNAME).tgz
cd
$(WWWTEST)
/opam-repository/packages
&&
\
oasis2opam
$(HTTPTEST)
/pool/
$(PACKNAME)
.tgz
&&
\
cp
$(OPAM_FILE_TEST)
$(PWD)
/opam.oasis2opam
&&
\
diff
-u
$(PWD)
/opam.oasis2opam
$(PWD)
/opam |
\
grep
-v
opam.oasis2opam |
grep
-v
"+++"
>
$(PWD)
/opam.diff
&&
\
diff
$(PWD)
/opam.diff
$(PWD)
/opam.diff.exp
&&
\
cp
$(PWD)
/opam
$(OPAM_FILE_TEST)
||
\
(
echo
"The opam file needs some update"
;
exit
2
)
&&
\
cd
..
;
opam-admin check
&&
opam-admin make
-g
# xxxcp ~/lurette/opam $(OPAM_FILE_TEST) && \
opam-rel
:
make-opam-pack
$(NAME)
opam-test
:
make-opam-pack
$(NAME)
-test
opam-pr
:
cp
-rf
$(OPAM_DIR)
/home/jahier/local/opam-repository/packages/lutin/
...
...
_oasis
View file @
a821a52a
OASISFormat: 0.4
Name: lutin
Version: 2.66.0
Version: 2.66.0
-3-g1a81cf1b
Authors: Erwan Jahier, Pascal Raymond, Bertrand Jeannnet (polka), Yvan Roux
Maintainers: erwan.jahier@univ-grenoble-alpes.fr
License: CeCILL
...
...
lutin/src/version.ml
View file @
a821a52a
let
str
=
"
2.66
.0"
let
sha
=
"
5ff210d0
"
let
str
=
"
1.0
.0"
let
sha
=
"
1a81cf1b
"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment