From 8601b2c08da65d6087f2d23634eafa7b89a01a1f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Mon, 20 Feb 2012 17:03:47 +0000 Subject: [PATCH] Update gridsite packaging - built binary packages by ETICS in mock. --- org.glite.lb/configure | 119 ++++++++++++++++---------------- org.gridsite.core/src/Makefile | 24 ++++--- org.gridsite.core/src/make-debian-files | 2 +- 3 files changed, 73 insertions(+), 72 deletions(-) diff --git a/org.glite.lb/configure b/org.glite.lb/configure index eff87cc..95bfa49 100755 --- a/org.glite.lb/configure +++ b/org.glite.lb/configure @@ -1057,26 +1057,7 @@ for my $ext (keys %deps_aux) { }, ); -my %gridsite_rpm = ( - 'package.RPMSLocation' => "\${moduleDir}/RPMTMP/RPMS", - 'package.SRPMSLocation' => "\${moduleDir}/RPMTMP/SRPMS", -); -my %gridsite_deb = ( - 'package.DEBSLocation' => "\${moduleDir}/RPMTMP", -); %platform_properties = ( - 'gridsite.core' => { - sl5_x86_64_gcc412 => \%gridsite_rpm, - sl5_ia32_gcc412 => \%gridsite_rpm, - sl5_x86_64_gcc412EPEL => \%gridsite_rpm, - sl5_ia32_gcc412EPEL => \%gridsite_rpm, - deb5_x86_64_gcc432 => \%gridsite_deb, - deb5_ia32_gcc432 => \%gridsite_deb, - slc4_x86_64_gcc346 => \%gridsite_rpm, - slc4_ia32_gcc346 => \%gridsite_rpm, - sl6_x86_64_gcc445EPEL => \%gridsite_rpm, - deb6_x86_64_gcc445 => \%gridsite_deb, - }, 'jobid.api-java' => { default => { 'package.buildarch' => 'noarch' }, }, @@ -1452,6 +1433,52 @@ top_srcdir = $top_srcdir BEGIN{ }; +sub mode_etics_packaging { + my ($fmod, $cmd, $rpmprepare, $debprepare) = @_; + my ($workspaceDir, $srcPackageName, $srcAge, $topDir); + + if ($fmod eq 'gridsite.core') { + $workspaceDir = '..'; + $srcPackageName = 'gridsite'; + $srcAge = ''; + $topDir = '../'; + } else { + $workspaceDir = '${workspaceDir}'; + $srcPackageName = '${packageName}'; + $srcAge = '-${age}'; + $topDir = ''; + } + + $cmd->{clean} = 'make clean + rm -rfv ${package.tgzLocation} ${package.SRPMSLocation}'; + $cmd->{default}{packaging} = $rpmprepare; + $cmd->{default}{packaging} .= "dir=\${workspaceDir}/rpm_build_src_\$\$ + mkdir -p \${package.tgzLocation} \${package.SRPMSLocation} \$dir/{BUILD,RPMS,SOURCES,SRPMS} 2>/dev/null || true + cp -vf $workspaceDir/$srcPackageName-\${version}${srcAge}.src.tar.gz \${package.tgzLocation}/ + cp -vf $workspaceDir/$srcPackageName-\${version}${srcAge}.src.tar.gz \$dir/SOURCES/ + rpmbuild -bs --nodeps --define \"_topdir \$dir\" $srcPackageName.spec + cp -v \$dir/SRPMS/*.src.rpm \${package.SRPMSLocation}/ + rm -rf \$dir"; + + for my $p ('deb5_x86_64_gcc432', 'deb5_ia32_gcc432', 'deb6_x86_64_gcc445', 'deb6_ia32_gcc445') { + for my $c (keys %{$cmd->{default}}) { $cmd->{$p}{$c} = $cmd->{default}{$c}; } + $cmd->{$p}{clean} = 'make clean + rm -rfv ${package.tgzLocation} ${package.SDEBSLocation}'; + $cmd->{$p}{packaging} = $debprepare; + $cmd->{$p}{packaging} .= "dir=\${workspaceDir}/dpkg_build_src_\$\$ + mkdir -p \${package.tgzLocation} \${package.SDEBSLocation} \$dir 2>/dev/null || true + cp -vf $workspaceDir/$srcPackageName-\${version}${srcAge}.src.tar.gz \${package.tgzLocation}/ + cp -vf $workspaceDir/$srcPackageName-\${version}${srcAge}.src.tar.gz \$dir/${srcPackageName}_\${version}.orig.tar.gz + tar xzf \$dir/${srcPackageName}_\${version}.orig.tar.gz -C \$dir + cp -rf ${topDir}debian/ \$dir/$srcPackageName-\${version}/ + cd \$dir/$srcPackageName-\${version} + dpkg-buildpackage -S -d -nc + cd - + cp -v \$dir/*.tar.gz \$dir/*.dsc \${package.SDEBSLocation}/ + rm -rf \$dir"; + } +} + sub mode_etics { $fmod = shift; @@ -1532,10 +1559,10 @@ sub mode_etics { } my %cmd; - $cmd_vcs{checkout} = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_module 2>/dev/null"; - #$cmd_vcs{checkout} = "((test -d jra1mw/.git && (cd jra1mw; git pull)) || (git clone -q http://scientific.zcu.cz/git/jra1mw.git"; - #$cmd_vcs{checkout} .= " && (cd jra1mw; git checkout -b \${tag} --track origin/epel)" unless ($conftag =~ /HEAD/); - #$cmd_vcs{checkout} .= ")) && (test -d \${moduleName} || ln -s jra1mw/$cvs_module \${moduleName})"; + #$cmd_vcs{checkout} = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_module 2>/dev/null"; + $cmd_vcs{checkout} = "((test -d jra1mw/.git && (cd jra1mw; git pull)) || (git clone -q http://scientific.zcu.cz/git/jra1mw.git"; + $cmd_vcs{checkout} .= " && (cd jra1mw; git checkout -b \${tag} --track origin/\${tag})" unless ($conftag eq /HEAD/); + $cmd_vcs{checkout} .= ")) && (test -d \${moduleName} || ln -s jra1mw/$cvs_module \${moduleName})"; $cmd_vcs{checkout} .= "\n\ttest -f \${packageName}-\${version}-\${age}.src.tar.gz || (ln -s \${moduleName} \${packageName}-\${version}; tar -chf - \${packageName}-\${version} --exclude CVS --exclude .git --exclude .etics | gzip --best > \${packageName}-\${version}-\${age}.src.tar.gz; rm \${packageName}-\${version})"; $cmd_vcs{tag} = "cvs -d \${vcsroot} tag -R \${tag} ${moduleName}"; @@ -1577,20 +1604,13 @@ sub mode_etics { $flags EOF"; $cmd{default}{compile} = "make prefix=\${prefix}$project{local_prefix} libdir=\${libdir}"; - $cmd{default}{clean} = "rm -rvf \${moduleDir}/src/tgz; $cmd{default}{clean}"; $cmd{default}{install} = "make prefix=\${prefix}$project{local_prefix} libdir=\${libdir} install"; - $cmd{default}{packaging} = "mkdir -p \${moduleDir}/RPMTMP/SOURCES \${moduleDir}/src/tgz 2>/dev/null || true - make prefix=\${prefix}$project{local_prefix} rpm && \\ - cp \${moduleDir}/RPMTMP/SOURCES/gridsite-\${version}.src.tar.gz \${moduleDir}/src/tgz"; - - for my $p ('deb5_x86_64_gcc432', 'deb5_ia32_gcc432', 'deb6_x86_64_gcc445', 'deb6_ia32_gcc445') { - $cmd{$p} = (); - for my $c (keys %{$cmd{default}}) { $cmd{$p}{$c} = $cmd{default}{$c}; } - $cmd{$p}{packaging} = "mkdir -p \${moduleDir}/RPMTMP/SOURCES \${moduleDir}/src/tgz 2>/dev/null || true - chmod +x \${moduleDir}/src/make-debian-files || true - make prefix=\${prefix}$project{local_prefix} deb && \\ - cp \${moduleDir}/RPMTMP/gridsite_\${version}-\${age}.\${platformFamily}.tar.gz \${moduleDir}/src/tgz"; - } + mode_etics_packaging($fmod, \%cmd, + "make prefix=\${prefix}$project{local_prefix} rpm-prepare + cp gridsite.spec ../\n\t", + "chmod +x \${moduleDir}/src/make-debian-files || true + make prefix=\${prefix}$project{local_prefix} deb-prepare\n\t" + ); } elsif ($module eq '1.5-compat') { $cmd_vcs{checkout} = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.core 2>/dev/null"; @@ -1614,6 +1634,7 @@ sub mode_etics { rm -fv \${prefix}$project{local_prefix}/\${libdir}/libgridsite*.so.1 rm -fv \${prefix}$project{local_prefix}/\${libdir}/libgridsite*.so rm -fv \${prefix}$project{local_prefix}/\${libdir}/libgridsite*.a"; + $cmd{default}{packaging} = "None"; } else { $cmd{default}{clean} = 'None'; @@ -1626,8 +1647,6 @@ sub mode_etics { $cmd{default}{packaging} = "make rpm package=".$confprefix."$subsys-myproxy-config"; } else { - $cmd{clean} = 'make clean - rm -rfv ${package.tgzLocation} ${package.SRPMSLocation}'; $cmd{default}{configure} = "/usr/bin/perl $confdir/configure $project{flavours} --root=\${prefix} --prefix=$project{local_prefix} --stage=\${stageDir} --sysroot=\${package.prefix} --libdir=\${libdir} --project=\${projectName} --module $subsys.$module @copts"; $cmd{default}{compile} = 'make'; $cmd{default}{test} = 'make check'; @@ -1636,29 +1655,7 @@ sub mode_etics { $cmd{default}{compile} = "make rpath=$project{local_prefix}/\${libdir}"; $cmd{default}{install} = "make install post-install rpath=$project{local_prefix}/\${libdir}"; } - $cmd{default}{packaging} = 'dir=${workspaceDir}/rpm_build_src_$$ - mkdir -p ${package.tgzLocation} ${package.SRPMSLocation} $dir/{BUILD,RPMS,SOURCES,SRPMS} 2>/dev/null || true - cp -vf ${workspaceDir}/${packageName}-${version}-${age}.src.tar.gz ${package.tgzLocation}/ - cp -vf ${workspaceDir}/${packageName}-${version}-${age}.src.tar.gz $dir/SOURCES/ - rpmbuild -bs --nodeps --define "_topdir $dir" ${packageName}.spec - cp -v $dir/SRPMS/*.src.rpm ${package.SRPMSLocation}/ - rm -rf $dir'; - for my $p ('deb5_x86_64_gcc432', 'deb5_ia32_gcc432', 'deb6_x86_64_gcc445', 'deb6_ia32_gcc445') { - for my $c (keys %{$cmd{default}}) { $cmd{$p}{$c} = $cmd{default}{$c}; } - $cmd{$p}{clean} = 'make clean - rm -rfv ${package.tgzLocation} ${package.SDEBSLocation}'; - $cmd{$p}{packaging} = 'dir=${workspaceDir}/dpkg_build_src_$$ - mkdir -p ${package.tgzLocation} ${package.SDEBSLocation} $dir 2>/dev/null || true - cp -vf ${workspaceDir}/${packageName}-${version}-${age}.src.tar.gz ${package.tgzLocation}/ - cp -vf ${workspaceDir}/${packageName}-${version}-${age}.src.tar.gz $dir/${packageName}_${version}.orig.tar.gz - tar xzf $dir/${packageName}_${version}.orig.tar.gz -C $dir - cp -rf debian/ $dir/${packageName}-${version}/ - cd $dir/${packageName}-${version} - dpkg-buildpackage -S -d -nc - cd - - cp -v $dir/*.tar.gz $dir/*.dsc ${package.SDEBSLocation}/ - rm -rf $dir'; - } + mode_etics_packaging($fmod, \%cmd); } my $defprops = ''; diff --git a/org.gridsite.core/src/Makefile b/org.gridsite.core/src/Makefile index f5eb066..8bb0d77 100644 --- a/org.gridsite.core/src/Makefile +++ b/org.gridsite.core/src/Makefile @@ -561,14 +561,15 @@ htcp-bin: htcp cd ../htcp-bin-$(VERSION) ; tar zcvf ../htcp-$(VERSION).bin.tar.gz . rm -Rf ../htcp-bin-$(PATCH_VERSION) -# RPM targets: build and RPMs go into subdirectories of ../RPMTMP/ -rpm: dist +rpm-prepare: dist export PATCH_VERSION=$(PATCH_VERSION) ; \ export MINOR_VERSION=$(MINOR_VERSION) ; \ export RELEASE_VERSION=$(RELEASE_VERSION) && \ export project=$(project); \ ./make-gridsite-spec - rm -Rf $(MYRPMDIR)/BUILDROOT $(MYRPMDIR)/BUILD + +rpm: rpm-prepare + rm -Rf $(MYRPMDIR) mkdir -p $(MYRPMDIR)/SOURCES $(MYRPMDIR)/SPECS $(MYRPMDIR)/BUILD \ $(MYRPMDIR)/SRPMS $(MYRPMDIR)/RPMS/i386 $(MYRPMDIR)/BUILDROOT cp -f ../gridsite-$(PATCH_VERSION).src.tar.gz $(MYRPMDIR)/SOURCES @@ -576,17 +577,20 @@ rpm: dist $(RPMCMD) --define "_topdir $(MYRPMDIR)" \ -ba --buildroot $(MYRPMDIR)/BUILDROOT gridsite.spec -deb: dist - rm -Rf $(MYRPMDIR) - (mkdir -p $(MYRPMDIR) && \ - tar -xC $(MYRPMDIR) -f ../gridsite-$(PATCH_VERSION).src.tar.gz && \ - cd $(MYRPMDIR)/gridsite-$(PATCH_VERSION)/src && \ - export PATCH_VERSION=$(PATCH_VERSION) && \ +deb-prepare: dist + export PATCH_VERSION=$(PATCH_VERSION) && \ export MINOR_VERSION=$(MINOR_VERSION) && \ export RELEASE_VERSION=$(RELEASE_VERSION) && \ export project=$(project) && \ export top_srcdir=.. && \ - ./make-debian-files) + ./make-debian-files + +deb: deb-prepare + rm -Rf $(MYRPMDIR) + mkdir -p $(MYRPMDIR) + tar -xC $(MYRPMDIR) -f ../gridsite-$(PATCH_VERSION).src.tar.gz + cp ../gridsite-$(PATCH_VERSION).src.tar.gz $(MYRPMDIR)/gridsite_$(PATCH_VERSION).orig.tar.gz + cp -rf ../debian/ $(MYRPMDIR)/gridsite-$(PATCH_VERSION)/ (cd $(MYRPMDIR)/gridsite-$(PATCH_VERSION) && \ pwd && \ dpkg-buildpackage) diff --git a/org.gridsite.core/src/make-debian-files b/org.gridsite.core/src/make-debian-files index 4caa46c..556e813 100644 --- a/org.gridsite.core/src/make-debian-files +++ b/org.gridsite.core/src/make-debian-files @@ -28,7 +28,7 @@ process_template ${top_srcdir}/project/debian.rules > rules process_template ${top_srcdir}/project/debian.changelog > changelog chmod +x rules echo "7" > compat -echo "3.0 (native)" > source/format +echo "3.0 (quilt)" > source/format # apache cat > gridsite-apache.install <