Mercurial > hg
annotate contrib/dockerrpm @ 28614:b927fe8bf0b9
rpms: add hgext3rd to mercurial.spec
Otherwise build process fails with somethings like this:
RPM build errors:
Installed (but unpackaged) file(s) found:
/usr/lib64/python2.7/site-packages/hgext3rd/__init__.py
/usr/lib64/python2.7/site-packages/hgext3rd/__init__.pyc
/usr/lib64/python2.7/site-packages/hgext3rd/__init__.pyo
make: *** [docker-fedora20] Error 1
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Wed, 23 Mar 2016 11:53:11 +0800 |
parents | d713fa934fb9 |
children | a3ac1ea611ce |
rev | line source |
---|---|
22438
f5abb231b80a
dockerrpm: check that docker is running correctly before building
Mads Kiilerich <madski@unity3d.com>
parents:
21642
diff
changeset
|
1 #!/bin/bash -e |
21255
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
2 |
24968
80c9e99d68e0
dockerlib: start extracting common functions for setting up docker
Augie Fackler <augie@google.com>
parents:
23124
diff
changeset
|
3 . $(dirname $0)/dockerlib.sh |
80c9e99d68e0
dockerlib: start extracting common functions for setting up docker
Augie Fackler <augie@google.com>
parents:
23124
diff
changeset
|
4 |
21255
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
5 BUILDDIR=$(dirname $0) |
24969
227b9b2a57a3
dockerlib: extract initcontainer() method
Augie Fackler <augie@google.com>
parents:
24968
diff
changeset
|
6 export ROOTDIR=$(cd $BUILDDIR/..; pwd) |
21255
62a2749895e4
build: initial support for in-tree autobuilding recipes
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
7 |
24968
80c9e99d68e0
dockerlib: start extracting common functions for setting up docker
Augie Fackler <augie@google.com>
parents:
23124
diff
changeset
|
8 checkdocker |
22438
f5abb231b80a
dockerrpm: check that docker is running correctly before building
Mads Kiilerich <madski@unity3d.com>
parents:
21642
diff
changeset
|
9 |
22439
d2a00ced3cce
dockerrpm: better handling of specification of docker name
Mads Kiilerich <madski@unity3d.com>
parents:
22438
diff
changeset
|
10 PLATFORM="$1" |
22443 | 11 shift # extra params are passed to buildrpm |
22439
d2a00ced3cce
dockerrpm: better handling of specification of docker name
Mads Kiilerich <madski@unity3d.com>
parents:
22438
diff
changeset
|
12 |
24969
227b9b2a57a3
dockerlib: extract initcontainer() method
Augie Fackler <augie@google.com>
parents:
24968
diff
changeset
|
13 initcontainer $PLATFORM |
22440
cf7b5c011737
dockerrpm: run docker build process as the current user, not as root
Mads Kiilerich <madski@unity3d.com>
parents:
22439
diff
changeset
|
14 |
22441
bb9a06d14857
dockerrpm: prepare source outside docker and just run rpmbuild inside docker
Mads Kiilerich <madski@unity3d.com>
parents:
22440
diff
changeset
|
15 RPMBUILDDIR=$ROOTDIR/packages/$PLATFORM |
22443 | 16 contrib/buildrpm --rpmbuilddir $RPMBUILDDIR --prepare $* |
22441
bb9a06d14857
dockerrpm: prepare source outside docker and just run rpmbuild inside docker
Mads Kiilerich <madski@unity3d.com>
parents:
22440
diff
changeset
|
17 |
bb9a06d14857
dockerrpm: prepare source outside docker and just run rpmbuild inside docker
Mads Kiilerich <madski@unity3d.com>
parents:
22440
diff
changeset
|
18 DSHARED=/mnt/shared |
bb9a06d14857
dockerrpm: prepare source outside docker and just run rpmbuild inside docker
Mads Kiilerich <madski@unity3d.com>
parents:
22440
diff
changeset
|
19 $DOCKER run -u $DBUILDUSER --rm -v $RPMBUILDDIR:$DSHARED $CONTAINER \ |
bb9a06d14857
dockerrpm: prepare source outside docker and just run rpmbuild inside docker
Mads Kiilerich <madski@unity3d.com>
parents:
22440
diff
changeset
|
20 rpmbuild --define "_topdir $DSHARED" -ba $DSHARED/SPECS/mercurial.spec --clean |
22444
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
21 |
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
22 $DOCKER run -u $DBUILDUSER --rm -v $RPMBUILDDIR:$DSHARED $CONTAINER \ |
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
23 createrepo $DSHARED |
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
24 |
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
25 cat << EOF > $RPMBUILDDIR/mercurial.repo |
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
26 # Place this file in /etc/yum.repos.d/mercurial.repo |
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
27 [mercurial] |
23124
4c490626af13
buildrpm: fix use of invalid $PLATFORM in mercurial.repo
Mads Kiilerich <madski@unity3d.com>
parents:
22444
diff
changeset
|
28 name=Mercurial packages for $PLATFORM |
22444
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
29 # baseurl=file://$RPMBUILDDIR/ |
23124
4c490626af13
buildrpm: fix use of invalid $PLATFORM in mercurial.repo
Mads Kiilerich <madski@unity3d.com>
parents:
22444
diff
changeset
|
30 baseurl=http://hg.example.com/build/$PLATFORM/ |
22444
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
31 skip_if_unavailable=True |
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
32 gpgcheck=0 |
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
33 enabled=1 |
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
34 EOF |
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
35 |
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
36 echo |
49ea49823769
dockerrpm: create a yum/dnf repo from the generated rpms
Mads Kiilerich <madski@unity3d.com>
parents:
22443
diff
changeset
|
37 echo "Build complete - results can be found in $RPMBUILDDIR" |