Sync from SUSE:SLFO:Main patterns-devel-base revision 93db689bbae79be74fe67daa24eed7db

This commit is contained in:
2025-03-10 12:45:03 +01:00
commit e549af3ca0
7 changed files with 696 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@@ -0,0 +1,172 @@
#!/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}%2d32bit\n"
."Group: Metapackages\n"
."Supplements: packageand(patterns-${product}-${pat_ext}:patterns-${product}-${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}%2d${pat_ext}\n"
."Group: Metapackages\n"
."Supplements: packageand(patterns-${product}-${pat_ext}:patterns-${product}-${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;

View 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%2d32bit
Group: Metapackages
Supplements: packageand(patterns-devel-base-32bit:patterns-devel-base-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%2d32bit
Group: Metapackages
Supplements: packageand(patterns-devel-base-32bit:patterns-devel-base-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.
#
#-------------------------------------------------------------------
#

View File

@@ -0,0 +1,3 @@
addFilter("W: no-binary");

View File

@@ -0,0 +1,94 @@
-------------------------------------------------------------------
Fri Mar 7 13:46:02 UTC 2025 - Frederic Crozat <fcrozat@suse.com>
- Adapt patterns for SLES 16.
-------------------------------------------------------------------
Fri Aug 18 08:07:40 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Require awk by devel_basis: the usage of awk inside
configure.ac/Makefile.am is quite common and we should provide
this basic tool together with autoconf/automake (boo#1214365).
-------------------------------------------------------------------
Wed Nov 30 13:59:27 UTC 2022 - Dominique Leuenberger <dimstar@opensuse.org>
- Do not recommend gitk: this seems to be one of the most aged
versions of git frontends (using Tcl/Tk).
-------------------------------------------------------------------
Wed Nov 30 12:17:59 UTC 2022 - pgajdos@suse.com
- suggests php8 instead of php7
-------------------------------------------------------------------
Thu Feb 24 04:02:56 UTC 2022 - Simon Lees <sflees@suse.de>
- The "devel_kernel" pattern is missing packages which are required
to compile a regular SUSE kernel (bsc#1147177)
- openssl-devel
- libelf-devel
- bc
-------------------------------------------------------------------
Tue Jan 26 12:14:19 UTC 2021 - Felix Niederwanger <felix.niederwanger@suse.com>
- Add sparse, smatch and coccinelle to pattern
-------------------------------------------------------------------
Wed Aug 28 06:51:01 UTC 2019 - Simon Lees <sflees@suse.de>
- The following packages are required to build the kernel so add
them to the kernel development pattern. bsc#1147177
* bc
* libelf-devel
* openssl-devel
-------------------------------------------------------------------
Fri Dec 7 13:12:28 UTC 2018 - Stasiek Michalski <hellcp@mailbox.org>
- Adjust icons to state of yast2-theme package
-------------------------------------------------------------------
Sun Sep 30 00:37:16 UTC 2018 - Stasiek Michalski <hellcp@mailbox.org>
- Change icons for RPM and Web devel patterns. (boo#1039994)
-------------------------------------------------------------------
Thu Jul 19 12:07:25 UTC 2018 - sflees@suse.de
- Merge with the version from SLE/Leap 15 full changes now below
in the changelog.
-------------------------------------------------------------------
Mon Dec 11 11:25:36 UTC 2017 - sflees@suse.de
- 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
- 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
- Don't require cvs anymore (not common anymore).
- Recommend git.
-------------------------------------------------------------------
Fri Apr 28 16:08:50 UTC 2017 - jengelh@inai.de
- Compact %install routine; replace old RPM shell vars by macros.
-------------------------------------------------------------------
Thu Mar 16 06:15:40 UTC 2017 - sflees@suse.de
- Create new package from old unified patterns package

320
patterns-devel-base.spec Normal file
View File

@@ -0,0 +1,320 @@
#
# spec file for package patterns-devel-base
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%bcond_with betatest
Name: patterns-devel-base
Version: 20170319
Release: 0
Summary: Patterns for Installation (base devel patterns)
License: MIT
Group: Metapackages
URL: https://github.com/openSUSE/patterns
Source0: %{name}-rpmlintrc
Source1: pattern-definition-32bit.txt
Source2: create_32bit-patterns_file.pl
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: patterns-rpm-macros
%description
This is an internal package that is used to create the patterns as part
of the installation source setup. Installation of this package does
not make sense.
This particular package contains the base development patterns (and the other
development patterns that don't fit well anywhere else).
################################################################################
%package devel_basis
%pattern_development
Summary: Base Development
Group: Metapackages
Provides: pattern() = devel_basis
Provides: pattern-icon() = pattern-basis-devel
Provides: pattern-order() = 3140
Provides: pattern-visible()
%if ! 0%{?is_opensuse}
Provides: patterns-sled-Basis-Devel = %{version}
Provides: patterns-sles-Basis-Devel = %{version}
Obsoletes: patterns-sled-Basis-Devel < %{version}
Obsoletes: patterns-sles-Basis-Devel < %{version}
%endif
Requires: pattern() = basesystem
Requires: autoconf
Requires: automake
Requires: awk
Requires: binutils
Requires: bison
Requires: cpp
Requires: flex
Requires: gcc
Requires: gdbm-devel
Requires: gettext-tools
Requires: glibc-devel
Requires: libtool
Requires: m4
Requires: make
Requires: makeinfo
Requires: ncurses-devel
Requires: patch
Requires: zlib-devel
Recommends: bin86
Recommends: db-devel
Recommends: gcc-c++
Recommends: gcc-info
Recommends: git
Recommends: glibc-info
Recommends: gmp-devel
Recommends: gperf
Recommends: libaio-devel
Recommends: libgcj-devel
Recommends: libstdc++-devel
Recommends: openldap2-devel
Recommends: pam-devel
Recommends: pkg-config
%if 0%{?is_opensuse}
Recommends: subversion
%endif
# most of our packages use this tool
Recommends: fdupes
# applying patches
Recommends: patch
Recommends: binutils-devel
Recommends: e2fsprogs-devel
%if 0%{?is_opensuse}
Recommends: libapparmor-devel
%endif
Recommends: libosip2-devel
# required for make checks
Recommends: sparse
Suggests: build
# bnc#804006
Suggests: osc
Suggests: gcc-fortran
Suggests: gcc-objc
# Matz thinks people want that
Suggests: mpfr-devel
Suggests: ccache
Suggests: icecream
Suggests: subversion-doc
Suggests: wiggle
Suggests: oprofile
Suggests: libgssglue-devel
Suggests: audit-devel
Suggests: nasm
Suggests: smatch
Suggests: coccinelle
%description devel_basis
Minimal set of tools for compiling and linking applications.
%files devel_basis
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/devel_basis.txt
################################################################################
%package devel_kernel
%pattern_development
Summary: Linux Kernel Development
Group: Metapackages
Provides: pattern() = devel_kernel
Provides: pattern-icon() = pattern-kernel-devel
Provides: pattern-order() = 3320
Provides: pattern-visible()
Requires: pattern() = devel_basis
Recommends: kernel-source
# bsc#1147177
Recommends: bc
# bnc#582415
Recommends: ctags
Recommends: diffstat
Recommends: git-core
Recommends: git-email
Recommends: indent
Recommends: kernel-syms
Recommends: patchutils
Recommends: quilt
# bsc#1147177
Recommends: pkgconfig(libelf)
Recommends: pkgconfig(openssl)
Suggests: kernel-debug
Suggests: kernel-docs
Suggests: cscope
%description devel_kernel
Tools for Linux kernel development.
%files devel_kernel
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/devel_kernel.txt
################################################################################
%if 0%{?is_opensuse}
%package devel_rpm_build
%pattern_development
Summary: RPM Build Environment
Group: Metapackages
Provides: pattern() = devel_rpm_build
Provides: pattern-icon() = pattern-rpm-devel
Provides: pattern-order() = 3280
Provides: pattern-visible()
Requires: pattern() = basesystem
Requires: man
Requires: netcfg
Requires: rpm-build
Recommends: libtool
Suggests: build
Suggests: inst-source-utils
Suggests: libsolv-devel
%description devel_rpm_build
Minimal set of tools and libraries for building packages using the RPM package manager.
%files devel_rpm_build
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/devel_rpm_build.txt
%endif
################################################################################
%if 0%{?is_opensuse}
%package devel_web
%pattern_development
Summary: Web Development
Group: Metapackages
Provides: pattern() = devel_web
Provides: pattern-icon() = pattern-web-devel
Provides: pattern-order() = 3440
Provides: pattern-visible()
Requires: pattern() = lamp_server
Recommends: apache2-devel
Suggests: html-dtd
Suggests: iso_ent
Suggests: latex2html
Suggests: perl-CGI-Application
Suggests: perl-HTML-Clean
Suggests: perl-HTML-FillInForm
Suggests: perl-HTML-Format
Suggests: perl-HTML-SimpleParse
Suggests: perl-HTML-Tagset
Suggests: perl-HTML-Template
Suggests: perl-HTML-Template-Expr
Suggests: perl-HTML-Template-JIT
Suggests: perl-HTML-Tree
Suggests: perl-HTTP-DAV
Suggests: perl-HTTPS-Daemon
Suggests: perl-Pod-HtmlPsPdf
Suggests: php8
Suggests: php8-bcmath
Suggests: php8-bz2
Suggests: php8-calendar
Suggests: php8-ctype
Suggests: php8-curl
Suggests: php8-dba
Suggests: php8-devel
Suggests: php8-dom
Suggests: php8-exif
Suggests: php8-fastcgi
Suggests: php8-ftp
Suggests: php8-gd
Suggests: php8-gettext
Suggests: php8-gmp
Suggests: php8-iconv
Suggests: php8-imap
Suggests: php8-ldap
Suggests: php8-mbstring
Suggests: php8-mcrypt
Suggests: php8-mysql
Suggests: php8-odbc
Suggests: php8-openssl
Suggests: php8-pear
Suggests: php8-pgsql
Suggests: php8-shmop
Suggests: php8-snmp
Suggests: php8-sockets
Suggests: php8-sysvsem
Suggests: php8-sysvshm
Suggests: php8-tidy
Suggests: php8-wddx
Suggests: php8-xsl
Suggests: php8-zlib
Suggests: tidy
Suggests: xhtml-dtd
Suggests: xmlcharent
Suggests: apache2-worker
Suggests: apache2-mod_tidy
Suggests: kfilereplace
Suggests: kimagemapeditor
Suggests: klinkstatus
Suggests: kde3-quanta
Suggests: kompozer
Suggests: tomcat
Suggests: tomcat-admin-webapps
Suggests: tomcat-webapps
Suggests: html2text
%description devel_web
Tools and libraries for Web application development.
%files devel_web
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/devel_web.txt
%endif
################################################################################
%prep
%build
%install
mkdir -p "%{buildroot}/usr/share/doc/packages/patterns"
%if 0%{?is_opensuse}
for i in devel_rpm_build devel_web; do
echo "This file marks the pattern $i to be installed." \
>"%{buildroot}/usr/share/doc/packages/patterns/$i.txt"
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"
%if 0%{?is_opensuse}
echo "This file marks the pattern $i-32bit to be installed." \
>"%{buildroot}/usr/share/doc/packages/patterns/$i-32bit.txt"
%endif
done
#
# This file is created at check-in time. Sorry for the inconsistent workflow :(
#
%if 0%{?is_opensuse}
%include %{SOURCE1}
%endif
%changelog

3
pre_checkin.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
./create_32bit-patterns_file.pl -p devel-base -s devel_rpm_build -s devel_web > pattern-definition-32bit.txt