Michal Suchanek 35c4a5
#
Michal Suchanek 35c4a5
# Sample spec file using the subpackage infrastructure.
Michal Suchanek 35c4a5
#
Takashi Iwai 39a1fc
# Copyright (c) 2019 SUSE LLC
Michal Suchanek 35c4a5
#
Michal Suchanek 35c4a5
# All modifications and additions to the file contributed by third parties
Michal Suchanek 35c4a5
# remain the property of their copyright owners, unless otherwise agreed
Michal Suchanek 35c4a5
# upon. The license for this file, and modifications and additions to the
Michal Suchanek 35c4a5
# file, is the same license as for the pristine package itself (unless the
Michal Suchanek 35c4a5
# license for the pristine package is not an Open Source License, in which
Michal Suchanek 35c4a5
# case the license is the MIT License). An "Open Source License" is a
Michal Suchanek 35c4a5
# license that conforms to the Open Source Definition (Version 1.9)
Michal Suchanek 35c4a5
# published by the Open Source Initiative.
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
# Please submit bugfixes or comments via http://bugs.opensuse.org/
Michal Suchanek 35c4a5
#
Michal Suchanek 35c4a5
# needssslcertforbuild
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
# To be defined by user
Michal Suchanek 35c4a5
%define build_flavor default
Michal Suchanek 35c4a5
# variant includes dash: %%define variant -azure
Michal Suchanek 35c4a5
%define variant %{nil}
Michal Suchanek 35c4a5
%define subpackage base
Michal Suchanek 35c4a5
%define extrasummary base modules
Michal Suchanek 35c4a5
%define extradescription This package contains only the base modules, required in all installs.
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define misc_modules button edd iscsi_ibft i6300esb
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define virtio_modules virtio_blk virtio-rng virtio_console virtio-gpu \
Michal Suchanek 35c4a5
virtio_net virtio_scsi virtio virtio_balloon virtio_input virtio_mmio \
Michal Suchanek 35c4a5
virtio_pci virtio_ring
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define xen_modules xen-blkfront xen-kbdfront xen-netfront xen-fbfront xenblk xennet
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define vmware_modules vmw_balloon vmw_vmci vmxnet3 vmw_pvscsi vmw_vsock_vmci_transport
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define hyperv_modules hid-hyperv hv_balloon hv_utils \
Michal Suchanek 35c4a5
hv_vmbus hyperv-keyboard hv_netvsc hv_storvsc scsi_transport_fc hyperv_fb
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define net_drivers  8390 ne2k-pci tulip e100 e1000 e1000e 8139cp 8139too
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define scsi_modules scsi_transport_iscsi sd_mod sg sr_mod st scsi_mod
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define block_drivers loop dm-mod ahci ata_piix mptsas mptspi BusLogic sym53c8xx aam53c974
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define usb_modules usb-common usbcore ehci-hcd ehci-pci ohci-hcd ohci-pci uhci-hcd \
Michal Suchanek 35c4a5
xhci-hcd xhci-pci typec_ucsi ucsi_acpi typec ums-alauda ums-cypress ums-datafab \
Michal Suchanek 35c4a5
ums-eneub6250 ums-freecom ums-isd200 ums-jumpshot ums-karma ums-onetouch \
Michal Suchanek 35c4a5
ums-realtek ums-sddr09 ums-sddr55 ums-usbat usb-storage
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define filesystems autofs4 btrfs ext4 vfat isofs jbd2 mbcache nfsv2 nfsv3 nfsv4 overlay xfs \
Michal Suchanek 35c4a5
        nls_cp437 nls_iso8859-1
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define networking tun veth bridge arp_tables arpt_mangle arptable_filter \
Michal Suchanek 35c4a5
ip_tables ipt_ECN ipt_MASQUERADE ipt_REJECT ipt_SYNPROXY ipt_ah ipt_rpfilter \
Michal Suchanek 35c4a5
iptable_filter iptable_mangle iptable_nat iptable_raw iptable_security \
Michal Suchanek 35c4a5
nf_conntrack_ipv4 nf_defrag_ipv4 nf_dup_ipv4 nf_log_arp nf_log_ipv4 nf_nat_h323 \
Michal Suchanek 35c4a5
nf_nat_ipv4 nf_nat_masquerade_ipv4 nf_nat_pptp nf_nat_proto_gre \
Michal Suchanek 35c4a5
nf_nat_snmp_basic ip6_tables ip6t_MASQUERADE ip6t_NPT ip6t_REJECT ip6t_SYNPROXY \
Michal Suchanek 35c4a5
ip6t_ah ip6t_eui64 ip6t_frag ip6t_hbh ip6t_ipv6header ip6t_mh ip6t_rpfilter \
Michal Suchanek 35c4a5
ip6t_rt ip6table_filter ip6table_mangle ip6table_nat ip6table_raw \
Michal Suchanek 35c4a5
ip6table_security nf_conntrack_ipv6 nf_defrag_ipv6 nf_dup_ipv6 nf_log_ipv6 \
Michal Suchanek 35c4a5
nf_nat_ipv6 nf_nat_masquerade_ipv6 ip_set ip_set_bitmap_ip ip_set_bitmap_ipmac \
Michal Suchanek 35c4a5
ip_set_bitmap_port ip_set_hash_ip ip_set_hash_ipmark ip_set_hash_ipport \
Michal Suchanek 35c4a5
ip_set_hash_ipportip ip_set_hash_ipportnet ip_set_hash_mac ip_set_hash_net \
Michal Suchanek 35c4a5
ip_set_hash_netiface ip_set_hash_netnet ip_set_hash_netport \
Michal Suchanek 35c4a5
ip_set_hash_netportnet ip_set_list_set nf_conntrack nf_conntrack_amanda \
Michal Suchanek 35c4a5
nf_conntrack_broadcast nf_conntrack_ftp nf_conntrack_h323 nf_conntrack_irc \
Michal Suchanek 35c4a5
nf_conntrack_netbios_ns nf_conntrack_netlink nf_conntrack_pptp \
Michal Suchanek 35c4a5
nf_conntrack_proto_gre nf_conntrack_sane nf_conntrack_sip nf_conntrack_slp \
Michal Suchanek 35c4a5
nf_conntrack_snmp nf_conntrack_tftp nf_log_common nf_nat nf_nat_amanda \
Michal Suchanek 35c4a5
nf_nat_ftp nf_nat_irc nf_nat_redirect nf_nat_sip nf_nat_tftp nf_synproxy_core \
Michal Suchanek 35c4a5
nfnetlink nfnetlink_acct nfnetlink_cthelper nfnetlink_cttimeout nfnetlink_log \
Michal Suchanek 35c4a5
nfnetlink_queue x_tables xt_AUDIT xt_CHECKSUM xt_CLASSIFY xt_CONNSECMARK xt_CT \
Michal Suchanek 35c4a5
xt_DSCP xt_HL xt_HMARK xt_IDLETIMER xt_LED xt_LOG xt_NETMAP xt_NFLOG xt_NFQUEUE \
Michal Suchanek 35c4a5
xt_RATEEST xt_REDIRECT xt_SECMARK xt_TCPMSS xt_TCPOPTSTRIP xt_TEE xt_TPROXY \
Michal Suchanek 35c4a5
xt_TRACE xt_addrtype xt_bpf xt_cgroup xt_cluster xt_comment xt_connbytes \
Michal Suchanek 35c4a5
xt_connlabel xt_connlimit xt_connmark xt_conntrack xt_cpu xt_dccp xt_devgroup \
Michal Suchanek 35c4a5
xt_dscp xt_ecn xt_esp xt_hashlimit xt_helper xt_hl xt_ipcomp xt_iprange xt_l2tp \
Michal Suchanek 35c4a5
xt_length xt_limit xt_mac xt_mark xt_multiport xt_nat xt_nfacct xt_osf xt_owner \
Michal Suchanek 35c4a5
xt_physdev xt_pkttype xt_policy xt_quota xt_rateest xt_realm xt_recent xt_sctp \
Michal Suchanek 35c4a5
xt_set xt_socket xt_state xt_statistic xt_string xt_tcpmss xt_tcpudp xt_time \
Michal Suchanek 35c4a5
xt_u32 af_packet
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define modules %usb_modules %net_drivers %scsi_modules %block_drivers \
Michal Suchanek 35c4a5
                %hyperv_modules %virtio_modules %vmware_modules %xen_modules \
