rpm-spec-builddeps revision 3ce85a5f5264e7118beb6524e120fd8b53a13da4
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#!/usr/bin/env python
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
9ffbbce6a624b6051b3d001edcbad1e02c69bd45Andreas Gustafsson# Extract build dependencies from an RPM .spec file.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews#
9ffbbce6a624b6051b3d001edcbad1e02c69bd45Andreas Gustafsson# Copyright (C) 2014 Red Hat
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# This program is free software; you can redistribute it and/or modify
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# it under the terms of the GNU General Public License as published by
9ffbbce6a624b6051b3d001edcbad1e02c69bd45Andreas Gustafsson# the Free Software Foundation; either version 3 of the License, or
19c7b1a0293498a3e36692c59646ed6e15ffc8d0Tinderbox User# (at your option) any later version.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# This program is distributed in the hope that it will be useful,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# but WITHOUT ANY WARRANTY; without even the implied warranty of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# GNU General Public License for more details.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# You should have received a copy of the GNU General Public License
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# along with this program. If not, see <http://www.gnu.org/licenses/>.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinimport sys
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinimport re
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinimport rpm
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeindef usage(file):
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein file.write(("Usage: %s SPEC\n" +
9ffbbce6a624b6051b3d001edcbad1e02c69bd45Andreas Gustafsson "Extract build dependencies from an RPM .spec file.\n") %
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein re.match(".*?([^/]+)$", sys.argv[0]).group(1))
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeinif len(sys.argv) != 2:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein usage(sys.stderr)
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark Andrews sys.exit(1)
938440694b33cd752e9e4b71a526368b4811c177Tinderbox User
19c7b1a0293498a3e36692c59646ed6e15ffc8d0Tinderbox Userspec = rpm.spec(sys.argv[1])
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrewsfor d in rpm.ds(spec.sourceHeader, 'requires'):
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein print d.DNEVR()[2:]
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein