File mdadm.spec of Package mdadm.5365

#
# spec file for package mdadm
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#


Name:           mdadm
Version:        3.3.1
Release:        0
BuildRequires:  binutils-devel
BuildRequires:  groff
BuildRequires:  pkgconfig
BuildRequires:  sgmltool
BuildRequires:  udev
BuildRequires:  pkgconfig(libudev)
BuildRequires:  pkgconfig(systemd)
PreReq:         %fillup_prereq %insserv_prereq /sbin/mkinitrd
Recommends:     cron
Recommends:     smtp_daemon
Obsoletes:      raidtools
Url:            http://www.kernel.org/pub/linux/utils/raid/mdadm/
Summary:        Utility for Configuring MD Setup
License:        GPL-2.0
Group:          System/Base
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Source:         https://www.kernel.org/pub/linux/utils/raid/mdadm/%{name}-%{version}.tar.xz
Source1:        Software-RAID.HOWTO.tar.bz2
Source2:        sysconfig.mdadm
Source3:        cron.d.mdadm
Source7:        mdadm.cron
# PATCH-FIX-UPSTREAM 0001-Makefile-install-mdadm-grow-continue-.service.patch nfbrown@suse.de
Patch1:         0001-Makefile-install-mdadm-grow-continue-.service.patch
# PATCH-FIX-UPSTREAM 0002-Grow-fix-removal-of-line-in-wrong-case.patch bnc#881530 nfbrown@suse.de
Patch2:         0002-Grow-fix-removal-of-line-in-wrong-case.patch
Patch3:         0003-mdmon-ensure-Unix-domain-socket-is-created-with-safe.patch
# PATCH-FIX-UPSREAM 0004-IMSM-Add-warning-message-when-assemble-spanned-conta.patch bnc#882634 nfbrown@suse.de
Patch4:         0004-IMSM-Add-warning-message-when-assemble-spanned-conta.patch
Patch5:         0005-mdmon-allow-prepare_update-to-report-failure.patch
Patch6:         0006-DDF-validate-metadata_update-size-before-using-it.patch
Patch7:         0007-IMSM-validate-metadata_update-size-before-using-it.patch
# PATCH-FIX-UPSTREAM 0008-Grow-Do-not-try-to-restart-if-reshape-is-running.patch bnc#887773 nfbrown@suse.de
Patch8:         0008-Grow-Do-not-try-to-restart-if-reshape-is-running.patch
Patch9:         0009-IMSM-move-validate_container_imsm-to-be-included-in-.patch
Patch10:        0010-Grow-fix-that-preventing-resize-of-array-to-32bit-si.patch
Patch11:        0011-Grow-improve-error-message-is-grow-n2-used-on-Linear.patch
Patch12:        0012-Assemble-Only-fail-auto-assemble-in-face-of-mdadm.co.patch
Patch13:        0013-DDF-cast-print-arguments-in-super-ddf.c.patch
# PATCH-FIX-UPSTREAM 0014-Detail-Avoid-dereferencing-some-NULL-pointers.patch bsc#939124 nfbrown@suse.com
Patch14:        0014-Detail-Avoid-dereferencing-some-NULL-pointers.patch
Patch15:        0015-super-make-sure-to-ignore-disk-state-flags-that-we-d.patch
Patch16:        0016-mdmon-don-t-include-super0-and-super1-in-mdmon.patch
Patch17:        0017-config-new-option-to-suppress-adding-bad-block-lists.patch
# PATCH-FIX-SLE bsc#952644 mdadm-952644.tgz nfbrown@suse.de
Patch18:        0018-Manage-simplify-rdev-handling-in-Manage_subdevs.patch
Patch19:        0019-util-split-get_maj_min-out-from-dev_open.patch
Patch20:        0020-Manage-fix-removal-of-non-existent-devices.patch
Patch21:        0021-Monitor-Stop-monitoring-devices-that-have-disappeare.patch
Patch22:        0022-super1-don-t-allow-adding-a-bitmap-if-there-is-no-sp.patch
Patch23:        0023-super1-make-sure-room-includes-bbl_size-when-creatin.patch
Patch24:        0024-update-add-bbl-and-no-bbl-to-the-list-of-known-updat.patch
Patch25:        0025-Grow-Report-when-grow-needs-metadata-update.patch
Patch26:        0026-mdmon-already-read-sysfs-files-once-after-opening.patch
Patch27:        0027-Grow-fix-resize-of-array-component-size-to-32bits.patch
# PATCH-FIX-UPSTREAM 0028-mdcheck-don-t-git-error-if-not-dev-md-devices-exist.patch bsc#957886 nfbrown@suse.com
Patch28:        0028-mdcheck-don-t-git-error-if-not-dev-md-devices-exist.patch
Patch29:        0029-Rebuildmap-strip-local-host-name-from-device-name.patch
Patch30:        0030-super1-remove-some-debugging-printfs-in-update_super.patch
# PATCH-FIX-SLE bsc#954769 colyli@suse.de
Patch31:        0031-Detail-fix-handling-of-disks-array.patch
Patch32:        0032-Incremental-don-t-be-distracted-by-partition-table-w.patch
Patch33:        0033-imsm-support-for-OROMs-shared-by-multiple-HBAs.patch
Patch34:        0034-imsm-support-for-second-and-combined-AHCI-controller.patch
Patch35:        0035-imsm-add-support-for-NVMe-devices.patch
Patch36:        0036-imsm-detail-platform-improvements.patch
Patch37:        0037-imsm-use-efivarfs-interface-for-reading-UEFI-variabl.patch
Patch38:        0038-Makefile-binaries-shouldn-t-directly-depend-on-check.patch
Patch39:        0039-Monitor-don-t-open-md-array-that-doesn-t-exist.patch
Patch40:        0040-Grow-Fix-wrong-goto-in-set_new_data_offset.patch
Patch41:        0041-util-remove-rounding-error-where-reporting-human-siz.patch
# PATCH-FIX-UPSTREAM 0042-mdcheck-be-careful-when-sourcing-the-output-of-mdadm.patch bsc#957886 nfbrown@suse.com
Patch42:        0042-mdcheck-be-careful-when-sourcing-the-output-of-mdadm.patch
Patch43:        0043-Monitor-fix-for-regression-with-container-devices.patch
Patch44:        0044-Change-way-of-printing-name-of-a-process.patch
Patch45:        0045-Consistently-print-program-Name-and-__func__-in-debu.patch
Patch46:        0046-Don-t-break-long-strings-onto-multiple-lines.patch
Patch47:        0047-Grow.c-Fix-classic-readlink-buffer-overflow.patch
Patch48:        0048-IncrementalScan-Make-sure-st-is-valid-before-derefer.patch
Patch49:        0049-Assemble-don-t-ignore-the-return-value-from-stat.patch
Patch50:        0050-imsm-simplified-multiple-OROMs-support.patch
Patch51:        0051-IncRemove-Set-auto-read-only-after-successful-excl-o.patch
Patch52:        0052-Assemble-fix-no-uptodate-device-message.patch
Patch53:        0053-Revert-Assemble-support-assembling-of-a-RAID0-being-.patch
Patch54:        0054-Assemble-allow-a-RAID4-to-assemble-easily-when-parit.patch
Patch55:        0055-Assemble-force-make-it-possible-to-force-a-new-devic.patch
Patch56:        0056-IMSM-Count-arrays-per-orom.patch
Patch57:        0057-Manage-fix-test-for-is-array-failed.patch
Patch58:        0058-Add-Name-defines-to-some-ancillary-programs.patch
Patch59:        0059-DDF-_write_super_to_disk-fix-anchor-header-type.patch
Patch60:        0060-Assemble-don-t-check-for-pre-existing-array-when-upd.patch
# PATCH-FIX-UPSTREAM 0061-Manage-when-re-adding-do-check-avail-size-if-sb-cann.patch bsc#974154,bsc#958597 nfbrown@suse.com
Patch61:        0061-Manage-when-re-adding-do-check-avail-size-if-sb-cann.patch
Patch62:        0062-Grow-only-warn-about-incompatible-metadata-when-no-f.patch
Patch63:        0063-Grow-be-more-careful-if-array-is-stopped-during-crit.patch
Patch64:        0064-Grow-retry-when-writing-reshape-to-sync_action-is-EB.patch
Patch65:        0065-Grow-be-even-more-careful-about-handing-a-0-complete.patch
Patch66:        0066-mdadm-monitor-fix-nullptr-dereference-when-get_md_na.patch
Patch67:        0067-Grow-another-attempt-to-fix-stop-during-reshape-race.patch
Patch68:        0068-Grow-fix-problem-with-grow-continue.patch
Patch69:        0069-Create-n-bitmaps-for-clustered-mode.patch
Patch70:        0070-Add-nodes-option-while-creating-md.patch
Patch71:        0071-Set-home-cluster-while-creating-an-array.patch
Patch72:        0072-Show-all-bitmaps-while-examining-bitmap.patch
Patch73:        0073-Add-a-new-clustered-disk.patch
Patch74:        0074-Convert-a-bitmap-none-device-to-clustered.patch
Patch75:        0075-Skip-clustered-devices-in-incremental.patch
Patch76:        0076-mdadm-add-the-ability-to-change-cluster-name.patch
Patch77:        0077-mdadm-change-the-num-of-cluster-node.patch
Patch78:        0078-Reuse-calc_bitmap_size-to-reduce-code-size.patch
Patch79:        0079-Assemble-ensure-stripe_cache-is-big-enough-to-handle.patch
Patch80:        0080-mdstat-discard-dev-field-just-use-devnm.patch
Patch81:        0081-Manage-fix-no-op-test-in-Manage_stop.patch
Patch82:        0082-Remove-some-trailing-white-space.patch
Patch83:        0083-sysfs-reject-reads-that-use-the-whole-buffer.patch
Patch84:        0084-Monitor-don-t-Wait-forever-on-a-frozen-array.patch
Patch85:        0085-Manage-stop-guard-against-completed-being-too-large.patch
Patch86:        0086-Manage-stop-improve-some-comments.patch
Patch87:        0087-Manage-stop-don-t-stop-during-initial-critical-secti.patch
Patch88:        0088-Grow-remove-stray-tracing-message.patch
Patch89:        0089-raid6check-report-role-of-suspect-device.patch
Patch90:        0090-raid6check-get-device-ordering-correct-for-syndrome-.patch
Patch91:        0091-raid6check.patch
Patch92:        0092-Assemble-really-ensure-stripe_cache-is-bit-enough-to.patch
Patch93:        0093-raid6check-various-cleanup-fixes.patch
Patch94:        0094-restripe-fix-data-block-order-in-raid6_2_data_recov.patch
Patch95:        0095-raid6check-use-O_DIRECT-instead-of-O_SYNC.patch
Patch96:        0096-Assemble-improve-tests-for-matching-name-request.patch
Patch97:        0097-mdadm-document-homehost-any-functionality.patch
Patch98:        0098-Assemble-extend-homehost-ignore-to-allow-name-to-ign.patch
Patch99:        0099-bitmap-convert-inline-to-static-inline.patch
Patch100:       0100-Don-t-ignore-return-value-from-read-and-write.patch
Patch101:       0101-mdassemble-add-Name-definition.patch
Patch102:       0102-mdadm-fix-wrong-condition-for-go-to-abort.patch
Patch103:       0103-md-cluster-use-64s-to-print-cluster_name.patch
Patch104:       0104-mdassemble-don-t-try-to-perform-cluster-check.patch
Patch105:       0105-mdassemble-include-mapfile-support.patch
Patch106:       0106-raid6check-don-t-ignore-return-value-from-posix_mema.patch
Patch107:       0107-main-remove-use-of-uninitialized-rv.patch
Patch108:       0108-Assemble-correctly-capture-error-from-write_bitmap.patch
Patch109:       0109-mdadm-remove-duplicate-logic-when-c.delay-is-0.patch
Patch110:       0110-Increment-version-for-clustered-bitmaps.patch
Patch111:       0111-super1-Do-not-create-bad-block-log-for-clustered-dev.patch
Patch112:       0112-Fix-incremental-handling-on-cluster-array.patch
Patch113:       0113-mdadm-make-cluster-raid-also-could-support-re-add.patch
Patch114:       0114-re-add-make-re-add-try-to-write-sysfs-node-first.patch
Patch115:       0115-imsm-don-t-call-abort_reshape-in-imsm_manage_reshape.patch
Patch116:       0116-add-macros-for-MD_DISK_ROLE_-SPARE-FAULTY.patch
Patch117:       0117-Show-device-as-journal-in-detail-examine.patch
Patch118:       0118-Enable-create-array-with-write-journal-write-journal.patch
Patch119:       0119-Assemble-array-with-write-journal.patch
Patch120:       0120-Check-write-journal-in-incremental.patch
Patch121:       0121-Add-help-message-and-man-entry-for-write-journal.patch
Patch122:       0122-Safeguard-against-writing-to-an-active-device-of-ano.patch
Patch123:       0123-Make-cmap_-also-has-same-policy-as-dlm_.patch
Patch124:       0124-mdadm-refactor-write-journal-code-in-Assemble-and-In.patch
Patch125:       0125-mdadm-Add-description-of-write-journal-to-md.4.patch
Patch126:       0126-add-crc32c-and-use-it-for-r5l-checksum.patch
Patch127:       0127-ensure-buffer-is-large-enough-for-two-ints-and-some-.patch
Patch128:       0128-avoid-confusion-with-parameter-devname-with-same-nam.patch
Patch129:       0129-make-sure-path-buffer-is-large-enough-to-fit-200-cha.patch
Patch130:       0130-fix-bug-in-assemble.patch
# PATCH-FIX-UPSTREAM 0131-Detail.c-test-fix.patch bsc#974154 nfbrown@suse.com
Patch131:       0131-Detail.c-test-fix.patch
Patch132:       0132-mdadm-Change-timestamps-to-unsigned-data-type.patch
Patch133:       0133-add-sysfs_array_state-to-struct-mdinfo.patch
Patch134:       0134-recreate-journal-in-mdadm.patch
Patch135:       0135-mdadm-let-cluster-raid-could-also-add-disk-within-in.patch
Patch136:       0136-mdadm-output-info-more-precisely-when-change-bitmap-.patch
Patch137:       0137-mdadm-don-t-show-cluster-name-once-the-bitmap-is-cle.patch
Patch138:       0138-mdadm-do-not-display-bitmap-info-if-it-is-cleared.patch
Patch139:       0139-mdadm-do-not-try-to-hold-dlm-lock-in-free_super1.patch
Patch140:       0140-mdadm-improve-the-safeguard-for-change-cluster-raid-.patch
# PATCH-FIX-SLE bsc#954769 colyli@suse.de
Patch141:       0141-Detail-report-correct-raid-disk-for-removed-drives.patch
# PATCH-FIX-SLE bsc#954769 colyli@suse.de
Patch142:       0142-Detail-don-t-assume-a-particular-disk-number-of-miss.patch
Patch143:       0143-Add-update-force-no-bbl.patch
Patch144:       0144-move-journal-to-end-of-detail-list.patch
Patch145:       0145-in-add-assign-raid_disk-of-0-to-journal.patch
Patch146:       0146-Check-and-remove-bitmap-first-when-reshape-to-raid0.patch
# PATCH-FIX-SLE bsc#954769 colyli@suse.de
Patch147:       0147-Detail-fix-wrong-condition-in-recent-change.patch
Patch148:       0148-Grow-close-file-descriptor-earlier-to-avoid-still-in.patch
Patch149:       0149-Fix-wrong-description-in-manpage.patch
Patch150:       0150-Create-fix-regression-in-setting-raid_disk.patch
Patch151:       0151-Create-minor-fix-when-adding-a-journal-device.patch
Patch152:       0152-Define-_POSIX_C_SOURCE-if-undefined.patch
Patch153:       0153-Add-casts-for-the-addr-arg-of-connect-and-bind.patch
Patch154:       0154-util-fix-wrong-return-value-of-cluster_get_dlmlock.patch
Patch155:       0155-super1-fix-calculation-of-space_before.patch
# PATCH-FIX-UPSTREAM 0156-systemd-mdadm-last-resort-add-Conflicts-to-.service-.patch bsc#853944 nfbrown@suse.com
Patch156:       0156-systemd-mdadm-last-resort-add-Conflicts-to-.service-.patch
Patch157:       0157-super0-Fix-reporting-of-devices-between-2GB-and-4GB.patch
Patch158:       0158-super1-allow-reshape-that-hasn-t-really-started-to-b.patch
Patch159:       0159-Assorted-fixed-for-a-make-everything-build.patch
# PATCH-FIX-UPSTREAM 0160-super1-Fix-bblog_size-accesses-on-big-ending-machine.patch bsc#953595 nfbrown@suse.com
Patch160:       0160-super1-Fix-bblog_size-accesses-on-big-ending-machine.patch
Patch161:       0161-Fix-some-type-comparison-problems.patch
Patch162:       0162-util.c-include-poll.h-instead-of-sys-poll.h.patch
Patch163:       0163-mdadm.h-rename-bswap-macros-to-avoid-clash-with-uCli.patch
Patch164:       0164-Manage.c-Only-issue-change-events-for-kernels-older-.patch
Patch165:       0165-Grow-Add-documentation-to-abort_reshape-for-suspend_.patch
Patch166:       0166-super-intel-ensure-suspended-region-is-removed-when-.patch
Patch167:       0167-Fix-wrong-bitmap-output-for-cluster-raid.patch
Patch168:       0168-Remove-dead-code-about-LKF_CONVERT-flag.patch
Patch169:       0169-Manage-Remove-unnecessary-NULL-pointer-checks.patch
Patch170:       0170-util-Remove-unnecesary-NULL-pointer-checks-when-call.patch
Patch171:       0171-Incremental-Remove-unnecesary-NULL-pointer-checks-wh.patch
Patch172:       0172-Assemble-Remove-unnecesary-NULL-pointer-checks-when-.patch
Patch173:       0173-Manage-Manage_add-Fix-potential-NULL-pointer-derefer.patch
Patch174:       0174-load_sys-Add-a-buffer-size-argument.patch
Patch175:       0175-Grow-Grow_continue_command-remove-dead-code.patch
Patch176:       0176-Grow-Grow_addbitmap-Add-check-to-quiet-down-static-c.patch
Patch177:       0177-bitmap-Fix-resource-leak-in-bitmap_file_open.patch
Patch178:       0178-Manage-Manage_subdevs-fix-file-descriptor-leak.patch
Patch179:       0179-super1-Fix-potential-buffer-overflows-when-copying-c.patch
Patch180:       0180-ddf-use-64bit-size-not-32bit-info-size-for-create.patch
# PATCH-FIX-UPSTREAM 0181-Fix-regression-during-add-devices.patch bsc#953380 colyli@suse.de
Patch181:       0181-Fix-regression-during-add-devices.patch
Patch182:       0182-Grow-close-fd-earlier-to-avoid-cannot-get-excl-acces.patch
Patch183:       0183-super-intel-Simplify-for-loop-in-ahci_enumerate_port.patch
Patch184:       0184-Grow-analyse_change-add-notification-about-only-2-de.patch
Patch185:       0185-Grow-goto-release-if-Manage_subdevs-failed.patch
Patch186:       0186-Manage-Manage_add-Fix-memory-leak.patch
Patch187:       0187-super-intel-Remove-excessive-NULL-0-variable-initial.patch
Patch188:       0188-mdadm-Cleanup-conditionals.patch
Patch189:       0189-Manage-Manage_add-Avoid-NULL-initialization-of-dev_s.patch
Patch190:       0190-Manage-Manage_subdevs-Remove-unnecessary-NULL-initia.patch
Patch191:       0191-Assemble-assemble_container_content-Avoid-superfluou.patch
Patch192:       0192-Assemble-No-need-for-dummy-NULL-pointer-when-calling.patch
Patch193:       0193-Change-the-option-from-NoUpdate-to-NodeNumUpdate.patch
Patch194:       0194-mdadm-Add-nodes-option-in-GROW-mode.patch
Patch195:       0195-Introduce-stat2kname-and-fd2kname.patch
Patch196:       0196-Consistent-use-of-metric-prefix-in-manpage.patch
Patch197:       0197-super1-Clear-memory-allocated-for-superblock-bitmap-.patch
Patch198:       0198-Create-check-the-node-nums-when-create-clustered-rai.patch
Patch199:       0199-super1-don-t-update-node-nums-if-it-is-not-more-than.patch
Patch200:       0200-super1-make-the-check-for-NodeNumUpdate-more-accurat.patch
Patch201:       0201-Grow-Grow_addbitmap-reduce-indentation.patch
Patch202:       0202-Grow-Handle-failure-to-load-superblock-in-Grow_addbi.patch
Patch203:       0203-mdadm-Make-add_internal_bitmap-return-0-on-success.patch
Patch204:       0204-Grow-Simplify-error-paths-in-Grow_addbitmap.patch
Patch205:       0205-Grow-Apply-some-more-consistent-formatting-to-Grow_a.patch
Patch206:       0206-super1-add-more-checks-for-NodeNumUpdate-option.patch
Patch207:       0207-Use-dev_t-for-devnm2devid-and-devid2devnm.patch
Patch208:       0208-Change-behavior-in-find_free_devnm-when-wrapping-aro.patch
Patch209:       0209-Monitor-Use-sysfs_free-to-free-object-returned-by-sy.patch
Patch210:       0210-The-sys_name-array-in-the-mdinfo-structure-is-20-byt.patch
Patch211:       0211-MDADM-Check-mdinfo-reshape_active-more-times-before-.patch
Patch212:       0212-monitor-Make-sure-that-last_checkpoint-is-set-to-0-a.patch
Patch213:       0213-Remove-container-should-wait-for-an-array-to-release.patch
Patch214:       0214-Monitor-release-proc-mdstat-fd-when-no-arrays-presen.patch
Patch215:       0215-mdadm-add-clustered-in-typo-prompt-when-specify-wron.patch
Patch216:       0216-Incremental-don-t-try-to-load_container-for-a-subarr.patch
Patch217:       0217-config-Use-xcalloc-rather-than-xmalloc-memset.patch
Patch218:       0218-mdopen-Prevent-overrunning-the-devname-buffer-when-c.patch
Patch219:       0219-mdadm-fix-a-buffer-overflow.patch
Patch220:       0220-Fix-RAID-metadata-check.patch
Patch221:       0221-Fix-some-issues-found-by-clang.patch
Patch222:       0222-super1-make-write_bitmap1-compatible-with-previous-m.patch
Patch223:       0223-Allow-level-migration-only-for-single-array-containe.patch
Patch224:       0224-Fix-bus-error-when-accessing-MBR-partition-records.patch
Patch225:       0225-raid6check.c-fix-misleading-indentation-error.patch
Patch226:       0226-Lib.c-Fix-geting-devname-for-devices-with-long-path.patch
Patch227:       0227-super1-make-internal-bitmap-size-calculations-more-c.patch
Patch228:       0228-super1-fix-setting-bad-block-log-offset-in-write_ini.patch
Patch229:       0229-Add-function-for-getting-member-drive-sector-size.patch
Patch230:       0230-Increase-buffer-for-sysfs-path.patch
Patch231:       0231-Increase-buffer-for-sysfs-disk-state.patch
# PATCH-FEATURE-SLE 0232-Add-failfast-support.patch Fate#311379 nfbrown@suse.de
Patch232:       0232-Add-failfast-support.patch
Patch233:       0233-mdadm-bad-block-support-for-external-metadata-initia.patch
Patch234:       0234-mdmon-bad-block-support-for-external-metadata-sysfs-.patch
Patch235:       0235-mdmon-bad-block-support-for-external-metadata-store-.patch
Patch236:       0236-mdmon-bad-block-support-for-external-metadata-clear-.patch
Patch237:       0237-Use-disk-sector-size-value-to-set-offset-for-reading.patch
Patch238:       0238-Always-return-last-partition-end-address-in-512B-blo.patch
Patch239:       0239-Add-detail-information-when-can-not-connect-monitor.patch
Patch240:       0240-reshape-support-raid5-grow-on-certain-older-kernels.patch
Patch241:       0241-Assemble-don-t-assemble-IMSM-array-without-OROM.patch
Patch242:       0242-Assemble-really-don-t-assemble-IMSM-array-without-OR.patch
Patch243:       0243-IMSM-Clear-migration-record-on-disks-more-often.patch
Patch244:       0244-mdadm-remove-the-cluster-md-related-infos-from-doc.patch
Patch1001:      1001-super1-fix-sb-max_dev-when-adding-a-new-disk-in-line.patch
Patch1002:      1002-display-timeout-status.patch
# PATCH-FIX-SLE 1003-bnc808647-retry-failed-removes.patch bnc#808647 nfbrown@suse.de
Patch1003:      1003-bnc808647-retry-failed-removes.patch
# PATCH-FIX-SLE 1004-bnc966773_detail-ignore_empty_inactive_arrays.patch bsc#966773 nfbrown@suse.com
Patch1004:      1004-bnc966773_detail-ignore_empty_inactive_arrays.patch
# PATCH-FIX-SLE 1005-mdadm-wait-for-remove.patch bsc#974154 nfbrown@suse.com
Patch1005:      1005-mdadm-wait-for-remove.patch
# PATCH-FIX-SLE 1006-udev-md-raid-assembly.rules-Skip-multipathed-devices.patch bsc#956236 nfbrown@suse.com
Patch1006:      1006-udev-md-raid-assembly.rules-Skip-multipathed-devices.patch

