rpms/perl-Test-AutoBuild/devel Test-AutoBuild-remove-yumarch.patch, NONE, 1.1 perl-Test-AutoBuild.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Daniel P. Berrange (berrange) fedora-extras-commits at redhat.com
Thu Sep 14 22:19:25 UTC 2006


Author: berrange

Update of /cvs/extras/rpms/perl-Test-AutoBuild/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv28319/devel

Modified Files:
	.cvsignore sources 
Added Files:
	Test-AutoBuild-remove-yumarch.patch perl-Test-AutoBuild.spec 
Log Message:
auto-import perl-Test-AutoBuild-1.2.0-3 on branch devel from perl-Test-AutoBuild-1.2.0-3.src.rpm

Test-AutoBuild-remove-yumarch.patch:

--- NEW FILE Test-AutoBuild-remove-yumarch.patch ---
diff -ruN Test-AutoBuild-1.2.0-orig/conf/auto-build.conf Test-AutoBuild-1.2.0-new/conf/auto-build.conf
--- Test-AutoBuild-1.2.0-orig/conf/auto-build.conf	2006-08-09 00:19:26.000000000 -0400
+++ Test-AutoBuild-1.2.0-new/conf/auto-build.conf	2006-09-10 16:42:58.000000000 -0400
@@ -87,7 +87,9 @@
   createrepo_index = 1
 
   # Whether to run the 'yum-arch' tool against the RPMs on the HTTP
-  # distribution site
+  # distribution site.
+  # NB this is disabled in Fedora Extras since yum-arch is no longer
+  # distributed
   yum_index = 0
 
   # Whether to generate an APT index of RPMs / Debian packages on the
diff -ruN Test-AutoBuild-1.2.0-orig/conf/engine/host-build.conf Test-AutoBuild-1.2.0-new/conf/engine/host-build.conf
--- Test-AutoBuild-1.2.0-orig/conf/engine/host-build.conf	2006-08-09 00:19:26.000000000 -0400
+++ Test-AutoBuild-1.2.0-new/conf/engine/host-build.conf	2006-09-10 16:43:41.000000000 -0400
@@ -554,20 +554,6 @@
           #components = group
         }
       }
-      # Update Yum repository
-      {
-        name = yum
-        label = Update Yum Repository
-        module = Test::AutoBuild::Stage::Yum
-        critical = 0
-        [% IF config.features.yum_index.defined -%]
-        enabled = [% config.features.yum_index %]
-        [%- END %]
-        options = {
-          directory = [% config.buildRoot %]/public_html/dist
-          parameters = -d
-        }
-      }
       # Update CreateRepo repository
       {
         name = createrepo
diff -ruN Test-AutoBuild-1.2.0-orig/lib/Test/AutoBuild/Stage/Yum.pm Test-AutoBuild-1.2.0-new/lib/Test/AutoBuild/Stage/Yum.pm
--- Test-AutoBuild-1.2.0-orig/lib/Test/AutoBuild/Stage/Yum.pm	2006-02-02 05:30:49.000000000 -0500
+++ Test-AutoBuild-1.2.0-new/lib/Test/AutoBuild/Stage/Yum.pm	1969-12-31 19:00:00.000000000 -0500
@@ -1,155 +0,0 @@
-# -*- perl -*-
-#
-# Test::AutoBuild::Stage::Yum
-#
-# Daniel Berrange <dan at berrange.com>
-# Dennis Gregorovic <dgregorovic at alum.mit.edu>
-#
-# Copyright (C) 2004 Red Hat, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-# $Id: Yum.pm,v 1.7 2006/02/02 10:30:49 danpb Exp $
-
-=pod
-
-=head1 NAME
-
-Test::AutoBuild::Stage::Yum - Create an index for Yum package management tool
-
-=head1 SYNOPSIS
-
-  use Test::AutoBuild::Stage::Yum
-
-  my $stage = Test::AutoBuild::Stage::Yum->new(name => "yum",
-                                               label => "Create yum index",
-                                               options => {
-                                                 directory => "/var/lib/builder/public_html/dist",
-                                                 parameters => "-d -s -n",
-                                               });
-
-  $stage->run($runtime);
-
-=head1 DESCRIPTION
-
-This module invokes the C<yum-arch(8)> command to generate an index of RPM
-packages generated during the build. The index enables use of the C<yum(8)>
-command to install packages generated by the builder. The C<yum-arch(8)>
-command is expected to be found in the C<$PATH>.
-
-=head1 CONFIGURATION
-
-In addition to the standard parameters defined by the L<Test::AutoBuild::Stage>
-module, this module accepts two entries in the C<options> parameter:
-
-=over 4
-
-=item directory
-
-The full path to the directory containing RPMs to be indexed. If this option
-is not specified, then the C<directories> option must be set.
-
-=item directories
-
-An array of paths to directories containing RPMs to be indexed. If this option
-is not specified, then the C<directory> option must be set.
-
-=item parameters
-
-A string of command line arguments to be passed to the C<yum-arch> command,
-see the C<yum-arch(8)> manual page for details of possible values.
-
-=back
-
-=head2 EXAMPLE
-
-  {
-    name = yum
-    label = Update Yum Repository
-    module = Test::AutoBuild::Stage::Yum
-    critical = 0
-    options = {
-      directory = /var/lib/builder/public_html/dist
-      parameters = -d
-    }
-  }
-
-
-=head1 METHODS
-
-=over 4
-
-=cut
-
-package Test::AutoBuild::Stage::Yum;
-
-use base qw(Test::AutoBuild::Stage);
-use warnings;
-use strict;
-use Log::Log4perl;
-use Test::AutoBuild::Lib;
-
-=item $stage->process($runtime);
-
-For each directory defined in the C<options> parameter, this method will
-run the C<yum-arch> command to generate the index.
-
-=cut
-
-sub process {
-    my $self = shift;
-    my $runtime = shift;
-
-    my $log = Log::Log4perl->get_logger();
-    my $directories = $self->option('directories');
-    if (!defined $directories) {
-	my $dir = $self->option("directory");
-	$directories = [$dir];
-    }
-    if (defined $directories) {
-        foreach my $directory (@{$directories}) {
-            my $dirs = Test::AutoBuild::Lib::_expand_standard_macros([[ "", $directory, {} ]], $runtime);
-            foreach my $expanded_dir (@{$dirs}) {
-                if (-d $expanded_dir->[1]) {
-		    my $parameters = $self->option('parameters') ||  "";
-                    Test::AutoBuild::Lib::run("yum-arch $parameters $expanded_dir->[1]");
-                } else {
-                    $log->warn("directory does not exists: " . $expanded_dir->[1]);
-                }
-            }
-        }
-    }
-}
-
-1 # So that the require or use succeeds.
-
-__END__
-
-=back
-
-=head1 AUTHORS
-
-Daniel Berrange <dan at berrange.com>
-Dennis Gregorovic <dgregorovic at alum.mit.edu>
-
-=head1 COPYRIGHT
-
-Copyright (C) 2004 Red Hat, Inc.
-
-=head1 SEE ALSO
-
-C<perl(1)>, L<Test::AutoBuild::Stage>, C<yum(8)>, C<yum-arch(8)>
-
-=cut
diff -ruN Test-AutoBuild-1.2.0-orig/t/150-Stage-Yum.t Test-AutoBuild-1.2.0-new/t/150-Stage-Yum.t
--- Test-AutoBuild-1.2.0-orig/t/150-Stage-Yum.t	2005-05-14 19:23:21.000000000 -0400
+++ Test-AutoBuild-1.2.0-new/t/150-Stage-Yum.t	1969-12-31 19:00:00.000000000 -0500
@@ -1,29 +0,0 @@
-# -*- cperl -*-
-
-use Test::More tests => 4;
-use warnings;
-use strict;
-use Log::Log4perl;
-
-Log::Log4perl::init("t/log4perl.conf");
-
-BEGIN { 
-  use_ok("Test::AutoBuild::Stage::Yum") or die;
-  use_ok("Test::AutoBuild::Runtime") or die;
-  use_ok("Test::AutoBuild::Counter::Time") or die;
-}
-
-my $runtime = Test::AutoBuild::Runtime->new(counter => Test::AutoBuild::Counter::Time->new());
-
-TEST_YUM: {
-  my $stage = Test::AutoBuild::Stage::Yum->new(name => "yum",
-					       label => "Generate Yum Index",
-					       options => {
-							  });
-  isa_ok($stage, "Test::AutoBuild::Stage::Yum");
-  
-  # Implement me!
-  #$stage->run($runtime);
-  #ok($stage->succeeded(), "stage succeeeded");
-}
-
diff -ruN Test-AutoBuild-1.2.0-orig/t/auto-build.conf Test-AutoBuild-1.2.0-new/t/auto-build.conf
--- Test-AutoBuild-1.2.0-orig/t/auto-build.conf	2006-02-02 04:28:16.000000000 -0500
+++ Test-AutoBuild-1.2.0-new/t/auto-build.conf	2006-09-10 16:43:27.000000000 -0400
@@ -31,7 +31,6 @@
 enableCache = 1
 enableCheckout = 1
 enableCreaterepo = 1
-enableYum = 1
 enableApt = 1
 enableAlerts = 1
 
diff -ruN Test-AutoBuild-1.2.0-orig/t/auto-build-engine.conf Test-AutoBuild-1.2.0-new/t/auto-build-engine.conf
--- Test-AutoBuild-1.2.0-orig/t/auto-build-engine.conf	2005-12-30 10:05:04.000000000 -0500
+++ Test-AutoBuild-1.2.0-new/t/auto-build-engine.conf	2006-09-10 16:43:20.000000000 -0400
@@ -510,20 +510,6 @@
           #components = group
         }
       }
