Accepting request 624687 from system:install:head
OBS-URL: https://build.opensuse.org/request/show/624687 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/patterns-devel-base?expand=0&rev=5
This commit is contained in:
commit
36ad072b47
173
create_32bit-patterns_file.pl
Normal file
173
create_32bit-patterns_file.pl
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
my $verbose = 0;
|
||||||
|
my $pat_ext = "32bit";
|
||||||
|
my $product = "";
|
||||||
|
my @skip_pat = ();
|
||||||
|
|
||||||
|
sub get_file {
|
||||||
|
my $file_to_get = shift;
|
||||||
|
my $content = "";
|
||||||
|
|
||||||
|
open FILE, "<$file_to_get" or return "\n";
|
||||||
|
while (defined (my $line = <FILE>)) {
|
||||||
|
next if ($line =~ m/^#/);
|
||||||
|
$content .= $line;
|
||||||
|
}
|
||||||
|
close FILE;
|
||||||
|
return $content;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub print_usage {
|
||||||
|
print "$0 [-v] [-h]\n";
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub print_debug {
|
||||||
|
my ($txt, $lvl) = @_;
|
||||||
|
print (STDERR "DBG: ${txt}\n") if($verbose >= $lvl);
|
||||||
|
}
|
||||||
|
|
||||||
|
sub parse_line {
|
||||||
|
my $to_parse = shift;
|
||||||
|
my $tmp = "";
|
||||||
|
if ($to_parse =~ /%include/) {
|
||||||
|
# TBD
|
||||||
|
print "%include at unexpected position, exiting\n";
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
if ($to_parse =~ /Summary:/) {
|
||||||
|
return "$to_parse\n";
|
||||||
|
}
|
||||||
|
# XXX simplify me
|
||||||
|
if ($to_parse =~ /Recommends:\s*([^\s]*)\s*/) {
|
||||||
|
$tmp = "$1";
|
||||||
|
return "" if ($tmp =~ m/.*-64bit\s*$/);
|
||||||
|
$tmp = "${tmp}-32bit" if($tmp !~ m/.*-32bit/);
|
||||||
|
return "Recommends: ${tmp}\n";
|
||||||
|
}
|
||||||
|
if ($to_parse =~ /Requires:\s*([^\s]*)\s*/) {
|
||||||
|
$tmp = "$1";
|
||||||
|
return "" if ($tmp =~ m/pattern()/);
|
||||||
|
return "" if ($tmp =~ m/.*-64bit\s*$/);
|
||||||
|
$tmp = "${tmp}-32bit" if($tmp !~ m/.*-32bit/);
|
||||||
|
return "Recommends: ${tmp}\n";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
sub parse_main_file {
|
||||||
|
my $main_file = shift;
|
||||||
|
my $spec_file = "";
|
||||||
|
my $cur_pattern = "";
|
||||||
|
my $skip_it = 1;
|
||||||
|
my %skip_pat_hash;
|
||||||
|
if(! open (MAIN_FILE, "<$main_file")) {
|
||||||
|
print STDERR "${main_file} not found, exiting\n";
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
while (defined (my $line = <MAIN_FILE>)) {
|
||||||
|
chomp($line);
|
||||||
|
next if ($line =~ m/^#/);
|
||||||
|
if ($line =~ m/\%package/) {
|
||||||
|
if(($line =~ m/32bit/) or
|
||||||
|
($line =~ m/64bit/)
|
||||||
|
) {
|
||||||
|
$skip_it = 1;
|
||||||
|
} else {
|
||||||
|
%skip_pat_hash = map { $_ => 1 } @skip_pat;
|
||||||
|
if($skip_it==0&&!exists($skip_pat_hash{$cur_pattern})) {
|
||||||
|
$spec_file .= ""
|
||||||
|
."Provides: pattern() = ${cur_pattern}-32bit\n"
|
||||||
|
."Group: Metapackages\n"
|
||||||
|
."Supplements: packageand(patterns-${pat_ext}:patterns-${cur_pattern})\n"
|
||||||
|
."\n"
|
||||||
|
."%files ${cur_pattern}-32bit\n"
|
||||||
|
."%defattr(-,root,root)\n"
|
||||||
|
."%dir /usr/share/doc/packages/patterns\n"
|
||||||
|
."/usr/share/doc/packages/patterns/${cur_pattern}-${pat_ext}.txt\n"
|
||||||
|
."\n"
|
||||||
|
."%description ${cur_pattern}-${pat_ext}\n"
|
||||||
|
."The ${pat_ext} pattern complementing ${cur_pattern}.\n"
|
||||||
|
."#\n"
|
||||||
|
."#-------------------------------------------------------------------\n"
|
||||||
|
."#\n";
|
||||||
|
}
|
||||||
|
$skip_it = 0 ;
|
||||||
|
$line =~ m/package\s*([^\s]*)\s*/;
|
||||||
|
$cur_pattern = $1;
|
||||||
|
if (!exists($skip_pat_hash{$cur_pattern})) {
|
||||||
|
$spec_file .= "%package ${cur_pattern}-32bit\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
next if($skip_it == 1 );
|
||||||
|
if ($line =~ /%include/) {
|
||||||
|
my $file_to_check = ($line =~ m/%include.*?([^\/\s]*)$/)[0]; # beware the non-greedy '?'
|
||||||
|
next if($file_to_check =~ m/32bit/);
|
||||||
|
if( open TMP_FILE, "<$file_to_check") {
|
||||||
|
print_debug(" Checking INCLUDE: $file_to_check", 2);
|
||||||
|
while (defined (my $include_line = <TMP_FILE>)) {
|
||||||
|
if (!exists($skip_pat_hash{$cur_pattern})) {
|
||||||
|
$spec_file .= parse_line($include_line);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close TMP_FILE;
|
||||||
|
}
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
if (!exists($skip_pat_hash{$cur_pattern})) {
|
||||||
|
$spec_file .= parse_line($line);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
%skip_pat_hash = map { $_ => 1 } @skip_pat;
|
||||||
|
if (!exists($skip_pat_hash{$cur_pattern})) {
|
||||||
|
# I hate this, but need a fast workaround
|
||||||
|
$spec_file .= "Provides: pattern-invisible()\n"
|
||||||
|
."Provides: pattern() = ${cur_pattern}-${pat_ext}\n"
|
||||||
|
."Group: Metapackages\n"
|
||||||
|
."Supplements: packageand(patterns-${pat_ext}:patterns-${cur_pattern})\n"
|
||||||
|
."\n"
|
||||||
|
."%files ${cur_pattern}-32bit\n"
|
||||||
|
."%defattr(-,root,root)\n"
|
||||||
|
."%dir /usr/share/doc/packages/patterns\n"
|
||||||
|
."/usr/share/doc/packages/patterns/${cur_pattern}-${pat_ext}.txt\n"
|
||||||
|
."\n"
|
||||||
|
."%description ${cur_pattern}-${pat_ext}\n"
|
||||||
|
."The ${pat_ext} pattern complementing ${cur_pattern}.\n"
|
||||||
|
."\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
close MAIN_FILE;
|
||||||
|
|
||||||
|
my $new_file = $spec_file;
|
||||||
|
|
||||||
|
return $new_file;
|
||||||
|
}
|
||||||
|
|
||||||
|
while ($ARGV[0] && $ARGV[0] =~ /^-/) {
|
||||||
|
my $arg = shift;
|
||||||
|
if ($arg =~ /-v/) {
|
||||||
|
$verbose += 1;
|
||||||
|
} elsif($arg =~ /-h/) {
|
||||||
|
print_usage();
|
||||||
|
exit();
|
||||||
|
} elsif($arg =~ /-p/) {
|
||||||
|
$product=shift;
|
||||||
|
} elsif($arg =~ /-e/) {
|
||||||
|
$pat_ext=shift;
|
||||||
|
} elsif($arg =~ /-s/) {
|
||||||
|
push @skip_pat, shift;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
print_debug("product = ${product}\n pat_ext=${pat_ext}\n", 1);
|
||||||
|
my $result = parse_main_file("patterns-${product}.spec");
|
||||||
|
print "${result}\n";
|
||||||
|
exit 0;
|
||||||
|
|
81
pattern-definition-32bit.txt
Normal file
81
pattern-definition-32bit.txt
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
%package devel_basis-32bit
|
||||||
|
Summary: Base Development
|
||||||
|
Recommends: autoconf-32bit
|
||||||
|
Recommends: automake-32bit
|
||||||
|
Recommends: binutils-32bit
|
||||||
|
Recommends: bison-32bit
|
||||||
|
Recommends: cpp-32bit
|
||||||
|
Recommends: flex-32bit
|
||||||
|
Recommends: gcc-32bit
|
||||||
|
Recommends: gdbm-devel-32bit
|
||||||
|
Recommends: gettext-tools-32bit
|
||||||
|
Recommends: glibc-devel-32bit
|
||||||
|
Recommends: libtool-32bit
|
||||||
|
Recommends: m4-32bit
|
||||||
|
Recommends: make-32bit
|
||||||
|
Recommends: makeinfo-32bit
|
||||||
|
Recommends: ncurses-devel-32bit
|
||||||
|
Recommends: patch-32bit
|
||||||
|
Recommends: zlib-devel-32bit
|
||||||
|
Recommends: bin86-32bit
|
||||||
|
Recommends: db-devel-32bit
|
||||||
|
Recommends: gcc-c++-32bit
|
||||||
|
Recommends: gcc-info-32bit
|
||||||
|
Recommends: git-32bit
|
||||||
|
Recommends: glibc-info-32bit
|
||||||
|
Recommends: gmp-devel-32bit
|
||||||
|
Recommends: gperf-32bit
|
||||||
|
Recommends: libaio-devel-32bit
|
||||||
|
Recommends: libgcj-devel-32bit
|
||||||
|
Recommends: libstdc++-devel-32bit
|
||||||
|
Recommends: openldap2-devel-32bit
|
||||||
|
Recommends: pam-devel-32bit
|
||||||
|
Recommends: pkg-config-32bit
|
||||||
|
Recommends: subversion-32bit
|
||||||
|
Recommends: fdupes-32bit
|
||||||
|
Recommends: patch-32bit
|
||||||
|
Recommends: binutils-devel-32bit
|
||||||
|
Recommends: e2fsprogs-devel-32bit
|
||||||
|
Recommends: libapparmor-devel-32bit
|
||||||
|
Recommends: libosip2-devel-32bit
|
||||||
|
Provides: pattern() = devel_basis-32bit
|
||||||
|
Group: Metapackages
|
||||||
|
Supplements: packageand(patterns-32bit:patterns-devel_basis)
|
||||||
|
|
||||||
|
%files devel_basis-32bit
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%dir /usr/share/doc/packages/patterns
|
||||||
|
/usr/share/doc/packages/patterns/devel_basis-32bit.txt
|
||||||
|
|
||||||
|
%description devel_basis-32bit
|
||||||
|
The 32bit pattern complementing devel_basis.
|
||||||
|
#
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
%package devel_kernel-32bit
|
||||||
|
Summary: Linux Kernel Development
|
||||||
|
Recommends: kernel-source-32bit
|
||||||
|
Recommends: ctags-32bit
|
||||||
|
Recommends: diffstat-32bit
|
||||||
|
Recommends: git-core-32bit
|
||||||
|
Recommends: indent-32bit
|
||||||
|
Recommends: patchutils-32bit
|
||||||
|
Recommends: quilt-32bit
|
||||||
|
Recommends: gitk-32bit
|
||||||
|
Recommends: git-email-32bit
|
||||||
|
Recommends: kernel-syms-32bit
|
||||||
|
Provides: pattern() = devel_kernel-32bit
|
||||||
|
Group: Metapackages
|
||||||
|
Supplements: packageand(patterns-32bit:patterns-devel_kernel)
|
||||||
|
|
||||||
|
%files devel_kernel-32bit
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%dir /usr/share/doc/packages/patterns
|
||||||
|
/usr/share/doc/packages/patterns/devel_kernel-32bit.txt
|
||||||
|
|
||||||
|
%description devel_kernel-32bit
|
||||||
|
The 32bit pattern complementing devel_kernel.
|
||||||
|
#
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
@ -1,7 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 11 11:25:36 UTC 2017 - simonf.lees@suse.com
|
||||||
|
|
||||||
|
- correctly source the files for 32bit patterns
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 4 09:38:25 UTC 2017 - sflees@suse.de
|
||||||
|
|
||||||
|
- obsolete old SLES/SLED development patterns (bsc#1070151)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Sep 21 10:52:11 UTC 2017 - sflees@suse.de
|
Thu Sep 21 10:52:11 UTC 2017 - sflees@suse.de
|
||||||
|
|
||||||
- Swap web pattern from php5 to php7
|
- Swap web pattern from php5 to php7
|
||||||
|
- Add 32bit patterns
|
||||||
|
- Only build certain patterns for openSUSE
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jul 17 06:32:17 UTC 2017 - sflees@suse.de
|
Mon Jul 17 06:32:17 UTC 2017 - sflees@suse.de
|
||||||
|
@ -26,6 +26,8 @@ License: MIT
|
|||||||
Group: Metapackages
|
Group: Metapackages
|
||||||
Url: https://github.com/openSUSE/patterns
|
Url: https://github.com/openSUSE/patterns
|
||||||
Source0: %{name}-rpmlintrc
|
Source0: %{name}-rpmlintrc
|
||||||
|
Source1: pattern-definition-32bit.txt
|
||||||
|
Source2: create_32bit-patterns_file.pl
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
BuildRequires: patterns-rpm-macros
|
BuildRequires: patterns-rpm-macros
|
||||||
|
|
||||||
@ -48,6 +50,12 @@ Provides: pattern() = devel_basis
|
|||||||
Provides: pattern-icon() = pattern-basis-devel
|
Provides: pattern-icon() = pattern-basis-devel
|
||||||
Provides: pattern-order() = 3140
|
Provides: pattern-order() = 3140
|
||||||
Provides: pattern-visible()
|
Provides: pattern-visible()
|
||||||
|
%if ! 0%{?is_opensuse}
|
||||||
|
Provides: patterns-sles-Basis-Devel = %{version}
|
||||||
|
Provides: patterns-sled-Basis-Devel = %{version}
|
||||||
|
Obsoletes: patterns-sles-Basis-Devel < %{version}
|
||||||
|
Obsoletes: patterns-sled-Basis-Devel < %{version}
|
||||||
|
%endif
|
||||||
Requires: pattern() = basesystem
|
Requires: pattern() = basesystem
|
||||||
|
|
||||||
Requires: autoconf
|
Requires: autoconf
|
||||||
@ -150,6 +158,7 @@ Tools for Linux kernel development.
|
|||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
%if 0%{?is_opensuse}
|
||||||
%package devel_rpm_build
|
%package devel_rpm_build
|
||||||
%pattern_development
|
%pattern_development
|
||||||
Summary: RPM Build Environment
|
Summary: RPM Build Environment
|
||||||
@ -174,9 +183,11 @@ Minimal set of tools and libraries for building packages using the RPM package m
|
|||||||
%files devel_rpm_build
|
%files devel_rpm_build
|
||||||
%dir /usr/share/doc/packages/patterns
|
%dir /usr/share/doc/packages/patterns
|
||||||
/usr/share/doc/packages/patterns/devel_rpm_build.txt
|
/usr/share/doc/packages/patterns/devel_rpm_build.txt
|
||||||
|
%endif
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
%if 0%{?is_opensuse}
|
||||||
%package devel_web
|
%package devel_web
|
||||||
%pattern_development
|
%pattern_development
|
||||||
Summary: Web Development
|
Summary: Web Development
|
||||||
@ -259,6 +270,7 @@ Tools and libraries for Web application development.
|
|||||||
%files devel_web
|
%files devel_web
|
||||||
%dir /usr/share/doc/packages/patterns
|
%dir /usr/share/doc/packages/patterns
|
||||||
/usr/share/doc/packages/patterns/devel_web.txt
|
/usr/share/doc/packages/patterns/devel_web.txt
|
||||||
|
%endif
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
@ -268,7 +280,23 @@ Tools and libraries for Web application development.
|
|||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p "%{buildroot}/usr/share/doc/packages/patterns"
|
mkdir -p "%{buildroot}/usr/share/doc/packages/patterns"
|
||||||
for i in devel_basis devel_kernel devel_rpm_build devel_web; do
|
%if 0%{?is_opensuse}
|
||||||
|
for i in devel_rpm_build devel_web; do
|
||||||
echo "This file marks the pattern $i to be installed." \
|
echo "This file marks the pattern $i to be installed." \
|
||||||
>"%{buildroot}/usr/share/doc/packages/patterns/$i.txt"
|
>"%{buildroot}/usr/share/doc/packages/patterns/$i.txt"
|
||||||
done
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
|
for i in devel_basis devel_kernel; do
|
||||||
|
echo "This file marks the pattern $i to be installed." \
|
||||||
|
>"%{buildroot}/usr/share/doc/packages/patterns/$i.txt"
|
||||||
|
echo "This file marks the pattern $i-32bit to be installed." \
|
||||||
|
>"%{buildroot}/usr/share/doc/packages/patterns/$i-32bit.txt"
|
||||||
|
done
|
||||||
|
|
||||||
|
#
|
||||||
|
# This file is created at check-in time. Sorry for the inconsistent workflow :(
|
||||||
|
#
|
||||||
|
%include %{SOURCE1}
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
4
pre_checkin.sh
Normal file
4
pre_checkin.sh
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
./create_32bit-patterns_file.pl -p devel-base -s devel_rpm_build -s devel_web > pattern-definition-32bit.txt
|
||||||
|
|
Loading…
Reference in New Issue
Block a user