summaryrefslogtreecommitdiffstats
path: root/contrib/crossrpms/specstrip
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/crossrpms/specstrip')
-rwxr-xr-xcontrib/crossrpms/specstrip184
1 files changed, 0 insertions, 184 deletions
diff --git a/contrib/crossrpms/specstrip b/contrib/crossrpms/specstrip
deleted file mode 100755
index 8777d2acd7..0000000000
--- a/contrib/crossrpms/specstrip
+++ /dev/null
@@ -1,184 +0,0 @@
-#!/usr/bin/perl -w
-
-
-# Helper script to strip unused parts out of crossrpms's rpm.specs
-#
-# Usage: specstrip < infile > outfile
-
-
-# Copyright (C) 2005,2006 Ralf Corsépius, Ulm, Germany,
-#
-# 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.
-#
-# For a copy of the GNU General Public License, visit
-# http://www.gnu.org or write to the Free Software Foundation, Inc.,
-# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# $Id$
-
-use Getopt::Long;
-
-use strict;
-
-my $newlib = 0;
-my $infos = 0;
-my $prefix = '/usr';
-
-my $verbose = 0;
-my @languages = ();
-my %options = ();
-
-GetOptions(
- \%options,
- 'prefix=s' => \$prefix,
- 'enable-infos' => sub { $options{infos} = 1 },
- 'disable-infos' => sub { $options{infos} = 0 },
- 'newlib!',
- 'languages=s' => \@languages,
- 'verbose+' => \$verbose
-) or die( "failed to GetOptions" );
-
-if ( !defined($options{infos}) )
-{ # User did not override, use defaults
- if ( $prefix =~ m/^\/usr$/ ) {
- $infos = 0;
- } elsif ( $prefix =~ m/^\/usr\/local$/ ) {
- $infos = 0;
- } else {
- $infos = 1;
- }
-} else {
- $infos = int($options{infos});
-}
-
-if ( defined($options{newlib}) )
-{
- $newlib = $options{newlib};
-} else {
- $newlib = 0;
-}
-
-if ( $verbose ) {
- print STDERR "INFOS : $infos\n";
- print STDERR "PREFIX : $prefix\n";
-}
-
-my %langs;
-
-foreach ( split(/,/,join(',',@languages)) ){
- $langs{$_} = 1;
-}
-
-my @condstack ;
-my @actionstack ;
-
-push @condstack,'<>';
-
-my @npatterns = (
- "(\"%\{_prefix\}\" (!=|==) \"/usr\")",
-
- "(%build_cxx)",
- "(%build_gnat)",
- "(%build_objc)",
- "(%build_gcj)",
- "(%build_libgcj)",
- "(%build_f95)",
- "(%build_g77)",
- "(%build_newlib)",
- "(%build_infos)"
-);
-
-my @ppatterns = (
-);
-
-push @ppatterns, "(\"%\{_prefix\}\" " . (("$prefix" eq '/usr') ? '!=' : '==' ) . " \"/usr\")";
-
-push @ppatterns, "(%build_gnat " . ( ($langs{gnat}) ? "==" : "!=" ) . " 0)";
-push @ppatterns, "(%build_cxx " . ( ($langs{cxx}) ? "==" : "!=" ) . " 0)";
-push @ppatterns, "(%build_objc " . ( ($langs{objc}) ? "==" : "!=" ) . " 0)";
-push @ppatterns, "(%build_gcj " . ( ($langs{gcj}) ? "==" : "!=" ) . " 0)";
-push @ppatterns, "(%build_libgcj " . ( ($langs{libgcj}) ? "==" : "!=" ) . " 0)";
-push @ppatterns, "(%build_f95 " . ( ($langs{f95}) ? "==" : "!=" ) . " 0)";
-push @ppatterns, "(%build_g77 " . ( ($langs{g77}) ? "==" : "!=" ) . " 0)";
-
-push @ppatterns, "(%build_newlib " . ( ($newlib) ? "==" : "!=" ) . " 0)";
-push @ppatterns, "(%build_infos " . ( ($infos) ? "==" : "!=" ) . " 0)";
-
-my $npat = join('|',@npatterns);
-my $ppat = join('|',@ppatterns);
-
-if ( $verbose > 1 ) {
- print STDERR "PPAT: ", $ppat, "\n";
- print STDERR "NPAT: ", $npat, "\n";
-}
-
-my @buffer0 = <> ;
-
-my $buffer1 = join( '', @buffer0 );
-
-foreach (split /\n/, $buffer1)
-{
-# print STDERR ">$_<\n";
-}
-
-my @buffer2 ;
-foreach (split /\n/, $buffer1)
-{
- if ( /^%if(os|)\s+(.*)$/ )
- {
- push @condstack,"<$2>";
- if ( $condstack[$#condstack] =~ m/$npat/ ) {
- # transform unary conditionals into binary conditionals
- if ( $condstack[$#condstack] =~/.*<(%[a-zA-Z_0-9]+)>.*/ ) {
- $condstack[$#condstack] = "<$1 != 0>";
- }
- } else {
- push @buffer2, { state => join('',@condstack), line => "$_" };
- }
- } elsif ( /^%else.*$/ )
- {
- my %ops = (
- "!=" => "==",
- "==" => "!="
- );
-
- if ( $condstack[$#condstack] =~/.*<(.*) (!=|==) (.*)>.*/ ) {
- $condstack[$#condstack] = "<$1 " . $ops{$2} . " $3>";
- if ( $condstack[$#condstack] =~ m/$npat/ ) {
- } else {
- push @buffer2, { state => join('',@condstack), line => "$_" };
- }
- } else {
- push @buffer2, { state => join('',@condstack), line => "$_" };
- }
- } elsif ( /^%endif.*$/ )
- {
- if ( $condstack[$#condstack] =~ m/$npat/ ) {
- } else {
- push @buffer2, { state => join('',@condstack), line => "$_" };
- }
- pop @condstack;
- } else {
- push @buffer2, { state => join('',@condstack), line => "$_" };
- }
-}
-
-my @buffer3;
-foreach my $i ( @buffer2 )
-{
-# print STDERR $i->{state}, $i->{line}, "\n";
- if ( $i->{state} =~ m/($ppat)/ ) {
- } else {
- push @buffer3, $i->{line}, "\n"
- }
-}
-
-print STDOUT @buffer3;