-      # Update Yum repository
-      {
-        name = yum
-        label = Update Yum Repository
-        module = Test::AutoBuild::Stage::Yum
-        critical = 0
-        [% IF config.enableYum.defined -%]
-        enabled = [% config.enableYum %]
-        [%- END %]
-        options = {
-          directory = [% config.buildRoot %]/public_html/dist
-          parameters = -d
-        }
-      }
       # Update CreateRepo repository
       {
         name = createrepo


--- NEW FILE perl-Test-AutoBuild.spec ---

%bcond_without  fedora
%define appname Test-AutoBuild

# This macro is used for the continuous automated builds. It just
# allows an extra fragment based on the timestamp to be appended
# to the release. This distinguishes automated builds, from formal
# Fedora RPM builds
%define _extra_release %{?dist:%{dist}}%{!?dist:%{?extra_release:%{extra_release}}}

Summary: Framework for performing continuous, unattended, automated software builds
Name: perl-%{appname}
Version: 1.2.0
Release: 3%{_extra_release}
License: GPL
Group: Development/Tools
Url: http://autobuild.org/
Source: http://www.cpan.org/authors/id/D/DA/DANBERR/%{appname}-%{version}.tar.gz
Patch1: Test-AutoBuild-remove-yumarch.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArchitectures: noarch

Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))

BuildRequires: perl(BSD::Resource) >= 1.15
BuildRequires: perl(Config::Record) >= 1.1.0
BuildRequires: perl(Log::Log4perl)
BuildRequires: perl(Template)
BuildRequires: perl(IO::Scalar)
BuildRequires: perl(Date::Manip)
BuildRequires: perl(Class::MethodMaker)
BuildRequires: perl(Test::Pod)
BuildRequires: perl(Test::Pod::Coverage)
BuildRequires: /usr/bin/cvs
BuildRequires: /usr/bin/svn
BuildRequires: /usr/bin/tla
BuildRequires: /usr/bin/hg
BuildRequires: /usr/bin/svk
BuildRequires:  fedora-usermgmt-devel

