diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..edfb9e4 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/libmetalink-0.1.3.tar.bz2 diff --git a/0001-fix-covscan-issues.patch b/0001-fix-covscan-issues.patch new file mode 100644 index 0000000..c5d2824 --- /dev/null +++ b/0001-fix-covscan-issues.patch @@ -0,0 +1,54 @@ +From 204c580643f7c52364520926b9df3a621fab6df7 Mon Sep 17 00:00:00 2001 +From: Martin Sehnoutka +Date: Tue, 24 Jul 2018 15:10:40 +0200 +Subject: [PATCH] fix covscan issues + +--- + lib/libexpat_metalink_parser.c | 3 +++ + lib/metalink_pctrl.c | 2 ++ + 2 files changed, 5 insertions(+) + +diff --git a/lib/libexpat_metalink_parser.c b/lib/libexpat_metalink_parser.c +index 4e73aef..79b091c 100644 +--- a/lib/libexpat_metalink_parser.c ++++ b/lib/libexpat_metalink_parser.c +@@ -29,6 +29,7 @@ + + #include + #include ++#include + #include + #include + +@@ -56,6 +57,8 @@ static void split_ns_name(const char** localname, + *localname = sep+1; + len = sep-src; + temp = malloc((len+1) * sizeof **ns_uri); ++ if (temp == NULL) ++ exit(EXIT_FAILURE); + memcpy(temp, src, len); + temp[len] = '\0'; + *ns_uri = temp; +diff --git a/lib/metalink_pctrl.c b/lib/metalink_pctrl.c +index c25989b..e6fb8f8 100644 +--- a/lib/metalink_pctrl.c ++++ b/lib/metalink_pctrl.c +@@ -469,6 +469,7 @@ metalink_error_t metalink_pctrl_file_set_language(metalink_pctrl_t* ctrl, const + l = strdup(language); + ctrl->languages = metalink_list_new(); + if(!ctrl->languages || !l || metalink_list_append(ctrl->languages, l) != 0) { ++ if (l) free(l); + return METALINK_ERR_BAD_ALLOC; + } + +@@ -486,6 +487,7 @@ metalink_error_t metalink_pctrl_file_set_os(metalink_pctrl_t* ctrl, const char* + o = strdup(os); + ctrl->oses = metalink_list_new(); + if(!ctrl->oses || !o || metalink_list_append(ctrl->oses, o) != 0) { ++ if (o) free(o); + return METALINK_ERR_BAD_ALLOC; + } + +-- +2.17.1 + diff --git a/EMPTY b/EMPTY deleted file mode 100644 index 0519ecb..0000000 --- a/EMPTY +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/libmetalink.spec b/libmetalink.spec new file mode 100644 index 0000000..755d6e5 --- /dev/null +++ b/libmetalink.spec @@ -0,0 +1,146 @@ +Name: libmetalink +Version: 0.1.3 +Release: 7%{?dist} +Summary: Metalink library written in C +Group: System Environment/Libraries +License: MIT +URL: https://launchpad.net/libmetalink +Source0: https://launchpad.net/libmetalink/trunk/%{name}-%{version}/+download/%{name}-%{version}.tar.bz2 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: gcc +BuildRequires: git +BuildRequires: expat-devel +BuildRequires: CUnit-devel + +Patch0: 0001-fix-covscan-issues.patch + +%description +libmetalink is a Metalink C library. It adds Metalink functionality such as +parsing Metalink XML files to programs written in C. + +%package devel +Summary: Files needed for developing with %{name} +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +Files needed for building applications with libmetalink. + +%prep +%autosetup -S git + +%build +%configure --disable-static +make %{?_smp_mflags} + +%check +make check + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +find $RPM_BUILD_ROOT -name *.la -exec rm {} \; + +%ldconfig_scriptlets + +%files +%defattr(-,root,root,-) +%{!?_licensedir:%global license %%doc} +%license COPYING +%doc README +%{_libdir}/libmetalink.so.* + + +%files devel +%defattr(-,root,root,-) +%dir %{_includedir}/metalink/ +%{_includedir}/metalink/metalink_error.h +%{_includedir}/metalink/metalink.h +%{_includedir}/metalink/metalink_parser.h +%{_includedir}/metalink/metalink_types.h +%{_includedir}/metalink/metalinkver.h +%{_libdir}/libmetalink.so +%{_libdir}/pkgconfig/%{name}.pc +%{_mandir}/man3/* + + +%changelog +* Tue Jul 24 2018 Martin Sehnoutka - 0.1.3-7 +- Resolves: #1606986 Fix issues found by covscan + +* Wed Feb 07 2018 Fedora Release Engineering - 0.1.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Feb 03 2018 Igor Gnatenko - 0.1.3-5 +- Switch to %%ldconfig_scriptlets + +* Thu Aug 03 2017 Fedora Release Engineering - 0.1.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0.1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Nov 16 2016 Alejandro Alvarez - 0.1.3-1 +- New upstream release + +* Thu Feb 04 2016 Fedora Release Engineering - 0.1.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 0.1.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 0.1.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jul 18 2014 Tom Callaway - 0.1.2-6 +- fix license handling + +* Sat Jun 07 2014 Fedora Release Engineering - 0.1.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 0.1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Jun 13 2013 Alejandro Alvarez - 0.1.2-3 +- Added BuildRequires: CUnit-devel +- Added %%check section +- Removed %%defattr +- Moved man pages to devel package. There is no need for -doc + +* Mon Jun 10 2013 Alejandro Alvarez - 0.1.2-2 +- Escaped macros in changelog +- Changed packages summaries +- Renamed -docs to -doc, and changed its group to Documentation +- Fixed -devel dependencies +- Removed -docs dependency on the main package +- All header files specified explicitly + +* Mon Apr 22 2013 Alejandro Alvarez - 0.1.2-1 +- Updated for new upstream release +- Man pages moved to libmetalink-docs package + +* Fri Jan 13 2012 Fedora Release Engineering - 0.0.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 0.0.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Jul 24 2009 Fedora Release Engineering - 0.0.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu May 07 2009 Ant Bryan - 0.0.3-4 +- Remove Provides: libmetalink-static = %%{version}-%%{release} + +* Tue May 06 2009 Ant Bryan - 0.0.3-3 +- Use %%{_docdir} instead of /usr/share/doc +- Own /usr/include/metalink + +* Wed Apr 29 2009 Ant Bryan - 0.0.3-2 +- Incorporate suggested changes: remove .la files, --disable static. + +* Mon Apr 27 2009 Ant Bryan - 0.0.3-1 +- Initial package, 0.0.3. + diff --git a/sources b/sources new file mode 100644 index 0000000..34074eb --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (libmetalink-0.1.3.tar.bz2) = 2c944a00f9460447ecf961685d7cfa80243fec7ad462dc2339fba0e944d0b92ff42bdf07032f2ee0695f0cd004e4c45bfe21e5246e1355a0d43756605894c632