%define _udevdir %(pkg-config --variable=udevdir udev)
%define _systemdshutdowndir %{_unitdir}/../system-shutdown

%description
Mdadm is a program that can be used to control Linux md devices. It is
intended to provide all the functionality of the mdtools and raidtools
programs but with a very different interface.

%prep
%setup -q -a1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch33 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch45 -p1
%patch46 -p1
%patch47 -p1
%patch48 -p1
%patch49 -p1
%patch50 -p1
%patch51 -p1
%patch52 -p1
%patch53 -p1
%patch54 -p1
%patch55 -p1
%patch56 -p1
%patch57 -p1
%patch58 -p1
%patch59 -p1
%patch60 -p1
%patch61 -p1
%patch62 -p1
%patch63 -p1
%patch64 -p1
%patch65 -p1
%patch66 -p1
%patch67 -p1
%patch68 -p1
%patch69 -p1
%patch70 -p1
%patch71 -p1
%patch72 -p1
%patch73 -p1
%patch74 -p1
%patch75 -p1
%patch76 -p1
%patch77 -p1
%patch78 -p1
%patch79 -p1
%patch80 -p1
%patch81 -p1
%patch82 -p1
%patch83 -p1
%patch84 -p1
%patch85 -p1
%patch86 -p1
%patch87 -p1
%patch88 -p1
%patch89 -p1
%patch90 -p1
%patch91 -p1
%patch92 -p1
%patch93 -p1
%patch94 -p1
%patch95 -p1
%patch96 -p1
%patch97 -p1
%patch98 -p1
%patch99 -p1
%patch100 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch104 -p1
%patch105 -p1
%patch106 -p1
%patch107 -p1
%patch108 -p1
%patch109 -p1
%patch110 -p1
%patch111 -p1
%patch112 -p1
%patch113 -p1
%patch114 -p1
%patch115 -p1
%patch116 -p1
%patch117 -p1
%patch118 -p1
%patch119 -p1
%patch120 -p1
%patch121 -p1
%patch122 -p1
%patch123 -p1
%patch124 -p1
%patch125 -p1
%patch126 -p1
%patch127 -p1
%patch128 -p1
%patch129 -p1
%patch130 -p1
%patch131 -p1
%patch132 -p1
%patch133 -p1
%patch134 -p1
%patch135 -p1
%patch136 -p1
%patch137 -p1
%patch138 -p1
%patch139 -p1
%patch140 -p1
%patch141 -p1
%patch142 -p1
%patch143 -p1
%patch144 -p1
%patch145 -p1
%patch146 -p1
%patch147 -p1
%patch148 -p1
%patch149 -p1
%patch150 -p1
%patch151 -p1
%patch152 -p1
%patch153 -p1
%patch154 -p1
%patch155 -p1
%patch156 -p1
%patch157 -p1
%patch158 -p1
%patch159 -p1
%patch160 -p1
%patch161 -p1
%patch162 -p1
%patch163 -p1
%patch164 -p1
%patch165 -p1
%patch166 -p1
%patch167 -p1
%patch168 -p1
%patch169 -p1
%patch170 -p1
%patch171 -p1
%patch172 -p1
%patch173 -p1
%patch174 -p1
%patch175 -p1
%patch176 -p1
%patch177 -p1
%patch178 -p1
%patch179 -p1
%patch180 -p1
%patch181 -p1
%patch182 -p1
%patch183 -p1
%patch184 -p1
%patch185 -p1
%patch186 -p1
%patch187 -p1
%patch188 -p1
%patch189 -p1
%patch190 -p1
%patch191 -p1
%patch192 -p1
%patch193 -p1
%patch194 -p1
%patch195 -p1
%patch196 -p1
%patch197 -p1
%patch198 -p1
%patch199 -p1
%patch200 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205 -p1
%patch206 -p1
%patch207 -p1
%patch208 -p1
%patch209 -p1
%patch210 -p1
%patch211 -p1
%patch212 -p1
%patch213 -p1
%patch214 -p1
%patch215 -p1
%patch216 -p1
%patch217 -p1
%patch218 -p1
%patch219 -p1
%patch220 -p1
%patch221 -p1
%patch222 -p1
%patch223 -p1
%patch224 -p1
%patch225 -p1
%patch226 -p1
%patch227 -p1
%patch228 -p1
%patch229 -p1
%patch230 -p1
%patch231 -p1
%patch232 -p1
%patch233 -p1
%patch234 -p1
%patch235 -p1
%patch236 -p1
%patch237 -p1
%patch238 -p1
%patch239 -p1
%patch240 -p1
%patch241 -p1
%patch242 -p1
%patch243 -p1
%patch244 -p1
%patch1001 -p1
%patch1002 -p1
%patch1003 -p1
%patch1004 -p1
%patch1005 -p1
%patch1006 -p1

