source: ProjectBuilder/devel/pb-doc/pb-demo@ 1983

Last change on this file since 1983 was 1983, checked in by Bruno Cornec, 9 years ago

Update pb demo with docker for RMLL 2015

File size: 4.8 KB
Line 
1demo of project-builder.org
2===========================
3
4# First demonstrate the way of working for pb itself
5cd ~/local/pb|~/pb|~/svn-git/pb
6# Show the various versions available in this SVK exported dir
7ls
8# get the current tag of the SVK repository
9svk info|svn info|git svn info
10
11# get the current version of project-builder
12rpm -q project-builder
13pb --help
14pb
15
16# Decide to build a package for project-builder based on that devel version
17# to replace the one currently installed
18pb -p pb -r devel sbx2build|cms2build
19
20# Show the upstream part
21ls -altg /home/bruno/svn-git/pb/delivery/
22tar tvfz /home/bruno/svn-git/pb/delivery/project-builder-develXXX.tar.gz
23
24# Show the pb specific part
25tar tvfz /home/bruno/svn-git/pb/delivery/project-builder-develXXX.pbconf.tar.gz
26
27# Now make the packages
28pb -p pb build2pkg
29
30# Look at the latest pckges created
31ls -altrg /home/bruno/svn-git/pb/build/RPMS/noarch
32
33# Install the generated packages
34sudo urpmi /home/bruno/svn-git/pb/build/RPMS/noarch/*.rpm
35
36# Check that it's the right one
37rpm -q project-builder
38pb -h
39git svn info
40
41# Now show how easy it's to build for another distro in a VM
42ls /home/qemu
43-> pb -p pb -m debian-7-x86_64 sbx2vm
44ls -al /var/ftp/pub/pb/test/debian/7/
45ls -al /var/ftp/pub/pb/test/debian/dists/7/
46
47pb -p pb -m mageia-3-i386 sbx2vm
48# Now show how easy it's to build for another distro in a VE
49ls /home/rpmbootstrap
50pb -p pb -m centos-6-x86_64 build2ve
51pb -p pb -m ubuntu-11.10-x86_64 build2ve
52-> pb -p pb -m debian-6.0-x86_64 sbx2ve
53ls -al /var/ftp/pub/pb/test/debian/6.0/
54ls -al /var/ftp/pub/pb/test/debian/dists/6.0/
55
56# Docker part
57# Mount the external HDD if needed
58sudo mount /dev/sdc1 /mnt
59sudo mount -o bind /mnt/docker /var/cache/docker
60# Then restart docker to avoid errors with Attempt to write a readonly database
61sudo systemctl restart docker
62sudo systemctl restart docker_registry
63# Now show how easy it's to build for another distro in a Docker VE
64# Create Docker container
65docker images
66
67# Building with rpmbootstrap for a distro
68# That one has already been done to save time during demo
69#pb -p pb -m mageia-4-x86_64 -T docker newve
70# But we can launch in // the same for mga5
71#pb -p pb -m mageia-5-x86_64 -T docker newve
72docker images
73docker run -ti <imgid> /bin/bash
74$ urpmi tar
75pb -p pb -m mageia-4-x86_64 -T docker sbx2setupve
76docker ps -a
77docker attach <ctnid>
78docker images
79docker run -ti <imgid> /bin/bash
80pb -h
81pb -p pb -m mageia-4-x86_64 -T docker prepve
82docker images
83docker run -ti <imgid> /bin/bash
84pb -p pb -m mageia-4-x86_64 -T docker sbx2ve
85ls -al /var/ftp/pub/pb/test/mageia/4/x86_64
86#
87# On another distro already preped
88# Another container Ubuntu 13.10
89pb -p pb -m ubuntu-13.10-x86_64 -T docker build2ve
90ls -al /var/ftp/pub/pb/test/ubuntu/13.10
91
92# On another project
93pb -p mondorescue -m mageia-4-x86_64 -T docker prepve
94docker images
95ls -al /var/ftp/pub/pb/test/mageia/4/x86_64
96ssh bruno@www.mondorescue.org ls -altrg /prj/ftp/test/mageia/4/x86_64
97
98
99# Look at what was created
100docker images
101docker history localhost:5000/pb:mageia-4-x86_64-pb-pb
102
103# From an upstream image instead of using ours.
104pb -p pb -m mageia-5-x86_64 -T docker -i mageia:5 newve
105
106# If docker issue with net, restart docker
107ip link delete docker0
108systemctl restart docker.service
109
110# WIth VMs
111# Now show how easy it's to build for another project for which I'm upstream
112-> pb -p mondorescue -m debian-6.0-x86_64 sbx2ve
113
114# Now show how easy it's to build for another project for which I'm not upstream with patches
115-> pb -p afio -r 2.5 -m debian-6.0-x86_64 sbx2ve
116
117# Look at conf files
118cat ~/.pbrc
119cat /home/rpmbootstrap/.pbrc
120cat ~/svn-git/pb/projects/afio/pbconf/2.5/afio.pb
121cat ~/svn-git/pb/projects/afio/pbconf/2.5/afio/rpm/afio.spec
122cat ~/svn-git/pb/projects/afio/pbconf/2.5/afio/deb/control
123ls -R ~/svn-git/pb/projects/afio/pbconf/2.5/
124
125# Short Lab
126# in pblab account
127# prepa
128# As root
129rm -rf /prj/svn
130svnadmin create /prj/svn
131cat >> /prj/svn/conf/authz << EOF
132[/]
133pblab = rw
134* = r
135EOF
136cat >> /prj/svn/conf/passwd << EOF
137pblab = pblab
138EOF
139cat > /prj/svn/conf/svnserve.conf << EOF
140[general]
141password-db = passwd
142authz-db = authz
143[sasl]
144EOF
145killall svnserve
146~pblab/bin/rc.local
147
148# as pblab
149rm -rf pb .pbrc
150cat > afio.pb.add << EOF
151defpkgdir afio = dummy
152pbpackager default = Big Chief <bigchief@hp.com>
153projver afio = 2.5
154projtag afio = 1
155pburl afio = ftp://localhost/src/afio-2.5.tar.gz
156pbrepo afio = ftp://localhost
157EOF
158
159pb -p afio clean
160cat ~/.pbrc
161cat >> ~/.pbrc << EOF
162pbconfurl afio = svn://localhost/pb/afio/pbconf
163EOF
164echo "pbdefdir default = \$ENV{'HOME'}/pb" >> ~/.pbrc
165mkdir pb
166svn import pb svn://localhost/pb -m "Initial creation of pb repo"
167# passwd asked here
168
169cd pb
170svn co svn://localhost/pb .
171pb -p afio newproj afio
172# passwd asked here
173
174cat ~/afio.pb.add >> afio/pbconf/afio.pb
175pb -p afio sbx2build
176
177# with Ubuntu CD
178cat >> ~/.pbrc << EOF
179vmpath default = /home/qemu
180EOF
181
Note: See TracBrowser for help on using the repository browser.