# For Test::AutoBuild::Stage::ISOBuilder
Requires: /usr/bin/mkisofs
# For Test::AutoBuild::Stage::Yum
# NB, removed by %patch1
#Requires: /usr/bin/yum-arch
# For Test::AutoBuild::Stage::CreateRepo
Requires: /usr/bin/createrepo
# For Test::AutoBuild::Stage::Apt
Requires: /usr/bin/genbasedir
# For Test::AutoBuild::Publisher::XSLTransform
Requires: /usr/bin/xsltproc

%package account
Summary: User account and directory structure for running builder
Group: Development/Tools
Url: http://autobuild.org/
Requires: perl-%{appname} = %{version}-%{release}
%{?FE_USERADD_REQ}

%package cvs
Summary: CVS source repository integration for autobuild engine
Group: Development/Tools
Url: http://autobuild.org/
Requires: perl-%{appname} = %{version}-%{release}
Requires: cvs >= 1.11

%package mercurial
Summary: Mercurial source repository integration for autobuild engine
Group: Development/Tools
Url: http://autobuild.org/
Requires: perl-%{appname} = %{version}-%{release}
Requires: mercurial >= 0.7

%package subversion
Summary: Subversion source repository integration for autobuild engine
Group: Development/Tools
Url: http://autobuild.org/
Requires: perl-%{appname} = %{version}-%{release}
Requires: subversion >= 1.0.0

%package tla
Summary: GNU Arch source repository integration for autobuild engine
Group: Development/Tools
Url: http://autobuild.org/
Requires: perl-%{appname} = %{version}-%{release}
Requires: tla >= 1.1.0

%package svk
Summary: SVK source repository integration for autobuild engine
Group: Development/Tools
Url: http://autobuild.org/
Requires: perl-%{appname} = %{version}-%{release}
Requires: perl-SVK >= 1.0

%package perforce
Summary: Perforce source repository integration for autobuild engine
Group: Development/Tools
Url: http://autobuild.org/
Requires: perl-%{appname} = %{version}-%{release}
# No RPMs of Perforce so we can't add a formal dep :-(
# User willjust have to download p4 binary direct rom perforce.com
#Requires: perforce


%description
Test-AutoBuild is a Perl framework for performing continuous, unattended,
automated software builds

%description account
Test-AutoBuild is a Perl framework for performing continuous, unattended,
automated software builds.

This sub-package creates a 'builder' user account and the directory structure
in /var/lib/builder necessary for running a builder instance using the default
example configuration file.

%description cvs
Test-AutoBuild is a Perl framework for performing continuous, unattended,
automated software builds.

This sub-package provides the module for integrating with the CVS version
control system

%description mercurial
Test-AutoBuild is a Perl framework for performing continuous, unattended,
automated software builds.

This sub-package provides the module for integrating with the Mercurial 
version control system

%description subversion
Test-AutoBuild is a Perl framework for performing continuous, unattended,
automated software builds.

This sub-package provides the module for integrating with the Subversion 
version control system

%description tla
Test-AutoBuild is a Perl framework for performing continuous, unattended,
automated software builds.

This sub-package provides the module for integrating with the GNU Arch 
version control system

%description perforce
Test-AutoBuild is a Perl framework for performing continuous, unattended,
automated software builds.

This sub-package provides the module for integrating with the Perforce
version control system.

NB. this package requires that the 'p4' binary is provided in $PATH.

%description svk
Test-AutoBuild is a Perl framework for performing continuous, unattended,
automated software builds.

This sub-package provides the module for integrating with the SVK version
control system



%prep
%setup -q -n %{appname}-%{version}
%patch1 -p1

%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
%__make