Michal Suchanek 35c4a5
                %networking %filesystems %misc_modules
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
# Reasonable defaults that might be overriden if needed
Michal Suchanek 35c4a5
%define kernel_package_name kernel-%build_flavor
Michal Suchanek 35c4a5
%define package_name %kernel_package_name-%subpackage
Michal Suchanek 35c4a5
%define url %(rpm -q --qf '%%{URL}' %kernel_package_name)
Michal Suchanek 35c4a5
%define group %(rpm -q --qf '%%{GROUP}' %kernel_package_name)
Michal Suchanek 35c4a5
%define summary %(rpm -q --qf '%%{SUMMARY}' %kernel_package_name) - %extrasummary
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
Name:           %package_name
Michal Suchanek 35c4a5
BuildRequires:  %kernel_package_name
Michal Suchanek 35c4a5
BuildRequires:  %kernel_package_name-devel
Michal Suchanek 35c4a5
BuildRequires:  kernel-subpackage-macros
Michal Suchanek 35c4a5
Summary:        %summary
Michal Suchanek 35c4a5
URL:            %url
Michal Suchanek 35c4a5
Group:          %group
Michal Kubecek f888e0
License:        GPL-2.0-only
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
# Internal stuff begins
Michal Suchanek 35c4a5
%define rpm_kver %(rpm -q --qf '%%{VERSION}' %kernel_package_name)
Michal Suchanek 35c4a5
%define rpm_krel %(rpm -q --qf '%%{RELEASE}' %kernel_package_name)
Michal Suchanek 35c4a5
Version:        %rpm_kver
Michal Suchanek 35c4a5
Release:        %rpm_krel.<RELEASE>
Michal Suchanek 35c4a5
Michal Suchanek 35c4a5
%define scriptdir /usr/lib/rpm/kernel
Michal Suchanek 35c4a5
%include %scriptdir/kernel-subpackage-spec