Browse code

Calico, flannel, nginxinc container images in 1.0

Change-Id: I709d451c329a39d76a334b736a085e0215dae0ea
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/4060
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Vinay Kulkarni <kulkarniv@vmware.com>

Vinay Kulkarni authored on 2017/10/18 05:56:47
Showing 38 changed files
... ...
@@ -406,7 +406,9 @@ k8s-docker-images:
406 406
 	./build-k8s-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \
407 407
 	./build-k8s-dns-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \
408 408
 	./build-k8s-dashboard-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \
409
-	./build-flannel-docker-image.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE)
409
+	./build-flannel-docker-image.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \
410
+	./build-calico-docker-images.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE) && \
411
+	./build-k8s-nginx-ingress.sh $(PHOTON_DIST_TAG) $(PHOTON_RELEASE_VERSION) $(PHOTON_SPECS_DIR) $(PHOTON_STAGE)
410 412
 
411 413
 install-photon-docker-image: photon-docker-image
412 414
 	sudo docker build -t photon:tdnf .
413 415
new file mode 100644
... ...
@@ -0,0 +1,42 @@
0
+Summary:       GoBGP based Calico BGP Daemon
1
+Name:          calico-bgp-daemon
2
+Version:       0.2.2
3
+Release:       1%{?dist}
4
+Group:         Applications/System
5
+Vendor:        VMware, Inc.
6
+License:       Apache-2.0
7
+URL:           https://github.com/projectcalico/calico-bgp-daemon
8
+Source0:       %{name}-%{version}.tar.gz
9
+Distribution:  Photon
10
+BuildRequires: git
11
+BuildRequires: glide
12
+BuildRequires: go >= 1.7
13
+%define sha1 calico-bgp-daemon=d823d92d1bbb887ea885080ab2b989a75e3a338d
14
+%define debug_package %{nil}
15
+
16
+%description
17
+GoBGP based Calico BGP Daemon, an alternative to BIRD in calico/node.
18
+
19
+%prep
20
+%setup -q
21
+
22
+%build
23
+mkdir -p /root/.glide
24
+mkdir -p ${GOPATH}/src/github.com/projectcalico/calico-bgp-daemon
25
+cp -r * ${GOPATH}/src/github.com/projectcalico/calico-bgp-daemon/.
26
+pushd ${GOPATH}/src/github.com/projectcalico/calico-bgp-daemon
27
+mkdir -p dist
28
+glide install --strip-vendor
29
+go build -v -o dist/calico-bgp-daemon -ldflags "-X main.VERSION=%{version} -s -w" main.go ipam.go
30
+
31
+%install
32
+install -vdm 755 %{buildroot}%{_bindir}
33
+install ${GOPATH}/src/github.com/projectcalico/calico-bgp-daemon/dist/calico-bgp-daemon %{buildroot}%{_bindir}/
34
+
35
+%files
36
+%defattr(-,root,root)
37
+%{_bindir}/calico-bgp-daemon
38
+
39
+%changelog
40
+*    Thu Oct 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.2.2-1
41
+-    Calico BGP daemon for PhotonOS.
0 42
new file mode 100644
... ...
@@ -0,0 +1,68 @@
0
+Summary:       Project Calico fork of the BIRD Internet Routing Daemon
1
+Name:          calico-bird
2
+Version:       0.3.1
3
+Release:       1%{?dist}
4
+Group:         Applications/System
5
+Vendor:        VMware, Inc.
6
+License:       GPL
7
+URL:           https://github.com/projectcalico/bird
8
+Source0:       %{name}-%{version}.tar.gz
9
+Distribution:  Photon
10
+BuildRequires: autoconf
11
+BuildRequires: ncurses-devel
12
+BuildRequires: readline-devel
13
+Requires:      ncurses
14
+Requires:      readline
15
+%define sha1 calico-bird=51734c2d53fa60f06f02ba4d64c41968090f99ef
16
+
17
+%description
18
+Project Calico fork of the BIRD Internet Routing Daemon.
19
+
20
+%prep
21
+%setup -q -n bird-0.3.1
22
+
23
+%build
24
+mkdir -p dist
25
+autoconf
26
+# IPv6 bird + bird client
27
+./configure \
28
+    --prefix=%{_prefix} \
29
+    --libdir=%{_libdir} \
30
+    --with-protocols="bgp pipe static" \
31
+    --enable-ipv6=yes \
32
+    --enable-client=yes \
33
+    --enable-pthreads=yes
34
+make
35
+# Remove the dynmaic binaries and rerun make to create static binaries
36
+rm bird birdcl
37
+make CC="gcc -static"
38
+cp bird dist/bird6
39
+cp birdcl dist/birdcl
40
+# IPv4 bird
41
+make clean
42
+./configure \
43
+    --prefix=%{_prefix} \
44
+    --libdir=%{_libdir} \
45
+    --with-protocols="bgp pipe static" \
46
+    --enable-client=no \
47
+    --enable-pthreads=yes
48
+make
49
+rm bird
50
+make CC="gcc -static"
51
+cp bird dist/bird
52
+
53
+%install
54
+install -vdm 755 %{buildroot}%{_bindir}
55
+install -vpm 0755 -t %{buildroot}%{_bindir}/ dist/bird
56
+install -vpm 0755 -t %{buildroot}%{_bindir}/ dist/bird6
57
+install -vpm 0755 -t %{buildroot}%{_bindir}/ dist/birdcl
58
+
59
+%files
60
+%defattr(-,root,root)
61
+%{_bindir}/bird
62
+%{_bindir}/bird6
63
+%{_bindir}/birdcl
64
+
65
+%changelog
66
+*    Thu Oct 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.3.1-1
67
+-    Calico BIRD routing daemon for PhotonOS.
0 68
new file mode 100644
... ...
@@ -0,0 +1,61 @@
0
+Summary:        Calico networking for CNI
1
+Name:           calico-cni
2
+Version:        1.10.0
3
+Release:        1%{?dist}
4
+License:        ASL 2.0
5
+URL:            https://github.com/projectcalico/cni-plugin
6
+Source0:        %{name}-%{version}.tar.gz
7
+%define sha1 calico-cni=6c7f7e59e8f632e1630685f5bf092c2e4a60550f
8
+Group:          Development/Tools
9
+Vendor:         VMware, Inc.
10
+Distribution:   Photon
11
+BuildRequires:  git
12
+BuildRequires:  glide
13
+BuildRequires:  go >= 1.7
14
+Requires:       cni
15
+%define debug_package %{nil}
16
+
17
+%description
18
+Project Calico network plugin for CNI. This allows kubernetes to use Calico networking. This repository includes a top-level CNI networking plugin, as well as a CNI IPAM plugin which makes use of Calico IPAM.
19
+
20
+%prep
21
+%setup -n cni-plugin-%{version}
22
+
23
+%build
24
+cd ..
25
+mkdir -p build/src/github.com/projectcalico/cni-plugin
26
+cp -r cni-plugin-%{version}/* build/src/github.com/projectcalico/cni-plugin/.
27
+cd build
28
+mkdir bin
29
+export GOPATH=`pwd`
30
+cd bin
31
+export GOBIN=`pwd`
32
+export PATH=$PATH:$GOBIN
33
+cd ../src/github.com/projectcalico/cni-plugin
34
+glide install --strip-vendor
35
+mkdir -p dist
36
+make dist/portmap
37
+CGO_ENABLED=0 go build -v -i -o dist/calico -ldflags "-X main.VERSION= -s -w" calico.go
38
+CGO_ENABLED=0 go build -v -i -o dist/calico-ipam -ldflags "-X main.VERSION= -s -w" ipam/calico-ipam.go
39
+
40
+%install
41
+cd ../build/src/github.com/projectcalico/cni-plugin
42
+install -vdm 755 %{buildroot}/opt/cni/bin
43
+install -vpm 0755 -t %{buildroot}/opt/cni/bin/ dist/calico
44
+install -vpm 0755 -t %{buildroot}/opt/cni/bin/ dist/calico-ipam
45
+install -vpm 0755 -t %{buildroot}/opt/cni/bin/ dist/portmap
46
+install -vdm 0755 %{buildroot}/usr/share/calico-cni/k8s
47
+install -vpm 0755 -t %{buildroot}/usr/share/calico-cni/k8s/ k8s-install/scripts/install-cni.sh
48
+install -vpm 0755 -t %{buildroot}/usr/share/calico-cni/k8s/ k8s-install/scripts/calico.conf.default
49
+
50
+%files
51
+%defattr(-,root,root)
52
+/opt/cni/bin/calico
53
+/opt/cni/bin/calico-ipam
54
+/opt/cni/bin/portmap
55
+/usr/share/calico-cni/k8s/install-cni.sh
56
+/usr/share/calico-cni/k8s/calico.conf.default
57
+
58
+%changelog
59
+*   Thu Oct 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.10.0-1
60
+-   calico-cni for PhotonOS.
0 61
new file mode 100644
... ...
@@ -0,0 +1,39 @@
0
+Summary:       confd is a lightweight configuration management tool
1
+Name:          calico-confd
2
+Version:       0.12.0
3
+Release:       1%{?dist}
4
+Group:         Applications/System
5
+Vendor:        VMware, Inc.
6
+License:       MIT
7
+URL:           https://github.com/kelseyhightower/confd/releases
8
+Source0:       %{name}-%{version}.tar.gz
9
+Distribution:  Photon
10
+BuildRequires: glide
11
+BuildRequires: go >= 1.7
12
+%define sha1 calico-confd=61b15d926ebb87b466b7355d31e542109f0fad2a
13
+
14
+%description
15
+confd is a lightweight configuration management tool that keeps local configuration files up-to-date, and reloading applications to pick up new config file changes.
16
+
17
+%prep
18
+%setup -q -n confd-%{version}
19
+
20
+%build
21
+#mkdir -p /root/.glide
22
+mkdir -p ${GOPATH}/src/github.com/kelseyhightower/confd
23
+cp -r * ${GOPATH}/src/github.com/kelseyhightower/confd/.
24
+pushd ${GOPATH}/src/github.com/kelseyhightower/confd
25
+./build
26
+
27
+%install
28
+pushd ${GOPATH}/src/github.com/kelseyhightower/confd
29
+install -vdm 755 %{buildroot}%{_bindir}
30
+install -vpm 0755 -t %{buildroot}%{_bindir}/ bin/confd
31
+
32
+%files
33
+%defattr(-,root,root)
34
+%{_bindir}/confd
35
+
36
+%changelog
37
+*    Thu Oct 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.12.0-1
38
+-    Calico confd for PhotonOS.
0 39
new file mode 100644
... ...
@@ -0,0 +1,56 @@
0
+Summary:       A per-host daemon for Calico
1
+Name:          calico-felix
2
+Version:       2.4.1
3
+Release:       1%{?dist}
4
+Group:         Applications/System
5
+Vendor:        VMware, Inc.
6
+License:       Apache-2.0
7
+URL:           https://github.com/projectcalico/felix
8
+Source0:       %{name}-%{version}.tar.gz
9
+%define sha1 calico-felix=4408e0b30fee66d8813bf0351094f4b4af7d6813
10
+Source1:       gogo-protobuf-0.4.tar.gz
11
+%define sha1 gogo-protobuf-0.4=4fc5dda432ad929ce203486c861b7d3e48681150
12
+Distribution:  Photon
13
+BuildRequires: git
14
+BuildRequires: glide
15
+BuildRequires: go >= 1.7
16
+BuildRequires: protobuf3
17
+
18
+%description
19
+A per-host daemon for Calico.
20
+
21
+%prep
22
+%setup -q -n felix-%{version}
23
+mkdir -p ${GOPATH}/src/github.com/gogo/protobuf
24
+tar xf %{SOURCE1} --no-same-owner --strip-components 1 -C ${GOPATH}/src/github.com/gogo/protobuf/
25
+
26
+%build
27
+pushd ${GOPATH}/src/github.com/gogo/protobuf
28
+make install
29
+popd
30
+mkdir -p /root/.glide
31
+mkdir -p ${GOPATH}/src/github.com/projectcalico/felix
32
+cp -r * ${GOPATH}/src/github.com/projectcalico/felix/.
33
+pushd ${GOPATH}/src/github.com/projectcalico/felix
34
+glide install --strip-vendor
35
+mkdir -p bin
36
+cd proto
37
+protoc --plugin=/usr/share/gocode/bin/protoc-gen-gogofaster \
38
+       --gogofaster_out=. felixbackend.proto
39
+cd ..
40
+CGO_ENABLED=0 GOOS=linux go build -v -i -o bin/calico-felix -v \
41
+     -ldflags " -X github.com/projectcalico/felix/buildinfo.GitVersion=<unknown> \
42
+                -X github.com/projectcalico/felix/buildinfo.GitRevision=<unknown>" \
43
+              "github.com/projectcalico/felix"
44
+
45
+%install
46
+install -vdm 755 %{buildroot}%{_bindir}
47
+install ${GOPATH}/src/github.com/projectcalico/felix/bin/calico-felix %{buildroot}%{_bindir}/
48
+
49
+%files
50
+%defattr(-,root,root)
51
+%{_bindir}/calico-felix
52
+
53
+%changelog
54
+*    Thu Oct 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 2.4.1-1
55
+-    Calico Felix for PhotonOS.
0 56
new file mode 100644
... ...
@@ -0,0 +1,76 @@
0
+Summary:        Calico Network Policy for Kubernetes
1
+Name:           calico-k8s-policy
2
+Version:        0.5.4
3
+Release:        1%{?dist}
4
+License:        Apache-2.0
5
+URL:            https://github.com/projectcalico/k8s-policy
6
+Source0:        %{name}-%{version}.tar.gz
7
+%define sha1 calico-k8s-policy=83623f81e50d81dc1dd858c9ae340a10ba3670e3
8
+Group:          Development/Tools
9
+Vendor:         VMware, Inc.
10
+Distribution:   Photon
11
+BuildRequires:  git
12
+BuildRequires:  libcalico
13
+BuildRequires:  libffi
14
+BuildRequires:  openssl-devel
15
+BuildRequires:  procps-ng
16
+BuildRequires:  python2
17
+BuildRequires:  python2-devel
18
+BuildRequires:  python2-libs
19
+BuildRequires:  python-asn1crypto
20
+BuildRequires:  python-backports.ssl_match_hostname
21
+BuildRequires:  python-ConcurrentLogHandler
22
+BuildRequires:  python-cffi
23
+BuildRequires:  pycrypto
24
+BuildRequires:  python-cryptography
25
+BuildRequires:  python-dnspython
26
+BuildRequires:  python-docopt
27
+BuildRequires:  python-enum34
28
+BuildRequires:  python-etcd
29
+BuildRequires:  python-idna
30
+BuildRequires:  python-ipaddress
31
+BuildRequires:  python-netaddr
32
+BuildRequires:  python-ndg-httpsclient
33
+BuildRequires:  python-pyOpenSSL
34
+BuildRequires:  python-pip
35
+BuildRequires:  python-prettytable
36
+BuildRequires:  python-prometheus_client
37
+BuildRequires:  python-pyasn1
38
+BuildRequires:  python-pycparser
39
+BuildRequires:  python-pyinstaller
40
+BuildRequires:  PyYAML
41
+BuildRequires:  python-requests
42
+BuildRequires:  python-setuptools
43
+BuildRequires:  python-simplejson
44
+BuildRequires:  python-six
45
+BuildRequires:  python-subprocess32
46
+BuildRequires:  python-urllib3
47
+BuildRequires:  python-websocket-client
48
+BuildRequires:  python-virtualenv
49
+BuildRequires:  python3
50
+Requires:       python2
51
+Requires:       python2-libs
52
+Requires:       python-setuptools
53
+%define debug_package %{nil}
54
+
55
+%description
56
+Calico Network Policy enables Calico to enforce network policy on top of Calico BGP, Flannel, or GCE native.
57
+
58
+%prep
59
+%setup -n k8s-policy-%{version}
60
+echo "VERSION='`git describe --tags --dirty`'" > version.py
61
+
62
+%build
63
+pyinstaller controller.py -ayF
64
+
65
+%install
66
+install -vdm 755 %{buildroot}%{_bindir}
67
+install -vpm 0755 -t %{buildroot}%{_bindir}/ dist/controller
68
+
69
+%files
70
+%defattr(-,root,root)
71
+%{_bindir}/controller
72
+
73
+%changelog
74
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.5.4-1
75
+-   Calico kubernetes policy for PhotonOS.
0 76
new file mode 100644
... ...
@@ -0,0 +1,43 @@
0
+Summary:       Docker libnetwork plugin for Calico
1
+Name:          calico-libnetwork
2
+Version:       1.1.0
3
+Release:       1%{?dist}
4
+Group:         Applications/System
5
+Vendor:        VMware, Inc.
6
+License:       Apache-2.0
7
+URL:           https://github.com/projectcalico/libnetwork-plugin
8
+Source0:       %{name}-%{version}.tar.gz
9
+Distribution:  Photon
10
+BuildRequires: git
11
+BuildRequires: glide
12
+BuildRequires: go >= 1.7
13
+%define sha1 calico-libnetwork=bed540d714a7b2e0d0138556894541109dc7b792
14
+%define debug_package %{nil}
15
+
16
+%description
17
+Docker libnetwork plugin for Calico.
18
+
19
+%prep
20
+%setup -q -n libnetwork-plugin-1.1.0
21
+
22
+%build
23
+mkdir -p /root/.glide
24
+mkdir -p ${GOPATH}/src/github.com/projectcalico/libnetwork-plugin
25
+cp -r * ${GOPATH}/src/github.com/projectcalico/libnetwork-plugin/.
26
+pushd ${GOPATH}/src/github.com/projectcalico/libnetwork-plugin
27
+mkdir -p dist
28
+glide install --strip-vendor
29
+CGO_ENABLED=0 go build -v -i -o dist/libnetwork-plugin -ldflags "-X main.VERSION=%{version} -s -w" main.go
30
+
31
+%install
32
+pushd ${GOPATH}/src/github.com/projectcalico/libnetwork-plugin
33
+install -vdm 0755 %{buildroot}/usr/share/calico/docker
34
+install -vpm 0755 -t %{buildroot}/usr/share/calico/docker/ dist/libnetwork-plugin
35
+
36
+%files
37
+%defattr(-,root,root)
38
+/usr/share/calico/docker/libnetwork-plugin
39
+
40
+%changelog
41
+*    Thu Oct 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.1.0-1
42
+-    Calico libnetwork plugin for PhotonOS.
0 43
new file mode 100644
... ...
@@ -0,0 +1,54 @@
0
+Summary:        Calico node and documentation for project calico.
1
+Name:           calico
2
+Version:        2.4.1
3
+Release:        1%{?dist}
4
+License:        Apache-2.0
5
+URL:            https://github.com/projectcalico/calico
6
+Source0:        %{name}-%{version}.tar.gz
7
+%define sha1 calico=2d26dbc187819231ec0d0e0fe096d5eb78aee691
8
+Group:          Development/Tools
9
+Vendor:         VMware, Inc.
10
+Distribution:   Photon
11
+BuildRequires:  git
12
+BuildRequires:  glide
13
+BuildRequires:  go >= 1.7
14
+BuildRequires:  make
15
+
16
+%description
17
+Calico node is a container that bundles together various components reqiured for networking containers using project calico. This includes key components such as felix agent for programming routes and ACLs, BIRD routing daemon, and confd datastore monitor engine. 
18
+
19
+%prep
20
+%setup
21
+
22
+%build
23
+mkdir -p /root/.glide
24
+mkdir -p ${GOPATH}/src/github.com/projectcalico/calico
25
+cp -r * ${GOPATH}/src/github.com/projectcalico/calico/.
26
+pushd ${GOPATH}/src/github.com/projectcalico/calico
27
+cd calico_node
28
+glide install --strip-vendor
29
+mkdir -p dist
30
+mkdir -p .go-pkg-cache
31
+make CALICO_GIT_VER=%{version} allocate-ipip-addr
32
+make CALICO_GIT_VER=%{version} startup
33
+
34
+%install
35
+pushd ${GOPATH}/src/github.com/projectcalico/calico
36
+install -vdm 755 %{buildroot}%{_bindir}
37
+install calico_node/dist/allocate-ipip-addr %{buildroot}%{_bindir}/
38
+install calico_node/dist/startup %{buildroot}%{_bindir}/
39
+install -vdm 0755 %{buildroot}/usr/share/calico/docker/fs
40
+cp -r calico_node/filesystem/etc %{buildroot}/usr/share/calico/docker/fs/
41
+cp -r calico_node/filesystem/sbin %{buildroot}/usr/share/calico/docker/fs/
42
+sed -i 's/. startup.env/source \/startup.env/g' %{buildroot}/usr/share/calico/docker/fs/etc/rc.local
43
+sed -i 's/. startup.env/source \/startup.env/g' %{buildroot}/usr/share/calico/docker/fs/sbin/start_runit
44
+
45
+%files
46
+%defattr(-,root,root)
47
+%{_bindir}/allocate-ipip-addr
48
+%{_bindir}/startup
49
+/usr/share/calico/docker/fs/*
50
+
51
+%changelog
52
+*   Thu Oct 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 2.4.1-1
53
+-   Calico Node for PhotonOS.
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Overlay network for containers based on etcd
2 2
 Name:           flannel
3 3
 Version:        0.8.0
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        ASL 2.0
6 6
 URL:            https://github.com/coreos/flannel
7 7
 Source0:        https://github.com/coreos/flannel/archive/%{name}-%{version}.tar.gz
... ...
@@ -68,9 +68,8 @@ Before=docker.service
68 68
 [Service]
69 69
 Type=notify
70 70
 EnvironmentFile=-/etc/flannel/flanneld
71
-ExecStartPre=/usr/bin/etcdctl mk /vmware/network/config \${FLANNEL_NETWORK_CONF}
71
+ExecStartPre=-/usr/bin/etcdctl mk /vmware/network/config \${FLANNEL_NETWORK_CONF}
72 72
 ExecStart=/usr/bin/flanneld -etcd-prefix=/vmware/network -etcd-endpoints=\${ETCD_ENDPOINTS} --kube-api-url=\${KUBE_API_URL} \${FLANNEL_OPTIONS}
73
-ExecStopPost=/usr/bin/etcdctl rm /vmware/network/config
74 73
 Restart=on-failure
75 74
 
76 75
 [Install]
... ...
@@ -98,6 +97,8 @@ popd
98 98
 %config(noreplace) %{_sysconfdir}/flannel/flanneld
99 99
 
100 100
 %changelog
101
+*   Thu Oct 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.8.0-2
102
+-   Create flannel network config if not exist, tolerate errcode if exists.
101 103
 *   Fri Aug 11 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.8.0-1
102 104
 -   Flannel 0.8.0 and systemd service file.
103 105
 *   Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 0.5.5-2
104 106
new file mode 100644
... ...
@@ -0,0 +1,40 @@
0
+Summary:        Vendor Package Management for Goland
1
+Name:           glide
2
+Version:        0.12.3
3
+Release:        1%{?dist}
4
+License:        MIT
5
+URL:            https://github.com/Masterminds/glide
6
+Source0:        %{name}-%{version}.tar.gz
7
+%define sha1 glide=259cfe5a4d598434865c9bb95ed5a98bfd2d8e77
8
+Group:          Development/Tools
9
+Vendor:         VMware, Inc.
10
+Distribution:   Photon
11
+BuildRequires:  git
12
+BuildRequires:  go >= 1.7
13
+BuildRequires:  perl
14
+
15
+%description
16
+Glide is a tool for managing the vendor directory within a Go package.
17
+
18
+%prep
19
+%setup
20
+
21
+%build
22
+mkdir -p ${GOPATH}/src/github.com/Masterminds/glide
23
+cp -r * ${GOPATH}/src/github.com/Masterminds/glide/.
24
+pushd ${GOPATH}/src/github.com/Masterminds/glide
25
+make VERSION=%{version} build
26
+
27
+%install
28
+pushd ${GOPATH}/src/github.com/Masterminds/glide
29
+make install
30
+install -vdm 755 %{buildroot}%{_bindir}
31
+install -vpm 0755 -t %{buildroot}%{_bindir}/ ./glide
32
+
33
+%files
34
+%defattr(-,root,root)
35
+%{_bindir}/glide
36
+
37
+%changelog
38
+*   Thu Oct 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.12.3-1
39
+-   glide for PhotonOS.
0 40
new file mode 100644
... ...
@@ -0,0 +1,52 @@
0
+Summary:       BGP implementation in Go
1
+Name:          gobgp
2
+Version:       1.23
3
+Release:       1%{?dist}
4
+Group:         Applications/System
5
+Vendor:        VMware, Inc.
6
+License:       Apache-2.0
7
+URL:           https://github.com/osrg/gobgp
8
+Source0:       %{name}-%{version}.tar.gz
9
+%define sha1 gobgp=3df002f61911cf56c33bd4350fe9d2ad39bcfca5
10
+Source1:       golang-dep-0.3.0.tar.gz
11
+%define sha1 golang-dep-0.3.0=e5e9952227930fe1e8632edc03d690bffc3e1132
12
+Distribution:  Photon
13
+BuildRequires: git
14
+BuildRequires: go >= 1.7
15
+%define debug_package %{nil}
16
+
17
+%description
18
+GoBGP is an open source BGP implementation designed from scratch for modern environment and implemented in a modern programming language, the Go Programming Language.
19
+
20
+%prep
21
+%setup -q
22
+mkdir -p ${GOPATH}/src/github.com/golang/dep
23
+tar xf %{SOURCE1} --no-same-owner --strip-components 1 -C ${GOPATH}/src/github.com/golang/dep/
24
+
25
+%build
26
+pushd ${GOPATH}/src/github.com/golang/dep
27
+CGO_ENABLED=0 GOOS=linux go build -v -ldflags "-s -w" -o ${GOPATH}/bin/dep ./cmd/dep/
28
+popd
29
+mkdir -p ${GOPATH}/src/github.com/osrg/gobgp
30
+cp -r * ${GOPATH}/src/github.com/osrg/gobgp/.
31
+pushd ${GOPATH}/src/github.com/osrg/gobgp
32
+${GOPATH}/bin/dep ensure
33
+mkdir -p dist
34
+go build -v -o dist/gobgp -ldflags "-X main.VERSION=%{version} -s -w" gobgp/main.go
35
+go build -v -o dist/gobgpd -ldflags "-X main.VERSION=%{version} -s -w" gobgpd/main.go gobgpd/util.go
36
+
37
+%install
38
+pushd ${GOPATH}/src/github.com/osrg/gobgp
39
+install -vdm 755 %{buildroot}%{_bindir}
40
+install ${GOPATH}/src/github.com/osrg/gobgp/dist/gobgp %{buildroot}%{_bindir}/
41
+install ${GOPATH}/src/github.com/osrg/gobgp/dist/gobgpd %{buildroot}%{_bindir}/
42
+
43
+%files
44
+%defattr(-,root,root)
45
+%{_bindir}/gobgp
46
+%{_bindir}/gobgpd
47
+%doc LICENSE README.md
48
+
49
+%changelog
50
+*    Thu Oct 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.23-1
51
+-    Go BGP daemon for PhotonOS.
0 52
new file mode 100644
... ...
@@ -0,0 +1,75 @@
0
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+
2
+Summary:        Library for interacting with Calico data model.
3
+Name:           libcalico
4
+Version:        0.19.0
5
+Release:        1%{?dist}
6
+License:        Apache-2.0
7
+URL:            https://github.com/projectcalico/libcalico
8
+Source0:        %{name}-%{version}.tar.gz
9
+%define sha1 libcalico=c3d0f9f36930389fc3b6f1f2222ebc85440a50ee
10
+Group:          Development/Tools
11
+Vendor:         VMware, Inc.
12
+Distribution:   Photon
13
+BuildRequires:  git
14
+BuildRequires:  libffi
15
+BuildRequires:  openssl-devel
16
+BuildRequires:  procps-ng
17
+BuildRequires:  python2
18
+BuildRequires:  python2-devel
19
+BuildRequires:  python2-libs
20
+BuildRequires:  python-asn1crypto
21
+BuildRequires:  python-backports.ssl_match_hostname
22
+BuildRequires:  python-ConcurrentLogHandler
23
+BuildRequires:  python-cffi
24
+BuildRequires:  pycrypto
25
+BuildRequires:  python-cryptography
26
+BuildRequires:  python-dnspython
27
+BuildRequires:  python-docopt
28
+BuildRequires:  python-enum34
29
+BuildRequires:  python-etcd
30
+BuildRequires:  python-idna
31
+BuildRequires:  python-ipaddress
32
+BuildRequires:  python-netaddr
33
+BuildRequires:  python-ndg-httpsclient
34
+BuildRequires:  python-pyOpenSSL
35
+BuildRequires:  python-pip
36
+BuildRequires:  python-prettytable
37
+BuildRequires:  python-prometheus_client
38
+BuildRequires:  python-pyasn1
39
+BuildRequires:  python-pycparser
40
+BuildRequires:  python-pyinstaller
41
+BuildRequires:  PyYAML
42
+BuildRequires:  python-requests
43
+BuildRequires:  python-setuptools
44
+BuildRequires:  python-simplejson
45
+BuildRequires:  python-six
46
+BuildRequires:  python-subprocess32
47
+BuildRequires:  python-urllib3
48
+BuildRequires:  python-websocket-client
49
+BuildRequires:  python-virtualenv
50
+BuildRequires:  python3
51
+Requires:       python2
52
+Requires:       python2-libs
53
+Requires:       python-setuptools
54
+%define debug_package %{nil}
55
+
56
+%description
57
+Library for interacting with Calico data model.
58
+
59
+%prep
60
+%setup
61
+
62
+%build
63
+python2 setup.py build
64
+
65
+%install
66
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
67
+
68
+%files
69
+%defattr(-,root,root)
70
+%{python2_sitelib}/*
71
+
72
+%changelog
73
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.19.0-1
74
+-   libcalico for PhotonOS.
0 75
new file mode 100644
... ...
@@ -0,0 +1,41 @@
0
+Summary:        NGINX Ingress Controller for Kubernetes
1
+Name:           nginx-ingress
2
+Version:        0.9.0
3
+Release:        1%{?dist}
4
+License:        Apache-2.0
5
+URL:            https://github.com/nginxinc/kubernetes-ingress
6
+Source0:        %{name}-%{version}.tar.gz
7
+%define sha1 nginx-ingress=ea71044b1c8298c85cf5f0971100f735f99240ce
8
+Group:          Development/Tools
9
+Vendor:         VMware, Inc.
10
+Distribution:   Photon
11
+BuildRequires:  go >= 1.7
12
+
13
+%description
14
+This is an implementation of kubernetes ingress controller for NGINX. 
15
+
16
+%prep
17
+%setup -n kubernetes-ingress-%{version}
18
+
19
+%build
20
+mkdir -p ${GOPATH}/src/github.com/nginxinc/kubernetes-ingress
21
+cp -r * ${GOPATH}/src/github.com/nginxinc/kubernetes-ingress/.
22
+pushd ${GOPATH}/src/github.com/nginxinc/kubernetes-ingress/nginx-controller
23
+CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags "-w -X main.version=%{version}" -o nginx-ingress *.go
24
+
25
+%install
26
+pushd ${GOPATH}/src/github.com/nginxinc/kubernetes-ingress/nginx-controller
27
+install -vdm 755 %{buildroot}%{_bindir}
28
+install -vpm 0755 -t %{buildroot}%{_bindir} nginx-ingress
29
+install -vdm 0755 %{buildroot}/usr/share/nginx-ingress/docker
30
+install -vpm 0755 -t %{buildroot}/usr/share/nginx-ingress/docker/ nginx/templates/nginx.ingress.tmpl
31
+install -vpm 0755 -t %{buildroot}/usr/share/nginx-ingress/docker/ nginx/templates/nginx.tmpl
32
+
33
+%files
34
+%defattr(-,root,root)
35
+%{_bindir}/nginx-ingress
36
+/usr/share/nginx-ingress/docker/nginx.*
37
+
38
+%changelog
39
+*   Thu Oct 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.9.0-1
40
+-   K8S NGINX Ingress Controller for PhotonOS.
0 41
new file mode 100644
... ...
@@ -0,0 +1,76 @@
0
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+%{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2
+
3
+Name:           python-ConcurrentLogHandler
4
+Version:        0.9.1
5
+Release:        1%{?dist}
6
+Summary:        Concurrent logging handler (drop-in replacement for RotatingFileHandler) Python 2.6+
7
+License:        Apache-2.0
8
+Group:          Development/Languages/Python
9
+Url:            https://pypi.python.org/pypi/ConcurrentLogHandler/0.9.1
10
+Source0:        ConcurrentLogHandler-%{version}.tar.gz
11
+%define sha1    ConcurrentLogHandler=9afcd87b6eb0f37f65b8d7eb928c6d20415692ab
12
+Vendor:         VMware, Inc.
13
+Distribution:   Photon
14
+
15
+BuildRequires:  python2
16
+BuildRequires:  python2-libs
17
+BuildRequires:  python-setuptools
18
+BuildRequires:  python-pytest
19
+Requires:       python2
20
+Requires:       python2-libs
21
+Requires:       python-setuptools
22
+
23
+BuildArch:      noarch
24
+
25
+%description
26
+ConcurrentLogHandler is a module that provides an additional log handler for Python’s standard logging package (PEP 282). This handler will write log events to log file which is rotated when the log file reaches a certain size. Multiple processes can safely write to the same log file concurrently.
27
+
28
+%package -n     python3-ConcurrentLogHandler
29
+Summary:        python-ConcurrentLogHandler
30
+BuildRequires:  python3
31
+BuildRequires:  python3-devel
32
+BuildRequires:  python3-libs
33
+BuildRequires:  python3-tools
34
+BuildRequires:  python3-pytest
35
+Requires:       python3
36
+Requires:       python3-libs
37
+Requires:       python3-tools
38
+
39
+%description -n python3-ConcurrentLogHandler
40
+Python 3 version.
41
+
42
+%prep
43
+%setup -n ConcurrentLogHandler-%{version}
44
+rm -rf ../p3dir
45
+cp -a . ../p3dir
46
+
47
+%build
48
+python2 setup.py build
49
+pushd ../p3dir
50
+python3 setup.py build
51
+popd
52
+
53
+%install
54
+pushd ../p3dir
55
+python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
56
+popd
57
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
58
+
59
+#No test case available for this package
60
+
61
+%files
62
+%defattr(-,root,root,-)
63
+%{python_sitelib}/*
64
+%doc /usr/docs/LICENSE
65
+%doc /usr/docs/README
66
+%exclude /usr/tests/stresstest.py
67
+
68
+%files -n python3-ConcurrentLogHandler
69
+%defattr(-,root,root,-)
70
+%{python3_sitelib}/*
71
+%exclude /usr/tests/stresstest.py
72
+
73
+%changelog
74
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.9.1-1
75
+-   python ConcurrentLogHandler for PhotonOS.
0 76
new file mode 100644
... ...
@@ -0,0 +1,68 @@
0
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+%{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2
+
3
+Name:           python-asn1crypto
4
+Version:        0.22.0
5
+Release:        1%{?dist}
6
+Summary:        A fast, pure Python library for parsing and serializing ASN.1 structures.
7
+License:        MIT
8
+Group:          Development/Languages/Python
9
+Url:            https://pypi.python.org/packages/67/14/5d66588868c4304f804ebaff9397255f6ec5559e46724c2496e0f26e68d6/asn1crypto-0.22.0.tar.gz
10
+Source0:        asn1crypto-%{version}.tar.gz
11
+%define sha1    asn1crypto=c4f60b52dd06e3fd0ed568a741e968aaccd2e3e5
12
+
13
+BuildRequires:  python2
14
+BuildRequires:  python2-libs
15
+BuildRequires:  python-setuptools
16
+
17
+Requires:       python2
18
+Requires:       python2-libs
19
+
20
+BuildArch:      noarch
21
+
22
+%description
23
+A fast, pure Python library for parsing and serializing ASN.1 structures.
24
+
25
+%package -n     python3-asn1crypto
26
+Summary:        A fast, pure Python library for parsing and serializing ASN.1 structures.
27
+BuildRequires:  python3
28
+BuildRequires:  python3-devel
29
+BuildRequires:  python3-libs
30
+BuildRequires:  python3-tools
31
+Requires:       python3
32
+Requires:       python3-libs
33
+
34
+%description -n python3-asn1crypto
35
+Python 3 version of asn1crypto
36
+
37
+%prep
38
+%setup -qn asn1crypto-%{version}
39
+rm -rf ../p3dir
40
+cp -a . ../p3dir
41
+
42
+%build
43
+python2 setup.py build
44
+pushd ../p3dir
45
+python3 setup.py build
46
+popd
47
+
48
+%install
49
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
50
+pushd ../p3dir
51
+python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
52
+popd
53
+
54
+#%check
55
+#Commented out %check due to no test existence
56
+
57
+%files
58
+%defattr(-,root,root,-)
59
+%{python2_sitelib}/*
60
+
61
+%files -n python3-asn1crypto
62
+%defattr(-,root,root,-)
63
+%{python3_sitelib}/*
64
+
65
+%changelog
66
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.22.0-1
67
+-   python asn1crypto for PhotonOS.
0 68
new file mode 100644
... ...
@@ -0,0 +1,76 @@
0
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+%{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2
+
3
+Name:           python-docopt
4
+Version:        0.6.2
5
+Release:        1%{?dist}
6
+Summary:        Pythonic argument parser to create command line interfaces.
7
+License:        MIT
8
+Group:          Development/Languages/Python
9
+Url:            https://pypi.python.org/pypi/docopt
10
+Source0:        docopt-%{version}.tar.gz
11
+%define sha1    docopt=224a3ec08b56445a1bd1583aad06b00692671e04
12
+Vendor:         VMware, Inc.
13
+Distribution:   Photon
14
+
15
+BuildRequires:  python2
16
+BuildRequires:  python2-libs
17
+BuildRequires:  python-setuptools
18
+BuildRequires:  python-pytest
19
+Requires:       python2
20
+Requires:       python2-libs
21
+Requires:       python-setuptools
22
+
23
+BuildArch:      noarch
24
+
25
+%description
26
+docopt helps easily create most beautiful command-line interfaces.
27
+
28
+%package -n     python3-docopt
29
+Summary:        python-docopt
30
+BuildRequires:  python3
31
+BuildRequires:  python3-devel
32
+BuildRequires:  python3-libs
33
+BuildRequires:  python3-tools
34
+BuildRequires:  python3-pytest
35
+Requires:       python3
36
+Requires:       python3-libs
37
+Requires:       python3-tools
38
+
39
+%description -n python3-docopt
40
+Python 3 version.
41
+
42
+%prep
43
+%setup -n docopt-%{version}
44
+rm -rf ../p3dir
45
+cp -a . ../p3dir
46
+
47
+%build
48
+python2 setup.py build
49
+pushd ../p3dir
50
+python3 setup.py build
51
+popd
52
+
53
+%install
54
+pushd ../p3dir
55
+python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
56
+popd
57
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
58
+
59
+%check
60
+python2 setup.py test
61
+pushd ../p3dir
62
+python3 setup.py test
63
+popd
64
+
65
+%files
66
+%defattr(-,root,root,-)
67
+%{python_sitelib}/*
68
+
69
+%files -n python3-docopt
70
+%defattr(-,root,root,-)
71
+%{python3_sitelib}/*
72
+
73
+%changelog
74
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.6.2-1
75
+-   python docopt for PhotonOS.
0 76
new file mode 100644
... ...
@@ -0,0 +1,48 @@
0
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+
2
+Name:           python-enum34
3
+Version:        1.1.6
4
+Release:        1%{?dist}
5
+Summary:        Robust enumerated type support in Python
6
+License:        BSD
7
+Group:          Development/Libraries
8
+Url:            https://bitbucket.org/stoneleaf/enum34
9
+Vendor:		VMware, Inc.
10
+Distribution: 	Photon
11
+Source0:        https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-%{version}.tar.gz
12
+%define sha1    enum34=014ef5878333ff91099893d615192c8cd0b1525a
13
+
14
+BuildRequires:  python2
15
+BuildRequires:  python2-libs
16
+BuildRequires:  python2-devel
17
+BuildRequires:  python-setuptools
18
+
19
+Requires:       python2
20
+Requires:       python2-libs
21
+
22
+BuildArch:      noarch
23
+
24
+%description
25
+An enumeration is a set of symbolic names (members) bound to unique, constant values. Within an enumeration, the members can be compared by identity, and the enumeration itself can be iterated over. 
26
+
27
+%prep
28
+%setup -n enum34-%{version}
29
+
30
+%build
31
+python2 setup.py build
32
+
33
+%install
34
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
35
+
36
+%check
37
+PATH=%{buildroot}%{_bindir}:${PATH} \
38
+PYTHONPATH=%{buildroot}%{python_sitelib} \
39
+ python2 enum/test.py
40
+
41
+%files
42
+%defattr(-,root,root,-)
43
+%{python2_sitelib}/*
44
+
45
+%changelog
46
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.1.6-1
47
+-   python enum34 for Photon
0 48
new file mode 100644
... ...
@@ -0,0 +1,66 @@
0
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+%{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2
+
3
+Name:           python-etcd
4
+Version:        0.4.5
5
+Release:        1%{?dist}
6
+Summary:        Python API for etcd
7
+License:        MIT
8
+Group:          Development/Languages/Python
9
+Url:            https://pypi.python.org/pypi/python-etcd
10
+Source0:        %{name}-%{version}.tar.gz
11
+%define sha1    python-etcd=9e79ae82429cf2ffbe2b5647e14bc29571afd766
12
+Vendor:         VMware, Inc.
13
+Distribution:   Photon
14
+
15
+BuildRequires:  python2
16
+BuildRequires:  python2-devel
17
+BuildRequires:  python2-libs
18
+BuildRequires:  python-pip
19
+BuildRequires:  python-setuptools
20
+Requires:       python2
21
+Requires:       python2-libs
22
+Requires:       python-setuptools
23
+BuildArch:      noarch
24
+
25
+%description
26
+Python API for etcd
27
+
28
+%package -n     python3-etcd
29
+Summary:        Python3 API for etcd
30
+BuildRequires:  python3
31
+BuildRequires:  python3-devel
32
+BuildRequires:  python3-libs
33
+BuildRequires:  python3-tools
34
+
35
+%description -n python3-etcd
36
+Python3 API for etcd
37
+
38
+%prep
39
+%setup -n %{name}-%{version}
40
+rm -rf ../p3dir
41
+cp -a . ../p3dir
42
+
43
+%build
44
+python2 setup.py build
45
+pushd ../p3dir
46
+python3 setup.py build
47
+popd
48
+
49
+%install
50
+pushd ../p3dir
51
+python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
52
+popd
53
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
54
+
55
+%files
56
+%defattr(-,root,root,-)
57
+%{python2_sitelib}/*
58
+
59
+%files -n python3-etcd
60
+%defattr(-,root,root,-)
61
+%{python3_sitelib}/*
62
+
63
+%changelog
64
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.4.5-1
65
+-   Initial version of python etcd for PhotonOS.
0 66
new file mode 100644
... ...
@@ -0,0 +1,75 @@
0
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+%{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2
+
3
+Name:           python-hypothesis
4
+Version:        3.8.2
5
+Release:        1%{?dist}
6
+Summary:        Python library for creating unit tests which are simpler to write and more powerful
7
+License:        MPLv2.0
8
+Group:          Development/Languages/Python
9
+Url:            https://github.com/HypothesisWorks/hypothesis-python
10
+Vendor:         VMware, Inc.
11
+Distribution:   Photon
12
+Source0:        https://pypi.python.org/packages/cf/d5/b3d491e4b5094be0ef69b910d637096c8e23f84a9bdc4eba0b869220d1f0/hypothesis-%{version}.tar.gz
13
+%define sha1    hypothesis=7416346ebd8ae6f78f482980f80a57764913e27f
14
+
15
+BuildRequires:  python2
16
+BuildRequires:  python2-devel
17
+BuildRequires:  python2-libs
18
+BuildRequires:  python-setuptools
19
+BuildRequires:  python-enum34
20
+
21
+Requires:       python2
22
+Requires:       python2-libs
23
+Requires:       python-enum34
24
+
25
+BuildArch:      noarch
26
+
27
+%description
28
+Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized by a source of examples,
29
+and then generates simple and comprehensible examples that make your tests fail. This lets you find more bugs in your code with less work
30
+
31
+%package -n     python3-hypothesis
32
+Summary:        Python library for creating unit tests which are simpler to write and more powerful
33
+BuildRequires:  python3
34
+BuildRequires:  python3-devel
35
+BuildRequires:  python3-tools
36
+
37
+Requires:       python3
38
+Requires:       python3-libs
39
+
40
+%description -n python3-hypothesis
41
+
42
+Python 3 version.
43
+
44
+%prep
45
+%setup -n hypothesis-%{version}
46
+rm -rf ../p3dir
47
+cp -a . ../p3dir
48
+
49
+%build
50
+python2 setup.py build
51
+pushd ../p3dir
52
+python3 setup.py build
53
+popd
54
+
55
+%install
56
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
57
+pushd ../p3dir
58
+python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
59
+popd
60
+
61
+%check
62
+make -k check |& tee %{_specdir}/%{name}-check-log || %{nocheck}
63
+
64
+%files
65
+%defattr(-,root,root,-)
66
+%{python2_sitelib}/*
67
+
68
+%files -n python3-hypothesis
69
+%defattr(-,root,root,-)
70
+%{python3_sitelib}/*
71
+
72
+%changelog
73
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 3.8.2-1
74
+-   python hypothesis for PhotonOS.
0 75
new file mode 100644
... ...
@@ -0,0 +1,67 @@
0
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+%{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2
+
3
+Name:           python-ndg-httpsclient
4
+Version:        0.4.2
5
+Release:        1%{?dist}
6
+Summary:        Enhanced HTTPS support for httplib and urllib2 using PyOpenSSL.
7
+License:        BSD
8
+Group:          Development/Languages/Python
9
+Url:            https://pypi.python.org/pypi/ndg-httpsclient
10
+Source0:        ndg_httpsclient-%{version}.tar.gz
11
+%define sha1    ndg_httpsclient=03396d0b960c414e92ff355b4fe0fe210855fd58
12
+Vendor:         VMware, Inc.
13
+Distribution:   Photon
14
+
15
+BuildRequires:  python2
16
+BuildRequires:  python2-devel
17
+BuildRequires:  python2-libs
18
+BuildRequires:  python-pip
19
+BuildRequires:  python-setuptools
20
+Requires:       python2
21
+Requires:       python2-libs
22
+Requires:       python-setuptools
23
+BuildArch:      noarch
24
+
25
+%description
26
+Enhanced HTTPS support for httplib and urllib2 using PyOpenSSL.
27
+
28
+%package -n     python3-ndg-httpsclient
29
+Summary:        Python3 version of ndg-httpsclient.
30
+BuildRequires:  python3
31
+BuildRequires:  python3-devel
32
+BuildRequires:  python3-libs
33
+BuildRequires:  python3-tools
34
+
35
+%description -n python3-ndg-httpsclient
36
+Python3 version of ndg-httpsclient.
37
+
38
+%prep
39
+%setup -n ndg_httpsclient-%{version}
40
+rm -rf ../p3dir
41
+cp -a . ../p3dir
42
+
43
+%build
44
+python2 setup.py build
45
+pushd ../p3dir
46
+python3 setup.py build
47
+popd
48
+
49
+%install
50
+pushd ../p3dir
51
+python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
52
+popd
53
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
54
+
55
+%files
56
+%defattr(-,root,root,-)
57
+%{_bindir}/ndg_httpclient
58
+%{python2_sitelib}/*
59
+
60
+%files -n python3-ndg-httpsclient
61
+%defattr(-,root,root,-)
62
+%{python3_sitelib}/*
63
+
64
+%changelog
65
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.4.2-1
66
+-   Initial version of python ndg-httpsclient for PhotonOS.
0 67
new file mode 100644
... ...
@@ -0,0 +1,75 @@
0
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+%{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2
+
3
+Name:           python-prometheus_client
4
+Version:        0.0.20
5
+Release:        1%{?dist}
6
+Summary:        Python client for the Prometheus monitoring system.
7
+License:        Apache-2.0
8
+Group:          Development/Languages/Python
9
+Url:            https://pypi.python.org/pypi/prometheus_client
10
+Source0:        prometheus_client-%{version}.tar.gz
11
+%define sha1    prometheus_client=9d39131f386af8965aef93e26ddc26ea508b3a48
12
+Vendor:         VMware, Inc.
13
+Distribution:   Photon
14
+
15
+BuildRequires:  python2
16
+BuildRequires:  python2-libs
17
+BuildRequires:  python-setuptools
18
+BuildRequires:  python-pytest
19
+Requires:       python2
20
+Requires:       python2-libs
21
+Requires:       python-setuptools
22
+BuildArch:      noarch
23
+
24
+%description
25
+Python client for the Prometheus monitoring system.
26
+
27
+%package -n     python3-prometheus_client
28
+Summary:        python-prometheus_client
29
+BuildRequires:  python3
30
+BuildRequires:  python3-devel
31
+BuildRequires:  python3-libs
32
+BuildRequires:  python3-tools
33
+BuildRequires:  python3-pytest
34
+Requires:       python3
35
+Requires:       python3-libs
36
+Requires:       python3-tools
37
+
38
+%description -n python3-prometheus_client
39
+Python 3 version.
40
+
41
+%prep
42
+%setup -n client_python-%{version}
43
+rm -rf ../p3dir
44
+cp -a . ../p3dir
45
+
46
+%build
47
+python2 setup.py build
48
+pushd ../p3dir
49
+python3 setup.py build
50
+popd
51
+
52
+%install
53
+pushd ../p3dir
54
+python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
55
+popd
56
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
57
+
58
+%check
59
+python2 setup.py test
60
+pushd ../p3dir
61
+python3 setup.py test
62
+popd
63
+
64
+%files
65
+%defattr(-,root,root,-)
66
+%{python_sitelib}/*
67
+
68
+%files -n python3-prometheus_client
69
+%defattr(-,root,root,-)
70
+%{python3_sitelib}/*
71
+
72
+%changelog
73
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 0.0.20-1
74
+-   Initial version of python-prometheus_client package for Photon.
0 75
new file mode 100644
... ...
@@ -0,0 +1,77 @@
0
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+%{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2
+
3
+Name:           python-py
4
+Version:        1.4.33
5
+Release:        1%{?dist}
6
+Summary:        Python development support library
7
+License:        MIT
8
+Group:          Development/Languages/Python
9
+Url:            https://github.com/pytest-dev/py
10
+Vendor:         VMware, Inc.
11
+Distribution:   Photon
12
+Source0:        https://pypi.python.org/packages/53/72/6c6f1e787d9cab2cc733cf042f125abec07209a58308831c9f292504e826/py-%{version}.tar.gz
13
+%define sha1    py=4ac8bacefc2583cd7ba488b5cdbfa1e0d469e792
14
+
15
+BuildRequires:  python2
16
+BuildRequires:  python2-devel
17
+BuildRequires:  python2-libs
18
+BuildRequires:  python-setuptools
19
+Requires:       python2
20
+Requires:       python2-libs
21
+
22
+BuildArch:      noarch
23
+
24
+%description
25
+The py lib is a Python development support library featuring the following tools and modules:
26
+
27
+py.path: uniform local and svn path objects
28
+py.apipkg: explicit API control and lazy-importing
29
+py.iniconfig: easy parsing of .ini files
30
+py.code: dynamic code generation and introspection
31
+
32
+%package -n     python3-py
33
+Summary:        Python development support library
34
+BuildRequires:  python3
35
+BuildRequires:  python3-devel
36
+BuildRequires:  python3-tools
37
+
38
+Requires:       python3
39
+Requires:       python3-libs
40
+
41
+%description -n python3-py
42
+
43
+Python 3 version.
44
+
45
+%prep
46
+%setup -n py-%{version}
47
+rm -rf ../p3dir
48
+cp -a . ../p3dir
49
+
50
+%build
51
+python2 setup.py build
52
+pushd ../p3dir
53
+python3 setup.py build
54
+popd
55
+
56
+%install
57
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
58
+pushd ../p3dir
59
+python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
60
+popd
61
+
62
+%check
63
+#python-py and python-pytest have circular dependency. Hence not adding tests
64
+make -k check |& tee %{_specdir}/%{name}-check-log || %{nocheck}
65
+
66
+%files
67
+%defattr(-,root,root,-)
68
+%{python2_sitelib}/*
69
+
70
+%files -n python3-py
71
+%defattr(-,root,root,-)
72
+%{python3_sitelib}/*
73
+
74
+%changelog
75
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.4.33-1
76
+-   python-py for PhotonOS.
0 77
new file mode 100644
... ...
@@ -0,0 +1,125 @@
0
+%define debug_package %{nil}
1
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2
+%{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
3
+Summary:        PyInstaller bundles a Python application and all its dependencies into a single package.
4
+Name:           python-pyinstaller
5
+Version:        3.2.1
6
+Release:        1%{?dist}
7
+Url:            https://pypi.python.org/pypi/PyInstaller/3.2.1
8
+License:        GPLv2+
9
+Group:          Development/Languages/Python
10
+Vendor:         VMware, Inc.
11
+Distribution:   Photon
12
+Source0:        https://files.pythonhosted.org/packages/source/P/PyInstaller/PyInstaller-%{version}.tar.bz2
13
+%define sha1    PyInstaller=6e8bc52d325a5527402ad574f774ed64c70bf03f
14
+Patch0:         python2-unit-tests.patch
15
+BuildRequires:  python2
16
+BuildRequires:  python2-libs
17
+BuildRequires:  python2-devel
18
+BuildRequires:  python-setuptools
19
+%if %{with_check}
20
+BuildRequires:  python-six
21
+BuildRequires:  python-pytest
22
+BuildRequires:  python-psutil
23
+BuildRequires:  python-pip
24
+%endif
25
+Requires:       python2
26
+Requires:       python2-libs
27
+Requires:       python-setuptools
28
+Requires:       python-xml
29
+
30
+%description
31
+PyInstaller bundles a Python application and all its dependencies into a single package. The user can run the packaged app without installing a Python interpreter or any modules.
32
+PyInstaller reads a Python script written by you. It analyzes your code to discover every other module and library your script needs in order to execute. Then it collects copies of all those files – including the active Python interpreter! – and puts them with your script in a single folder, or optionally in a single executable file.
33
+
34
+PyInstaller is tested against Windows, Mac OS X, and Linux. However, it is not a cross-compiler: to make a Windows app you run PyInstaller in Windows; to make a Linux app you run it in Linux, etc. PyInstaller has been used successfully with AIX, Solaris, and FreeBSD, but is not tested against them.
35
+%package -n     python3-pyinstaller
36
+Summary:        Python 3 version
37
+BuildRequires:  python3
38
+BuildRequires:  python3-devel
39
+BuildRequires:  python3-libs
40
+BuildRequires:  python3-tools
41
+BuildRequires:  zlib-devel
42
+%if %{with_check}
43
+BuildRequires:  python3-pytest
44
+%endif
45
+Requires:       python3
46
+Requires:       python3-libs
47
+Requires:       zlib
48
+Requires:       python3-tools
49
+
50
+%description -n python3-pyinstaller
51
+Python 3 version.
52
+
53
+%prep
54
+%setup -q -n PyInstaller-%{version}
55
+
56
+rm -rf ../p3dir
57
+cp -a . ../p3dir
58
+%patch0 -p1
59
+
60
+%build
61
+python2 setup.py build
62
+pushd ../p3dir
63
+python3 setup.py build
64
+popd
65
+
66
+%install
67
+pushd ../p3dir
68
+python3 setup.py install --single-version-externally-managed -O1 --root=%{buildroot}
69
+mv %{buildroot}/%{_bindir}/pyi-archive_viewer %{buildroot}/%{_bindir}/pyi-archive_viewer3
70
+mv %{buildroot}/%{_bindir}/pyi-bindepend      %{buildroot}/%{_bindir}/pyi-bindepend3
71
+mv %{buildroot}/%{_bindir}/pyi-grab_version   %{buildroot}/%{_bindir}/pyi-grab_version3
72
+mv %{buildroot}/%{_bindir}/pyi-makespec       %{buildroot}/%{_bindir}/pyi-makespec3
73
+mv %{buildroot}/%{_bindir}/pyi-set_version    %{buildroot}/%{_bindir}/pyi-set_version3
74
+mv %{buildroot}/%{_bindir}/pyinstaller        %{buildroot}/%{_bindir}/pyinstaller3
75
+
76
+popd
77
+python2 setup.py install --single-version-externally-managed -O1 --root=%{buildroot}
78
+
79
+
80
+%check
81
+# future is required for python2 make check
82
+pip2 install -U future
83
+
84
+# Skip tkinter and idlelib related test
85
+# as our python is not compiled with Tcl/Tk.
86
+# We don't have Tk.
87
+LANG=en_US.UTF-8 py.test2 tests/unit tests/functional \
88
+    -k "not test_tkinter and not test_idlelib"
89
+
90
+# Skip python3 make check, as python3.6 is not supported by 3.2.1
91
+
92
+%files
93
+%defattr(-,root,root)
94
+%{_bindir}/pyi-archive_viewer
95
+%{_bindir}/pyi-bindepend
96
+%{_bindir}/pyi-grab_version
97
+%{_bindir}/pyi-makespec
98
+%{_bindir}/pyi-set_version
99
+%{_bindir}/pyinstaller
100
+
101
+%{python2_sitelib}/*
102
+%{_bindir}/pyi-archive_viewer3
103
+%{_bindir}/pyi-bindepend3
104
+%{_bindir}/pyi-grab_version3
105
+%{_bindir}/pyi-makespec3
106
+%{_bindir}/pyi-set_version3
107
+%{_bindir}/pyinstaller3
108
+%exclude %{python2_sitelib}/PyInstaller/bootloader/Darwin-64bit
109
+%exclude %{python2_sitelib}/PyInstaller/bootloader/Linux-32bit
110
+%exclude %{python2_sitelib}/PyInstaller/bootloader/Windows-32bit
111
+%exclude %{python2_sitelib}/PyInstaller/bootloader/Windows-64bit
112
+
113
+%files -n python3-pyinstaller
114
+%defattr(-,root,root,-)
115
+%{_bindir}/*
116
+%{python3_sitelib}/*
117
+%exclude %{python3_sitelib}/PyInstaller/bootloader/Darwin-64bit
118
+%exclude %{python3_sitelib}/PyInstaller/bootloader/Linux-32bit
119
+%exclude %{python3_sitelib}/PyInstaller/bootloader/Windows-32bit
120
+%exclude %{python3_sitelib}/PyInstaller/bootloader/Windows-64bit
121
+
122
+%changelog
123
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 3.2.1-1
124
+-   PyInstaller for PhotonOS.
0 125
new file mode 100644
... ...
@@ -0,0 +1,27 @@
0
+diff --git a/tests/unit/test_hookutils.py b/tests/unit/test_hookutils.py
1
+index a33f5e5..f8908e7
2
+--- a/tests/unit/test_hookutils.py
3
+@@ -13,7 +13,7 @@ import pytest
4
+ import shutil
5
+ from os.path import join
6
+ from threading import Thread
7
+-from queue import Queue
8
++from multiprocessing import Queue
9
+ 
10
+ from PyInstaller.utils.hooks import collect_data_files, collect_submodules, \
11
+   get_module_file_attribute, remove_prefix, remove_suffix, \
12
+
13
+diff --git a/tests/unit/test_loader.py b/tests/unit/test_loader.py 
14
+index 67ad04b..127d9ec
15
+--- a/tests/unit/test_loader.py
16
+@@ -10,7 +10,7 @@
17
+ 
18
+ import pytest
19
+ from threading import Thread
20
+-from queue import Queue
21
++from multiprocessing import Queue
22
+ 
23
+ from PyInstaller.loader.pyimod02_archive import ArchiveFile
24
+ 
0 25
new file mode 100644
... ...
@@ -0,0 +1,101 @@
0
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+%{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2
+%{!?python2_version: %define python2_version %(python2 -c "import sys; sys.stdout.write(sys.version[:3])")}
3
+%{!?python3_version: %define python3_version %(python3 -c "import sys; sys.stdout.write(sys.version[:3])")}
4
+
5
+Name:           python-pytest
6
+Version:        3.0.7
7
+Release:        1%{?dist}
8
+Summary:        pytest is a mature full-featured Python testing tool that helps you write better programs
9
+License:        MIT
10
+Group:          Development/Languages/Python
11
+Url:            https://docs.pytest.org
12
+Vendor:         VMware, Inc.
13
+Distribution:   Photon
14
+Source0:        https://pypi.python.org/packages/00/e9/f77dcd80bdb2e52760f38dbd904016da018ab4373898945da744e5e892e9/pytest-%{version}.tar.gz
15
+%define sha1    pytest=16bba5707c14d0ffffe92cba2380cf3bdc227068
16
+
17
+BuildRequires:  python2
18
+BuildRequires:  python2-devel
19
+BuildRequires:  python2-libs
20
+BuildRequires:  python-setuptools
21
+BuildRequires:  python-py
22
+BuildRequires:  python-xml
23
+BuildRequires:  python-hypothesis
24
+BuildRequires:  python-Twisted
25
+Requires:       python2
26
+Requires:       python2-libs
27
+Requires:       python-py
28
+
29
+BuildArch:      noarch
30
+
31
+%description
32
+pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries.
33
+
34
+%package -n     python3-pytest
35
+Summary:        pytest is a mature full-featured Python testing tool that helps you write better programs
36
+BuildRequires:  python3
37
+BuildRequires:  python3-devel
38
+BuildRequires:  python3-py
39
+BuildRequires:  python3-hypothesis
40
+BuildRequires:  python3-Twisted
41
+BuildRequires:  python3-tools
42
+
43
+Requires:       python3
44
+Requires:       python3-libs
45
+Requires:       python3-py
46
+
47
+%description -n python3-pytest
48
+
49
+Python 3 version.
50
+
51
+%prep
52
+%setup -n pytest-%{version}
53
+rm -rf ../p3dir
54
+cp -a . ../p3dir
55
+
56
+%build
57
+python2 setup.py build
58
+pushd ../p3dir
59
+python3 setup.py build
60
+popd
61
+
62
+%install
63
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
64
+
65
+mv %{buildroot}%{_bindir}/pytest %{buildroot}%{_bindir}/pytest%{python2_version}
66
+ln -snf pytest%{python2_version} %{buildroot}%{_bindir}/pytest2
67
+mv %{buildroot}%{_bindir}/py.test %{buildroot}%{_bindir}/py.test%{python2_version}
68
+ln -snf py.test%{python2_version} %{buildroot}%{_bindir}/py.test2
69
+
70
+
71
+pushd ../p3dir
72
+python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
73
+mv %{buildroot}%{_bindir}/pytest %{buildroot}%{_bindir}/pytest%{python3_version}
74
+ln -snf pytest%{python3_version} %{buildroot}%{_bindir}/pytest3
75
+mv %{buildroot}%{_bindir}/py.test %{buildroot}%{_bindir}/py.test%{python3_version}
76
+ln -snf py.test%{python3_version} %{buildroot}%{_bindir}/py.test3
77
+popd
78
+
79
+%check
80
+make -k check |& tee %{_specdir}/%{name}-check-log || %{nocheck}
81
+
82
+%files
83
+%defattr(-,root,root,-)
84
+%{_bindir}/pytest2
85
+%{_bindir}/pytest%{python2_version}
86
+%{_bindir}/py.test2
87
+%{_bindir}/py.test%{python2_version}
88
+%{python2_sitelib}/*
89
+
90
+%files -n python3-pytest
91
+%defattr(-,root,root,-)
92
+%{_bindir}/pytest3
93
+%{_bindir}/pytest%{python3_version}
94
+%{_bindir}/py.test3
95
+%{_bindir}/py.test%{python3_version}
96
+%{python3_sitelib}/*
97
+
98
+%changelog
99
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 3.0.7-1
100
+-   python pytest for PhotonOS
0 101
new file mode 100644
... ...
@@ -0,0 +1,48 @@
0
+%define python2_ver %(python2 -c "import sys;print sys.version[0:3]")
1
+
2
+Name:           python-subprocess32
3
+Version:        3.2.7
4
+Release:        1%{?dist}
5
+Summary:        A backport of the subprocess module from Python 3.2/3.3 for use on 2.x
6
+License:        PSF
7
+Group:          Development/Languages/Python
8
+Url:            https://pypi.python.org/pypi/subprocess32
9
+Source0:        subprocess32-%{version}.tar.gz
10
+%define sha1    subprocess32=75a8664ba54663016315dae17510af97c5a96953
11
+Vendor:         VMware, Inc.
12
+Distribution:   Photon
13
+
14
+BuildRequires:  python2
15
+BuildRequires:  python2-libs
16
+BuildRequires:  python-setuptools
17
+BuildRequires:  python-pytest
18
+%if %{with_check}
19
+BuildRequires:  python2-test
20
+%endif
21
+
22
+Requires:       python2
23
+Requires:       python2-libs
24
+Requires:       python-setuptools
25
+
26
+%description
27
+A backport of the subprocess module from Python 3.2/3.3 for use on 2.x
28
+
29
+%prep
30
+%setup -n subprocess32-%{version}
31
+
32
+%build
33
+python2 setup.py build
34
+
35
+%install
36
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
37
+
38
+%check
39
+PYTHONPATH=build/lib.linux-%{_arch}-%{python2_ver}/ python2 test_subprocess32.py
40
+
41
+%files
42
+%defattr(-,root,root,-)
43
+%{python_sitelib}/*
44
+
45
+%changelog
46
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 3.2.7-1
47
+-   Initial version of python-subprocess32 package for Photon.
0 48
new file mode 100644
... ...
@@ -0,0 +1,76 @@
0
+%{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
1
+%{!?python3_sitelib: %define python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2
+
3
+Name:           python-virtualenv
4
+Version:        15.1.0
5
+Release:        1%{?dist}
6
+Summary:        Virtual Python Environment builder
7
+License:        MIT
8
+Group:          Development/Languages/Python
9
+Url:            https://pypi.python.org/pypi/virtualenv
10
+Source0:        virtualenv-%{version}.tar.gz
11
+%define sha1    virtualenv=995ce0fa007210ac2f10258999d06813ecdd6eeb
12
+Vendor:         VMware, Inc.
13
+Distribution:   Photon
14
+
15
+BuildRequires:  python2
16
+BuildRequires:  python2-libs
17
+BuildRequires:  python-setuptools
18
+BuildRequires:  python-pytest
19
+Requires:       python2
20
+Requires:       python2-libs
21
+BuildRequires:  python-setuptools
22
+
23
+BuildArch:      noarch
24
+
25
+%description
26
+virtualenv is a tool to create isolated Python environment.
27
+
28
+%package -n     python3-virtualenv
29
+Summary:        Virtual Python Environment builder
30
+BuildRequires:  python3
31
+BuildRequires:  python3-devel
32
+BuildRequires:  python3-libs
33
+BuildRequires:  python3-tools
34
+BuildRequires:  python3-pytest
35
+Requires:       python3
36
+Requires:       python3-libs
37
+
38
+%description -n python3-virtualenv
39
+Python 3 version.
40
+
41
+%prep
42
+%setup -n virtualenv-%{version}
43
+rm -rf ../p3dir
44
+cp -a . ../p3dir
45
+
46
+%build
47
+python2 setup.py build
48
+pushd ../p3dir
49
+python3 setup.py build
50
+popd
51
+
52
+%install
53
+pushd ../p3dir
54
+python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
55
+popd
56
+python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
57
+
58
+%check
59
+python2 setup.py test
60
+pushd ../p3dir
61
+python3 setup.py test
62
+popd
63
+
64
+%files
65
+%defattr(-,root,root,-)
66
+%{_bindir}/virtualenv
67
+%{python_sitelib}/*
68
+
69
+%files -n python3-virtualenv
70
+%defattr(-,root,root,-)
71
+%{python3_sitelib}/*
72
+
73
+%changelog
74
+*   Fri Oct 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 15.1.0-1
75
+-   Initial version of python-virtualenv package for Photon.
0 76
new file mode 100644
... ...
@@ -0,0 +1,19 @@
0
+FROM vmware/photon:1.0
1
+
2
+MAINTAINER kulkarniv@vmware.com
3
+
4
+RUN tdnf install -y sed net-tools
5
+COPY [ "./tmp/calico/opt/cni/bin/calico", \
6
+       "./tmp/calico/opt/cni/bin/calico-ipam", \
7
+       "./tmp/calico/opt/cni/bin/portmap", \
8
+       "./tmp/calico/opt/cni/bin/flannel", \
9
+       "./tmp/calico/opt/cni/bin/host-local", \
10
+       "./tmp/calico/opt/cni/bin/loopback", \
11
+       "/opt/cni/bin/" ]
12
+COPY ./tmp/calico/usr/share/calico-cni/k8s/install-cni.sh /install-cni.sh
13
+COPY ./tmp/calico/usr/share/calico-cni/k8s/calico.conf.default /calico.conf.tmp
14
+
15
+ENV PATH=$PATH:/opt/cni/bin
16
+VOLUME /opt/cni
17
+WORKDIR /opt/cni/bin
18
+CMD ["/opt/cni/bin/calico"]
0 19
new file mode 100644
... ...
@@ -0,0 +1,7 @@
0
+FROM vmware/photon:1.0
1
+
2
+MAINTAINER kulkarniv@vmware.com
3
+
4
+ADD tmp/calico/usr/bin/controller /dist/
5
+
6
+ENTRYPOINT ["/dist/controller"]
0 7
new file mode 100644
... ...
@@ -0,0 +1,29 @@
0
+FROM vmware/photon:1.0
1
+
2
+MAINTAINER kulkarniv@vmware.com
3
+
4
+# Minimum Docker API version required for libnetwork.
5
+ENV DOCKER_API_VERSION 1.21
6
+
7
+# Install required packages
8
+RUN tdnf install -y initscripts iproute2 ipset iptables iputils net-tools runit
9
+
10
+# Copy binaries needed by calico/node
11
+COPY [ "./tmp/calico/usr/share/calico/docker/fs/etc", "/etc/" ]
12
+COPY [ "./tmp/calico/usr/share/calico/docker/fs/sbin/restart-calico-confd", \
13
+       "./tmp/calico/usr/share/calico/docker/fs/sbin/start_runit", \
14
+       "./tmp/calico/usr/share/calico/docker/fs/sbin/versions", \
15
+       "/usr/sbin/" ]
16
+COPY [ "./tmp/calico/usr/bin/allocate-ipip-addr", \
17
+       "./tmp/calico/usr/bin/startup", \
18
+       "./tmp/calico/usr/bin/calico-bgp-daemon", \
19
+       "./tmp/calico/usr/bin/gobgp", \
20
+       "./tmp/calico/usr/bin/bird", \
21
+       "./tmp/calico/usr/bin/bird6", \
22
+       "./tmp/calico/usr/bin/birdcl", \
23
+       "./tmp/calico/usr/bin/confd", \
24
+       "./tmp/calico/usr/bin/calico-felix", \
25
+       "./tmp/calico/usr/share/calico/docker/libnetwork-plugin", \
26
+       "/usr/bin/" ]
27
+
28
+CMD ["start_runit"]
0 29
new file mode 100644
... ...
@@ -0,0 +1,24 @@
0
+FROM vmware/photon:1.0
1
+
2
+MAINTAINER kulkarniv@vmware.com
3
+
4
+RUN tdnf install -y shadow openssl nginx
5
+RUN useradd --system --no-create-home -U -s /bin/false nginx
6
+
7
+# forward nginx access and error logs to stdout and stderr
8
+RUN ln -sf /proc/1/fd/1 /var/log/nginx/access.log && \
9
+    ln -sf /proc/1/fd/2 /var/log/nginx/error.log
10
+
11
+COPY [ "./tmp/nginxinc/usr/share/nginx-ingress/docker/nginx.ingress.tmpl", \
12
+       "./tmp/nginxinc/usr/share/nginx-ingress/docker/nginx.tmpl", \
13
+       "./tmp/nginxinc/usr/bin/nginx-ingress", \
14
+       "/" ]
15
+
16
+RUN mkdir -p /etc/nginx/secrets && \
17
+    mkdir -p /etc/nginx/conf.d && \
18
+    cd /etc/nginx/secrets && \
19
+    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout default.key -out default.crt -subj "/CN=NGINXIngressController" && \
20
+    cat default.key default.crt > default.pem && \
21
+    rm default.key default.crt
22
+
23
+ENTRYPOINT ["/nginx-ingress"]
0 24
new file mode 100755
... ...
@@ -0,0 +1,180 @@
0
+#!/bin/bash -e
1
+
2
+DIST_TAG=$1
3
+DIST_VER=$2
4
+SPEC_DIR=$3
5
+STAGE_DIR=$4
6
+ARCH=x86_64
7
+
8
+#
9
+# Docker images for calico-node, calico-cni
10
+#
11
+CALICO_VER=`cat ${SPEC_DIR}/calico/calico.spec | grep Version | cut -d: -f2 | tr -d ' '`
12
+CALICO_VER_REL=${CALICO_VER}-`cat ${SPEC_DIR}/calico/calico.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
13
+CALICO_RPM=calico-${CALICO_VER_REL}${DIST_TAG}.${ARCH}.rpm
14
+CALICO_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${CALICO_RPM}
15
+
16
+CALICO_BGP_VER=`cat ${SPEC_DIR}/calico-bgp-daemon/calico-bgp-daemon.spec | grep Version | cut -d: -f2 | tr -d ' '`
17
+CALICO_BGP_VER_REL=${CALICO_BGP_VER}-`cat ${SPEC_DIR}/calico-bgp-daemon/calico-bgp-daemon.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
18
+CALICO_BGP_RPM=calico-bgp-daemon-${CALICO_BGP_VER_REL}${DIST_TAG}.${ARCH}.rpm
19
+CALICO_BGP_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${CALICO_BGP_RPM}
20
+
21
+GO_BGP_VER=`cat ${SPEC_DIR}/gobgp/gobgp.spec | grep Version | cut -d: -f2 | tr -d ' '`
22
+GO_BGP_VER_REL=${GO_BGP_VER}-`cat ${SPEC_DIR}/gobgp/gobgp.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
23
+GO_BGP_RPM=gobgp-${GO_BGP_VER_REL}${DIST_TAG}.${ARCH}.rpm
24
+GO_BGP_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${GO_BGP_RPM}
25
+
26
+CALICO_BIRD_VER=`cat ${SPEC_DIR}/calico-bird/calico-bird.spec | grep Version | cut -d: -f2 | tr -d ' '`
27
+CALICO_BIRD_VER_REL=${CALICO_BIRD_VER}-`cat ${SPEC_DIR}/calico-bird/calico-bird.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
28
+CALICO_BIRD_RPM=calico-bird-${CALICO_BIRD_VER_REL}${DIST_TAG}.${ARCH}.rpm
29
+CALICO_BIRD_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${CALICO_BIRD_RPM}
30
+
31
+CALICO_CONFD_VER=`cat ${SPEC_DIR}/calico-confd/calico-confd.spec | grep Version | cut -d: -f2 | tr -d ' '`
32
+CALICO_CONFD_VER_REL=${CALICO_CONFD_VER}-`cat ${SPEC_DIR}/calico-confd/calico-confd.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
33
+CALICO_CONFD_RPM=calico-confd-${CALICO_CONFD_VER_REL}${DIST_TAG}.${ARCH}.rpm
34
+CALICO_CONFD_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${CALICO_CONFD_RPM}
35
+
36
+CALICO_FELIX_VER=`cat ${SPEC_DIR}/calico-felix/calico-felix.spec | grep ^Version | cut -d: -f2 | tr -d ' '`
37
+CALICO_FELIX_VER_REL=${CALICO_FELIX_VER}-`cat ${SPEC_DIR}/calico-felix/calico-felix.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
38
+CALICO_FELIX_RPM=calico-felix-${CALICO_FELIX_VER_REL}${DIST_TAG}.${ARCH}.rpm
39
+CALICO_FELIX_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${CALICO_FELIX_RPM}
40
+
41
+CALICO_LIBNET_VER=`cat ${SPEC_DIR}/calico-libnetwork/calico-libnetwork.spec | grep ^Version | cut -d: -f2 | tr -d ' '`
42
+CALICO_LIBNET_VER_REL=${CALICO_LIBNET_VER}-`cat ${SPEC_DIR}/calico-libnetwork/calico-libnetwork.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
43
+CALICO_LIBNET_RPM=calico-libnetwork-${CALICO_LIBNET_VER_REL}${DIST_TAG}.${ARCH}.rpm
44
+CALICO_LIBNET_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${CALICO_LIBNET_RPM}
45
+
46
+CALICO_CNI_VER=`cat ${SPEC_DIR}/calico-cni/calico-cni.spec | grep Version | cut -d: -f2 | tr -d ' '`
47
+CALICO_CNI_VER_REL=${CALICO_CNI_VER}-`cat ${SPEC_DIR}/calico-cni/calico-cni.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
48
+CALICO_CNI_RPM=calico-cni-${CALICO_CNI_VER_REL}${DIST_TAG}.${ARCH}.rpm
49
+CALICO_CNI_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${CALICO_CNI_RPM}
50
+
51
+K8S_CNI_VER=`cat ${SPEC_DIR}/cni/cni.spec | grep ^Version | cut -d: -f2 | tr -d ' '`
52
+K8S_CNI_VER_REL=${K8S_CNI_VER}-`cat ${SPEC_DIR}/cni/cni.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
53
+K8S_CNI_RPM=cni-${K8S_CNI_VER_REL}${DIST_TAG}.${ARCH}.rpm
54
+K8S_CNI_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${K8S_CNI_RPM}
55
+
56
+CALICO_K8S_POLICY_VER=`cat ${SPEC_DIR}/calico-k8s-policy/calico-k8s-policy.spec | grep Version | cut -d: -f2 | tr -d ' '`
57
+CALICO_K8S_POLICY_VER_REL=${CALICO_K8S_POLICY_VER}-`cat ${SPEC_DIR}/calico-k8s-policy/calico-k8s-policy.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
58
+CALICO_K8S_POLICY_RPM=calico-k8s-policy-${CALICO_K8S_POLICY_VER_REL}${DIST_TAG}.${ARCH}.rpm
59
+CALICO_K8S_POLICY_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${CALICO_K8S_POLICY_RPM}
60
+
61
+if [ ! -f ${CALICO_RPM_FILE} ]
62
+then
63
+    echo "Calico RPM ${CALICO_RPM_FILE} not found. Exiting.."
64
+    exit 1
65
+fi
66
+
67
+if [ ! -f ${CALICO_BGP_RPM_FILE} ]
68
+then
69
+    echo "Calico BGP RPM ${CALICO_BGP_RPM_FILE} not found. Exiting.."
70
+    exit 1
71
+fi
72
+
73
+if [ ! -f ${GO_BGP_RPM_FILE} ]
74
+then
75
+    echo "GoBGP RPM ${GO_BGP_RPM_FILE} not found. Exiting.."
76
+    exit 1
77
+fi
78
+
79
+if [ ! -f ${CALICO_BIRD_RPM_FILE} ]
80
+then
81
+    echo "Calico BIRD RPM ${CALICO_BIRD_RPM_FILE} not found. Exiting.."
82
+    exit 1
83
+fi
84
+
85
+if [ ! -f ${CALICO_CONFD_RPM_FILE} ]
86
+then
87
+    echo "Calico confd RPM ${CALICO_CONFD_RPM_FILE} not found. Exiting.."
88
+    exit 1
89
+fi
90
+
91
+if [ ! -f ${CALICO_FELIX_RPM_FILE} ]
92
+then
93
+    echo "Calico felix RPM ${CALICO_FELIX_RPM_FILE} not found. Exiting.."
94
+    exit 1
95
+fi
96
+
97
+if [ ! -f ${CALICO_LIBNET_RPM_FILE} ]
98
+then
99
+    echo "Calico libnetwork RPM ${CALICO_LIBNET_RPM_FILE} not found. Exiting.."
100
+    exit 1
101
+fi
102
+
103
+if [ ! -f ${CALICO_CNI_RPM_FILE} ]
104
+then
105
+    echo "Calico CNI RPM ${CALICO_CNI_RPM_FILE} not found. Exiting.."
106
+    exit 1
107
+fi
108
+
109
+if [ ! -f ${K8S_CNI_RPM_FILE} ]
110
+then
111
+    echo "K8S CNI RPM ${K8S_CNI_RPM_FILE} not found. Exiting.."
112
+    exit 1
113
+fi
114
+
115
+if [ ! -f ${CALICO_K8S_POLICY_RPM_FILE} ]
116
+then
117
+    echo "Calico k8s policy RPM ${CALICO_K8S_POLICY_RPM_FILE} not found. Exiting.."
118
+    exit 1
119
+fi
120
+
121
+CALICO_NODE_IMG_NAME=vmware_photon_${DIST_VER}/calico-node:v${CALICO_VER}
122
+CALICO_CNI_IMG_NAME=vmware_photon_${DIST_VER}/calico-cni:v${CALICO_CNI_VER}
123
+CALICO_K8S_POLICY_IMG_NAME=vmware_photon_${DIST_VER}/calico-kube-policy-controller:v${CALICO_K8S_POLICY_VER}
124
+CALICO_NODE_TAR=calico-node-v${CALICO_VER}.tar
125
+CALICO_CNI_TAR=calico-cni-v${CALICO_CNI_VER}.tar
126
+CALICO_K8S_POLICY_TAR=calico-k8s-policy-v${CALICO_K8S_POLICY_VER}.tar
127
+
128
+NODE_IMG_ID=`docker images -q ${CALICO_NODE_IMG_NAME} 2> /dev/null`
129
+if [[ ! -z "${NODE_IMG_ID}" ]]; then
130
+    echo "Removing image ${CALICO_NODE_IMG_NAME}"
131
+    docker rmi -f ${CALICO_NODE_IMG_NAME}
132
+fi
133
+
134
+CNI_IMG_ID=`docker images -q ${CALICO_CNI_IMG_NAME} 2> /dev/null`
135
+if [[ ! -z "${CNI_IMG_ID}" ]]; then
136
+    echo "Removing image ${CALICO_CNI_IMG_NAME}"
137
+    docker rmi -f ${CALICO_CNI_IMG_NAME}
138
+fi
139
+
140
+mkdir -p tmp/calico
141
+cp ${CALICO_RPM_FILE} tmp/calico/
142
+cp ${CALICO_BGP_RPM_FILE} tmp/calico/
143
+cp ${GO_BGP_RPM_FILE} tmp/calico/
144
+cp ${CALICO_BIRD_RPM_FILE} tmp/calico/
145
+cp ${CALICO_CONFD_RPM_FILE} tmp/calico/
146
+cp ${CALICO_FELIX_RPM_FILE} tmp/calico/
147
+cp ${CALICO_LIBNET_RPM_FILE} tmp/calico/
148
+cp ${CALICO_CNI_RPM_FILE} tmp/calico/
149
+cp ${K8S_CNI_RPM_FILE} tmp/calico/
150
+cp ${CALICO_K8S_POLICY_RPM_FILE} tmp/calico/
151
+pushd ./tmp/calico
152
+rpm2cpio ${CALICO_RPM} | cpio -vid
153
+rpm2cpio ${CALICO_BGP_RPM} | cpio -vid
154
+rpm2cpio ${GO_BGP_RPM} | cpio -vid
155
+rpm2cpio ${CALICO_BIRD_RPM} | cpio -vid
156
+rpm2cpio ${CALICO_CONFD_RPM} | cpio -vid
157
+rpm2cpio ${CALICO_FELIX_RPM} | cpio -vid
158
+rpm2cpio ${CALICO_LIBNET_RPM} | cpio -vid
159
+rpm2cpio ${CALICO_CNI_RPM} | cpio -vid
160
+rpm2cpio ${K8S_CNI_RPM} | cpio -vid
161
+rpm2cpio ${CALICO_K8S_POLICY_RPM} | cpio -vid
162
+popd
163
+
164
+docker build --rm -t ${CALICO_NODE_IMG_NAME} -f Dockerfile.calico-node .
165
+docker save -o ${CALICO_NODE_TAR} ${CALICO_NODE_IMG_NAME}
166
+gzip ${CALICO_NODE_TAR}
167
+mv -f ${CALICO_NODE_TAR}.gz ${STAGE_DIR}/
168
+
169
+docker build --rm -t ${CALICO_CNI_IMG_NAME} -f Dockerfile.calico-cni .
170
+docker save -o ${CALICO_CNI_TAR} ${CALICO_CNI_IMG_NAME}
171
+gzip ${CALICO_CNI_TAR}
172
+mv -f ${CALICO_CNI_TAR}.gz ${STAGE_DIR}/
173
+
174
+docker build --rm -t ${CALICO_K8S_POLICY_IMG_NAME} -f Dockerfile.calico-k8s-policy .
175
+docker save -o ${CALICO_K8S_POLICY_TAR} ${CALICO_K8S_POLICY_IMG_NAME}
176
+gzip ${CALICO_K8S_POLICY_TAR}
177
+mv -f ${CALICO_K8S_POLICY_TAR}.gz ${STAGE_DIR}/
178
+
179
+rm -rf ./tmp
... ...
@@ -13,7 +13,7 @@ FLANNEL_VER=`cat ${SPEC_DIR}/flannel/flannel.spec | grep Version | cut -d: -f2 |
13 13
 FLANNEL_VER_REL=${FLANNEL_VER}-`cat ${SPEC_DIR}/flannel/flannel.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
14 14
 FLANNEL_RPM=flannel-${FLANNEL_VER_REL}${DIST_TAG}.${ARCH}.rpm
15 15
 FLANNEL_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${FLANNEL_RPM}
16
-FLANNEL_TAR=flannel.tar
16
+FLANNEL_TAR=flannel-v${FLANNEL_VER}.tar
17 17
 
18 18
 if [ ! -f ${FLANNEL_RPM_FILE} ]
19 19
 then
... ...
@@ -13,7 +13,7 @@ K8S_DASH_VER=`cat ${SPEC_DIR}/kubernetes-dashboard/kubernetes-dashboard.spec | g
13 13
 K8S_DASH_VER_REL=${K8S_DASH_VER}-`cat ${SPEC_DIR}/kubernetes-dashboard/kubernetes-dashboard.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
14 14
 K8S_DASH_RPM=kubernetes-dashboard-${K8S_DASH_VER_REL}${DIST_TAG}.${ARCH}.rpm
15 15
 K8S_DASH_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${K8S_DASH_RPM}
16
-K8S_DASH_TAR=kubernetes-dashboard.tar
16
+K8S_DASH_TAR=kubernetes-dashboard-v${K8S_DASH_VER}.tar
17 17
 
18 18
 if [ ! -f ${K8S_DASH_RPM_FILE} ]
19 19
 then
... ...
@@ -38,7 +38,7 @@ popd
38 38
 
39 39
 for K8S_BIN in ${K8S_DNS_BINS[*]}; do
40 40
     IMG_NAME=vmware_photon_${DIST_VER}/k8s-dns-${K8S_BIN}-amd64:${K8S_DNS_VER}
41
-    K8S_TAR_NAME=k8s-dns-${K8S_BIN}.tar
41
+    K8S_TAR_NAME=k8s-dns-${K8S_BIN}-${K8S_DNS_VER}.tar
42 42
     docker build --rm -t ${IMG_NAME} -f ./Dockerfile.${K8S_BIN} .
43 43
     docker save -o ${K8S_TAR_NAME} ${IMG_NAME}
44 44
     gzip ${K8S_TAR_NAME}
... ...
@@ -42,7 +42,7 @@ popd
42 42
 
43 43
 for K8S_BIN in ${K8S_BINS[*]}; do
44 44
     IMG_NAME=vmware_photon_${DIST_VER}/${K8S_BIN}-amd64:v${K8S_VER}
45
-    K8S_TAR_NAME=${K8S_BIN}.tar
45
+    K8S_TAR_NAME=${K8S_BIN}-v${K8S_VER}.tar
46 46
     docker build --rm -t ${IMG_NAME} -f ./Dockerfile.${K8S_BIN} .
47 47
     docker save -o ${K8S_TAR_NAME} ${IMG_NAME}
48 48
     gzip ${K8S_TAR_NAME}
... ...
@@ -54,7 +54,7 @@ done
54 54
 # K8S Pause container
55 55
 #
56 56
 PAUSE_IMG_NAME=vmware_photon_${DIST_VER}/pause-amd64:v${K8S_VER}
57
-PAUSE_TAR_NAME=k8s-pause.tar
57
+PAUSE_TAR_NAME=k8s-pause-v${K8S_VER}.tar
58 58
 
59 59
 PAUSE_IMG_ID=`docker images -q ${PAUSE_IMG_NAME} 2> /dev/null`
60 60
 if [[ ! -z "${PAUSE_IMG_ID}" ]]; then
61 61
new file mode 100755
... ...
@@ -0,0 +1,42 @@
0
+#!/bin/bash -e
1
+
2
+DIST_TAG=$1
3
+DIST_VER=$2
4
+SPEC_DIR=$3
5
+STAGE_DIR=$4
6
+ARCH=x86_64
7
+
8
+#
9
+# Docker image for kubernetes nginx ingress controller
10
+#
11
+NGINX_INC_VER=`cat ${SPEC_DIR}/nginx-ingress/nginx-ingress.spec | grep Version | cut -d: -f2 | tr -d ' '`
12
+NGINX_INC_VER_REL=${NGINX_INC_VER}-`cat ${SPEC_DIR}/nginx-ingress/nginx-ingress.spec | grep Release | cut -d: -f2 | tr -d ' ' | cut -d% -f1`
13
+NGINX_INC_RPM=nginx-ingress-${NGINX_INC_VER_REL}${DIST_TAG}.${ARCH}.rpm
14
+NGINX_INC_RPM_FILE=${STAGE_DIR}/RPMS/x86_64/${NGINX_INC_RPM}
15
+NGINX_INC_TAR=nginx-ingress-v${NGINX_INC_VER}.tar
16
+
17
+if [ ! -f ${NGINX_INC_RPM_FILE} ]
18
+then
19
+    echo "nginx ingress RPM ${NGINX_INC_RPM_FILE} not found. Exiting.."
20
+    exit 1
21
+fi
22
+
23
+IMG_NAME=vmware_photon_${DIST_VER}/nginx-ingress:v${NGINX_INC_VER}
24
+
25
+IMG_ID=`docker images -q ${IMG_NAME} 2> /dev/null`
26
+if [[ ! -z "${IMG_ID}" ]]; then
27
+    echo "Removing image ${IMG_NAME}"
28
+    docker rmi -f ${IMG_NAME}
29
+fi
30
+
31
+mkdir -p tmp/nginxinc
32
+cp ${NGINX_INC_RPM_FILE} tmp/nginxinc/
33
+pushd ./tmp/nginxinc
34
+rpm2cpio ${NGINX_INC_RPM} | cpio -vid
35
+popd
36
+docker build --rm -t ${IMG_NAME} -f Dockerfile.nginx-ingress .
37
+docker save -o ${NGINX_INC_TAR} ${IMG_NAME}
38
+gzip ${NGINX_INC_TAR}
39
+mv -f ${NGINX_INC_TAR}.gz ${STAGE_DIR}/
40
+
41
+rm -rf ./tmp