%install
%__rm -rf $RPM_BUILD_ROOT

%__make install \
  PERL_INSTALL_ROOT=$RPM_BUILD_ROOT \
  sysconfdir=$RPM_BUILD_ROOT%{_sysconfdir} \
  INSTALLVENDORMAN5DIR=$RPM_BUILD_ROOT%{_mandir}/man5
find $RPM_BUILD_ROOT -name perllocal.pod -exec rm -f {} \;
find $RPM_BUILD_ROOT -name .packlist -exec rm -f {} \;
%__cp $RPM_BUILD_ROOT%{_sysconfdir}/auto-build.d/auto-build.conf $RPM_BUILD_ROOT%{_sysconfdir}/auto-build.d/auto-build.conf-example

# Create various bits wanted for the -account subRPM
$RPM_BUILD_ROOT%{_bindir}/auto-build-make-root $RPM_BUILD_ROOT%{_localstatedir}/lib/builder

echo "/1 :pserver:anonymous at cvs.gna.org:2401/cvs/testautobuild A" >> $RPM_BUILD_ROOT%{_localstatedir}/lib/builder/.cvspass
%__chmod 0600 $RPM_BUILD_ROOT%{_localstatedir}/lib/builder/.cvspass

echo "%%_topdir %{_localstatedir}/lib/builder/package-root/rpm" >> $RPM_BUILD_ROOT%{_localstatedir}/lib/builder/.rpmmacros

%check
make test

%clean
%__rm -rf $RPM_BUILD_ROOT

%pre account
%__id builder > /dev/null 2>&1
if [ $? == 0 ]; then
  # In case of upgrade from old version, relocate the home dir
  usermod -d %{_localstatedir}/lib/builder builder
else
  %__fe_groupadd 28 -r builder &>/dev/null || :
  %__fe_useradd  28 -r -s /sbin/nologin -d %{_localstatedir}/lib/builder -M          \
                    -c 'Test-AutoBuild build engine' -g builder builder &>/dev/null || :
fi

%postun account
%__fe_userdel builder &>/dev/null || :
%__fe_groupdel builder &>/dev/null || :

