source: ProjectBuilder/devel/contrib/pb-demo@ 2332

Last change on this file since 2332 was 2332, checked in by Bruno Cornec, 6 years ago

Adds a demo script made for DockerCon

  • Property svn:executable set to *
File size: 4.8 KB
Line 
1#!/bin/bash
2
3# Demo script for pb
4
5demoprint () {
6echo "$1"
7read -n 1 -s -r -p ""
8echo "\$ $2"
9$2
10echo ""
11}
12
13demoprint "Print SVN info" "git svn info"
14demoprint "Get the current version of project-builder" "rpm -q project-builder"
15demoprint "Check with pb command itself" "pb --version"
16demoprint "Online help for pb" "pb"
17
18# Start local build
19demoprint "Build new packages locally and install them" "pb -p pb sbx2pkg2ins"
20demoprint "Get the current version of project-builder" "rpm -q project-builder"
21demoprint "Check with pb command itself" "pb --version"
22demoprint "Look at local files generated" "ls -altr /home/bruno/svn-git/pb/pbdelivery/"
23lastupstream=`ls -at /home/bruno/svn-git/pb/pbdelivery/project-builder-0*[0-9]*.tar.gz | tail -1`
24demoprint "Content of the upstream tar file" "tar tvfz $lastupstream"
25lastpbconf=`ls -at /home/bruno/svn-git/pb/pbdelivery/project-builder-0*[0-9]*.pbconf.tar.gz | tail -1`
26demoprint "Content of the pbconf tar file" "tar tvfz $lastpbconf"
27
28# pb on pbgetparam - dir removed !!!
29
30demoprint "List of Docker images available for pb" "docker images"
31
32### FEDORA ###
33demoprint "Build pb for another distribution" "pb -p pb -m fedora-26-x86_64 -T docker sbx2ve"
34demoprint "Look at what has been generated" "ls -altr /var/ftp/pub/pb/test/fedora/26/x86_64/"
35
36mkdir /tmp/$$
37cd /tmp/$$
38cat > /tmp/$$/Dockerfile << EOF
39FROM pb:fedora-26-x86_64
40RUN wget ftp://172.17.0.1/pub/pb/test/fedora/26/x86_64/pb-test.repo -O /etc/yum.repos.d/pb-test.repo
41RUN perl -pi -e 's|ftp.project-builder.org|172.17.0.1/pub/pb|; s|gpgcheck=1|gpgcheck=0|' /etc/yum.repos.d/pb-test.repo
42RUN dnf install -y project-builder
43RUN pb --version
44EOF
45demoprint "Prepare test with the following Dockerfile" "cat /tmp/$$/Dockerfile"
46docker rmi pb:fedora-26-x86_64-test
47demoprint "Build the test Docker image " "docker build -t pb:fedora-26-x86_64-test ."
48demoprint "Test the installation of pb in Docker" "docker run pb:fedora-26-x86_64-test /usr/bin/pbdistrocheck"
49
50### CENTOS ###
51#demoprint "Build pb for another distribution" "pb -p pb -m centos-7-x86_64 -T docker sbx2ve"
52#demoprint "Look at what has been generated" "ls -altr /var/ftp/pub/pb/test/centos/7/x86_64/"
53
54cd /tmp/$$
55cat > /tmp/$$/Dockerfile << EOF
56FROM pb:centos-7-x86_64
57RUN wget ftp://172.17.0.1/pub/pb/test/centos/7/x86_64/pb-test.repo -O /etc/yum.repos.d/pb-test.repo
58RUN perl -pi -e 's|ftp.project-builder.org|172.17.0.1/pub/pb|; s|gpgcheck=1|gpgcheck=0|' /etc/yum.repos.d/pb-test.repo
59RUN rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
60RUN yum install -y project-builder
61RUN pb --version
62EOF
63#demoprint "Prepare test with the following Dockerfile" "cat /tmp/$$/Dockerfile"
64#docker rmi pb:centos-7-x86_64-test
65#demoprint "Build the test Docker image " "docker build -t pb:centos-7-x86_64-test ."
66#demoprint "Test the installation of pb in Docker" "docker run pb:centos-7-x86_64-test /usr/bin/pbdistrocheck"
67
68### OPENSUSE ###
69#demoprint "Build pb for another distribution" "pb -p pb -m opensuse-42.3-x86_64 -T docker sbx2ve"
70#demoprint "Look at what has been generated" "ls -altr /var/ftp/pub/pb/test/opensuse/42.3/x86_64/"
71
72cd /tmp/$$
73cat > /tmp/$$/Dockerfile << EOF
74FROM pb:opensuse-42.3-x86_64
75RUN wget ftp://172.17.0.1/pub/pb/test/opensuse/42.3/x86_64/pb-test.repo -O /etc/yum.repos.d/pb-test.repo
76RUN perl -pi -e 's|ftp.project-builder.org|172.17.0.1/pub/pb|; s|gpgcheck=1|gpgcheck=0|' /etc/yum.repos.d/pb-test.repo
77RUN /usr/bin/zypper refresh
78RUN /usr/bin/zypper --gpg-auto-import-keys -n install --auto-agree-with-licenses -y project-builder
79RUN pb --version
80EOF
81#demoprint "Prepare test with the following Dockerfile" "cat /tmp/$$/Dockerfile"
82docker rmi pb:opensuse-42.3-x86_64-test
83#demoprint "Build the test Docker image " "docker build -t pb:opensuse-42.3-x86_64-test ."
84#demoprint "Test the installation of pb in Docker" "docker run pb:opensuse-42.3-x86_64-test /usr/bin/pbdistrocheck"
85
86### DEBIAN ###
87demoprint "Build pb for a deb based distribution" "pb -p pb -m debian-9-x86_64 -T docker sbx2ve"
88demoprint "Look at what has been generated" "ls -altrR /var/ftp/pub/pb/test/debian/9/"
89
90cat > /tmp/$$/Dockerfile << EOF
91FROM pb:debian-9-x86_64
92RUN wget ftp://172.17.0.1/pub/pb/test/debian/9/pb-test.sources.list -O /etc/apt/sources.list.d/pb-test.sources.list
93RUN perl -pi -e 's|ftp.project-builder.org|172.17.0.1/pub/pb|' /etc/apt/sources.list.d/pb-test.sources.list
94RUN apt-get install -y gnupg
95RUN wget -qO - ftp://172.17.0.1/pub/pb/test/debian/9/pb.pubkey | apt-key add -
96RUN apt-get update
97RUN apt-get install -y project-builder
98RUN pb --version
99EOF
100demoprint "Prepare test with the following Dockerfile" "cat /tmp/$$/Dockerfile"
101docker rmi pb:debian-9-x86_64-test
102demoprint "Build the test Docker image " "docker build -t pb:debian-9-x86_64-test ."
103demoprint "Test the installation of pb in Docker" "docker run pb:debian-9-x86_64-test /usr/bin/pbdistrocheck"
Note: See TracBrowser for help on using the repository browser.