mdadm/mdadm.spec

470 lines
19 KiB
RPMSpec

#
# spec file for package mdadm (Version 2.6.7)
#
# Copyright (c) 2008 SUSE LINUX Products 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/
#
# norootforbuild
Name: mdadm
Version: 2.6.7
Release: 16
BuildRequires: sgmltool
PreReq: %fillup_prereq %insserv_prereq
Obsoletes: raidtools
AutoReqProv: on
Group: System/Base
License: GPL v2 or later
Url: http://www.cse.unsw.edu.au/~neilb/source/mdadm/
Summary: Utility for Configuring MD Setup
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: %{name}-%{version}.tar.bz2
Source1: Software-RAID.HOWTO.tar.bz2
Source2: sysconfig.mdadm
Source3: mdadmd
Source4: boot.md
Source5: mkinitrd-setup.sh
Source6: mkinitrd-boot.sh
Patch1: mdadm-2.6.7-56f8add2.patch
Patch2: mdadm-2.6.7-60b435db.patch
%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.
Authors:
--------
Neil Brown <neilb@cse.unsw.edu.au>
%prep
%setup -q -a1
%patch1 -p1
%patch2 -p1
%build
%{suse_update_config -f}
make CXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-error"
cd Software-RAID.HOWTO
sgml2html Software-RAID.HOWTO.sgml
sgml2txt Software-RAID.HOWTO.sgml
%install
make install DESTDIR=$RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_var}/adm/fillup-templates
install -d $RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir}/init.d}
install -d $RPM_BUILD_ROOT/lib/udev/devices
install -m 755 %{S:4} %{S:3} $RPM_BUILD_ROOT%{_sysconfdir}/init.d/
install -d $RPM_BUILD_ROOT/lib/mkinitrd/scripts
install -m 755 %{S:5} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/setup-md.sh
install -m 755 %{S:6} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/boot-md.sh
install -m 644 %{S:2} $RPM_BUILD_ROOT%{_var}/adm/fillup-templates/
ln -sf ../../etc/init.d/mdadmd $RPM_BUILD_ROOT/%{_sbindir}/rcmdadmd
%post
%{fillup_and_insserv -Y boot.md}
%postun
%restart_on_update mdadmd
%{insserv_cleanup}
%preun
%stop_on_removal mdadmd
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%attr(0755,root,root) %config %{_sysconfdir}/init.d/*
%attr(640,root,disk) %dev(b,9,0) /lib/udev/devices/md0
%attr(640,root,disk) %dev(b,9,1) /lib/udev/devices/md1
%attr(640,root,disk) %dev(b,9,2) /lib/udev/devices/md2
%attr(640,root,disk) %dev(b,9,3) /lib/udev/devices/md3
%attr(640,root,disk) %dev(b,9,4) /lib/udev/devices/md4
%attr(640,root,disk) %dev(b,9,5) /lib/udev/devices/md5
%attr(640,root,disk) %dev(b,9,6) /lib/udev/devices/md6
%attr(640,root,disk) %dev(b,9,7) /lib/udev/devices/md7
%attr(640,root,disk) %dev(b,9,8) /lib/udev/devices/md8
%attr(640,root,disk) %dev(b,9,9) /lib/udev/devices/md9
%attr(640,root,disk) %dev(b,9,10) /lib/udev/devices/md10
%attr(640,root,disk) %dev(b,9,11) /lib/udev/devices/md11
%attr(640,root,disk) %dev(b,9,12) /lib/udev/devices/md12
%attr(640,root,disk) %dev(b,9,13) /lib/udev/devices/md13
%attr(640,root,disk) %dev(b,9,14) /lib/udev/devices/md14
%attr(640,root,disk) %dev(b,9,15) /lib/udev/devices/md15
%attr(640,root,disk) %dev(b,9,16) /lib/udev/devices/md16
%attr(640,root,disk) %dev(b,9,17) /lib/udev/devices/md17
%attr(640,root,disk) %dev(b,9,18) /lib/udev/devices/md18
%attr(640,root,disk) %dev(b,9,19) /lib/udev/devices/md19
%attr(640,root,disk) %dev(b,9,20) /lib/udev/devices/md20
%attr(640,root,disk) %dev(b,9,21) /lib/udev/devices/md21
%attr(640,root,disk) %dev(b,9,22) /lib/udev/devices/md22
%attr(640,root,disk) %dev(b,9,23) /lib/udev/devices/md23
%attr(640,root,disk) %dev(b,9,24) /lib/udev/devices/md24
%attr(640,root,disk) %dev(b,9,25) /lib/udev/devices/md25
%attr(640,root,disk) %dev(b,9,26) /lib/udev/devices/md26
%attr(640,root,disk) %dev(b,9,27) /lib/udev/devices/md27
%attr(640,root,disk) %dev(b,9,28) /lib/udev/devices/md28
%attr(640,root,disk) %dev(b,9,29) /lib/udev/devices/md29
%attr(640,root,disk) %dev(b,9,30) /lib/udev/devices/md30
%attr(640,root,disk) %dev(b,9,31) /lib/udev/devices/md31
%doc ANNOUNCE-2.0 ANNOUNCE-2.1 ANNOUNCE-2.2 COPYING ChangeLog README.initramfs TODO mdadm.conf-example mkinitramfs
%doc Software-RAID.HOWTO/Software-RAID.HOWTO*{.txt,.html}
%doc %{_mandir}/man?/*
/sbin/*
/lib/udev
%{_sbindir}/*
%{_var}/adm/fillup-templates/sysconfig.mdadm
%dir /lib/mkinitrd
%dir /lib/mkinitrd/scripts
/lib/mkinitrd/scripts/setup-md.sh
/lib/mkinitrd/scripts/boot-md.sh
%changelog
* Sun Aug 17 2008 aj@suse.de
- Fix init scripts.
* Wed Jul 23 2008 hare@suse.de
- Include mkinitrd scriptlets.
* Fri Jun 20 2008 mmarek@suse.cz
- updated to 2.6.7 + fixes from git
* Avoid segfault when parsing /proc/mdstat with auto-read-only
arrays.
* For v0.90 superblocks, print the 'Events' count as a real
count, not 2 numbers separated by a dot.
* Allow creation of a RAID6 with exactly one missing device.
* Use LOG_PID for syslog, so you get the pid of mdadm in the
log files.
* --export now works with --examine too (not just --detail)
* Improve auto-creation of device special file when using
--incremental
* Simple locking for --incremental so mdadm doesn't get
confused when run concurrently with itself.
* Make --incremental cope better with arrays that are being
reshaped.
* Fix autoassemble for stack arrays.
- remove /tmp/mdadm.conf in boot.md (bnc#401138)
* Wed Apr 30 2008 mmarek@suse.cz
- added some fixes from Neil's git repo, fixing bnc#368704 among
others
* Mon Feb 04 2008 mmarek@suse.cz
- correctly display rc_status in boot.md
* Wed Jan 23 2008 mmarek@suse.cz
- fixed auto-assembly part of boot.md
* if /etc/mdadm.conf is empy or only contains whitespace or
comments, no autoassembly is done
* remove /tmp/mdadm.conf even if a directory [#329678]
- dropped mdrun and raidautorun (no longer needed)
* Wed Oct 24 2007 mmarek@suse.cz
- updated to 2.6.4
* Make "--create --auto=mdp" work for non-standard device names.
* Fix restarting of a 'reshape' if it was stopped in the middle.
* Fix a segfault when using v1 superblock.
* Make --write-mostly effective when re-adding a device to an
array.
* Various minor fixes
- changes in 2.6.3:
* allow --write-behind to be set for --grow.
* When adding new disk to an array, don't reserve so much bitmap
space that the disk cannot store the required data. (Needed
when 1.x array was created with older mdadm).
* When adding a drive that was a little too small, we did not get
the correct error message.
* Make sure that if --assemble find an array in the critical
region of a reshape, and cannot find the critical data to
restart the reshape, it gives an error message.
* Fix segfault with '--detail --export' and non-persistent
superblocks.
* Various manpage updates.
* Improved 'raid4' support (--assemble, --monitor)
* Option parsing fixes w.r.t -a
* Interpret "--assemble --metadata=1" to allow any version 1.x
metadata, and be more specific in the "metadata=" message
printed with --examine --brief
* Fix spare migration in --monitor.
* Fri Jul 27 2007 mmarek@suse.cz
- changes to the init script [#288454]
* don't try to autoassemble if /etc/mdadm.conf exists (even an
empty one)
* ony autoassemble partitions found in /proc/partitions
* Fri Jul 13 2007 mmarek@suse.cz
- updated to 2.6.2
* --fail detached and --remove faulty can be used to fail and
remove devices that are no longer physically present.
* --export option for --detail or present information in a format
that can be processed by udev.
* fix internal bitmap allocation problems with v1.1, v1.2
metadata.
* --help now goes to stdout so you can direct it to a pager.
* Various manpage updates.
* Make "--grow --add" for linear arrays really work.
* --auto-detect to trigger in-kernel autodetect.
* Make return code for "--detail --test" more reliable. Missing
devices as well as failed devices cause an error.
- added some fixes from Neil's git repo (mdadm-git-fixes.patch)
* Thu Jun 21 2007 adrian@suse.de
- fix changelog entry order
* Mon Apr 02 2007 mmarek@suse.cz
- updated to 2.6.1
* --monitor was producing some meaningless warnings due to a bug.
* Fix some compiler warnings.
* Fully support --grow for raid6. If a reshape crashed during
the critical period, mdadm wouldn't restore the Q information
properly.
* Update documentation for --grow.
* Report bitmap status in --detail and --examine
* Default to v1 superblocks instead of v0.90 if the array
is too big for 0.90 to handle.
* Sort the output of "mdadm --detail --scan" so that it is
in a suitable order for assembling arrays. i.e. components come
before an array that they are part of.
* Require bitmap files to have a '/' in their name.
* Rewrite 'reshape' support including performing a backup
of the critical region for a raid5 growth, and restoring that
backup after a crash.
* Put a 'canary' at each end of the backup so a corruption
can be more easily detected.
* Support --backup-file for backing-up critical section during
growth.
* Erase old superblocks (of different versions) when creating new
array.
* Allow --monitor to work with arrays with >28 devices
* Report reshape information in --detail
* Handle symlinks in /dev better
* Fix mess in --detail output which a device is missing.
* Support 'bitmap=' in mdadm.conf for auto-assembling arrays with
write-intent bitmaps in separate files.
* Fix alignment problem in version-1 superblocks.
NOTE: This is an incompatable change affecting raid5 reshape.
If you want to reshape a raid5 using version-1 superblocks,
use 2.6.17-rc2 or later, and mdadm-2.4.1 or later.
* Support 'mailfrom' line in mdadm.conf so the From: line in alert
emails can be explicitly set.
* Arrange that SparesMissing (which is similar in import to
DegradedArray) generates an Email.
* Assume "DEVICE partitions" if no DEVICE line is given.
* Support new 'offset' layout for raid10.
* When creating a bitmap file, choose a chunksize to limit number
of bitmap chunks to 2 million. More than this can cause kmalloc
failure.
* New 'CREATE' line in mdadm.conf for defaults such as owner, group,
mode and auto-flag
* --detail checks if array has been started or not and includes that
in report.
* When using --update=uuid on an array with a bitmap, update the
bitmap's uuid too.
* Add a copy of /proc/mdstat to the mail message sent by mdadm
--monitor.
* New flag --no-degraded to avoid starting arrays if there are
fewer devices available than last time the array was started.
This is only needed with --scan, as with --scan, that behaviour
is the default.
* Support for 'homehost' concept. This is a fairly major update.
It includes a configfile option and a command line option for
specifying a homehost, records that host in the superblock,
and reports the homehost where possible.
* Support for Auto Assembly. "mdadm -As" will, if provided with
the name of a homehost, try to assemble all arrays it can find
that were created for that homehost. See man pages for more details.
* Don't try to create devices with --manage or --grow
* allow default metadata (superblock) type to be specified
in mdadm.conf
* Avoid some misdetection of overlapping partitions
* Add 'Array Slot' line to --examine for version-1 superblocks
to make it a bit easier to see what is happening.
* Work around bug in --add handling for version-1 superblocks
in 2.6.17 (and prior).
* Make -assemble a bit more resilient to finding strange
information in superblocks.
* When creating devices in /dev/md/ create matching symlinks
from /dev. e.g. /dev/md0 -> /dev/md/0.
Allow this to be disabled in mdadm.conf or on command line.
* Allow a number (of partitions) after the 'yes' option to --auto=
This is particularly useful in the 'create' line in mdadm.conf.
* Remove partitions from any whole device that is made part of
an md array. This is a work-around for annoying messages
when the first block on some drive accidentally looks like a
partition table.
* Close stray fd in mdassemble so that it can assemble stacked
devices
* If mdassemble finds an array already assembled, it marks it
read-write.
* Remove error in md_open if array is already active. This isn't
needed and gets in the ways if an array was created e.g. in
initramfs, but device doesn't yet exist in /dev.
* When --assemble --scan is run, if all arrays that could be found
have already been started, don't report an error.
* Allow --assemble --force to mark a raid6 clean when it has two
missing devices (which is needed else if won't assemble.
Without this fix it would only assemble if one or zero
missing devices.
* Support --update=devicesize for cases where the underlying device
can change size.
* Default to --auto=yes so the array devices with 'standard' names
get created automatically, as this is almost always what is wanted.
* Give useful message if raid4/5/6 cannot be started because it is
not clean and is also degraded.
* Increase raid456 stripe cache size if needed to --grow the array.
The setting used unfortunately requires intimate knowledge of the
kernel, and it not reset when the reshape finishes.
* Change 'Device Size' to 'Used Dev Size' because it only shows how
much of each device is actually used, not how big they are.
* --wait or -W will wait for resync activity to finish on the given
devices.
* If two drives in a raid5 disappear at the same time, then "-Af"
will add them both in rather than just one and forcing the array
to 'clean'. This is slightly safer in some cases.
* Don't hold md device open for so long in --monitor mode - map_dev
can be slow and interferes with trying to stop the array.
* Support --uuid= with --create to choose your own UUID.
* New major more "--incremental" for incremental assemble of arrays,
intended for use with udev.
* lots of bugfixes
* manpage updates
* Wed Jan 10 2007 mmarek@suse.cz
- use raidautorun instead of mdrun to autodetect the raid arrays in
boot.md [#230733]
* Wed Nov 08 2006 prusnak@suse.cz
- fixed subscript out of range [#212697]
* Wed Sep 20 2006 mjancar@suse.cz
- update to 2.5.3
* lots bugfixes
* drop all patches (integrated upstream)
* Fri Jul 28 2006 olh@suse.de
- remove dropped boot.ibmsis from boot.md
- boot.rootfsck should start before boot.md (#181972)
* Fri Jul 21 2006 olh@suse.de
- remove boot.proc from Required-Start: in boot.md (#178753)
* Wed May 03 2006 mjancar@suse.cz
- fix false SparesMissing error (#171326)
* Wed Apr 26 2006 hare@suse.de
- Fix init script dependencies
- Implement MDADM_DEVICE_TIMEOUT to set a timeout for
udevsettle (#149979)
* Tue Apr 25 2006 mjancar@suse.cz
- add static device nodes for udev (#168824)
* Wed Apr 19 2006 mjancar@suse.cz
- set $BOOT_MD_USE_MDADM_CONFIG to "yes" by default (#155120)
* Fri Apr 07 2006 mjancar@suse.cz
- detach mdadmd from tty in rcmdadmd (#160881)
* Mon Apr 03 2006 mjancar@suse.cz
- fix garbled output with --detail (#160827)
- fix fix write-mostly with --add and --re-add (#162968)
* Fri Mar 24 2006 mjancar@suse.cz
- add /sbin/raidautorun (#159460)
* Wed Mar 08 2006 mjancar@suse.cz
- add $BOOT_MD_USE_MDADM_CONFIG sysconfig variable (#155120)
* Thu Feb 09 2006 mjancar@suse.cz
- round free size to chunk size multiply on --create (#148562)
* Tue Feb 07 2006 mjancar@suse.cz
- move boot.multipath to Should-Start instead of Required-Start
* Mon Feb 06 2006 mjancar@suse.cz
- add "Obsoletes: raidtools"
- start boot.md after boot.multipath
- call mdadm without -a from mdrun, an argument is required in 2.2
* Mon Feb 06 2006 mjancar@suse.de
- don't start mdadmd by default
* Sun Feb 05 2006 mjancar@suse.cz
- include option for email to be sent on start (#142105)
- fix missing md autostart due to raidtools dropped (#148234)
* include mdrun script from Debian
* create boot.md initscipt
* Sun Feb 05 2006 schwab@suse.de
- Fix memset parameters.
* Thu Feb 02 2006 mjancar@suse.cz
- fix segfault on --assemble (#146514)
* Fri Jan 27 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Wed Jan 25 2006 olh@suse.de
- fix uninitialized variable, memset call and memcmp/memcpy bug
mdadm.bug144647-array.init.patch
mdadm.bug144647-update_super1-memcpy.patch
mdadm.bug144647-add_internal_bitmap0-memcpy.patch
* Wed Jan 11 2006 mjancar@suse.cz
- update ro 2.2
* Tue Dec 20 2005 ro@suse.de
- at least output errors if they occur (instead of ignoring)
* Wed Nov 30 2005 schwab@suse.de
- Fix broken formats.
* Tue Oct 25 2005 aj@suse.de
- Build with -fno-strict-aliasing.
* Wed Oct 12 2005 mjancar@suse.cz
- update to 2.1
* Thu Jul 28 2005 anicka@suse.cz
- update to 1.12.0
* Wed Jun 15 2005 meissner@suse.de
- use RPM_OPT_FLAGS correctly.
* Tue Apr 19 2005 postadal@suse.de
- updated to version 1.11.0
- fixed for gcc 4.0
- removed obsoleted patch config-fix
* Wed Mar 30 2005 postadal@suse.cz
- fixed parsing command line option '--config=partions' [#74603]
* Fri Feb 04 2005 postadal@suse.cz
- updated to version 1.9.0
* Thu Jan 13 2005 postadal@suse.cz
- updated to version 1.8.1
- extended comment in sysconfig.mdadm [#48567]
* Fri Aug 06 2004 postadal@suse.cz
- updated to version 1.6.0
* added --auto= and --assume-clean options
* added "degraded" and "recovering" options to the "Status:" entry
* Tue Feb 10 2004 postadal@suse.cz
- updated to version 1.5.0
* new commands "mdassemble"
* support for raid6 as found in 2.6.2
* support partitioned md arrays with a different major number and
naming scheme
* added "SparesMissing" event when --monitor first sees an array and
it doesn't have the enough spare devices.
* Sun Jan 11 2004 adrian@suse.de
- add %%defattr
* Mon Dec 01 2003 fehr@suse.de
- fix quoting problem in start script (#33392)
* Fri Aug 29 2003 fehr@suse.de
- add PreReq for fillup
* Tue Aug 26 2003 fehr@suse.de
- add %%stop_on_removal and %%restart_on_update
* Thu Aug 14 2003 fehr@suse.de
- add missing activation metadata in sysconfig (#28901)
* Tue Jul 29 2003 fehr@suse.de
- update to new version 1.3.0 of package
* Mon Apr 14 2003 postadal@suse.cz
- fixed init script (added return value for unimplemented reload function)
* Mon Mar 31 2003 postadal@suse.cz
- added buildroot, init script, sysconfig
- bzip2 sources and cleaned specfile
* Thu Mar 20 2003 fehr@suse.de
- update to version 1.2.0 of package
* Mon Mar 03 2003 fehr@suse.de
- update to version 1.1.0 of package
* Mon Dec 02 2002 fehr@suse.de
- Fix for new glibc/gcc
* Tue Sep 17 2002 ro@suse.de
- removed bogus self-provides
* Fri Sep 13 2002 lmb@suse.de
- Fix for 64bit arch; ioctl returns long instead of int (#20339)
* Fri Aug 23 2002 lmb@suse.de
- Multipath arrays can now be build manually even without a superblock.
- One debugging chunk removed from patch.
* Tue Aug 13 2002 lmb@suse.de
- Fix for the assembly of multipath arrays.
* Mon Aug 12 2002 lmb@suse.de
- Added patch to support the enhanced multipath features.
* Mon Aug 05 2002 fehr@suse.de
- make SuSE package from version 1.0.1 of mdadm