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
RevLine 
[1915]1demo of project-builder.org
[814]2===========================
3
4# First demonstrate the way of working for pb itself
[1835]5cd ~/local/pb|~/pb|~/svn-git/pb
[814]6# Show the various versions available in this SVK exported dir
7ls
8# get the current tag of the SVK repository
[1835]9svk info|svn info|git svn info
[814]10
11# get the current version of project-builder
12rpm -q project-builder
[817]13pb --help
[1835]14pb
[814]15
16# Decide to build a package for project-builder based on that devel version
17# to replace the one currently installed
[1835]18pb -p pb -r devel sbx2build|cms2build
[814]19
20# Show the upstream part
[1835]21ls -altg /home/bruno/svn-git/pb/delivery/
22tar tvfz /home/bruno/svn-git/pb/delivery/project-builder-develXXX.tar.gz
[814]23
24# Show the pb specific part
[1835]25tar tvfz /home/bruno/svn-git/pb/delivery/project-builder-develXXX.pbconf.tar.gz
[814]26
27# Now make the packages
28pb -p pb build2pkg
29
30# Look at the latest pckges created
[1835]31ls -altrg /home/bruno/svn-git/pb/build/RPMS/noarch
[814]32
33# Install the generated packages
[1835]34sudo urpmi /home/bruno/svn-git/pb/build/RPMS/noarch/*.rpm
[814]35
36# Check that it's the right one
[816]37rpm -q project-builder
[1968]38pb -h
[1835]39git svn info
[814]40
[817]41# Now show how easy it's to build for another distro in a VM
[1101]42ls /home/qemu
[1915]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/
[1835]46
47pb -p pb -m mageia-3-i386 sbx2vm
[817]48# Now show how easy it's to build for another distro in a VE
[1288]49ls /home/rpmbootstrap
[1835]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/
[816]55
[1960]56# Docker part
[1980]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
[1915]63# Now show how easy it's to build for another distro in a Docker VE
64# Create Docker container
65docker images
[1980]66
67# Building with rpmbootstrap for a distro
68# That one has already been done to save time during demo
[1942]69#pb -p pb -m mageia-4-x86_64 -T docker newve
[1980]70# But we can launch in // the same for mga5
71#pb -p pb -m mageia-5-x86_64 -T docker newve
[1915]72docker images
73docker run -ti <imgid> /bin/bash
74$ urpmi tar
75pb -p pb -m mageia-4-x86_64 -T docker sbx2setupve
[1960]76docker ps -a
77docker attach <ctnid>
[1915]78docker images
79docker run -ti <imgid> /bin/bash
[1968]80pb -h
[1915]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
[1960]86#
87# On another distro already preped
[1980]88# Another container Ubuntu 13.10
[1960]89pb -p pb -m ubuntu-13.10-x86_64 -T docker build2ve
90ls -al /var/ftp/pub/pb/test/ubuntu/13.10
91
[1915]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
[1960]98
[1942]99# Look at what was created
100docker images
101docker history localhost:5000/pb:mageia-4-x86_64-pb-pb
[1915]102
[1980]103# From an upstream image instead of using ours.
[1983]104pb -p pb -m mageia-5-x86_64 -T docker -i mageia:5 newve
[1980]105
106# If docker issue with net, restart docker
[1960]107ip link delete docker0
108systemctl restart docker.service
109
[1980]110# WIth VMs
[817]111# Now show how easy it's to build for another project for which I'm upstream
[1835]112-> pb -p mondorescue -m debian-6.0-x86_64 sbx2ve
[1288]113
[817]114# Now show how easy it's to build for another project for which I'm not upstream with patches
[1835]115-> pb -p afio -r 2.5 -m debian-6.0-x86_64 sbx2ve
[816]116
[1101]117# Look at conf files
118cat ~/.pbrc
[1288]119cat /home/rpmbootstrap/.pbrc
[1835]120cat ~/svn-git/pb/projects/afio/pbconf/2.5/afio.pb
[1838]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
[1835]123ls -R ~/svn-git/pb/projects/afio/pbconf/2.5/
[1288]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.