summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Ledford <dledford@redhat.com>2008-07-24 14:01:17 -0400
committerDoug Ledford <dledford@redhat.com>2008-07-24 14:01:17 -0400
commit3220a37d5cfde2d100baa666c398977efc72e624 (patch)
treea885e52a28bd1c8083794a8ca026ba49a7b8ae9a
parent2cf24a8437d5aa4fcb71d663fc3a02a28aedb7ea (diff)
downloadmdadm-3220a37d5cfde2d100baa666c398977efc72e624.tar.gz
mdadm-3220a37d5cfde2d100baa666c398977efc72e624.tar.xz
mdadm-3220a37d5cfde2d100baa666c398977efc72e624.zip
Add remaining files from devel dist-cvs repo
Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r--distropkg/mdadm.rules6
-rw-r--r--distropkg/mdadm.spec352
-rw-r--r--distropkg/mdmonitor.init90
3 files changed, 448 insertions, 0 deletions
diff --git a/distropkg/mdadm.rules b/distropkg/mdadm.rules
new file mode 100644
index 0000000..e70f5b1
--- /dev/null
+++ b/distropkg/mdadm.rules
@@ -0,0 +1,6 @@
+# This file causes block devices with Linux RAID (mdadm) signatures to
+# automatically cause mdadm to be run.
+# See udev(8) for syntax
+
+SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="linux_raid*", \
+ RUN+="/sbin/mdadm --incremental --run --scan $root/%k"
diff --git a/distropkg/mdadm.spec b/distropkg/mdadm.spec
new file mode 100644
index 0000000..fac4ded
--- /dev/null
+++ b/distropkg/mdadm.spec
@@ -0,0 +1,352 @@
+Summary: The mdadm program controls Linux md devices (software RAID arrays)
+Name: mdadm
+Version: 2.6.7
+Release: 1%{?dist}
+Source: http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-%{version}.tar.bz2
+Source1: mdmonitor.init
+Source2: mdadm.rules
+Patch1: mdadm-2.5.2-s390-build.patch
+Patch2: mdadm-2.5.2-static.patch
+Patch3: mdadm-2.2-nodiet.patch
+Patch4: mdadm-2.5.2-cflags.patch
+Patch5: mdadm-2.6.1-build.patch
+Patch6: mdadm-2.6.4-open.patch
+URL: http://www.kernel.org/pub/linux/utils/raid/mdadm/
+License: GPLv2+
+Group: System Environment/Base
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Obsoletes: mdctl,raidtools
+Requires(post): /sbin/service, /sbin/chkconfig
+Requires(preun): /sbin/service, /sbin/chkconfig
+Requires(postun): /sbin/service
+
+%description
+The mdadm program is used to create, manage, and monitor Linux MD (software
+RAID) devices. As such, it provides similar functionality to the raidtools
+package. However, mdadm is a single program, and it can perform
+almost all functions without a configuration file, though a configuration
+file can be used to help with some common tasks.
+
+%prep
+%setup -q
+%patch1 -p1 -b .s390
+%patch2 -p1 -b .static
+%patch3 -p1 -b .nodiet
+%patch4 -p1 -b .cflags
+%patch5 -p1 -b .build
+%patch6 -p1 -b .open
+
+%build
+make %{?_smp_mflags} CXFLAGS="$RPM_OPT_FLAGS" SYSCONFDIR="%{_sysconfdir}" MDASSEMBLE_AUTO=1 mdassemble.static mdassemble mdadm.static mdadm
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} BINDIR=/sbin install
+install -Dp -m755 %{SOURCE1} $RPM_BUILD_ROOT/%{_initrddir}/mdmonitor
+mkdir -p -m 755 $RPM_BUILD_ROOT/etc/udev/rules.d
+install -m 644 %{SOURCE2} $RPM_BUILD_ROOT/etc/udev/rules.d/70-mdadm.rules
+
+mkdir -p -m 700 $RPM_BUILD_ROOT/var/run/mdadm
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post
+if [ "$1" = 1 ]; then
+ /sbin/chkconfig --add mdmonitor
+fi
+# If we are upgrading, the postun for mdmpd will not have deleted the init.d
+# file, so clean the stale file out here. We should only have to carry this
+# baggage around for a little while before we can assume that the old mdmpd
+# stuff has been cleaned up.
+if [ -x /etc/init.d/mdmpd ]; then
+ service mdmpd stop > /dev/null 2>&1 ||:
+ /sbin/chkconfig --del mdmpd
+fi
+
+%preun
+if [ "$1" = 0 ]; then
+ service mdmonitor stop > /dev/null 2>&1 ||:
+ /sbin/chkconfig --del mdmonitor
+fi
+
+%postun
+if [ "$1" -ge "1" ]; then
+ service mdmonitor condrestart > /dev/null 2>&1
+fi
+
+%files
+%defattr(-,root,root,-)
+%doc TODO ChangeLog mdadm.conf-example COPYING misc/*
+/etc/udev/rules.d/*
+/sbin/*
+%{_initrddir}/*
+%{_mandir}/man*/md*
+%attr(0700,root,root) %dir /var/run/mdadm
+
+%changelog
+* Thu Jun 26 2008 Doug Ledford <dledford@redhat.com> - 2.6.7-1
+- Update to latest upstream version (should resolve #444237)
+- Drop incremental patch as it's now part of upstream
+- Clean up all the open() calls in the code (#437145)
+- Fix the build process to actually generate mdassemble (#446988)
+- Update the udev rules to get additional info about arrays being assembled
+ from the /etc/mdadm.conf file (--scan option) (#447818)
+- Update the udev rules to run degraded arrays (--run option) (#452459)
+
+* Thu Apr 17 2008 Bill Nottingham <notting@redhat.com> - 2.6.4-4
+- make /dev/md if necessary in incremental mode (#429604)
+- open RAID devices with O_EXCL to avoid racing against other --incremental processes (#433932)
+
+* Fri Feb 1 2008 Bill Nottingham <notting@redhat.com> - 2.6.4-3
+- add a udev rules file for device assembly (#429604)
+
+* Fri Jan 18 2008 Doug Ledford <dledford@redhat.com> - 2.6.4-2
+- Bump version and rebuild
+
+* Fri Oct 19 2007 Doug Ledford <dledford@redhat.com> - 2.6.4-1
+- Update to latest upstream and remove patches upstream has taken
+
+* Tue Aug 28 2007 Fedora Release Engineering <rel-eng at fedoraproject dot org> - 2.6.2-5
+- Rebuild for selinux ppc32 issue.
+
+* Mon Jul 09 2007 Doug Ledford <dledford@redhat.com> - 2.6.2-4
+- Oops, if we call -C -e1, minor_version is no longer properly set, fix that
+ up
+- Related: bz230207
+
+* Fri Jul 06 2007 Doug Ledford <dledford@redhat.com> - 2.6.2-3
+- Oops, had to update the file leak patch, missed one thing
+- Minor tweak to return codes in init script and add LSB header
+- Resolves: bz244582, bz246980
+
+* Mon Jul 02 2007 Doug Ledford <dledford@redhat.com> - 2.6.2-2
+- Fix a file leak issue when mdadm is in monitor mode
+- Update mdadm init script so that status will always run and so
+ return codes are standards compliant
+- Fix assembly of version 1 superblock devices
+- Make the attempt to create an already running device have a clearer
+ error message
+- Allow the creation of a degraded raid4 array like we allow for raid5
+- Make mdadm actually pay attention to raid4 devices when in monitor mode
+- Make the mdmonitor script use daemon() correctly
+- Fix a bug where manage mode would not add disks correctly under certain
+ conditions
+- Resolves: bz244582, bz242688, bz230207, bz169516, bz171862, bz171938
+- Resolves: bz174642, bz224272, bz186524
+
+* Mon Jul 02 2007 Doug Ledford <dledford@redhat.com> - 2.6.2-1
+- Update to latest upstream
+- Remove requirement for /usr/sbin/sendmail - it's optional and not on by
+ default, and sendmail isn't *required* for mdadm itself to work, and isn't
+ even required for the monitoring capability to work, just if you want to
+ have the monitoring capability do the automatic email thing instead of
+ run your own program (and if you use the program option of the monitor
+ capability, your program could email you in a different manner entirely)
+
+* Mon Apr 16 2007 Doug Ledford <dledford@redhat.com> - 2.6.1-4
+- More cleanups for merge review process
+- Related: bz226134
+
+* Wed Apr 11 2007 Doug Ledford <dledford@redhat.com> - 2.6.1-3
+- Various cleanups as part of merge review process
+- Related: bz226134
+
+* Sat Mar 31 2007 Doug Ledford <dledford@redhat.com> - 2.6.1-2
+- Oops, missing a dependency in the Makefile
+
+* Sat Mar 31 2007 Doug Ledford <dledford@redhat.com> - 2.6.1-1
+- Update to latest upstream version
+- Resolves: bz233422
+
+* Fri Jan 26 2007 Doug Ledford <dledford@redhat.com> - 2.6-1
+- Update to latest upstream version
+- Remove the mdmpd daemon entirely. Now that multipath tools from the lvm/dm
+ packages handles multipath devices well, this is no longer needed.
+- Various cleanups in the spec file
+
+* Thu Nov 09 2006 Doug Ledford <dledford@redhat.com> - 2.5.4-3
+- Add a fix for the broken printout of array GUID when using the -E --brief
+ flags
+
+* Fri Oct 13 2006 Doug Ledford <dledford@redhat.com> - 2.5.4-2
+- tag present on another branch and can't be forcibly moved
+ required number bump
+
+* Fri Oct 13 2006 Doug Ledford <dledford@redhat.com> - 2.5.4-1
+- Update to 2.5.4 (listed as a bugfix update by upstream)
+- Remove previous bitmap patch that's now part of 2.5.4
+
+* Sun Oct 8 2006 Doug Ledford <dledford@redhat.com> - 2.5.3-2
+- Fix a big-endian machine error in the bitmap code (Paul Clements)
+
+* Mon Aug 7 2006 Doug Ledford <dledford@redhat.com> - 2.5.3-1
+- Update to 2.5.3 which upstream calls a "bug fix" release
+
+* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.5.2-1.1
+- rebuild
+
+* Fri Jul 7 2006 Doug Ledford <dledford@redhat.com> - 2.5.2-1
+- Update to 2.5.2
+- Remove auto default patch as upstream now has a preferred default auto method
+
+* Wed Mar 8 2006 Peter Jones <pjones@redhat.com> - 2.3.1-3
+- fix build on ppc64
+
+* Wed Mar 8 2006 Jeremy Katz <katzj@redhat.com> - 2.3.1-2
+- fix build on ppc
+
+* Wed Mar 8 2006 Jeremy Katz <katzj@redhat.com> - 2.3.1-1
+- update to 2.3.1 to fix raid5 (#184284)
+
+* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 2.2-1.fc5.2.1
+- bump again for double-long bug on ppc(64)
+
+* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 2.2-1.fc5.2
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
+- rebuilt
+
+* Mon Dec 05 2005 Warren Togami <wtogami@redhat.com> 2.2-1
+- 2.2 upgrade (#167897)
+- disable diet because we don't ship it anymore
+ and we don't actually use mdassemble now
+
+* Mon May 16 2005 Doug Ledford <dledford@redhat.com> 1.11.0-4.fc4
+- Make the mdmonitor init script use the pid-file option, major cleanup
+ of the script now possible (#134459)
+
+* Mon May 16 2005 Doug Ledford <dledford@redhat.com> 1.11.0-3.fc4
+- Put back the obsoletes: raidtools that was present in 1.11.0-1.fc4
+
+* Mon May 16 2005 Doug Ledford <dledford@redhat.com> 1.11.0-2.fc4
+- Change the default auto= mode so it need not be on the command line to
+ work with udev, however it is still supported on the command line (#132706)
+- Add a man page (from Luca Berra) for mdassemble
+
+* Wed May 11 2005 Doug Ledford <dledford@redhat.com> - 1.11.0-1.fc4
+- Upgrade to 1.11.0
+
+* Wed Apr 27 2005 Jeremy Katz <katzj@redhat.com> - 1.9.0-3.fc4
+- fix mdmonitor initscript (#144717)
+
+* Mon Mar 21 2005 Doug Ledford <dledford@redhat.com> 1.9.0-2
+- Build mdadm.static and mdassemble (static as well) to be used in initrd
+ images
+
+* Wed Mar 09 2005 Doug Ledford <dledford@redhat.com> 1.9.0-1
+- Initial upgrade to 1.9.0 and update of doc files
+- Fix an s390 build error
+
+* Mon Oct 04 2004 Doug Ledford <dledford@redhat.com> 1.6.0-2
+- Remove /etc/mdadm.conf from the file list. Anaconda will write one out
+ if it's needed.
+
+* Fri Oct 01 2004 Doug Ledford <dledford@redhat.com> 1.6.0-1
+- Update to newer upstream version
+- Make mdmpd work on kernels that don't have the event interface patch
+
+* Fri Jul 30 2004 Dan Walsh <dwalsh@redhat.com> 1.5.0-11
+- Create a directory /var/run/mdadm to contain mdadm.pid
+- This cleans up SELinux problem
+
+* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Sat May 22 2004 Doug Ledford <dledford@redhat.com> - 1.5.0-9
+- Fix Makefile and build method to satisfy bz #123769
+- Add mdmpd man page, update mdmpd version to 0.3 - bz #117160
+- Make sure mdadm --monitor closes all md device files so that md devices
+ can be stopped while mdadm is still running - bz #119532
+
+* Thu May 20 2004 Jeremy Katz <katzj@redhat.com> - 1.5.0-8
+- remove unneeded patch, can use --run instead
+
+* Wed May 19 2004 Jeremy Katz <katzj@redhat.com> - 1.5.0-7
+- add patch with reallyforce mode on creation to be used by anaconda
+
+* Wed May 12 2004 Doug Ledford <dledford@redhat.com> 2.5.0-6
+- Fix a bug in the postun scriptlet related to downgrading to a version
+ of mdadm that doesn't include the mdmpd daemon.
+
+* Fri May 07 2004 Doug Ledford <dledford@redhat.com> 1.5.0-5
+- Disable service mdmpd by default to avoid [Failed] messages on
+ current 2.6 kernels. Possibly re-enable it by default once the
+ 2.6 kernels have the md event interface.
+
+* Thu Apr 22 2004 Doug Ledford <dledford@redhat.com> 1.5.0-4
+- Update mdmonitor script to start daemon more cleanly
+- Repackage mdmpd tarball to include gcc-3.4 changes and to make
+ mdmpd properly daemonize at startup instead of forking and leaving
+ the child attached to the terminal.
+
+* Thu Mar 4 2004 Bill Nottingham <notting@redhat.com> 1.5.0-3
+- ship /var/run/mpmpd (#117497)
+
+* Thu Feb 26 2004 Doug Ledford <dledford@redhat.com> 1.5.0-2
+- Add a default MAILADDR line to the mdadm.conf file installed by default
+ (Bugzilla #92447)
+- Make it build with gcc-3.4
+
+* Mon Feb 23 2004 Doug Ledford <dledford@redhat.com> 1.5.0-1
+- Update to 1.5.0 (from Matthew J. Galgoci <mgalgoci@redhat.com>)
+
+* Sun Nov 16 2003 Doug Ledford <dledford@redhat.com> 1.4.0-1
+- fix problem with recovery thread sleeping in mdmpd
+
+* Fri Nov 14 2003 Doug Ledford <dledford@redhat.com>
+- sync upstream
+- add mdmpd package into mdadm package
+
+* Wed Sep 10 2003 Michael K. Johnson <johnsonm@redhat.com> 1.3.0-1
+- sync upstream
+
+* Tue Mar 11 2003 Michael K. Johnson <johnsonm@redhat.com> 1.1.0-1
+- sync upstream
+
+* Tue Jan 28 2003 Michael K. Johnson <johnsonm@redhat.com> 1.0.1-1
+- update for rebuild
+
+* Wed Dec 25 2002 Tim Powers <timp@redhat.com> 1.0.0-8
+- fix references to %%install in the changelog so that it will build
+
+* Fri Dec 13 2002 Elliot Lee <sopwith@redhat.com> 1.0.0-7
+- Rebuild
+
+* Fri Jul 12 2002 Michael K. Johnson <johnsonm@redhat.com>
+- Changed RPM Group to System Environment/Base
+
+* Wed May 15 2002 Michael K. Johnson <johnsonm@redhat.com>
+- minor cleanups to the text, conditionalize rm -rf
+- added mdmonitor init script
+
+* Fri May 10 2002 <neilb@cse.unsw.edu.au>
+- update to 1.0.0
+- Set CXFLAGS instead of CFLAGS
+
+* Sat Apr 6 2002 <neilb@cse.unsw.edu.au>
+- change %%install to use "make install"
+
+* Fri Mar 15 2002 <gleblanc@localhost.localdomain>
+- beautification
+- made mdadm.conf non-replaceable config
+- renamed Copyright to License in the header
+- added missing license file
+- used macros for file paths
+
+* Fri Mar 15 2002 Luca Berra <bluca@comedia.it>
+- Added Obsoletes: mdctl
+- missingok for configfile
+
+* Wed Mar 12 2002 NeilBrown <neilb@cse.unsw.edu.au>
+- Add md.4 and mdadm.conf.5 man pages
+
+* Fri Mar 08 2002 Chris Siebenmann <cks@cquest.utoronto.ca>
+- builds properly as non-root.
+
+* Fri Mar 08 2002 Derek Vadala <derek@cynicism.com>
+- updated for 0.7, fixed /usr/share/doc and added manpage
+
+* Tue Aug 07 2001 Danilo Godec <danci@agenda.si>
+- initial RPM build
diff --git a/distropkg/mdmonitor.init b/distropkg/mdmonitor.init
new file mode 100644
index 0000000..f2039a0
--- /dev/null
+++ b/distropkg/mdmonitor.init
@@ -0,0 +1,90 @@
+#!/bin/bash
+#
+# mdmonitor This starts, stops, and reloads the mdadm-based
+# software RAID monitoring and management facility
+#
+# chkconfig: 2345 15 85
+# description: software RAID monitoring and management
+# config: /etc/mdadm.conf
+#
+# Copyright 2002 Red Hat, Inc.
+#
+### BEGIN INIT INFO
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start and stop the MD software RAID monitor
+# Description: The mdmonitor service checks the status of all software
+# RAID arrays on the system. In the event that any of the arrays
+# transition into a degraded state, it notifies the system
+# administrator. Other options are available, see the mdadm.conf
+# and mdadm man pages for possible ways to configure this service.
+### END INIT INFO
+
+PIDFILE=/var/run/mdadm/mdadm.pid
+PATH=/sbin:/usr/sbin:$PATH
+RETVAL=0
+OPTIONS="--monitor --scan -f --pid-file=$PIDFILE"
+
+prog=mdmonitor
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+
+usage ()
+{
+ echo "Usage: service $prog {start|stop|status|restart|try-restart|force-reload}"
+ RETVAL=1
+}
+
+
+start ()
+{
+# Make sure configuration file exists and has information we can use
+# MAILADDR or PROGRAM or both must be set in order to run mdadm --monitor
+ [ -f /etc/mdadm.conf ] || return 6
+ grep '^\(MAILADDR\|PROGRAM\) .' /etc/mdadm.conf >/dev/null 2>&1 || return 6
+ if [ -f "$PIDFILE" ]; then
+ checkpid `cat $PIDFILE` && return 0
+ fi
+ echo -n $"Starting $prog: "
+ cd /
+ daemon --user=root mdadm ${OPTIONS}
+ ret=$?
+ [ $ret -eq "0" ] && touch /var/lock/subsys/$prog
+ echo
+ return $ret
+}
+
+stop ()
+{
+ [ -f /var/lock/subsys/$prog ] || return 0
+ echo -n "Killing $prog: "
+ killproc mdadm
+ echo
+ rm -f /var/lock/subsys/$prog
+}
+
+restart ()
+{
+ stop
+ start
+}
+
+condrestart ()
+{
+ [ -e /var/lock/subsys/$prog ] && restart || return 0
+}
+
+
+case "$1" in
+ start) start; RETVAL=$? ;;
+ stop) stop; RETVAL=$? ;;
+ status) status mdadm; RETVAL=$? ;;
+ restart) restart; RETVAL=$? ;;
+ reload) RETVAL=3 ;;
+ condrestart|try-restart|force-reload) condrestart; RETVAL=$? ;;
+ *) usage ; RETVAL=2 ;;
+esac
+
+exit $RETVAL