%files
%defattr(-,root,root)
%doc AUTHORS
%doc README
%doc COPYING
%doc CHANGES
%doc UPGRADING
%doc doc/*

# Man pages
%{_mandir}/man1/*
%{_mandir}/man3/*
%{_mandir}/man5/*

# Config
%dir %{_sysconfdir}/auto-build.d
%config(noreplace) %{_sysconfdir}/auto-build.d/auto-build.conf-example
%dir %{_sysconfdir}/auto-build.d/engine
%config(noreplace) %{_sysconfdir}/auto-build.d/engine/*.conf
%dir %{_sysconfdir}/auto-build.d/cron
%config(noreplace) %{_sysconfdir}/auto-build.d/cron/*.conf
%dir %{_sysconfdir}/auto-build.d/httpd
%config(noreplace) %{_sysconfdir}/auto-build.d/httpd/*.conf
%dir %{_sysconfdir}/auto-build.d/templates
%config(noreplace) %{_sysconfdir}/auto-build.d/templates/*

# Scripts & modules
%attr(0755,root,root) %{_bindir}/auto-build
%attr(0755,root,root) %{_bindir}/auto-build-make-root
%dir %{perl_vendorlib}/Test
%{perl_vendorlib}/Test/AutoBuild.pm
%dir %{perl_vendorlib}/Test/AutoBuild
%{perl_vendorlib}/Test/AutoBuild/*.pm
%dir %{perl_vendorlib}/Test/AutoBuild/Repository
%{perl_vendorlib}/Test/AutoBuild/Repository/Disk.pm
%dir %{perl_vendorlib}/Test/AutoBuild/Stage
%{perl_vendorlib}/Test/AutoBuild/Stage/*.pm
%dir %{perl_vendorlib}/Test/AutoBuild/Archive
%{perl_vendorlib}/Test/AutoBuild/Archive/*.pm
%dir %{perl_vendorlib}/Test/AutoBuild/ArchiveManager
%{perl_vendorlib}/Test/AutoBuild/ArchiveManager/*.pm
%dir %{perl_vendorlib}/Test/AutoBuild/Counter
%{perl_vendorlib}/Test/AutoBuild/Counter/*.pm
%dir %{perl_vendorlib}/Test/AutoBuild/Monitor
%{perl_vendorlib}/Test/AutoBuild/Monitor/*.pm
%dir %{perl_vendorlib}/Test/AutoBuild/Publisher
%{perl_vendorlib}/Test/AutoBuild/Publisher/*.pm

%files cvs
%defattr(-,root,root)
%doc README
%{perl_vendorlib}/Test/AutoBuild/Repository/CVS.pm

%files mercurial
%defattr(-,root,root)
%doc README
%{perl_vendorlib}/Test/AutoBuild/Repository/Mercurial.pm

%files subversion
%defattr(-,root,root)
%doc README
%{perl_vendorlib}/Test/AutoBuild/Repository/Subversion.pm

%files tla
%defattr(-,root,root)
%doc README
%{perl_vendorlib}/Test/AutoBuild/Repository/GNUArch.pm

%files svk
%defattr(-,root,root)
%doc README
%{perl_vendorlib}/Test/AutoBuild/Repository/SVK.pm

%files perforce
%defattr(-,root,root)
%doc README
%{perl_vendorlib}/Test/AutoBuild/Repository/Perforce.pm

%files account
%defattr(-,root,root)
%doc README
# Builder home
%config(noreplace) %{_sysconfdir}/auto-build.d/auto-build.conf
%dir %attr(-,builder,builder) %{_localstatedir}/lib/builder
%attr(-,builder,builder) %{_localstatedir}/lib/builder/*
%config(noreplace) %attr(-,builder,builder) %{_localstatedir}/lib/builder/.rpmmacros
%config(noreplace) %attr(-,builder,builder) %{_localstatedir}/lib/builder/.cvspass

%changelog
* Thu Sep 14 2006 Daniel berrange <dan at berrange.com> - 1.2.0-3
- Added <perlvendorlib>/Test directory to list of owned dirs

* Sun Sep 10 2006 Daniel Berrange <dan at berrange.com> - 1.2.0-2
- Use macros for all path prefixes
- Added buildrequires on Test::Pod and Test::Pod::Coverage
- Added docs/ dir to documentation files
- Use macros for all programs used in build/install where available
- Fixed buildroot to comply with Fedora standards
- Make use of fedora-usermgmt package for creating builder account
- Ensure main package owns all directories it creates in /etc/ & perl lib dir

* Sat Sep  2 2006 Daniel Berrange <dan at berrange.com> - 1.2.0-1
- Misc fixes to bring closer in line with Fedora Extras guidelines

* Thu Feb  2 2006 Daniel Berrange <dan at berrange.com> - 1.1.4-1
- Relocate from /var/builder to /var/lib/builder for FHS compliance

* Wed Dec 28 2005 Daniel Berrange <dan at berrange.com> - 1.1.3-1
- Modular RPM packaging for source repository plugins



Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/perl-Test-AutoBuild/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	14 Sep 2006 22:18:45 -0000	1.1
+++ .cvsignore	14 Sep 2006 22:19:25 -0000	1.2
@@ -0,0 +1 @@
+Test-AutoBuild-1.2.0.tar.gz


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/perl-Test-AutoBuild/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	14 Sep 2006 22:18:45 -0000	1.1
+++ sources	14 Sep 2006 22:19:25 -0000	1.2
@@ -0,0 +1 @@
+7c1d0e9aaa9f9b19b363f31963d5f240  Test-AutoBuild-1.2.0.tar.gz




More information about the fedora-extras-commits mailing list