diff --git a/.hdparm.metadata b/.hdparm.metadata
new file mode 100644
index 0000000..2fa3f9b
--- /dev/null
+++ b/.hdparm.metadata
@@ -0,0 +1 @@
+3ffbcf46237245868a569125a6d5c92a0e07e7ce SOURCES/hdparm-9.43.tar.gz
diff --git a/README.md b/README.md
deleted file mode 100644
index 0e7897f..0000000
--- a/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-The master branch has no content
- 
-Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6
- 
-If you find this file in a distro specific branch, it means that no content has been checked in yet
diff --git a/SOURCES/hdparm-9.43-close_fd.patch b/SOURCES/hdparm-9.43-close_fd.patch
new file mode 100644
index 0000000..533b18e
--- /dev/null
+++ b/SOURCES/hdparm-9.43-close_fd.patch
@@ -0,0 +1,12 @@
+Index: hdparm-9.43/fallocate.c
+===================================================================
+--- hdparm-9.43.orig/fallocate.c
++++ hdparm-9.43/fallocate.c
+@@ -41,6 +41,7 @@ int do_fallocate_syscall (const char *pa
+ 			exit(0);
+ 		}
+ 		err = errno;
++		close(fd);
+ 		unlink(path);
+ 	}
+ 	perror(path);
diff --git a/SOURCES/hdparm-9.43-ditch_dead_code.patch b/SOURCES/hdparm-9.43-ditch_dead_code.patch
new file mode 100644
index 0000000..4f4f177
--- /dev/null
+++ b/SOURCES/hdparm-9.43-ditch_dead_code.patch
@@ -0,0 +1,47 @@
+Index: hdparm-9.43/sgio.c
+===================================================================
+--- hdparm-9.43.orig/sgio.c
++++ hdparm-9.43/sgio.c
+@@ -17,6 +17,10 @@
+ 
+ #include <linux/hdreg.h>
+ 
++#ifndef DEMAND_SENSE_DATA
++	#define DEMAND_SENSE_DATA 0
++#endif
++
+ extern int verbose;
+ extern int prefer_ata12;
+ 
+@@ -193,7 +197,7 @@ int sg16 (int fd, int rw, int dma, struc
+ 	unsigned char cdb[SG_ATA_16_LEN];
+ 	unsigned char sb[32], *desc;
+ 	struct scsi_sg_io_hdr io_hdr;
+-	int prefer12 = prefer_ata12, demanded_sense = 0;
++	int prefer12 = prefer_ata12;
+ 
+ 	if (tf->command == ATA_OP_PIDENTIFY)
+ 		prefer12 = 0;
+@@ -302,14 +306,16 @@ int sg16 (int fd, int rw, int dma, struc
+ 
+ 	desc = sb + 8;
+ 	if (io_hdr.driver_status != SG_DRIVER_SENSE) {
+-		if (sb[0] | sb[1] | sb[2] | sb[3] | sb[4] | sb[5] | sb[6] | sb[7] | sb[8] | sb[9]) {
+-			static int second_try = 0;
+-			if (!second_try++)
++		static int second_try = 0;
++		if (!second_try++) {
++			if (sb[0] | sb[1] | sb[2] | sb[3] | sb[4] | sb[5] | sb[6] | sb[7] | sb[8] | sb[9]) {
+ 				fprintf(stderr, "SG_IO: questionable sense data, results may be incorrect\n");
+-		} else if (demanded_sense) {
+-			static int second_try = 0;
+-			if (!second_try++)
++			}
++#if DEMAND_SENSE_DATA
++			else {
+ 				fprintf(stderr, "SG_IO: missing sense data, results may be incorrect\n");
++			}
++#endif
+ 		}
+ 	} else if (sb[0] != 0x72 || sb[7] < 14 || desc[0] != 0x09 || desc[1] < 0x0c) {
+ 		dump_bytes("SG_IO: bad/missing sense data, sb[]", sb, sizeof(sb));
diff --git a/SOURCES/hdparm-9.43-get_geom.patch b/SOURCES/hdparm-9.43-get_geom.patch
new file mode 100644
index 0000000..88414fb
--- /dev/null
+++ b/SOURCES/hdparm-9.43-get_geom.patch
@@ -0,0 +1,13 @@
+Index: hdparm-9.43/geom.c
+===================================================================
+--- hdparm-9.43.orig/geom.c
++++ hdparm-9.43/geom.c
+@@ -201,7 +201,7 @@ int get_dev_geometry (int fd, __u32 *cyl
+ 			__u64 hs  = (*heads) * (*sects);
+ 			__u64 cyl = (*cyls);
+ 			__u64 chs = cyl * hs;
+-			if (chs < (*nsectors))
++			if (chs < (*nsectors) && hs)
+ 				*cyls = (*nsectors) / hs;
+ 		}
+ 	}
diff --git a/SOURCES/hdparm-missing-params.patch b/SOURCES/hdparm-missing-params.patch
new file mode 100644
index 0000000..b67b839
--- /dev/null
+++ b/SOURCES/hdparm-missing-params.patch
@@ -0,0 +1,12 @@
+Index: hdparm-9.43/hdparm.c
+===================================================================
+--- hdparm-9.43.orig/hdparm.c
++++ hdparm-9.43/hdparm.c
+@@ -1503,6 +1503,7 @@ static void usage_help (int clue, int rc
+ 	" --offset          use with -t, to begin timings at given offset (in GiB) from start of drive\n"
+ 	" --prefer-ata12    Use 12-byte (instead of 16-byte) SAT commands when possible\n"
+ 	" --read-sector     Read and dump (in hex) a sector directly from the media\n"
++	" --repair-sector   Alias for the --write-sector option (VERY DANGEROUS)\n"
+ 	" --security-help   Display help for ATA security commands\n"
+ 	" --trim-sector-ranges        Tell SSD firmware to discard unneeded data sectors: lba:count ..\n"
+ 	" --trim-sector-ranges-stdin  Same as above, but reads lba:count pairs from stdin\n"
diff --git a/SOURCES/man-page-update.patch b/SOURCES/man-page-update.patch
new file mode 100644
index 0000000..5a31422
--- /dev/null
+++ b/SOURCES/man-page-update.patch
@@ -0,0 +1,14 @@
+Index: hdparm-9.43/hdparm.8
+===================================================================
+--- hdparm-9.43.orig/hdparm.8
++++ hdparm-9.43/hdparm.8
+@@ -677,6 +677,9 @@ provides a safe fix for the problem for
+ Display some basic settings, similar to \-acdgkmur for IDE.
+ This is also the default behaviour when no options are specified.
+ .TP
++.I -V
++Display program version and exit immediately.
++.TP
+ .I --verbose 
+ Display extra diagnostics from some commands.
+ .TP
diff --git a/SPECS/hdparm.spec b/SPECS/hdparm.spec
new file mode 100644
index 0000000..7c12764
--- /dev/null
+++ b/SPECS/hdparm.spec
@@ -0,0 +1,333 @@
+Summary: A utility for displaying and/or setting hard disk parameters
+Name: hdparm
+Version: 9.43
+Release: 4%{?dist}
+License: BSD
+Group: Applications/System
+URL:    http://sourceforge.net/projects/hdparm/
+Source: http://download.sourceforge.net/hdparm/hdparm-%{version}.tar.gz
+Patch0: hdparm-missing-params.patch
+Patch1: man-page-update.patch
+Patch2: %{name}-9.43-ditch_dead_code.patch
+Patch3: %{name}-9.43-close_fd.patch
+Patch4: %{name}-9.43-get_geom.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+ExcludeArch: s390 s390x
+
+%description
+Hdparm is a useful system utility for setting (E)IDE hard drive
+parameters.  For example, hdparm can be used to tweak hard drive
+performance and to spin down hard drives for power conservation.
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+%build
+CFLAGS="$RPM_OPT_FLAGS" make %{?_smp_mflags} STRIP=/bin/true LDFLAGS=
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/sbin
+mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man8
+install -c -m 755 hdparm $RPM_BUILD_ROOT/sbin/hdparm
+install -c -m 644 hdparm.8 $RPM_BUILD_ROOT/%{_mandir}/man8
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%doc hdparm.lsm Changelog LICENSE.TXT README.acoustic TODO
+/sbin/hdparm
+%{_mandir}/man8/hdparm.8*
+
+%changelog
+* Wed Aug 07 2013 Michal Minar <miminar@redhat.com> 9.43-4
+- Fixed division by zero.
+- Resolves: #986072
+
+* Sun Jul 21 2013 Michal Minar <miminar@redhat.com> 9.43-3
+- Added patches fixing covscan defects.
+
+* Fri Apr 19 2013 Michal Minar <miminar@redhat.com> 9.43-2
+- Fixed inconsistency between man page and program's help.
+
+* Wed Mar 13 2013 Michal Minar <miminar@redhat.com> - 9.43-1
+- hdparm-9.43
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.42-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Mon Oct 01 2012 Michal Minar <miminar@redhat.com> - 9.42-1
+- hdparm-9.42
+
+* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.39-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Fri Feb 03 2012 Karsten Hopp <karsten@redhat.com> 9.39-1
+- hdparm-9.39
+
+* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.36-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.36-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Mon Jan 24 2011 Karsten Hopp <karsten@redhat.com> 9.36-1
+- update to hdparm-9.36 (#645048)
+
+* Thu Oct 07 2010 Karsten Hopp <karsten@redhat.com> 9.33-1
+- update to hdparm-9.33 (#592896)
+
+* Fri Dec 11 2009 Karsten Hopp <karsten@redhat.com> 9.27-1
+- update to 9.27
+- enhance security-erase timeout to 12h (#536731)
+
+* Thu Aug 20 2009 Ville Skyttä <ville.skytta@iki.fi> - 9.16-3
+- Let rpmbuild strip the executable (#513025).
+
+* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.16-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Fri Jul 17 2009 Karsten Hopp <karsten@redhat.com> 9.16-1
+- update to 9.16, fixes disk spindowns
+
+* Wed Mar 04 2009 Karsten Hopp <karsten@redhat.com> 9.12-1
+- update to 9.12 to fix #488560
+
+* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.8-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Wed Jan 14 2009 Karsten Hopp <karsten@redhat.com> 9.8-1
+- update
+
+* Wed Mar 05 2008 Karsten Hopp <karsten@redhat.com> 8.6-1
+- update to 8.6
+- fix source URL
+
+* Mon Feb 25 2008 Karsten Hopp <karsten@redhat.com> 8.5-1
+- version 8.5, fixes u8->u16 bug in security commands
+
+* Mon Feb 25 2008 Karsten Hopp <karsten@redhat.com> 8.4-2
+- fix debuginfo package (#434644)
+
+* Wed Feb 20 2008 Karsten Hopp <karsten@redhat.com> 8.4-1
+- version 8.4
+
+* Tue Feb 19 2008 Karsten Hopp <karsten@redhat.com> 8.1-3
+- upload 8.1 sources and rebuild
+
+* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 8.1-2
+- Autorebuild for GCC 4.3
+
+* Mon Feb 18 2008 Karsten Hopp <karsten@redhat.com> 8.1-1
+- update to 8.1
+
+* Fri Aug 24 2007 Karsten Hopp <karsten@redhat.com> 7.7-1
+- update to 7.7
+
+* Tue Jul 10 2007 Karsten Hopp <karsten@redhat.com> 7.6-1
+- update to version 7.6
+
+* Fri Feb 09 2007 Karsten Hopp <karsten@redhat.com> 6.9-3
+- more review cleanups (#225882)
+
+* Mon Feb 05 2007 Karsten Hopp <karsten@redhat.com> 6.9-2
+- clean up spec file for merge review (#225882)
+
+* Thu Jan 18 2007 Karsten Hopp <karsten@redhat.com> 6.9-1
+- update to 6.9
+
+* Mon Jul 17 2006 Karsten Hopp <karsten@redhat.de> 6.6-2
+- test builds on ia64, ppc, ppc64
+
+* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 6.6-1.1
+- rebuild
+
+* Mon May 22 2006 Karsten Hopp <karsten@redhat.de> 6.3-3
+- remove obsolute include patch
+- disable idestruct patch, rebuild
+
+* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 6.3-2.2
+- bump again for double-long bug on ppc(64)
+
+* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 6.3-2.1
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Tue Dec 20 2005 Karsten Hopp <karsten@redhat.de> 6.3-2
+- use ExcludeArch, this allows building on archs we don't
+  ship such as Alpha (#175919)
+
+* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
+- rebuilt
+
+* Wed Nov 30 2005 Karsten Hopp <karsten@redhat.de> 6.3-1
+- fix package URL
+
+* Tue Oct 25 2005 Karsten Hopp <karsten@redhat.de> 6.3-1
+- update to hdparm-6.3
+
+* Wed Jun 08 2005 Karsten Hopp <karsten@redhat.de> 6.1-1
+- update to 6.1 (BLKGETSIZE fixes)
+- work around hdparm's usage of kernel headers, assume
+  that we run it on little-endian machines only
+
+* Wed May 18 2005 Karsten Hopp <karsten@redhat.de> 5.9-3
+- remove /etc/sysconfig/harddisks (#157673)
+
+* Tue May 10 2005 Karsten Hopp <karsten@redhat.de> 5.9-2
+- enable debuginfo
+
+* Wed Mar 02 2005 Karsten Hopp <karsten@redhat.de> 5.9-1
+- update to 5.9
+- build with gcc-4
+
+* Mon Jan 03 2005 Karsten Hopp <karsten@redhat.de> 5.8-2 
+- add --help option (#143916)
+
+* Fri Nov 26 2004 Karsten Hopp <karsten@redhat.de> 5.8-1 
+- update
+
+* Tue Sep 21 2004 Than Ngo <than@redhat.com> 5.7-2
+- rebuilt
+
+* Mon Sep 06 2004 Karsten Hopp <karsten@redhat.de> 5.7-1 
+- update to latest stable version
+
+* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Thu Feb 19 2004 Karsten Hopp <karsten@redhat.de> 5.5-1 
+- update to latest stable version
+- rename variable to avoid name clash with readahead function
+
+* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Wed Jun 04 2003 Karsten Hopp <karsten@redhat.de> 5.4-2
+- rebuild
+
+* Wed Jun 04 2003 Karsten Hopp <karsten@redhat.de> 5.4-1
+- update
+- #92057
+
+* Wed Apr 23 2003 Karsten Hopp <karsten@redhat.de> 5.3-2
+- rebuild
+
+* Wed Apr 23 2003 Karsten Hopp <karsten@redhat.de> 5.3-1
+- update to 5.3
+- add comment to /etc/sysconfig/harddisks
+
+* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
+- rebuilt
+
+* Thu Dec 12 2002 Tim Powers <timp@redhat.com> 5.2-3
+- rebuild on all arches
+
+* Tue Nov 19 2002 Tim Powers <timp@redhat.com>
+- rebuild on all arches
+
+* Wed Jun 26 2002 Karsten Hopp <karsten@redhat.de>
+- update to 5.2 with the following fixes:
+ - v5.2 compile fixes for 2.5.xx
+ - v5.1 fixed segfault in "-i" on older drives
+ - v5.0 lots of updates and new features
+ - v4.9 fixed compile error with 2.5.xx kernels
+ - v4.8 changed -Q to allow specifying queue depth
+ - v4.7 added -z, -Q, -M flags; expanded parm range for -p
+
+* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
+- automated rebuild
+
+* Thu May 23 2002 Tim Powers <timp@redhat.com>
+- automated rebuild
+
+* Fri Feb 22 2002 Karsten Hopp <karsten@redhat.de>
+- bump version for 8.0
+
+* Fri Feb 22 2002 Karsten Hopp <karsten@redhat.de>
+- rebuild in new environment
+
+* Wed Jan 23 2002 Karsten Hopp <karsten@redhat.de> (4.6-1)
+- Update to 4.6
+
+* Mon Oct 01 2001 Karsten Hopp <karsten@redhat.de>
+- fix name of doc file  (#54137)
+
+* Fri Jul 20 2001 Florian La Roche <Florian.LaRoche@redhat.de>
+- exclude s390,s390x
+
+* Mon Jun 25 2001 Karsten Hopp <karsten@redhat.de>
+- update to version 4.1
+- update URL
+
+* Wed Jul 19 2000 Bernhard Rosenkränzer <bero@redhat.com>
+- disable readahead (#14268)
+- add comment in /etc/sysconfig/harddisks about possible extra parameters
+
+* Thu Jul 13 2000 Prospector <bugzilla@redhat.com>
+- automatic rebuild
+
+* Wed Jul 12 2000 Trond Eivind Glomsrød <teg@redhat.com>
+- disable 32 bit interfacing (#13730)
+
+* Tue Jun 27 2000 Trond Eivind Glomsrød <teg@redhat.com>
+- use %%{_tmppath}
+- add /etc/sysconfig/harddisks, a new file for hardisk 
+  optimization parameters
+
+* Mon Jun 18 2000 Bernhard Rosenkränzer <bero@redhat.com>
+- FHSify
+
+* Sun Apr  9 2000 Bernhard Rosenkränzer <bero@redhat.com>
+- Fix compilation with kernel 2.3.*
+
+* Thu Feb 17 2000 Bernhard Rosenkränzer <bero@redhat.com>
+- 3.9
+- handle RPM_OPT_FLAGS
+
+* Thu Feb 17 2000 Bernhard Rosenkränzer <bero@redhat.com>
+- Use O_NONBLOCK when opening devices so we can manipulate CD-ROM drives
+  with no media inserted, even when running a current kernel (Bug #6457)
+
+* Sat Feb  5 2000 Bill Nottingham <notting@redhat.com>
+- build as non-root user (#6458)
+
+* Fri Feb  4 2000 Bernhard Rosenkränzer <bero@redhat.com>
+- deal with RPM compressing man pages
+
+* Fri Nov 19 1999 Bernhard Rosenkraenzer <bero@redhat.com>
+- 3.6
+
+* Thu Aug 12 1999 Cristian Gafton <gafton@redhat.com>
+- version 3.5
+
+* Wed Mar 24 1999 Cristian Gafton <gafton@redhat.com>
+- added patches from UP
+
+* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
+- auto rebuild in the new build environment (release 4)
+
+* Tue Dec 29 1998 Cristian Gafton <gafton@redhat.com>
+- build for 6.0
+
+* Fri Apr 24 1998 Prospector System <bugs@redhat.com>
+- translations modified for de, fr, tr
+
+* Wed Apr 08 1998 Erik Troan <ewt@redhat.com>
+- updated to 3.3
+- build rooted
+
+* Fri Oct 31 1997 Donnie Barnes <djb@redhat.com>
+- fixed spelling error in summary
+
+* Mon Jun 02 1997 Erik Troan <ewt@redhat.com>
+- built against glibc
+