diff --git a/.gitignore b/.gitignore
index e69de29..e912284 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,28 @@
+/libabigail-1.0-git-164d17e.tar.gz
+/libabigail-1.0.rc0.tar.gz
+/no-designated-init-for-el6-patch.txt
+/enum-val-fix-patch.txt
+/libabigail-1.0.rc2.tar.gz
+/std-lower-el6-patch.txt
+/enum-val-stable-on-32-64-bits-patch.txt
+/libabigail-1.0.rc3.tar.gz
+/fix-test-diff-pkg-patch.txt
+/libabigail-1.0.rc4.tar.gz
+/0001-Bug-19961-Distinguish-between-PI-executable-and-shar.patch
+/0002-Bug-19964-Cannot-load-function-aliases-on-ppc64.patch
+/libabigail-1.0.rc5.tar.gz
+/0001-Fix-python-interpreter-patch-for-el6.patch
+/libabigail-1.0.rc6.tar.gz
+/0001-A-suppressed-diff-node-implies-suppressing-all-equiv.patch
+/0001-Bug-20927-Segfault-when-HOME-is-not-set.patch
+/0001-Fix-aborting-when-reading-.foo-symbols-from-a-ppc64-.patch
+/libabigail-1.0.tar.gz
+/libabigail-1.1.tar.gz
+/libabigail-1.2.tar.gz
+/libabigail-1.3.tar.gz
+/libabigail-1.4.tar.gz
+/libabigail-1.5.tar.gz
+/Support-having-several-debuginfo-search-dirs-for-a-b.patch
+/Add-a-fail-no-debug-info-to-abidiff.patch
+/libabigail-1.6.tar.gz
+/libabigail-1.7.tar.gz
diff --git a/enum-val-fix-patch.txt b/enum-val-fix-patch.txt
new file mode 100644
index 0000000..e8070cb
--- /dev/null
+++ b/enum-val-fix-patch.txt
@@ -0,0 +1,93 @@
+diff --git a/include/abg-ir.h b/include/abg-ir.h
+index daeec5c..cb9169b 100644
+--- a/include/abg-ir.h
++++ b/include/abg-ir.h
+@@ -1832,7 +1832,7 @@ public:
+ void
+ set_name(const string& n);
+
+- ssize_t
++ size_t
+ get_value() const;
+
+ void
+diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
+index 1eda045..313b282 100644
+--- a/src/abg-dwarf-reader.cc
++++ b/src/abg-dwarf-reader.cc
+@@ -3956,6 +3956,7 @@ die_unsigned_constant_attribute(Dwarf_Die* die,
+ return true;
+ }
+
++#if 0
+ /// Get the value of an attribute that is supposed to be a signed
+ /// constant.
+ ///
+@@ -3988,7 +3989,7 @@ die_signed_constant_attribute(Dwarf_Die* die,
+ cst = result;
+ return true;
+ }
+-
++#endif
+ /// Get the value of a DIE attribute; that value is meant to be a
+ /// flag.
+ ///
+@@ -6476,8 +6477,8 @@ build_enum_type(read_context& ctxt,
+ string n, m;
+ location l;
+ die_loc_and_name(ctxt, &child, loc, n, m);
+- ssize_t val = 0;
+- die_signed_constant_attribute(&child, DW_AT_const_value, val);
++ size_t val = 0;
++ die_unsigned_constant_attribute(&child, DW_AT_const_value, val);
+ enms.push_back(enum_type_decl::enumerator(n, val));
+ }
+ while (dwarf_siblingof(&child, &child) == 0);
+diff --git a/src/abg-ir.cc b/src/abg-ir.cc
+index dedf053..c279ad8 100644
+--- a/src/abg-ir.cc
++++ b/src/abg-ir.cc
+@@ -8200,7 +8200,7 @@ enum_type_decl::enumerator::set_name(const string& n)
+ ///
+ /// @return the value of the current instance of
+ /// enum_type_decl::enumerator.
+-ssize_t
++size_t
+ enum_type_decl::enumerator::get_value() const
+ {return priv_->value_;}
+
+diff --git a/src/abg-reader.cc b/src/abg-reader.cc
+index 4da7f4d..3c19481 100644
+--- a/src/abg-reader.cc
++++ b/src/abg-reader.cc
+@@ -3176,7 +3176,7 @@ build_enum_type_decl(read_context& ctxt,
+ if (xmlStrEqual(n->name, BAD_CAST("enumerator")))
+ {
+ string name;
+- ssize_t value = 0;
++ size_t value = 0;
+
+ xml_char_sptr a = xml::build_sptr(xmlGetProp(n, BAD_CAST("name")));
+ if (a)
+@@ -3185,7 +3185,7 @@ build_enum_type_decl(read_context& ctxt,
+ a = xml::build_sptr(xmlGetProp(n, BAD_CAST("value")));
+ if (a)
+ {
+- value = strtol(CHAR_STR(a), NULL, 0);
++ value = strtoll(CHAR_STR(a), NULL, 0);
+ if (errno == ERANGE)
+ return nil;
+ }
+diff --git a/src/abg-writer.cc b/src/abg-writer.cc
+index 8d64ce5..dcece4a 100644
+--- a/src/abg-writer.cc
++++ b/src/abg-writer.cc
+@@ -1861,7 +1861,7 @@ write_enum_type_decl(const enum_type_decl_sptr decl,
+ o << "\n";
+ }
+
diff --git a/libabigail.spec b/libabigail.spec
new file mode 100644
index 0000000..1e34551
--- /dev/null
+++ b/libabigail.spec
@@ -0,0 +1,296 @@
+%global tarball_revision 0
+%global tarball_name %{name}-%{version}
+
+Name: libabigail
+Version: 1.7
+Release: 1%{?dist}
+Summary: Set of ABI analysis tools
+
+License: LGPLv3+
+URL: https://sourceware.org/libabigail/
+Source0: ftp://mirrors.kernel.org/sourceware/libabigail/%{tarball_name}.tar.gz
+
+BuildRequires: gcc-c++
+BuildRequires: libtool
+BuildRequires: elfutils-devel
+BuildRequires: libxml2-devel
+BuildRequires: doxygen
+BuildRequires: python-sphinx
+BuildRequires: texinfo
+BuildRequires: dos2unix
+BuildRequires: dpkg
+BuildRequires: python2-devel
+BuildRequires: python-argparse
+BuildRequires: rpm-python
+BuildRequires: python-mock
+BuildRequires: koji
+BuildRequires: pyxdg
+BuildRequires: python-unittest2
+BuildRequires: wget
+#For x-rpm mimetype definition!
+BuildRequires: mailcap
+BuildRequires: koji
+
+Requires: pyxdg
+Requires: rpm-python
+Requires: koji
+Requires: python2 >= 2.6
+Requires: wget
+#For x-rpm mimetype definition!
+Requires: mailcap
+
+%description
+The libabigail package comprises seven command line utilities:
+abidiff, kmidiff, abipkgdiff, abicompat, abidw, abilint and
+fedabipkgdiff. The abidiff command line tool compares the ABI of two
+ELF shared libraries and emits meaningful textual reports about
+changes impacting exported functions, variables and their types.
+Simarly, the kmidiff compares the kernel module interface of two Linux
+kernels. abipkgdiff compares the ABIs of ELF binaries contained in
+two packages. abicompat checks if a subsequent version of a shared
+library is still compatible with an application that is linked against
+it. abidw emits an XML representation of the ABI of a given ELF
+shared library. abilint checks that a given XML representation of the
+ABI of a shared library is correct. fedabipkgdiff interacts with the
+Fedora Build System over the internet to let the user compare the ABI
+of Fedora packages without having to download them manually.
+
+Install libabigail if you need to compare the ABI of ELF shared
+libraries.
+
+%package devel
+Summary: Shared library and header files to write ABI analysis tools
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+This package contains a shared library and the associated header files
+that are necessary to develop applications that use the C++ Libabigail
+library. The library provides facilities to analyze and compare
+application binary interfaces of shared libraries in the ELF format.
+
+
+%package doc
+Summary: Man pages, texinfo files and html manuals of libabigail
+Requires(post): info
+Requires(preun): info
+
+%description doc
+This package contains documentation for the libabigail tools in the
+form of man pages, texinfo documentation and API documentation in html
+format.
+
+%prep
+%setup -n %{tarball_name}
+
+%build
+# Sometimes the libtool program generated on the developer's machine
+# when she was doing make dist contains some flags that trigger the
+# use of "/usr/lib/rpm/redhat/redhat-hardened-ld", which is not
+# present on el6. That flags like in the fild build-aux/ltmain.sh
+# looks like:
+# compiler_flags="-specs=/usr/lib/rpm/redhat/redhat-hardened-ld"
+# So let's remove those flags if they are present.
+if test -f build-aux/ltmain.sh; then
+ sed -i -e "s/compiler_flags=.*/compiler_flags=/" build-aux/ltmain.sh
+fi
+%configure --disable-python3 --disable-silent-rules --disable-zip-archive --disable-static
+make %{?_smp_mflags}
+pushd doc
+make html-doc
+pushd manuals
+make html-doc
+%if 0%{!?el6}||0%{!?el5}
+make man
+make info
+%endif
+popd
+popd
+
+%install
+%make_install
+find %{buildroot} -name '*.la' -exec rm -f {} ';'
+
+%if 0%{!?el6}&&0%{!?el5}
+# Install man and texinfo files as they are not installed by the
+# default 'install' target of the makefile.
+make -C doc/manuals install-man-and-info-doc DESTDIR=%{buildroot}
+dos2unix doc/manuals/html/_static/jquery.js
+%endif
+
+%check
+time make %{?_smp_mflags} check || (cat tests/test-suite.log && exit 2)
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%if 0%{!?el6}&&0%{!?el5}
+%post doc
+/usr/sbin/install-info %{_infodir}/abigail.info* %{_infodir}/dir 2>/dev/null || :
+
+%preun doc
+if [ $1 -eq 0 ]; then
+ /usr/sbin/install-info --delete %{_infodir}/abigail.info* %{_infodir}/dir 2>/dev/null || :
+fi
+%endif
+
+%files
+%{_bindir}/abicompat
+%{_bindir}/abidiff
+%{_bindir}/abidw
+%{_bindir}/abilint
+%{_bindir}/abipkgdiff
+%{_bindir}/fedabipkgdiff
+%{_bindir}/kmidiff
+%{_libdir}/libabigail.so.0
+%{_libdir}/libabigail.so.0.0.0
+%{_libdir}/libabigail/default.abignore
+%if 0%{?el6}||0%{?el5}
+%doc README AUTHORS ChangeLog COPYING COPYING-LGPLV3 COPYING-GPLV3 doc/manuals/html/*
+%else
+%doc README AUTHORS ChangeLog
+%license COPYING COPYING-LGPLV3 COPYING-GPLV3
+%endif
+
+%files devel
+%{_libdir}/libabigail.so
+%{_libdir}/pkgconfig/libabigail.pc
+%{_includedir}/*
+%{_datadir}/aclocal/abigail.m4
+
+%if 0%{!?el6}&&0%{!?el5}
+%files doc
+%license COPYING COPYING-LGPLV3 COPYING-GPLV3
+%doc doc/manuals/html/*
+%{_mandir}/man1/*
+%{_mandir}/man7/*
+%{_infodir}/abigail.info*
+%endif
+
+%changelog
+* Tue Feb 25 2020 Dodji Seketeli - 1.7-1
+- Update to upstream 1.7
+- Add Koji as BuildRequires
+ Fixes: RHBZ#1799575
+
+* Thu Mar 28 2019 Dodji Seketeli - 1.6-1
+- Update to upstream 1.6
+- Remove patches:
+ Support-having-several-debuginfo-search-dirs-for-a-b.patch
+ Add-a-fail-no-debug-info-to-abidiff.patch
+
+* Mon Nov 12 2018 Dodji Seketeli - 1.5-2
+- Apply patches
+ Support-having-several-debuginfo-search-dirs-for-a-b.patch and
+ Add-a-fail-no-debug-info-to-abidiff.patch
+
+* Thu Oct 25 2018 Dodji Seketeli - 1.5-1
+- Update to upstream 1.5 tarball
+
+* Fri Jul 13 2018 Dodji Seketeli - 1.4-1
+- Update to upstream 1.4
+- Merge change to build fedabipkgdiff in Fedora only
+
+* Wed May 16 2018 Dodji Seketeli - 1.3-1
+- Update to upstream 1.3 version
+- Make sure to disable python3
+
+* Tue Mar 6 2018 Dodji Seketeli - 1.2-1
+- Update to upstream 1.2
+
+* Tue Jan 30 2018 Dodji Seketeli - 1.1-1
+- Update to upstream 1.1
+
+* Wed Nov 22 2017 Dodji Seketeli - 1.0-1
+- Add missing %%{dist} to release.
+
+* Tue Nov 7 2017 Dodji Seketeli - 1.0-1
+- Update to upstream 1.0 tarball
+- Adjust tarball_revision and tarball_name macros
+- Adjust Release macro
+- Added missing build and runtime require 'mailcap' to allow
+ fedabipkgdiff to detect RPM files
+- Update description to account for the new kmidiff tool
+- Remove patches that got applied upstream:
+ 0001-A-suppressed-diff-node-implies-suppressing-all-equiv.patch
+ 0001-Bug-20927-Segfault-when-HOME-is-not-set.patch
+ 0001-Fix-aborting-when-reading-.foo-symbols-from-a-ppc64-.patch
+- Add kmidiff to the RPM
+
+* Fri Dec 9 2016 Dodji Seketeli - 1.0-0.8.rc6.4
+- Fix upstream bug - Fix aborting when reading .foo symbols from a ppc64 binary
+
+* Mon Dec 5 2016 Dodji Seketeli - 1.0-0.8.rc6.3
+- Fix upstream Bug 20927 - Segfault when abidiff is invoked with $HOME not set
+ Apply the upstream patch here.
+
+* Sat Nov 26 2016 Dodji Seketeli - 1.0-0.8.rc6.2
+- Fix an issue where some suppressed diff nodes are still visible in change reports
+ This implies applying upstream patch:
+ "[PATCH] A suppressed diff node implies suppressing all equivalent nodes too"
+
+* Thu Nov 24 2016 Dodji Seketeli - 1.0-0.8.rc6.1
+- Update to upstream 1.0.rc6 tarball
+- Add pyxdg, rpm-python, koji and python2 as runtime dependencies.
+- Add wget as a build and runtime requirement. It's useful for fedabipkgdiff.
+- Update package description to mention fedabipkgdiff
+
+* Tue Jun 28 2016 Dodji Seketeli - 1.0-0.8.rc5.2
+- Add README
+
+* Mon Jun 27 2016 Dodji Seketeli - 1.0-0.8.rc5.1
+- Update to upstream 1.0.rc5 tarball
+- Add new build requires for new fedabipkgdiff tool: python2-devel,
+ python-argparse, rpm-python, python-mock, koji, pyxdg,
+ python-unittest2
+- Add new %%{_bindir}/fedabipkgdiff binary and
+ %%{_libdir}/libabigail/default.abignore configuration file to the set
+ of distributed files.
+- Drop patches that were integrated upstream:
+ 0001-Bug-19961-Distinguish-between-PI-executable-and-shar.patch
+ 0002-Bug-19964-Cannot-load-function-aliases-on-ppc64.patch
+
+* Mon Apr 25 2016 Dodji Seketeli - 1.0-0.8.rc4.2
+- Fix PIE and ppc64 function aliases handling.
+ The exact two upstream bugs fixed are:
+ Bug 19961 - Distinguish between PI executable and shared library
+ Bug 19964 - Cannot load function aliases on ppc64
+ The two upstream patches applied are 8944ceb9ef03a4187 and 2529f84ae0e2ca2a
+
+* Sun Apr 17 2016 Dodji Seketeli - 1.0-0.8.rc4.1
+- Update to upstream 1.0.rc4
+- Remove patch fix-test-diff-pkg-patch.txt as it got applied upstream
+
+* Tue Mar 8 2016 Dodji Seketeli - 1.0-0.rc3.2
+- Fix test-diff-pkg regression test failure due to a race condition.
+
+* Tue Mar 8 2016 Dodji Seketeli - 1.0-0.rc3.1
+- Update to upstream 1.0.rc3
+- Add gcc-c++ as BuildRequires
+- Drop the pactches to 1.0.rc2 as they are now integrated upstream in 1.0.rc3
+- Measure the time taken by regression tests
+
+* Fri Jan 8 2016 Dodji Seketeli - 1.0-0.rc2.2
+- Add enum-val-stable-on-32-64-bits-patch
+
+* Fri Jan 8 2016 Dodji Seketeli - 1.0-0.rc2.1
+- Update to upstream 1.0.rc2
+- Build the tests in // if possible
+- Add a patch to fix build on el6/g++ 4.4.7
+- Drop the previous patches as they got integrated upstream
+
+* Tue Nov 17 2015 Dodji Seketeli - 1.0-0.3.rc0
+- Fix use of redhat-hardened-ld link script on el6
+- Add a patch to avoid using designated initializers in tools/abipkgdiff.cc
+- Add a patch to avoid a test failure do to loss of precision of
+ enumerator values on 32 bits x86.
+
+* Tue Nov 17 2015 Dodji Seketeli - 1.0-0.2.rc0
+- Update to upstream release 1.0.rc0
+- Take a tarball built using make dist now.
+- Do not run autoreconf -i anymore, during the build.
+- Add redhat-rpm-config to have binaries linked with
+ /usr/lib/rpm/redhat/redhat-hardened-ld
+
+* Wed Sep 9 2015 Dodji Seketeli - 1.0-0.1.20150909git164d17e
+- Initial package for upstream git commit hash 164d17e
diff --git a/no-designated-init-for-el6-patch.txt b/no-designated-init-for-el6-patch.txt
new file mode 100644
index 0000000..66356d3
--- /dev/null
+++ b/no-designated-init-for-el6-patch.txt
@@ -0,0 +1,32 @@
+Do not use designated initializers in abipkgdiff.cc
+
+So g++ 4.4.7 of el6 does not support designated initializers, so
+libabigail fails to build on el6 for that reason.
+
+This patch uses a more classical syntax for that compiler.
+
+diff --git a/tools/abipkgdiff.cc b/tools/abipkgdiff.cc
+index 3a94223..0e8ad2f 100644
+--- a/tools/abipkgdiff.cc
++++ b/tools/abipkgdiff.cc
+@@ -1217,14 +1217,14 @@ prepare_packages(package& first_package,
+ package_descriptor ea[] =
+ {
+ {
+- .pkg = first_package,
+- .opts = opts,
+- .callback = first_package_tree_walker_callback_fn
++ first_package,
++ opts,
++ first_package_tree_walker_callback_fn
+ },
+ {
+- .pkg = second_package,
+- .opts = opts,
+- .callback = second_package_tree_walker_callback_fn
++ second_package,
++ opts,
++ second_package_tree_walker_callback_fn
+ },
+ };
+
diff --git a/sources b/sources
index e69de29..cf5681d 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (libabigail-1.7.tar.gz) = 02971c8f760cd7c6e7f77ef323c93769270666652a8f491b30cce74aa9bc20e2c5113eca0a534b814e9c8567538b6b7b84d15687e0ac15cf8ece736b2f7e2261