36 #
'ubuntu-11.10-i386',
37 #
'ubuntu-11.10-x86_64',
38 #
'ubuntu-11.04-i386',
39 #
'ubuntu-11.04-x86_64',
40 #
'ubuntu-10.04-i386',
41 #
'ubuntu-10.04-x86_64',
45 'ubuntu-12.04-x86_64',
47 'ubuntu-12.10-x86_64',
52 $Usage =
"Usage: " . basename($argv[0]) .
" [options]
54 -h = this help message
55 -v = enable verbose debugging
56 -V = version to create packages for
57 -t = create packages from trunk
61 for ($i = 1;$i < $argc;$i++) {
72 $Version = escapeshellarg($argv[$i]);
78 if (substr($argv[$i], 0, 1) ==
'-') {
79 print
"Unknown parameter: '" . $argv[$i] .
"'\n";
87 if (empty($Version)) {
92 $Cmd =
"pb -p fossology -r $Version newproj fossology";
99 $Cmd =
"rm -rf /home/build/pb/projects/fossology/pbconf/$Version/*";
104 system(
"rm -rf /home/build/pb/projects/fossology/pbconf/$Version/.svn");
105 system(
"cd /home/build/pb/projects/fossology/pbconf/$Version/");
107 $Cmd =
"svn co http://svn.code.sf.net/p/fossology/code/trunk/fossology/packaging/ /home/build/pb/projects/fossology/pbconf/$Version/";
109 $Cmd =
"svn co http://svn.code.sf.net/p/fossology/code/tags/2.2.0/packaging/ /home/build/pb/projects/fossology/pbconf/$Version/";
115 system(
"mkdir /home/build/pb/projects/fossology/pbconf/$Version/fossology");
116 system(
"mv /home/build/pb/projects/fossology/pbconf/$Version/deb /home/build/pb/projects/fossology/pbconf/$Version/rpm /home/build/pb/projects/fossology/pbconf/$Version/pbcl /home/build/pb/projects/fossology/pbconf/$Version/fossology");
119 $Cmd =
"pb -p fossology -r $Version sbx2build";
125 if (file_exists(
"/home/build/pb/projects/fossology/$Version/")){
126 system(
"rm /home/build/pb/projects/fossology/$Version/Makefile.conf");
127 system(
"svn update /home/build/pb/projects/fossology/$Version/");
132 date_default_timezone_set(
'America/Denver');
133 $showtime = date(
"Ymd");
136 system(
"perl -pi -e 's/\/var\/ftp\/pub\/fossology/\/var\/ftp\/pub\/fossology\/$Version\/testing\/$showtime/' /home/build/pb/projects/fossology/pbconf/$Version/fossology.pb");
137 system(
"perl -pi -e 's/code\/trunk\/fossology\//code\/trunk\/fossology/' /home/build/pb/projects/fossology/pbconf/$Version/fossology.pb");
138 system(
"perl -pi -e 's/projver fossology = trunk/projver fossology = $Version/' /home/build/pb/projects/fossology/pbconf/$Version/fossology.pb");
139 system(
"perl -pi -e 's/trunk/$Version~$showtime/' /home/build/pb/projects/fossology/pbconf/$Version/fossology/deb/changelog");
141 system(
"perl -pi -e 's/$Version\//$Version/' /home/build/pb/projects/fossology/pbconf/$Version/fossology.pb");
142 system(
"perl -pi -e 's/\/var\/ftp\/pub\/fossology/\/var\/ftp\/pub\/fossology\/$Version/' /home/build/pb/projects/fossology/pbconf/$Version/fossology.pb");
143 system(
"perl -pi -e 's/projver fossology = trunk/projver fossology = $Version/' /home/build/pb/projects/fossology/pbconf/$Version/fossology.pb");
149 foreach ($VMS as $VM) {
150 $Cmd =
"pb -p fossology -r $Version -m $VM build2vm";
160 system(
"perl -pi -e 's/^(deb.*debian\/)/deb = \"deb http:\/\/fossbuild.usa.hp.com\/fossology\/$Version\/testing\/$showtime\/debian\//' /home/build/pb/fossology/trunk/fossology/src/testing/dataFiles/pkginstall/debian.ini");
161 system(
"perl -pi -e 's/^(deb.*ubuntu\/)/deb = \"deb http:\/\/fossbuild.usa.hp.com\/fossology\/$Version\/testing\/$showtime\/ubuntu\//' /home/build/pb/fossology/trunk/fossology/src/testing/dataFiles/pkginstall/ubuntu.ini");
162 system(
"perl -pi -e 's/^(yum.*rhel\/)/yum = \"http:\/\/fossbuild.usa.hp.com\/fossology\/$Version\/testing\/$showtime\/rhel\//' /home/build/pb/fossology/trunk/fossology/src/testing/dataFiles/pkginstall/redhat.ini");
163 system(
"perl -pi -e 's/^(yum.*fedora\/15\/)/yum = \"http:\/\/fossbuild.usa.hp.com\/fossology\/$Version\/testing\/$showtime\/fedora\/15\//' /home/build/pb/fossology/trunk/fossology/src/testing/dataFiles/pkginstall/fedora.ini");
165 system(
"perl -pi -e 's/^(deb.*debian\/)/deb = \"deb http:\/\/fossbuild.usa.hp.com\/fossology\/$Version\/debian\//' /home/build/pb/fossology/trunk/fossology/src/testing/dataFiles/pkginstall/debian.ini");
166 system(
"perl -pi -e 's/^(deb.*ubuntu\/)/deb = \"deb http:\/\/fossbuild.usa.hp.com\/fossology\/$Version\/ubuntu\//' /home/build/pb/fossology/trunk/fossology/src/testing/dataFiles/pkginstall/ubuntu.ini");
167 system(
"perl -pi -e 's/^(yum.*rhel\/)/yum = \"http:\/\/fossbuild.usa.hp.com\/fossology\/$Version\/rhel\//' /home/build/pb/fossology/trunk/fossology/src/testing/dataFiles/pkginstall/redhat.ini");
168 system(
"perl -pi -e 's/^(yum.*fedora\/15\/)/yum = \"http:\/\/fossbuild.usa.hp.com\/fossology\/$Version\/fedora\/15\//' /home/build/pb/fossology/trunk/fossology/src/testing/dataFiles/pkginstall/fedora.ini");
176 $ftp_base =
"/var/ftp/pub/fossology/$Version/testing";
178 $command =
"sudo rm -rf $ftp_base/current";
182 $command =
"sudo cp -R $ftp_base/$showtime/ $ftp_base/current";
186 # temporarily disable this commit since we should really not be
187 # making svn commits from within test code (not a good practice)
188 # but I don't fully grok why it's doing this; might someday be
189 # useful but let's skip it for now
190 # system("svn commit /home/build/pb/fossology/trunk/fossology/src/testing/dataFiles/pkginstall/debian.ini /home/build/pb/fossology/trunk/fossology/src/testing/dataFiles/pkginstall/ubuntu.ini /home/build/pb/fossology/trunk/fossology/src/testing/dataFiles/pkginstall/redhat.ini /home/build/pb/fossology/trunk/fossology/src/testing/dataFiles/pkginstall/fedora.ini -m 'New $Version changes to conf files for package testing'");