Changeset 405


Ignore:
Timestamp:
11/15/11 09:54:40 (12 years ago)
Author:
nanardon
Message:
  • cleanup the mess between tools and bot
Files:
1 added
1 deleted
6 edited
3 moved

Legend:

Unmodified
Added
Removed
  • bot/trunk/Makefile.PL

    r378 r405  
    44# the contents of the Makefile that is written. 
    55WriteMakefile( 
    6     NAME              => 'Sophie::Tools', 
     6    NAME              => 'Sophie::Bot', 
    77    VERSION_FROM      => 'lib/Sophie/Bot.pm', # finds $VERSION 
    88    PREREQ_PM         => {}, # e.g., Module::Name => 1.1 
     
    1212    EXE_FILES => [ qw( 
    1313        bin/sophie-bot 
    14         bin/sophie-rpm 
    1514    ) ], 
    1615    macro => { 
     
    3433\tsvn log > ChangeLog 
    3534 
    36 sophie-tools.spec: sophie-tools.spec.in Makefile 
     35sophie-bot.spec: sophie-bot.spec.in Makefile 
    3736\tsed -e 's/\@VERSION@/\$(VERSION)/' < \$< > \$@ 
    3837 
    39 rpm: \$(DISTVNAME).tar.gz sophie-tools.spec 
     38rpm: \$(DISTVNAME).tar.gz sophie-bot.spec 
    4039\tmkdir ./noarch || : 
    4140\trpmbuild -ba --clean\\ 
     
    4443\t --define "_srcrpmdir \$(DESTRPMDIR)" \\ 
    4544\t --define "_rpmdir \$(DESTRPMDIR)" \\ 
    46 \t sophie-tools.spec 
     45\t sophie-bot.spec 
    4746 
    48 svnrpm: \$(DISTVNAME).tar.gz sophie-tools.spec 
     47svnrpm: \$(DISTVNAME).tar.gz sophie-bot.spec 
    4948\tmkdir \$(DESTRPMDIR)/noarch || : 
    5049\trpmbuild -ba --clean\\ 
     
    5453\t --define "_rpmdir \$(DESTRPMDIR)" \\ 
    5554\t --define "svnrelease `LC_ALL=C svn info | grep '^Revision:' | sed 's/Revision: //'`" \\ 
    56 \t sophie-tools.spec 
     55\t sophie-bot.spec 
    5756 
    5857EOF 
  • bot/trunk/sophie-bot.spec.in

    r404 r405  
    11# $Id$ 
    22 
    3 %define realname   Sophie-Tools 
     3%define realname   Sophie-Bot 
    44%define version    @VERSION@ 
    55%define release    %mkrel %{?svnrelease:0.%{svnrelease}}%{?!svnrelease:1} 
    66 
    7 Name:       sophie-tools 
     7Name:       sophie-bot 
    88Version:    %{version} 
    99Release:    %{release} 
  • tools/trunk/MANIFEST

    r312 r405  
    44README 
    55bin/sophie-rpm 
     6bin/sophie-rpm2 
    67lib/Sophie/Client.pm 
    78lib/Sophie/Client/Transaction.pm 
  • tools/trunk/Makefile.PL

    r301 r405  
    44# the contents of the Makefile that is written. 
    55WriteMakefile( 
    6     NAME              => 'Sophie-tools', 
     6    NAME              => 'Sophie::Tools', 
    77    VERSION_FROM      => 'lib/Sophie/Client.pm', # finds $VERSION 
    88    PREREQ_PM         => {}, # e.g., Module::Name => 1.1 
    99    ($] >= 5.005 ?     ## Add these new keywords supported since 5.005 
    10       (AUTHOR         => 'Olivier Thauvin <nanardon@nanardon.zarb.org>') : ()), 
     10      (ABSTRACT_FROM  => 'lib/Sophie/Client.pm', # retrieve abstract from module 
     11       AUTHOR         => 'Olivier Thauvin <nanardon@nanardon.zarb.org>') : ()), 
    1112    EXE_FILES => [ qw( 
    1213        bin/sophie-rpm 
    13         )], 
     14        bin/sophie-rpm2 
     15    ) ], 
     16    macro => { 
     17        INSTALLMAN5DIR      => '$(PERLPREFIX)/share/man/man5', 
     18        DESTINSTALLMAN5DIR  => '$(DESTDIR)$(INSTALLMAN5DIR)', 
     19        INST_MAN5DIR        => 'blib/man5', 
     20        DESTRPMDIR          => '$(shell pwd)' 
     21    }, 
    1422); 
     23 
     24package MY; 
     25 
     26sub postamble { 
     27    <<EOF; 
     28#.PHONY .= svnmanifest 
     29 
     30svnmanifest: 
     31\tsvn ls -R| grep -v "/\$\$"  > MANIFEST 
     32 
     33ChangeLog: 
     34\tsvn log > ChangeLog 
     35 
     36sophie-tools.spec: sophie-tools.spec.in Makefile 
     37\tsed -e 's/\@VERSION@/\$(VERSION)/' < \$< > \$@ 
     38 
     39rpm: \$(DISTVNAME).tar.gz sophie-tools.spec 
     40\tmkdir ./noarch || : 
     41\trpmbuild -ba --clean\\ 
     42\t --define "_sourcedir `pwd`" \\ 
     43\t --define "_specdir `pwd`" \\ 
     44\t --define "_srcrpmdir \$(DESTRPMDIR)" \\ 
     45\t --define "_rpmdir \$(DESTRPMDIR)" \\ 
     46\t sophie-tools.spec 
     47 
     48svnrpm: \$(DISTVNAME).tar.gz sophie-tools.spec 
     49\tmkdir \$(DESTRPMDIR)/noarch || : 
     50\trpmbuild -ba --clean\\ 
     51\t --define "_sourcedir `pwd`" \\ 
     52\t --define "_specdir `pwd`" \\ 
     53\t --define "_srcrpmdir \$(DESTRPMDIR)" \\ 
     54\t --define "_rpmdir \$(DESTRPMDIR)" \\ 
     55\t --define "svnrelease `LC_ALL=C svn info | grep '^Revision:' | sed 's/Revision: //'`" \\ 
     56\t sophie-tools.spec 
     57 
     58EOF 
     59} 
     60 
     61sub installbin { 
     62    my $self = shift; 
     63    my $inherited = $self->SUPER::installbin(@_); 
     64    $inherited; 
     65} 
     66 
     67sub top_targets { 
     68    my $inherited = shift->SUPER::top_targets(@_); 
     69    $inherited; 
     70} 
     71 
     72sub install { 
     73    my ($self) = @_; 
     74    my $section = $self->SUPER::install(); 
     75 
     76    $section =~ s/(^install ::.*)/$1 install_config install_templates/m; 
     77 
     78    $section .= q[ 
     79install_config :: 
     80 
     81install_templates :: 
     82]; 
     83   
     84    return $section; 
     85} 
  • tools/trunk/bin/sophie-rpm

    r312 r405  
    142142} 
    143143 
    144 my $res = $ts->run; 
     144my $res = $ts->run( 
     145    verbose => $verbose, 
     146); 
    145147$ts->summary if (@ARGV > 1); 
    146148print "\nThis transaction would failed\n" if(!$res); 
  • tools/trunk/lib/Sophie/Client.pm

    r312 r405  
    5757} 
    5858 
     59sub pkgid_to_filename { 
     60    my ($self, $pkgid) = @_; 
     61 
     62    my $res = $self->send_request('rpms.basicinfo', $pkgid); 
     63    if (ref $res && !$res->is_fault) { 
     64        return $res->value->{filename}; 
     65    } else { 
     66        die "XML RPC error"; 
     67    } 
     68} 
     69 
    5970sub ts { 
    6071    my ($self, $distrib) = @_; 
  • tools/trunk/lib/Sophie/Client/Transaction.pm

    r313 r405  
    105105        foreach($res->value->{pool}) { 
    106106        } 
     107    } else { 
     108        die( ref $res ? $res->string : $res); 
    107109    } 
    108110} 
     
    119121        foreach(@{ $res->value->{pkg} || []}) { 
    120122            $self->{removed}{pkg}{$_} = 1; 
     123        } 
     124        foreach(@{ $res->value->{pool} || []}) { 
     125            $self->{removed}{pool}{$_} = 1; 
     126        } 
     127    } 
     128} 
     129 
     130sub find_obsoletes { 
     131    my ($self, $rpmid, %options) = @_; 
     132    my $res = $self->client->send_request( 
     133        'analysis.find_obsoletes', 
     134        $self->distrib, 
     135        $rpmid, 
     136        $self->rpmid 
     137    ); 
     138    if (ref $res && !$res->is_fault) { 
     139        foreach(@{ $res->value->{pkg} || []}) { 
     140            if ($options{verbose}) { 
     141                warn sprintf("%s obsolete %s\n", 
     142                    $self->{rpms}{$rpmid}, 
     143                    $self->show_pkg($_) 
     144                ); 
     145            } 
     146                 
     147            $self->{removed}{pkg}{$_} = 1; 
     148        } 
     149        foreach(@{ $res->value->{pool} || []}) { 
     150            $self->{removed}{pool}{$_} = 1; 
     151        } 
     152    } 
     153} 
     154 
     155sub find_updates { 
     156    my ($self, $rpmid, %options) = @_; 
     157    my $res = $self->client->send_request( 
     158        'analysis.find_updates', 
     159        $self->distrib, 
     160        $rpmid, 
     161        $self->rpmid 
     162    ); 
     163    if (ref $res && !$res->is_fault) { 
     164        foreach(@{ $res->value->{pkg} || []}) { 
     165            $self->{removed}{pkg}{$_} = 1; 
     166            if ($options{verbose}) { 
     167                warn sprintf("%s update %s\n", 
     168                    $self->{rpms}{$rpmid}, 
     169                    $self->show_pkg($_) 
     170                ); 
     171            } 
    121172        } 
    122173        foreach(@{ $res->value->{pool} || []}) { 
     
    235286    my ($self, %options) = @_; 
    236287 
     288    warn "Finding package to remove\n"; 
     289    foreach ($self->rpmid) { 
     290        $self->find_updates($_, %options); 
     291        $self->find_obsoletes($_, %options); 
     292    } 
     293 
    237294    warn "Checking rpm are not obsoleted\n"; 
    238295    foreach ($self->rpmid) { 
  • tools/trunk/sophie-tools.spec.in

    r404 r405  
    1 %define realname   Sophie-tools 
    2 %define version    0.01 
    3 %define release    %mkrel 1 
     1# $Id: sophie-tools.spec.in 400 2011-11-11 17:11:23Z nanardon $ 
    42 
    5 Name:       Sophie-tools 
     3%define realname   Sophie-Tools 
     4%define version    @VERSION@ 
     5%define release    %mkrel %{?svnrelease:0.%{svnrelease}}%{?!svnrelease:1} 
     6 
     7Name:       sophie-tools 
    68Version:    %{version} 
    79Release:    %{release} 
    810License:    GPL or Artistic 
    911Group:      Development/Perl 
    10 Summary:    Sophie Tools 
     12Summary:    Sophie's tools 
    1113Source:     %{realname}-%{version}.tar.gz 
    12 Url:        http://sophie.zarb.org/ 
     14Url:        http://search.cpan.org/dist/%{realname} 
    1315BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-buildroot 
    1416BuildArch:  noarch 
     17BuildRequires: perl(RPC::XML) 
    1518 
    16 BuildRequires: perl(RPC::XML::Client) 
     19Requires: perl-Term-ReadLine-Gnu 
     20Requires: perl(Config::General) 
     21Requires: perl(POE::Component::IRC) 
    1722 
    1823%description 
    19 Tools to query and check rpms using Sophie's website. 
     24Command line tools to query Sophie website (http://sophie.zarb.org/) 
    2025 
    2126%prep 
     
    3338%makeinstall_std 
    3439 
    35  
    3640%clean 
    3741rm -rf %buildroot 
     
    4145%doc Changes README 
    4246%_bindir/* 
    43 %{_mandir}/man1/* 
    44 %{_mandir}/man3/* 
     47%{_mandir}/*/* 
    4548%perl_vendorlib/* 
    4649 
Note: See TracChangeset for help on using the changeset viewer.