Hello community, here is the log from the commit of package obs-server for openSUSE:Factory checked in at Mon Feb 23 23:27:50 CET 2009. -------- --- obs-server/obs-server.changes 2009-01-27 15:55:56.000000000 +0100 +++ obs-server/obs-server.changes 2009-02-23 13:49:09.000000000 +0100 @@ -2 +2,15 @@ -Tue Jan 127 13:06:47 CET 2009 - adrian@novell.com +Mon Feb 23 11:53:56 CET 2009 - adrian@suse.de + +- update to final 1.5 candidate + * fixed product generation without betaversion defined + +------------------------------------------------------------------- +Fri Feb 6 02:54:13 CET 2009 - mrueckert@suse.de + +- fixed rails requires: + 1. added obs-1.5_rails_version.patch to make all rails apps + require 2.0.5 + 2. fixed requires in the obs-api package + +------------------------------------------------------------------- +Tue Jan 12 13:06:47 CET 2009 - adrian@suse.de calling whatdependson for head-i586 Old: ---- obs-server-1.5.rc2.tar.bz2 New: ---- obs-1.5_rails_version.patch obs-server-1.5.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ obs-server.spec ++++++ --- /var/tmp/diff_new_pack.F22743/_old 2009-02-23 23:25:29.000000000 +0100 +++ /var/tmp/diff_new_pack.F22743/_new 2009-02-23 23:25:29.000000000 +0100 @@ -19,9 +19,9 @@ Name: obs-server Summary: The openSUSE Build Service -- Server Component -%define svnversion 1.5.rc2 +%define svnversion 1.5 Version: %{svnversion} -Release: 4 +Release: 6 License: GPL v2 only Group: Productivity/Networking/Web/Utilities Url: http://en.opensuse.org/Build_Service @@ -40,6 +40,7 @@ Source16: obs_project_update Source15: obsdispatcher Source20: obssignd +Patch: obs-1.5_rails_version.patch AutoReqProv: on BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: python-devel rubygem-activesupport @@ -107,8 +108,11 @@ %if 0%{?suse_version} PreReq: %fillup_prereq %insserv_prereq %endif -Requires: lighttpd ruby-fcgi lighttpd-mod_magnet mysql ruby-mysql rubygem-rake -Requires: rubygem-rails >= 2.0 +Requires: lighttpd ruby-fcgi lighttpd-mod_magnet mysql ruby-mysql +# make sure this is in sync with the RAILS_GEM_VERSION specified in the +# config/environment.rb of the various applications. +# atm the obs rails version patch above unifies that setting among the applications +Requires: rubygem-rails = 2.0.5 Group: Productivity/Networking/Web/Utilities Summary: The openSUSE Build Service -- The Frontend part #------------------------------------------------------------------------------- @@ -177,6 +181,7 @@ %prep %setup -q -n buildservice-1.5 +%patch #------------------------------------------------------------------------------- %build @@ -526,7 +531,15 @@ #------------------------------------------------------------------------------- %changelog -* Tue Feb 03 2009 adrian@novell.com +* Mon Feb 23 2009 adrian@suse.de +- update to final 1.5 candidate + * fixed product generation without betaversion defined +* Fri Feb 06 2009 mrueckert@suse.de +- fixed rails requires: + 1. added obs-1.5_rails_version.patch to make all rails apps + require 2.0.5 + 2. fixed requires in the obs-api package +* Mon Jan 12 2009 adrian@suse.de - Update to 1.5.rc2 - init script fixes - various kiwi image handling fixes ++++++ obs-1.5_rails_version.patch ++++++ Index: src/backend_dummy/config/environment.rb =================================================================== --- src/backend_dummy/config/environment.rb.orig 2009-01-26 17:11:45.000000000 +0100 +++ src/backend_dummy/config/environment.rb 2009-02-05 18:02:54.498543219 +0100 @@ -7,6 +7,8 @@ # Bootstrap the Rails environment, frameworks, and default configuration require File.join(File.dirname(__FILE__), 'boot') +RAILS_GEM_VERSION = '2.0.5' unless defined? RAILS_GEM_VERSION + Rails::Initializer.run do |config| # Settings in config/environments/* take precedence those specified here Index: src/frontend/config/environment.rb =================================================================== --- src/frontend/config/environment.rb.orig 2009-01-26 17:11:04.000000000 +0100 +++ src/frontend/config/environment.rb 2009-02-05 18:02:35.811756090 +0100 @@ -7,7 +7,7 @@ # Bootstrap the Rails environment, frameworks, and default configuration require File.join(File.dirname(__FILE__), 'boot') -RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION +RAILS_GEM_VERSION = '2.0.5' unless defined? RAILS_GEM_VERSION Rails::Initializer.run do |config| # Settings in config/environments/* take precedence those specified here Index: src/software/config/environment.rb =================================================================== --- src/software/config/environment.rb.orig 2009-01-26 17:11:16.000000000 +0100 +++ src/software/config/environment.rb 2009-02-05 18:03:18.147536095 +0100 @@ -6,6 +6,7 @@ # Specifies gem version of Rails to use when vendor/rails is not present #RAILS_GEM_VERSION = '1.2.3' unless defined? RAILS_GEM_VERSION +RAILS_GEM_VERSION = '2.0.5' unless defined? RAILS_GEM_VERSION # Bootstrap the Rails environment, frameworks, and default configuration require File.join(File.dirname(__FILE__), 'boot') Index: src/webclient/config/environment.rb =================================================================== --- src/webclient/config/environment.rb.orig 2009-01-26 17:11:56.000000000 +0100 +++ src/webclient/config/environment.rb 2009-02-05 18:05:19.991356595 +0100 @@ -7,6 +7,8 @@ # Bootstrap the Rails environment, frameworks, and default configuration require File.join(File.dirname(__FILE__), 'boot') +RAILS_GEM_VERSION = '2.0.5' unless defined? RAILS_GEM_VERSION + Rails::Initializer.run do |config| # Settings in config/environments/* take precedence those specified here ++++++ obs-server-1.5.rc2.tar.bz2 -> obs-server-1.5.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/dist/.distrc new/buildservice-1.5/dist/.distrc --- old/buildservice-1.5/dist/.distrc 2009-01-27 15:32:19.000000000 +0100 +++ new/buildservice-1.5/dist/.distrc 2009-02-23 11:50:18.000000000 +0100 @@ -29,8 +29,8 @@ # The version and # The tar ball is updated from here -: ${SVNDIR:=../../buildservice} +: ${SVNDIR:=../../../buildservice/1.5} # The svnversion of SVNDIR plus this VERSION make up the rpm package # 'Version:' -: ${VERSION:=1.5.b1} +: ${VERSION:=1.5} diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/ReleaseNotes-1.5 new/buildservice-1.5/ReleaseNotes-1.5 --- old/buildservice-1.5/ReleaseNotes-1.5 2009-01-26 17:12:20.000000000 +0100 +++ new/buildservice-1.5/ReleaseNotes-1.5 2009-02-23 11:53:18.000000000 +0100 @@ -1,5 +1,5 @@ # -# Release Notes for openSUSE Build Service 1.5.0 +# Release Notes for openSUSE Build Service 1.5 # Please read the README.SETUP file for initial installation @@ -8,9 +8,12 @@ README.UPDATE has informations for updaters. Main new features are: - * make your own products + * Product Build Support http://en.opensuse.org/Build_Service/Concepts/Product_Definition + * kiwi based image building in general + * Enhanced Download on Demand - * Embedded builds + * Embedded build support (EXPERIMENTAL STATUS) + diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/src/backend/BSConfig.pm.template new/buildservice-1.5/src/backend/BSConfig.pm.template --- old/buildservice-1.5/src/backend/BSConfig.pm.template 2009-01-26 17:11:13.000000000 +0100 +++ new/buildservice-1.5/src/backend/BSConfig.pm.template 2009-02-23 11:50:33.000000000 +0100 @@ -26,10 +26,12 @@ my $hostname = Net::Domain::hostfqdn() || 'localhost'; -# configured to run on your localhost only +our $obsname = $hostname; # unique identifier for this Build Service instance our $srcserver = "http://$hostname:6362"; our $reposerver = "http://$hostname:6262"; +# public download service: our $repodownload = "http://$hostname/repositories"; +# optional notification service: #our $hermesserver = "http://$hostname/hermes"; #our $hermesnamespace = "OBS"; @@ -59,6 +61,12 @@ # "openSUSE:Factory/standard" => { timeout => "30", last => "0" }, #); +# Build priority, dispatcher prefers or deprefers jobs according to this: +#our $dispatch_prio = [ +# '!^home:resourcewaster', # de-prefer jobs (take it only, when no other jobs) +# '^openSUSE:Factory', # prefer (if there is a job for this project, take it) +#]; + #No extra stage server sync #our $stageserver = 'rsync://127.0.0.1/put-repos-main'; #our $stageserver_sync = 'rsync://127.0.0.1/trigger-repos-sync'; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/src/backend/bs_productconvert new/buildservice-1.5/src/backend/bs_productconvert --- old/buildservice-1.5/src/backend/bs_productconvert 2009-01-26 17:11:13.000000000 +0100 +++ new/buildservice-1.5/src/backend/bs_productconvert 2009-02-23 13:16:52.000000000 +0100 @@ -323,8 +323,7 @@ $info{'PATTERNS'} .= join(' ',map( $_->{'name'},@{$medium->{'preselected_patterns'}->[0]->{'pattern'}})); } foreach my $summary ( @{$product->{'summary'}} ){ - $info{'SUMMARY'} = $summary->{'_content'} if ( ! $summary->{'language'} ); - $info{'LABEL'} = $summary->{'_content'}." ".$product->{'version'} if ( ! $summary->{'language'} ); + $info{'LABEL'} = $summary->{'_content'} if ( ! $summary->{'language'} ); } $options{'REPO_LOCATION'} = getUrl($product,$arch,"repository"); $info{'RELNOTESURL'} = getUrl($product,$arch,"releasenotes"); @@ -674,26 +673,29 @@ my $count = 0; foreach my $repo ( @{$prodRef->{repositories}{repository} } ) { my %h; - my $localpath; + my $kiwipath; + next if defined($repo->{build}) && $repo->{build} eq "ignore"; $count = $count + 1; $h{priority} = $count; $h{name} = "repository_".$count; - $localpath = $repo->{path}; - if ($repo->{path} =~ /^obs:\/\/(.+)$/ ) { + if ($repo->{path} =~ /^obs:\/\/([^\/]*)\/([^\/]*)$/ ) { #old format without obsname $h{local} = "true"; - $localpath = $1; + $kiwipath = "$1/$2"; + } elsif ($repo->{path} =~ /^obs:\/\/([^\/]*)\/([^\/]*)\/([^\/]*)$/ ) { + $h{local} = "true"; + $kiwipath = "$2/$3"; } else { die( "ERROR: Non obs:// url as repository: $repo->{path} !\n" ); }; if ( $runOnServer ) { for my $arch ( @{$re->{architectures}->{requiredarch}} ) { - my $path = "$bsdir/build/$localpath/$arch->{'ref'}/:full"; + my $path = "$bsdir/build/$kiwipath/$arch->{'ref'}/:full"; $h{source} = { path => $path }; push @r, \%h; print "WARNING: local path $path does not exist !\n" if ( ! -e "$path" ); }; }else{ - $h{source} = { path => $repo->{path} }; + $h{source} = { path => "obs://".$kiwipath }; push @r, \%h; }; } @@ -815,7 +817,7 @@ $content.="\n%build\n\n"; $content.="\n%install\n"; $content.=createFlavorReadme($prodRef,$product); - $content.=createProductFile($product); + $content.=createProductFile($prodRef,$product); $content.="\n%clean\n"; $content.="rm -rf %buildroot\n"; $content.="\n%files\n"; @@ -832,7 +834,7 @@ $product_flavors.=createSPECfileFlavors($prodRef,$product); # Create product file to be packaged - my $zypp_product_file = createProductFile($product); + my $zypp_product_file = createProductFile($prodRef,$product); $zypp_product_file.= createFlavorReadme($prodRef,$product); my $str = readstr($infile); @@ -840,8 +842,13 @@ # replace all strings $str =~ s/___DISTNAME___/$product->{name}/g; $str =~ s/___VERSION___/$product->{version}/g; - $str =~ s/___BETA_VERSION___/$product->{buildconfig}->{betaversion}/g; - $str =~ s/___RELEASE___/0/g; + if ( defined $product->{buildconfig}->{betaversion} ) { + $str =~ s/___BETA_VERSION___/$product->{buildconfig}->{betaversion}/g; + } else { + $str =~ s/___BETA_VERSION___//g; + } + $str =~ s/___RELEASE___/$product->{release}/g; + $str =~ s/___PATCH_LEVEL___/$product->{'patchlevel'}/g; $str =~ s/___PACKAGE_NAME___/$product->{name}-release/g; $str =~ s/___PRODUCT_NAME___/$product->{name}/g; foreach my $flavor ( @{$prodRef->{mediasets}->{media}} ){ @@ -938,8 +945,8 @@ return $content; } -sub createProductFile ( $ ) { - my ($product ) = @_; +sub createProductFile ( $$ ) { + my ($prodRef, $product) = @_; my $zypp_product_file = ""; my $zypp_product = $product; my $d; @@ -951,6 +958,13 @@ $d->{"target"} = $product->{'register'}->{'target'}; $d->{"release"} = $product->{'register'}->{'release'}; + my @r; + foreach my $repo ( @{$prodRef->{repositories}{repository} } ) { + next if defined($repo->{product_file}) && $repo->{product_file} eq "ignore"; + # do only export when build name is specified + push @r, { "path" => $repo->{path} } if $repo->{path} =~ /^obs:\/\/(.*)\/(.*)\/(.*)/ && $1 && $2 && $3 ; + }; + $d->{"repositories"}{"repository"} = \@r; $zypp_product->{'register'} = $d; my $xml = XMLout( $BSProductXML::product, $zypp_product ); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/src/backend/BSProductXML.pm new/buildservice-1.5/src/backend/BSProductXML.pm --- old/buildservice-1.5/src/backend/BSProductXML.pm 2009-01-26 17:11:13.000000000 +0100 +++ new/buildservice-1.5/src/backend/BSProductXML.pm 2009-02-23 11:50:33.000000000 +0100 @@ -95,6 +95,11 @@ 'target', 'release', 'flavor', + [ 'repositories' => + [[ 'repository' => + 'path', + ]], + ], # this is for prod file export only ], 'updaterepokey', [[ 'summary' => @@ -170,6 +175,8 @@ [ 'repositories' => [[ 'repository' => 'path', + 'build', + 'product_file', ]], ], [ 'archsets' => diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/src/backend/bs_publish new/buildservice-1.5/src/backend/bs_publish --- old/buildservice-1.5/src/backend/bs_publish 2009-01-26 17:11:13.000000000 +0100 +++ new/buildservice-1.5/src/backend/bs_publish 2009-02-23 11:50:33.000000000 +0100 @@ -728,6 +728,12 @@ $p = "iso/$bin"; } elsif ($bin =~ /\.raw(:?\.install)?$/) { $p = "$bin"; + } elsif ($bin =~ /\.tar.gz$/) { + $p = "$bin"; + } elsif ($bin =~ /\.ovf$/) { + $p = "$bin"; + } elsif ($bin =~ /\.vmdk$/) { + $p = "$bin"; } elsif (-d "$r/$bin") { $p = "repo/$bin"; } else { diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/src/backend/bs_repserver new/buildservice-1.5/src/backend/bs_repserver --- old/buildservice-1.5/src/backend/bs_repserver 2009-01-26 17:11:13.000000000 +0100 +++ new/buildservice-1.5/src/backend/bs_repserver 2009-02-23 11:50:33.000000000 +0100 @@ -1072,14 +1072,15 @@ } sub getkiwiproductpackages { - my ($projid, $repoid, $proj, $repo, $pdata, $info, $deps) = @_; + my ($projid, $packid, $repoid, $proj, $repo, $pdata, $info, $deps) = @_; my @got; my @archs; + my $pd = BSRPC::rpc("$BSConfig::srcserver/getprojpack", $BSXML::projpack, "project=$projid", "package=$packid"); for my $arch (@{$repo->{'arch'} || []}) { my $enabled = 1; $enabled = BSUtil::enabled($repoid, $proj->{'build'}, $enabled, $arch); - $enabled = BSUtil::enabled($repoid, $pdata->{'build'}, $enabled, $arch); + $enabled = BSUtil::enabled($repoid, $pd->{'project'}[0]->{'package'}[0]->{'build'}, $enabled, $arch) if $pd->{'project'}; push @archs, $arch if $enabled; } my @deps = @{$deps || []}; @@ -1162,6 +1163,7 @@ $ret->{'project'} = $projid; $ret->{'repository'} = $repoid; $ret->{'package'} = $packid if defined $packid; + $ret->{'downloadurl'} = $BSConfig::repodownload if defined $BSConfig::repodownload;; $ret->{'arch'} = $arch; $ret->{'path'} = $repo->{'path'} || []; $ret->{'path'} = $info->{'path'} if $packtype eq 'kiwi' && $info->{'path'}; @@ -1312,12 +1314,10 @@ my %vmdeps = map {$_ => 1} @vmdeps; my %edeps = map {$_ => 1} @edeps; - @bdeps = unify(@pdeps, @vmdeps, @edeps, @bdeps); - if ($packtype eq 'kiwi' && $kiwitype eq 'product') { # things are very different here, we get the binaries from the packages - my @bins = getkiwiproductpackages($projid, $repoid, $proj, $repo, $pdata, $info, \@bdeps); + my @bins = getkiwiproductpackages($projid, $packid, $repoid, $proj, $repo, $pdata, $info, \@bdeps); my %kdeps = (%bdeps, %pdeps, %vmdeps); @bdeps = (); for my $b (@bins) { diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/src/backend/bs_sched new/buildservice-1.5/src/backend/bs_sched --- old/buildservice-1.5/src/backend/bs_sched 2009-01-27 15:05:54.000000000 +0100 +++ new/buildservice-1.5/src/backend/bs_sched 2009-02-23 11:50:33.000000000 +0100 @@ -84,6 +84,9 @@ my %remoteprojs; # remote project cache +# Create directory on first start +mkdir_p($infodir) || die ("Failed to create ".$infodir); + sub unify { my %h = map {$_ => 1} @_; return grep(delete($h{$_}), @_); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/src/backend/bs_worker new/buildservice-1.5/src/backend/bs_worker --- old/buildservice-1.5/src/backend/bs_worker 2009-01-26 17:11:13.000000000 +0100 +++ new/buildservice-1.5/src/backend/bs_worker 2009-02-23 11:50:33.000000000 +0100 @@ -727,6 +727,9 @@ writestr("$buildroot/.build.config", undef, $config); my $release = $buildinfo->{'release'}; + my $obsinstance = ""; + $obsinstance = $BSConfig::obsname if defined ($BSConfig::obsname); + my $disturl = "obs://".$obsinstance."/".$buildinfo->{'project'}."/".$buildinfo->{'repository'}."/".$buildinfo->{'srcmd5'}."-".$buildinfo->{'package'}; my @args; push @args, $helper if $helper; @@ -776,7 +779,7 @@ push @args, '--debug' if $buildinfo->{'debuginfo'}; push @args, '--arch', $arch; push @args, '--reason', "Building $buildinfo->{'package'} for project '$projid' repository '$repoid' arch '$arch' srcmd5 '$buildinfo->{'srcmd5'}'"; - push @args, '--disturl', "srcrep:$buildinfo->{'srcmd5'}-$buildinfo->{'package'}"; + push @args, '--disturl', $disturl; push @args, "$srcdir/$buildinfo->{'file'}"; if (qsystem(@args)) { print "build failed\n"; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/src/backend/BSXML.pm new/buildservice-1.5/src/backend/BSXML.pm --- old/buildservice-1.5/src/backend/BSXML.pm 2009-01-26 17:11:13.000000000 +0100 +++ new/buildservice-1.5/src/backend/BSXML.pm 2009-02-23 11:50:33.000000000 +0100 @@ -260,6 +260,7 @@ 'project', 'repository', 'package', + 'downloadurl', [], 'job', 'arch', diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/src/build/baselibs.conf new/buildservice-1.5/src/build/baselibs.conf --- old/buildservice-1.5/src/build/baselibs.conf 2009-01-26 17:11:29.000000000 +0100 +++ new/buildservice-1.5/src/build/baselibs.conf 1970-01-01 01:00:00.000000000 +0100 @@ -1,639 +0,0 @@ -# do not add a package without a comment - -# -# core runtime packages -# -glibc - post "-p "/sbin/ldconfig -n /%_lib"" - targettype x86 +/etc/ld.so.conf - targettype x86 "/lib/ld-linux.so.2 -> <prefix>/lib/ld-linux.so.2" - targettype x86 obsoletes "baselibs-x86" - prereq -glibc-x86 - -glibc-locale - +/usr/lib(64)?/gconv/gconv-modules - targettype x86 -/usr/lib(64)?/gconv/gconv-modules -readline -ncurses - targettype x86 provides "baselibs-x86:<prefix>/lib/libncurses.so.5" - -targettype x86 package bash - +^/bin/bash$ - +^/bin/sh$ - prereq -glibc-x86 - -targettype x86 package coreutils - +^/bin/uname$ - prereq -glibc-x86 - -# -# core development packages -# -glibc-devel - +^/usr/include/gnu/stubs-.*\.h$ -glibc-profile -gdb - +/usr/bin/gdbserver -> /usr/bin/gdbserver<extension> - +/usr/bin/gdb -> /usr/bin/gdb<extension> - # kill package for i586 32bit - targetarch x86_64 block! - prereq -glibc-x86 -strace - +/usr/bin/strace-graph -> /usr/bin/strace-graph<extension> - +/usr/bin/strace -> /usr/bin/strace<extension> - prereq -glibc-x86 -ltrace - +/usr/bin/ltrace -> /usr/bin/ltrace<extension> -# -# essential devel packages -# -readline-devel -ncurses-devel - -# -# gcc devel and runtime libs -libgcj - # see bugzilla #144113 - requires "libgcj" - +/usr/bin/grmiregistry -> /usr/bin/grmiregistry<extension> - +/usr/bin/gij -> /usr/bin/gij<extension> -libgcj-devel -targettype x86 package libada -targettype x86 package libgcc -targettype x86 package libobjc -targettype x86 package libstdc++ -targettype x86 package compat-libstdc++ -# for gcc4 -gmp - -java-1_4_2-gcj-compat - +.*/(java|rmiregistry|rt\.jar)$ - provides "jre-<extension>" - requires "libgcj-<targettype>" - -# -# libs for old binaries -# -compat - targettype x86 provides "baselibs-x86:<prefix>/usr/lib/libg++-1.so.2" -# -compat-openssl097g - -# -# postgres requirements: -# -zlib - targettype x86 provides "baselibs-x86:<prefix>/lib/libz.so.1" -zlib-devel -tcl -perl -python - -# -# mysql requirements: -# -tcpd - -# -# python requirements: -# -bzip2 - targettype x86 provides "baselibs-x86:<prefix>/usr/lib/libbz2.so.1" -db -gdbm -gdbm-devel - -# -# heimdal requirements -# -db42 - -# -# wine & wine-devel requirements: -# -xorg-x11-Mesa - obsoletes "XFree86-Mesa-<targettype>" - provides "XFree86-Mesa-<targettype>" -xorg-x11-Mesa-devel - obsoletes "XFree86-Mesa-devel-<targettype>" - provides "XFree86-Mesa-devel-<targettype>" -Mesa - +/usr/X11R6/lib(64)?/modules/dri/updates/README.updates - obsoletes "XFree86-Mesa-<targettype> xorg-x11-Mesa-<targettype>" - provides "XFree86-Mesa-<targettype> xorg-x11-Mesa-<targettype>" -Mesa-devel - obsoletes "XFree86-Mesa-devel-<targettype> xorg-x11-Mesa-devel-<targettype>" - provides "XFree86-Mesa-devel-<targettype> xorg-x11-Mesa-devel-<targettype>" -xorg-x11-libs - obsoletes "XFree86-compat-libs-<targettype> XFree86-libs-<targettype>" - provides "XFree86-compat-libs-<targettype> XFree86-libs-<targettype>" - targettype x86 provides "baselibs-x86:<prefix>/usr/X11R6/lib/libX11.so.6" -xorg-x11-devel - obsoletes "XFree86-devel-<targettype>" - provides "XFree86-devel-<targettype>" - requires -xorg-x11-<targettype> - requires "xorg-x11-libs-<targettype> = <version>" -libdrm -libdrm-devel -alsa -capi4linux - -/pppd -freeglut -freeglut-devel -libjpeg -libjpeg-devel -liblcms -liblcms-devel -giflib - obsoletes "libungif-<targettype>" - provides "libungif-<targettype>" - targettype 32bit provides "libungif.so.4" - targettype 64bit provides "libungif.so.4()(64bit)" -giflib-devel -sane -openssl -openssl-devel -openssl-ibmca - -# -# wine devel requirements -# -bison -flex -libsmbclient -samba-libs - -# rest of samba -samba - -/usr/lib/samba -samba-winbind - -/usr/lib/samba -samba-client - -/usr/lib/samba -libiniparser - -# -# libsmbclient requirements: -# -#kerberos implementation switched to krb5 currently -#heimdal-lib -#heimdal-devel - -krb5 - obsoletes "heimdal-lib-<targettype>" - provides "heimdal-lib-<targettype>" -krb5-devel - -e2fsprogs -e2fsprogs-devel -openldap2-client -openldap2-devel - requires -openldap2-<targettype> - requires "openldap2-client-<targettype> = <version>" - -# -# Needed by MarbleBlast (32bit game on amd64) -# -SDL -SDL-devel - -# Needed by SDL -# -aalib -aalib-devel - -# -# Needed by aalib -# -slang -slang-devel -gpm - - -# -# Needed by openldap2-client -# -cyrus-sasl -cyrus-sasl-devel - -# -# xorg-x11-libs requirements: -# -expat -fontconfig - +/usr/bin/fc-cache -> /usr/bin/fc-cache<extension> -fontconfig-devel -freetype2 -freetype2-devel - -# -# kdebase3-nsplugin requirements: -# -openmotif-libs -openmotif-devel - requires -openmotif-<targettype> - requires "openmotif-libs-<targettype> = <version>" -kdelibs3 -kdelibs3-arts -libart_lgpl -qt3 -qt3-devel -libpng -libpng-devel -fam -cups-libs - -# -# qt3 requirements: -# -libmng - -# -# kdelibs3 requirements: -# -arts -aspell -audiofile -glib2 -libjasper -libogg -libtiff -libtiff-devel -libvorbis -libxml2 -libxml2-devel -libxslt -libxslt-devel -mad -pcre -libidn -jack -OpenEXR - -# -# only for SLES -#laus -# +/sbin/auditd -> /sbin/auditd<extension> -# +/usr/sbin/aucat -> /usr/sbin/aucat<extension> -# +/usr/sbin/audbin -> /usr/sbin/audbin<extension> -# +/usr/sbin/aurun64 -> /usr/sbin/aurun<extension> -#laus-devel - -# -# http://bugzilla.suse.de/show_bug.cgi?id=34512 -# openal requirements: -# -openal - -# -# eclipse -# -libbonobo -libidl -gnome-vfs2 -gconf2 -orbit2 - -# -# openoffice -# -thinkeramik -thinkeramik-style -startup-notification -evolution-data-server -glitz -libpixman -cairo -curl -neon -libsndfile -mono-core - +/usr/bin/mono -> /usr/bin/mono<extension> - -# -# evolution-data-server -# -libgcrypt -libgcrypt-devel -gnutls -gnutls-devel -libgpg-error -libgpg-error-devel -libsoup -libsoup-devel - -# -# gnutls -# -libopencdk -libopencdk-devel -lzo -lzo-devel - - -# MainActor -libavc1394 -libavc1394-devel -# - -# customers with 64bit databases on biarch systems... -libaio -libaio-devel -# http://bugzilla.suse.de/show_bug.cgi?id=41276 -libcap -# also db access libraries and development libs. -unixODBC -unixODBC-devel - requires "unixODBC-<targettype> = <version>" - -# -# Dinge wo keiner so rischtisch weiss wers braucht... -# -parted -libusb -DirectFB -atk -bind-libs - obsoletes "bind-utils-<targettype>" - provides "bind-utils-<targettype>" -binutils -cdparanoia -cracklib -db1 -db40 -esound -file -flac -gettext -glib -glib-devel - +/opt/gnome/lib(64)?/glib/include/glibconfig.h -gnome-libs -gtk -gtk2 - +/opt/gnome/bin/gdk-pixbuf-query-loaders(-64)? - +/opt/gnome/bin/gtk-query-immodules-2.0(-64)? - prereq "/usr/bin/touch" - post "touch var/adm/SuSEconfig/run-gtk" -imlib -libacl -libattr -libica -libmikmod -libmpeg3 -libtool -libltdl -libxcrypt -libxml -nss_ldap -orbit - -pango - +/etc/opt/gnome/pango/pango.modules - +/opt/gnome/bin/pango-querymodules(-64)? - prereq "/usr/bin/touch" - post "/sbin/ldconfig" - post "touch var/adm/SuSEconfig/run-pango" -popt -popt-devel -postgresql-libs -resmgr -#rpm -speex -taglib -termcap - targettype x86 provides "baselibs-x86:<prefix>/usr/lib/libtermcap.so.2" -tk -utempter -xaw3d -xmms-lib - obsoletes "xmms-<targettype>" - provides "xmms-<targettype>" -pciutils -pciutils-devel - requires -pciutils-<targettype> -libglade -# -# xine-lib -# -xine-lib -libtheora -# -# kraxel -# -libexif - -# -# mono -# -libicu -libicu-devel - -# -# gtk-sharp -# -libgnomeui -libbonoboui -libglade2 -libgnome -gnome-keyring -libgnomecanvas -libgnomeprint -libgnomeprintui -libgnomecups -gnome-themes -gtk-qt-engine -gtk2-engines -librsvg -libgsf -libcroco -# -# iscan -# -libgphoto2 -libieee1284 - -# -# kdebase3 requirements: -# -kdebase3 -kdebase3-khotkeys -libraw1394 -libraw1394-devel - -# -# pam-modules requirements: -# -pam -pam-modules -pam_ldap -pam_krb5 -libselinux -libselinux-devel - -# -# PowerDVD -# -gdk-pixbuf - -# -# PHP4 -# -php4 - +/usr/lib(64)?/php/sce_install - -# used by kdebase3 -dbus-1 -dbus-1-qt3 -hal - -# other dbus -dbus-1-qt -qt - -# used by kdelibs3 -mDNSResponder -mDNSResponder-lib - -# used by DirectFB -sysfsutils - -# used by xine-lib -libcdio -libcddb -vcdimager - -# used by kdebase3 -powersave-libs -cpufrequtils - -# novell-ifolder -compat-curl2 - -# nautilus-ifolder -eel -gail -nautilus -newt -sqlite2 -gnome-desktop -gnome-menus -libbeagle - -# build tcl browser plugin -tclplug -# useful for media players -lirc -# for gambas -mysql-shared -SDL_mixer -SDL_mixer-devel -# for krb5 et al -libcom_err -# for mozilla et al -mozilla-nspr -mozilla-nss -# for ltrace -libelf -# for scilab -f2c -# for arcad_eval -libnetpbm -# for banshee -nautilus-cd-burner -gstreamer -gstreamer010 -gstreamer-plugins -gstreamer010-plugins-base -dbus-1-glib -sqlite -libipoddevice -libgtop -gtk-sharp -gtk-sharp2 -gnome-panel -gnome-panel-nld -libwnck -# -# x86 stuff -# -freetype -itcl -libgtkhtml -scim -scim-qtimm -openmotif21-libs -# Mplayer -libdv -xvid -lame -fribidi -# edirectory -openslp -# qa team -ltp -reaim -# ibm request -libhugetlbfs - +/usr/lib(64)?/libhugetlbfs - -numactl -# pam module included -CASA - -# required for more -net-snmp - -# ppc 64bit stuff -arch ppc64 package bind-devel - requires -bind-<targettype> -arch ppc64 package boost -arch ppc64 package boost-devel -arch ppc64 package libacl-devel -arch ppc64 package libapr-util1 -arch ppc64 package libapr-util1-devel -arch ppc64 package libapr1 -arch ppc64 package libapr1-devel -arch ppc64 package libattr-devel -arch ppc64 package libnotify -arch ppc64 package libnotify-devel -arch ppc64 package recode -arch ppc64 package recode-devel -arch ppc64 package blocxx -arch ppc64 package blocxx-devel -arch ppc64 package gmp-devel -arch ppc64 package gtk2-devel -arch ppc64 package libzio -arch ppc64 package net-snmp-devel -arch ppc64 package qt-devel -arch ppc64 package qt-qt3support -arch ppc64 package qt-sql -arch ppc64 package qt-sql-sqlite -arch ppc64 package qt-x11 -arch ppc64 package qt3-devel-doc -arch ppc64 package qt3-devel-tools -arch ppc64 package qt3-mysql -arch ppc64 package qt3-postgresql -arch ppc64 package qt3-unixODBC -arch ppc64 package tcpd-devel - -# ia32el trampoline -targettype x86 package ia32el - +/usr/lib/ia32el - -# IBM request -device-mapper -itrace -# ICAClient -novell-NLDAPsdk -novell-NLDAPsdk-dyn -# helix hack -helix-dbus-server -# needed for xen biarch -xen-libs -# eDir biarch -novell-NLDAPbase -novell-NLDAPbase-dyn -novell-lum -# synce -libical diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/src/build/build new/buildservice-1.5/src/build/build --- old/buildservice-1.5/src/build/build 2009-01-27 15:12:27.000000000 +0100 +++ new/buildservice-1.5/src/build/build 2009-02-23 11:50:45.000000000 +0100 @@ -1364,6 +1364,8 @@ rm -f $BUILD_ROOT/$TOPDIR/SOURCES/config.xml ln -s $SPECFILE $BUILD_ROOT/$TOPDIR/SOURCES/config.xml imagetype=$(perl -I$BUILD_DIR -MBuild::Kiwi -e Build::Kiwi::show $BUILD_ROOT/$TOPDIR/SOURCES/$SPECFILE imagetype) + imagename=$(perl -I$BUILD_DIR -MBuild::Kiwi -e Build::Kiwi::show $BUILD_ROOT/$TOPDIR/SOURCES/$SPECFILE filename) + imageversion=$(perl -I$BUILD_DIR -MBuild::Kiwi -e Build::Kiwi::show $BUILD_ROOT/$TOPDIR/SOURCES/$SPECFILE version) chroot $BUILD_ROOT su -c "kiwi --version" - if test "$imagetype" = product ; then echo "running kiwi --create-instsource..." @@ -1377,16 +1379,70 @@ done else BUILD_SUCCEEDED=true - for imagetype in $imagetype ; do - echo "running kiwi --prepare for $imagetype..." - if chroot $BUILD_ROOT su -c "cd $TOPDIR/SOURCES && kiwi --prepare $TOPDIR/SOURCES --logfile terminal --root $TOPDIR/KIWIROOT-$imagetype" - $BUILD_USER < /dev/null ; then - echo "running kiwi --create for $imagetype..." - chroot $BUILD_ROOT su -c "kiwi --create $TOPDIR/KIWIROOT-$imagetype --logfile terminal --type $imagetype -d $TOPDIR/KIWI" - $BUILD_USER < /dev/null || BUILD_SUCCEEDED= + for imgtype in $imagetype ; do + echo "running kiwi --prepare for $imgtype..." + if chroot $BUILD_ROOT su -c "cd $TOPDIR/SOURCES && kiwi --prepare $TOPDIR/SOURCES --logfile terminal --root $TOPDIR/KIWIROOT-$imgtype" - $BUILD_USER < /dev/null ; then + echo "running kiwi --create for $imgtype..." + mkdir -p $BUILD_ROOT/$TOPDIR/KIWI-$imgtype + chroot $BUILD_ROOT su -c "kiwi --create $TOPDIR/KIWIROOT-$imgtype --logfile terminal --type $imgtype -d $TOPDIR/KIWI-$imgtype" - $BUILD_USER < /dev/null || cleanup_and_exit 1 else - BUILD_SUCCEEDED= + cleanup_and_exit 1 fi - test -z "$BUILD_SUCCEEDED" && break done + + # create tar.gz of images, in case it makes sense + imagearch=`uname -m` + for imgtype in $imagetype ; do + case "$imgtype" in + oem) + pushd $BUILD_ROOT/$TOPDIR/KIWI-oem > /dev/null + echo "compressing images... " + tar cvzfS $BUILD_ROOT/$TOPDIR/KIWI/$imagename.$imagearch-$imageversion-raw.tar.gz \ + $imagename.$imagearch-$imageversion.raw + popd > /dev/null + ;; + vmx) + pushd $BUILD_ROOT/$TOPDIR/KIWI-vmx > /dev/null + echo "compressing images... " + tar cvzfS $BUILD_ROOT/$TOPDIR/KIWI/$imagename.$imagearch-$imageversion-vmx.tar.gz \ + $imagename.$imagearch-$imageversion.vmx \ + $imagename.$imagearch-$imageversion.vmdk + + # don't compress ovf output + if [ -e $imagename.$imagearch-$imageversion.ovf ] ; then + mv $imagename.$imagearch-$imageversion.ovf $BUILD_ROOT/$TOPDIR/KIWI/ + mv $imagename.$imagearch-$imageversion-disk*.vmdk $BUILD_ROOT/$TOPDIR/KIWI/ + fi + popd > /dev/null + ;; + xen) + pushd $BUILD_ROOT/$TOPDIR/KIWI-xen > /dev/null + echo "compressing images... " + tar cvzfS $BUILD_ROOT/$TOPDIR/KIWI/$imagename.$imagearch-$imageversion-xen.tar.gz \ + `grep ^kernel $imagename.$imagearch-$imageversion.xenconfig | cut -d'"' -f2` \ + `grep ^ramdisk $imagename.$imagearch-$imageversion.xenconfig | cut -d'"' -f2` \ + $imagename.$imagearch-$imageversion.xenconfig \ + $imagename.$imagearch-$imageversion + popd > /dev/null + ;; + pxe) + pushd $BUILD_ROOT/$TOPDIR/KIWI-pxe > /dev/null + echo "compressing images... " + tar cvzfS $BUILD_ROOT/$TOPDIR/KIWI/$imagename.$imagearch-$imageversion-pxe.tar.gz \ + $imagename.$imagearch-$imageversion.config \ + $imagename.$imagearch-$imageversion.gz \ + initrd-* + popd > /dev/null + ;; + *) + pushd $BUILD_ROOT/$TOPDIR/KIWI-$imgtype > /dev/null + echo "compressing unkown images... " + tar cvzfS $BUILD_ROOT/$TOPDIR/KIWI/$imagename.$imagearch-$imageversion-$imgtype.tar.gz \ + * + popd > /dev/null + ;; + esac + done fi fi diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/src/build/Build/Kiwi.pm new/buildservice-1.5/src/build/Build/Kiwi.pm --- old/buildservice-1.5/src/build/Build/Kiwi.pm 2009-01-27 15:12:44.000000000 +0100 +++ new/buildservice-1.5/src/build/Build/Kiwi.pm 2009-02-23 11:50:44.000000000 +0100 @@ -101,6 +101,7 @@ my $kiwi = parsexml($xml); die("not a kiwi config\n") unless $kiwi && $kiwi->{'image'}; $kiwi = $kiwi->{'image'}->[0]; + $ret->{'filename'} = $kiwi->{'name'} if $kiwi->{'name'}; my $description = (($kiwi->{'description'} || [])->[0]) || {}; if ($description->{'specification'}) { $ret->{'name'} = $description->{'specification'}->[0]->{'_content'}; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/buildservice-1.5/src/build/Build/Rpm.pm new/buildservice-1.5/src/build/Build/Rpm.pm --- old/buildservice-1.5/src/build/Build/Rpm.pm 2009-01-27 15:12:44.000000000 +0100 +++ new/buildservice-1.5/src/build/Build/Rpm.pm 2009-02-23 11:50:44.000000000 +0100 @@ -117,6 +117,7 @@ my $packname; my $packvers; my $packrel; + my $packdisttag; my $exclarch; my $badarch; my @subpacks; @@ -318,6 +319,10 @@ $packrel = $1; $macros{'release'} = $packrel; } + if ($main_preamble && ($line =~ /^Disttag\s*:\s*(\S+)/i)) { + $packdisttag = $1; + $macros{'disttag'} = $packdisttag; + } if ($main_preamble && ($line =~ /^ExclusiveArch\s*:\s*(.*)/i)) { $exclarch ||= []; push @$exclarch, split(' ', $1); @@ -428,6 +433,7 @@ $ret->{'name'} = $packname; $ret->{'version'} = $packvers; $ret->{'release'} = $packrel if defined $packrel; + $ret->{'disttag'} = $packdisttag if defined $packdisttag; $ret->{'subpacks'} = \@subpacks; $ret->{'exclarch'} = $exclarch if defined $exclarch; $ret->{'badarch'} = $badarch if defined $badarch; @@ -740,6 +746,7 @@ $data->{'release'} = $res{'RELEASE'}->[0]; $data->{'arch'} = $arch; $data->{'epoch'} = $res{'EPOCH'}->[0] if exists $res{'EPOCH'}; + $data->{'disttag'} = $res{'DISTTAG'}->[0] if exists $res{'DISTTAG'}; } if ($opts{'filelist'}) { $data->{'filelist'} = $res{'FILENAMES'}; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org