diff --git a/create_32bit-patterns_file.pl b/create_32bit-patterns_file.pl new file mode 100644 index 0000000..2a5e75a --- /dev/null +++ b/create_32bit-patterns_file.pl @@ -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 = )) { + 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 = )) { + 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 = )) { + 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; + diff --git a/pattern-definition-32bit.txt b/pattern-definition-32bit.txt new file mode 100644 index 0000000..c9f9331 --- /dev/null +++ b/pattern-definition-32bit.txt @@ -0,0 +1,183 @@ +%package dhcp_dns_server-32bit +Summary: DHCP and DNS Server +Recommends: bind-32bit +Recommends: dhcp-server-32bit +Recommends: bind-chrootenv-32bit +Recommends: bind-doc-32bit +Recommends: dhcp-32bit +Recommends: dhcp-relay-32bit +Recommends: dhcp-tools-32bit +Recommends: yast2-dhcp-server-32bit +Recommends: yast2-dns-server-32bit +Provides: pattern() = dhcp_dns_server%2d32bit +Group: Metapackages +Supplements: packageand(patterns-server-32bit:patterns-server-dhcp_dns_server) + +%files dhcp_dns_server-32bit +%defattr(-,root,root) +%dir /usr/share/doc/packages/patterns +/usr/share/doc/packages/patterns/dhcp_dns_server-32bit.txt + +%description dhcp_dns_server-32bit +The 32bit pattern complementing dhcp_dns_server. +# +#------------------------------------------------------------------- +# +%package directory_server-32bit +Summary: Directory Server (LDAP) +Recommends: 389-ds-32bit +Recommends: nss_ldap-32bit +Recommends: pam_ldap-32bit +Recommends: yast2-ldap-server-32bit +Provides: pattern() = directory_server%2d32bit +Group: Metapackages +Supplements: packageand(patterns-server-32bit:patterns-server-directory_server) + +%files directory_server-32bit +%defattr(-,root,root) +%dir /usr/share/doc/packages/patterns +/usr/share/doc/packages/patterns/directory_server-32bit.txt + +%description directory_server-32bit +The 32bit pattern complementing directory_server. +# +#------------------------------------------------------------------- +# +%package file_server-32bit +Summary: File Server +Recommends: nfs-kernel-server-32bit +Recommends: nfsidmap-32bit +Recommends: samba-32bit +Recommends: samba-client-32bit +Recommends: samba-winbind-32bit +Recommends: tftp-32bit +Recommends: vsftpd-32bit +Recommends: yast2-ftp-server-32bit +Recommends: yast2-nfs-server-32bit +Recommends: yast2-samba-server-32bit +Recommends: yast2-tftp-server-32bit +Provides: pattern() = file_server%2d32bit +Group: Metapackages +Supplements: packageand(patterns-server-32bit:patterns-server-file_server) + +%files file_server-32bit +%defattr(-,root,root) +%dir /usr/share/doc/packages/patterns +/usr/share/doc/packages/patterns/file_server-32bit.txt + +%description file_server-32bit +The 32bit pattern complementing file_server. +# +#------------------------------------------------------------------- +# +%package gateway_server-32bit +Summary: Internet Gateway +Recommends: wireshark-32bit +Recommends: arptables-32bit +Recommends: calamaris-32bit +Recommends: ddclient-32bit +Recommends: fetchmail-32bit +Recommends: fetchmailconf-32bit +Recommends: ipsec-tools-32bit +Recommends: quagga-32bit +Recommends: radvd-32bit +Recommends: rarpd-32bit +Recommends: squid-32bit +Recommends: whois-32bit +Recommends: wondershaper-32bit +Provides: pattern() = gateway_server%2d32bit +Group: Metapackages +Supplements: packageand(patterns-server-32bit:patterns-server-gateway_server) + +%files gateway_server-32bit +%defattr(-,root,root) +%dir /usr/share/doc/packages/patterns +/usr/share/doc/packages/patterns/gateway_server-32bit.txt + +%description gateway_server-32bit +The 32bit pattern complementing gateway_server. +# +#------------------------------------------------------------------- +# +%package lamp_server-32bit +Summary: Web and LAMP Server +Recommends: apache2-32bit +Recommends: yast2-http-server-32bit +Recommends: apache2-doc-32bit +Recommends: apache2-example-pages-32bit +Recommends: apache2-mod_php7-32bit +Recommends: apache2-mod_python-32bit +Recommends: apache2-prefork-32bit +Recommends: libapr-util1-32bit +Recommends: libapr1-32bit +Recommends: mariadb-32bit +Recommends: perl-32bit +Provides: pattern() = lamp_server%2d32bit +Group: Metapackages +Supplements: packageand(patterns-server-32bit:patterns-server-lamp_server) + +%files lamp_server-32bit +%defattr(-,root,root) +%dir /usr/share/doc/packages/patterns +/usr/share/doc/packages/patterns/lamp_server-32bit.txt + +%description lamp_server-32bit +The 32bit pattern complementing lamp_server. +# +#------------------------------------------------------------------- +# +%package mail_server-32bit +Summary: Mail and News Server +Recommends: vacation-32bit +Recommends: amavisd-new-32bit +Recommends: clamav-32bit +Recommends: cyrus-imapd-32bit +Recommends: inn-32bit +Recommends: mailman-32bit +Recommends: spamassassin-32bit +Provides: pattern() = mail_server%2d32bit +Group: Metapackages +Supplements: packageand(patterns-server-32bit:patterns-server-mail_server) + +%files mail_server-32bit +%defattr(-,root,root) +%dir /usr/share/doc/packages/patterns +/usr/share/doc/packages/patterns/mail_server-32bit.txt + +%description mail_server-32bit +The 32bit pattern complementing mail_server. +# +#------------------------------------------------------------------- +# +%package printing-32bit +Summary: Print Server +Recommends: cups-32bit +Recommends: cups-backends-32bit +Recommends: cups-filters-32bit +Recommends: cups-filters-cups-browsed-32bit +Recommends: cups-filters-foomatic-rip-32bit +Recommends: cups-filters-ghostscript-32bit +Recommends: epson-inkjet-printer-escpr-32bit +Recommends: gutenprint-32bit +Recommends: hplip-hpijs-32bit +Recommends: manufacturer-PPDs-32bit +Recommends: OpenPrintingPPDs-ghostscript-32bit +Recommends: OpenPrintingPPDs-hpijs-32bit +Recommends: OpenPrintingPPDs-postscript-32bit +Recommends: samba-32bit +Recommends: splix-32bit +Provides: pattern() = printing%2d32bit +Group: Metapackages +Supplements: packageand(patterns-server-32bit:patterns-server-printing) + +%files printing-32bit +%defattr(-,root,root) +%dir /usr/share/doc/packages/patterns +/usr/share/doc/packages/patterns/printing-32bit.txt + +%description printing-32bit +The 32bit pattern complementing printing. +# +#------------------------------------------------------------------- +# + diff --git a/patterns-server.changes b/patterns-server.changes index d673cce..cf2452f 100644 --- a/patterns-server.changes +++ b/patterns-server.changes @@ -1,8 +1,88 @@ +------------------------------------------------------------------- +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. + +------------------------------------------------------------------- +Fri Apr 13 11:04:15 UTC 2018 - aginies@suse.com + +- xen patterns should be only available on x86_64 (BSC#1088175) +- remove 32bits patterns for XEN or KVM + +------------------------------------------------------------------- +Wed Mar 14 13:17:39 CET 2018 - behlert@suse.de + +- Replace openldap2 with 389-ds [bsc#1084789] + +------------------------------------------------------------------- +Fri Mar 2 13:48:06 UTC 2018 - aginies@suse.com + +- add vim as a Recommends for XEN/KVM_tools patterns (BSC#1078908) +- version: 20180302 + ------------------------------------------------------------------- Thu Feb 15 08:09:57 UTC 2018 - dimstar@opensuse.org - Recommend php7 variants by the lamp pattern (boo#1081072). +------------------------------------------------------------------- +Mon Dec 11 12:07:25 UTC 2017 - sflees@suse.de + +- fix the order of sourced files to match other patterns saving copy paste errors + +------------------------------------------------------------------- +Mon Dec 11 11:25:39 UTC 2017 - sflees@suse.de + +- correctly source the files for 32bit patterns + +------------------------------------------------------------------- +Fri Dec 8 06:59:55 UTC 2017 - sflees@suse.de + +- Version: 20171206 +- Add obsoletes across all patterns (bsc#1071761) + +------------------------------------------------------------------- +Thu Nov 2 15:29:14 UTC 2017 - aginies@suse.com + +- remove duplicate description entry for kvm_tools patterns (BSC#1064239) +- bump version to 20171102 + +------------------------------------------------------------------- +Mon Oct 16 08:16:17 UTC 2017 - aginies@suse.com + +- add a requires on libvirt-client (bsc#1063246) + +------------------------------------------------------------------- +Wed Oct 11 14:40:32 UTC 2017 - aginies@suse.com + +- add missing source: pattern-definition-32bit.txt + create_32bit-patterns_file.pl pre_checkin.sh + +------------------------------------------------------------------- +Wed Oct 11 08:16:23 UTC 2017 - aginies@suse.com + +- do not install qemu-kvm by default (legacy), but install the + correct qemu based on arch detection + +------------------------------------------------------------------- +Thu Sep 21 04:25:38 UTC 2017 - sflees@suse.de + +- Add 32bit support (remove some recommended 32bit packages) +- Changes to the following patterns to reflect what was in SLE + * dhcp_dns_server + * gateway_server + * kvm_server + * lamp_server + * mail_server + * printing + * xen_server +- Add the following patterns from sle + * kvm_tools + * xen_tools +- print_server renammed to printing + + ------------------------------------------------------------------- Tue May 23 11:19:08 UTC 2017 - dimstar@opensuse.org diff --git a/patterns-server.spec b/patterns-server.spec index 4b19a7c..1b27f94 100644 --- a/patterns-server.spec +++ b/patterns-server.spec @@ -19,13 +19,16 @@ %bcond_with betatest Name: patterns-server -Version: 20170319 +Version: 20180718 Release: 0 Summary: Patterns for Installation (server 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 +Source3: pre_checkin.sh BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: patterns-rpm-macros @@ -46,17 +49,24 @@ Provides: pattern() = dhcp_dns_server Provides: pattern-icon() = yast-dns-server Provides: pattern-order() = 3040 Provides: pattern-visible() +%if 0%{?is_opensuse} Provides: patterns-openSUSE-dhcp_dns_server = %{version} Obsoletes: patterns-openSUSE-dhcp_dns_server < %{version} +%else +Provides: patterns-sles-dhcp_dns_server = %{version} +Obsoletes: patterns-sles-dhcp_dns_server < %{version} +%endif Requires: pattern() = basesystem -Recommends: bind +Requires: bind +Requires: dhcp-server +Recommends: bind-chrootenv +Recommends: bind-doc +Recommends: dhcp Recommends: dhcp-relay -Recommends: dhcp-server Recommends: dhcp-tools Recommends: yast2-dhcp-server Recommends: yast2-dns-server -Recommends: bind-doc %description dhcp_dns_server Software to set up a server for the Dynamic Host Configuration Protocol (DHCP) and the Domain Name System (DNS) services. DHCP provides configuration parameters to client computers to integrate them into a network, whereas DNS delivers information associated with domain names, in particular, the IP address. @@ -75,18 +85,20 @@ Provides: pattern() = directory_server Provides: pattern-icon() = yast-ldap-server Provides: pattern-order() = 3060 Provides: pattern-visible() +%if 0%{?is_opensuse} Provides: patterns-openSUSE-directory_server = %{version} Obsoletes: patterns-openSUSE-directory_server < %{version} +%else +Provides: patterns-sles-directory_server = %{version} +Obsoletes: patterns-sles-directory_server < %{version} +%endif Requires: pattern() = basesystem +# bsc#1084789 +Recommends: 389-ds Recommends: nss_ldap -Recommends: openldap2 Recommends: pam_ldap Recommends: yast2-ldap-server -%ifarch x86_64 -Recommends: nss_ldap-32bit -Recommends: pam_ldap-32bit -%endif %description directory_server Software to set up a directory server with OpenLDAP. The Lightweight Directory Access Protocol (LDAP) is used to access online directory services. @@ -105,22 +117,29 @@ Provides: pattern() = file_server Provides: pattern-icon() = yast-nfs_server Provides: pattern-order() = 2900 Provides: pattern-visible() +%if 0%{?is_opensuse} Provides: patterns-openSUSE-file_server = %{version} Obsoletes: patterns-openSUSE-file_server < %{version} +%else +Provides: patterns-sles-file_server = %{version} +Obsoletes: patterns-sles-file_server < %{version} +%endif Requires: pattern() = basesystem +Requires: nfs-kernel-server Recommends: nfsidmap -Recommends: nfs-kernel-server Recommends: samba -Recommends: yast2-nfs-server -Recommends: yast2-samba-server -Recommends: vsftpd Recommends: samba-client Recommends: samba-winbind Recommends: tftp +Recommends: vsftpd +%if 0%{?is_opensuse} Recommends: yast2-ftp-server +Recommends: yast2-nfs-server +Recommends: yast2-samba-server Recommends: yast2-tftp-server Suggests: atftp +%endif %description file_server File services to host files so that they may be accessed or retrieved by other computers on the same network. This includes the FTP, SMB, and NFS protocols. @@ -139,21 +158,28 @@ Provides: pattern() = gateway_server Provides: pattern-icon() = yast-dsl Provides: pattern-order() = 3020 Provides: pattern-visible() +%if 0%{?is_opensuse} Provides: patterns-openSUSE-gateway_server = %{version} Obsoletes: patterns-openSUSE-gateway_server < %{version} +%else +Provides: patterns-sles-gateway_server = %{version} +Obsoletes: patterns-sles-gateway_server < %{version} +%endif Requires: pattern() = basesystem -Recommends: wireshark +Requires: wireshark +Recommends: arptables +Recommends: calamaris Recommends: ddclient Recommends: fetchmail +Recommends: fetchmailconf Recommends: ipsec-tools Recommends: quagga Recommends: radvd Recommends: rarpd -Recommends: squid3 -Recommends: squidGuard -Suggests: wwwoffle -Suggests: mirror +Recommends: squid +Recommends: whois +Recommends: wondershaper %description gateway_server Software to set up a proxy, firewall, and gateway server, including a virtual private network (VPN) gateway. @@ -172,26 +198,35 @@ Provides: pattern() = kvm_server Provides: pattern-icon() = yast-uml Provides: pattern-order() = 3099 Provides: pattern-visible() +%if 0%{?is_opensuse} Provides: patterns-openSUSE-kvm_server = %{version} Obsoletes: patterns-openSUSE-kvm_server < %{version} +%else +Provides: patterns-sles-kvm_server = %{version} +Obsoletes: patterns-sles-kvm_server < %{version} +%endif Requires: pattern() = basesystem -Recommends: qemu-kvm -Recommends: vm-install -Recommends: tigervnc -Recommends: fontconfig -Recommends: fonts-config -Recommends: xorg-x11-fonts -Recommends: efont-unicode-bitmap-fonts -Recommends: xauth -Recommends: bridge-utils -Recommends: tftp -Recommends: agfa-fonts -Recommends: virt-viewer -Recommends: virt-manager +# fix issue because qemu-kvm is not present on all arch and +# we would like to deprecate it for the futur (will be only +# updated if already installed on the system) +%ifarch %ix86 x86_64 +Requires: qemu-x86 +%endif +%ifarch ppc ppc64 ppc64le +Requires: qemu-ppc +%endif +%ifarch s390x +Requires: qemu-s390 +%endif +%ifarch %arm +Requires: qemu-arm +%endif +Requires: tftp Recommends: libvirt-daemon-qemu -Suggests: libvirt -Suggests: libvirt-daemon-lxc +Recommends: tigervnc +Recommends: virt-install +Recommends: vm-install %description kvm_server Software to set up a server for configuring, managing, and monitoring virtual machines on a single physical machine. @@ -202,6 +237,51 @@ Software to set up a server for configuring, managing, and monitoring virtual ma ################################################################################ +%package kvm_tools +%pattern_basetechnologies +Summary: KVM Virtualization Host and tools +Group: Metapackages +Provides: pattern() = kvm_tools +Provides: pattern-icon() = yast-uml +Provides: pattern-order() = 1090 +Provides: pattern-visible() +%if !0%{?is_opensuse} +Provides: patterns-sles-kvm_tools = %{version} +Obsoletes: patterns-sles-kvm_tools < %{version} +%endif +Requires: pattern() = basesystem +Requires: pattern() = kvm_server + +Requires: libvirt-client +Requires: libvirt-daemon-qemu +Requires: libvirt-daemon-config-network +Requires: tigervnc +Requires: vm-install +# bnc#868542 +Requires: virt-manager +Recommends: openssh +Recommends: yast2-control-center +Recommends: yast2-ncurses +Recommends: yast2-ncurses-pkg +Recommends: yast2-vm +Recommends: xorg-x11-xauth +Recommends: virt-install +Recommends: virt-viewer +Recommends: virt-v2v +# BSC#1078908 +Recommends: vim + +%description kvm_tools +This will provide all minimal system to get a running KVM Hypervisor +and be able to configure, manage, and monitor virtual machines on a +single physical machine. + +%files kvm_tools +%dir /usr/share/doc/packages/patterns +/usr/share/doc/packages/patterns/kvm_tools.txt + +################################################################################ + %package lamp_server %pattern_serverfunctions Summary: Web and LAMP Server @@ -210,31 +290,26 @@ Provides: pattern() = lamp_server Provides: pattern-icon() = yast-http-server Provides: pattern-order() = 3000 Provides: pattern-visible() +%if 0%{?is_opensuse} Provides: patterns-openSUSE-lamp_server = %{version} Obsoletes: patterns-openSUSE-lamp_server < %{version} +%else +Provides: patterns-sles-lamp_server = %{version} +Obsoletes: patterns-sles-lamp_server < %{version} +%endif Requires: pattern() = basesystem -Recommends: apache2 +Requires: apache2 Recommends: yast2-http-server Recommends: apache2-doc Recommends: apache2-example-pages -Recommends: apache2-mod_perl Recommends: apache2-mod_php7 Recommends: apache2-mod_python Recommends: apache2-prefork +Recommends: libapr-util1 +Recommends: libapr1 Recommends: mariadb -Recommends: php7-ctype -Recommends: php7-dom -Recommends: php7-iconv -Recommends: php7-mysql -Suggests: php7-gd -Suggests: php7-mbstring -Suggests: php7-zlib -Suggests: php7-zip -# slightly out of place I admit -Suggests: postgresql -Suggests: postgresql-contrib -Suggests: postgresql-server +Recommends: perl %description lamp_server Software to set up a Web server that is able to serve static, dynamic, and interactive content (like a Web shop). This includes Apache HTTP Server, the database management system MySQL, and scripting languages such as PHP, Python, Ruby on Rails, or Perl. @@ -253,27 +328,22 @@ Provides: pattern() = mail_server Provides: pattern-icon() = yast-mail-server Provides: pattern-order() = 2980 Provides: pattern-visible() +%if 0%{?is_opensuse} Provides: patterns-openSUSE-mail_server = %{version} Obsoletes: patterns-openSUSE-mail_server < %{version} +%else +Provides: patterns-sles-mail_server = %{version} +Obsoletes: patterns-sles-mail_server < %{version} +%endif Requires: pattern() = basesystem -Recommends: cyrus-imapd +Requires: vacation Recommends: amavisd-new -Recommends: mailman Recommends: clamav -Recommends: fetchmail -Recommends: postfix -Recommends: procmail -Recommends: spamassassin +Recommends: cyrus-imapd Recommends: inn -Recommends: vacation -Suggests: dovecot12 -Suggests: mlmmj -Suggests: sendmail -Suggests: bogofilter-db -# this duplicates the recommend, but works around a problem with the solver -# as everything is weak required, it needs one more hint for postfix -Suggests: postfix +Recommends: mailman +Recommends: spamassassin %description mail_server Software to set up electronic mail and message services to handle email, mailing, and news lists, including a virus scanner to scan messages at the server level. @@ -284,7 +354,7 @@ Software to set up electronic mail and message services to handle email, mailing ################################################################################ -%package print_server +%package printing %pattern_serverfunctions Summary: Print Server Group: Metapackages @@ -292,35 +362,44 @@ Provides: pattern() = print_server Provides: pattern-icon() = yast-printer Provides: pattern-order() = 2960 Provides: pattern-visible() +%if 0%{?is_opensuse} Provides: patterns-openSUSE-print_server = %{version} Obsoletes: patterns-openSUSE-print_server < %{version} +%else +Provides: patterns-sles-printing = %{version} +Obsoletes: patterns-sles-printing < %{version} +%endif Requires: pattern() = basesystem -Recommends: cups +Requires: cups Recommends: cups-backends -Recommends: cups-filters-foomatic-rip -Recommends: OpenPrintingPPDs -Recommends: m2300w -Recommends: splix +Recommends: cups-filters +Recommends: cups-filters-cups-browsed +Recommends: cups-filters-foomatic-rip +Recommends: cups-filters-ghostscript +Recommends: epson-inkjet-printer-escpr Recommends: gutenprint -Recommends: hplip +Recommends: hplip-hpijs Recommends: manufacturer-PPDs +Recommends: OpenPrintingPPDs-ghostscript +Recommends: OpenPrintingPPDs-hpijs +Recommends: OpenPrintingPPDs-postscript Recommends: samba -Suggests: udev-configure-printer -Suggests: poster -# print to bluetooth -Suggests: bluez-cups -Suggests: pbm2l7k +Recommends: splix -%description print_server -Software used to host print queues so that they may be accessed by other computers on the same network. LPD, CUPS, and SMB print servers and queues are supported. +%description printing +This pattern provides all packages necessary for printing. It provides all +needed packages for printing to a locally connected printer, printing using a +remote print server and for setting up a print server. -%files print_server +%files printing %dir /usr/share/doc/packages/patterns -/usr/share/doc/packages/patterns/print_server.txt +/usr/share/doc/packages/patterns/printing.txt ################################################################################ +# BSC#1088175 +%ifarch x86_64 %package xen_server %pattern_serverfunctions Summary: Xen Virtual Machine Host Server @@ -329,25 +408,25 @@ Provides: pattern() = xen_server Provides: pattern-icon() = yast-uml Provides: pattern-order() = 3080 Provides: pattern-visible() +%if 0%{?is_opensuse} Provides: patterns-openSUSE-xen_server = %{version} Obsoletes: patterns-openSUSE-xen_server < %{version} +%else +Provides: patterns-sles-xen_server = %{version} +Obsoletes: patterns-sles-xen_server < %{version} +%endif Requires: pattern() = basesystem -Recommends: bridge-utils -Recommends: vm-install -Recommends: xen -Recommends: xen-libs -Recommends: xen-tools -Recommends: virt-manager -Recommends: xen-doc-html -Recommends: xterm -Recommends: yast2-vm -Recommends: virt-viewer +Requires: kernel-xen +Requires: tftp +Requires: xen +Requires: xen-libs +Requires: xen-tools Recommends: libvirt-daemon-xen # #382423 -Suggests: install-initrd -Suggests: libvirt -Suggests: libvirt-daemon-lxc +Recommends: virt-install +Recommends: vm-install +Recommends: tigervnc %description xen_server Software to set up a server for configuring, managing, and monitoring virtual machines on a single physical machine. @@ -355,6 +434,55 @@ Software to set up a server for configuring, managing, and monitoring virtual ma %files xen_server %dir /usr/share/doc/packages/patterns /usr/share/doc/packages/patterns/xen_server.txt +%endif + +################################################################################ +# BSC#1088175 +%ifarch x86_64 +%package xen_tools +%pattern_basetechnologies +Summary: XEN Virtualization Host and tools +Group: Metapackages +Provides: pattern() = xen_tools +Provides: pattern-icon() = yast-uml +Provides: pattern-order() = 1080 +Provides: pattern-visible() +%if !0%{?is_opensuse} +Provides: patterns-sles-xen_tools = %{version} +Obsoletes: patterns-sles-xen_tools < %{version} +%endif +Requires: pattern() = basesystem +Requires: pattern() = xen_server + +Requires: libvirt-client +Requires: libvirt-daemon-xen +Requires: libvirt-daemon-config-network +Requires: tigervnc +Requires: vm-install +# bnc#868542 +Requires: virt-manager +Recommends: openssh +#Recommends: sles-xen_en-pdf +Recommends: xen-doc-html +Recommends: yast2-control-center +Recommends: yast2-ncurses +Recommends: yast2-ncurses-pkg +Recommends: yast2-vm +Recommends: xorg-x11-xauth +Recommends: virt-install +Recommends: virt-viewer +# BSC#1078908 +Recommends: vim + +%description xen_tools +This will provide all minimal system to get a running XEN Hypervisor +and be able to configure, manage, and monitor virtual machines on a +single physical machine. + +%files xen_tools +%dir /usr/share/doc/packages/patterns +/usr/share/doc/packages/patterns/xen_tools.txt +%endif ################################################################################ @@ -365,9 +493,30 @@ Software to set up a server for configuring, managing, and monitoring virtual ma %install mkdir -p "%{buildroot}/usr/share/doc/packages/patterns" for i in dhcp_dns_server directory_server file_server gateway_server \ - kvm_server lamp_server mail_server print_server xen_server; do + lamp_server mail_server printing + 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 +# NO 32bits pattern for KVM or XEN +for i in kvm_tools kvm_server + do + echo "This file marks the pattern $i to be installed." \ + > "%{buildroot}/usr/share/doc/packages/patterns/$i.txt" +done +# XEN is only available on x86_64 +%ifarch x86_64 + for i in xen_server xen_tools; do + echo "This file marks the pattern $i to be installed." \ + >"%{buildroot}/usr/share/doc/packages/patterns/$i.txt" +done +%endif + +# +# This file is created at check-in time. Sorry for the inconsistent workflow :( +# +%include %{SOURCE1} %changelog diff --git a/pre_checkin.sh b/pre_checkin.sh new file mode 100644 index 0000000..68558ec --- /dev/null +++ b/pre_checkin.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +./create_32bit-patterns_file.pl -p server -s kvm_server -s kvm_tools -s xen_server -s xen_tools > pattern-definition-32bit.txt