%build
make %{?_smp_mflags} CC="%__cc" CXFLAGS="$RPM_OPT_FLAGS -Wno-error" SUSE=yes
cd Software-RAID.HOWTO
sgml2html Software-RAID.HOWTO.sgml
sgml2txt Software-RAID.HOWTO.sgml

%install
make install install-systemd install-udev DESTDIR=%{buildroot} SYSTEMD_DIR=%{_unitdir} UDEVDIR=%{_udevdir} SUSE=yes
rm -rf %{buildroot}/lib/udev
install -d %{buildroot}%{_var}/adm/fillup-templates
install -d %{buildroot}/usr/share/mdadm
install -m 755 misc/mdcheck %{buildroot}/usr/share/mdadm/mdcheck
install -d %{buildroot}{%{_sbindir}
install -d %{buildroot}/etc/cron.daily
install -d %{buildroot}/etc/cron.d
install -m 755 %{S:7} %{buildroot}/etc/cron.daily/mdadm
install -m 644 %{S:3} %{buildroot}/etc/cron.d/mdadm
install -m 644 %{S:2} %{buildroot}%{_var}/adm/fillup-templates/

install -d %{buildroot}%{_systemdshutdowndir}

%post
%{?regenerate_initrd_post}
%fillup_only

%postun
%{?regenerate_initrd_post}
%{insserv_cleanup}

%posttrans
%{?regenerate_initrd_posttrans}

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root)
%doc COPYING ChangeLog README.initramfs TODO mdadm.conf-example mkinitramfs
%doc Software-RAID.HOWTO/Software-RAID.HOWTO*{.txt,.html}
%doc %{_mandir}/man?/*
/sbin/*
%dir /usr/share/mdadm
/usr/share/mdadm/*
%{_var}/adm/fillup-templates/sysconfig.mdadm
%{_udevdir}/rules.d/63-md-raid-arrays.rules
%{_udevdir}/rules.d/64-md-raid-assembly.rules
%dir /etc/cron.daily
/etc/cron.daily/mdadm
%dir /etc/cron.d
%config /etc/cron.d/mdadm
%{_systemdshutdowndir}/mdadm.shutdown
%{_unitdir}/mdmon@.service
%{_unitdir}/mdmonitor.service
%{_unitdir}/mdadm-last-resort@.timer
%{_unitdir}/mdadm-last-resort@.service
%{_unitdir}/mdadm-grow-continue@.service
%dir %{_unitdir}/../scripts
%{_unitdir}/../scripts/mdadm_env.sh

%changelog
openSUSE Build Service is sponsored by