From 9e2966a33f9148fdc8ef81783bab1fe18e87bd34 Mon Sep 17 00:00:00 2001 From: nanardon Date: Tue, 4 Oct 2005 04:08:46 +0000 Subject: - move to trunk git-svn-id: svn+ssh://haiku.zarb.org/home/projects/rpm4/svn/trunk@36 971eb68f-4bfb-0310-8326-d2484c010a4c --- RPM4/bin/rpm_produced | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100755 RPM4/bin/rpm_produced (limited to 'RPM4/bin/rpm_produced') diff --git a/RPM4/bin/rpm_produced b/RPM4/bin/rpm_produced new file mode 100755 index 0000000..e9fe67b --- /dev/null +++ b/RPM4/bin/rpm_produced @@ -0,0 +1,77 @@ +#!/usr/bin/perl + +##- Nanar +##- +##- 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, 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$ + +use strict; +use warnings; +use RPM4; +use Getopt::Long; + +my ($showsrc, $tmp, @macros) = (1, $ENV{TMP} || '/tmp'); + +GetOptions( + 'define=s' => \@macros, + 'src!' => \$showsrc, +); + +(@ARGV) or die +"$0 file1 [file2 [...]] +Give rpms filename produce by a specfile or a src.rpm + +Options: + --define \"macro value\" define a macro into rpm land + --no-src do not show the src.rpm +"; + +Hdlist::add_macro("_sourcedir $tmp"); +Hdlist::add_macro("_specdir $tmp"); + +sub set_config { + Hdlist::readconfig(); + foreach (@macros) { + Hdlist::add_macro($_); + } +} + +sub specquery { + my ($spec) = @_; + $showsrc and print $spec->srcrpm ."\n"; + foreach my $bin ($spec->binrpm) { + print "$bin\n"; + } +} + +foreach my $file (@ARGV) { + set_config(); + $file =~ m/\.src\.rpm$/ and do { + if(my ($specfile) = Hdlist::installsrpm($file)) { + if (my $spec = Hdlist::specnew($specfile, undef, undef, undef, 1, 1)) { + specquery($spec); + $spec->build([qw(RMSOURCE RMSPEC)]); + } + } + next; + }; + $file =~ m/\.spec$/ and do { + if (my $spec = Hdlist::specnew($file, undef, undef, undef, 1, 1)) { + specquery($spec); + } + next; + } +} -- cgit v1.2.1