diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8d41fe8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/libusb-compat-0.1.7.tar.bz2 +/libusb-compat-0.1-0.1.8-rc1.tar.bz2 +/libusb-compat-0.1.8.tar.bz2 diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..d71584a --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_testing +rules: + - !PassingTestCaseRule {test_case_name: dist.depcheck} diff --git a/libusb-compat-0.1.spec b/libusb-compat-0.1.spec new file mode 100644 index 0000000..90ad4e5 --- /dev/null +++ b/libusb-compat-0.1.spec @@ -0,0 +1,94 @@ +Name: libusb-compat-0.1 +Version: 0.1.8 +Release: %autorelease +Summary: Compatibility shim around libusb-1.0 offering the old 0.1 API +# Automatically converted from old format: LGPLv2+ - review is highly recommended. +License: LicenseRef-Callaway-LGPLv2+ +URL: https://github.com/libusb/libusb-compat-0.1 +Source0: https://github.com/libusb/libusb-compat-0.1/releases/download/v%{version}/libusb-compat-%{version}.tar.bz2 +Patch0: libusb-config-multilib.patch +BuildRequires: gcc libtool +BuildRequires: libusb1-devel +BuildRequires: make +Provides: deprecated() +# libusb was removed in F34 +Provides: libusb = 1:%{version}-%{release} +Obsoletes: libusb < 1:%{version}-%{release} +# libusb-compat-0.1 version 0.1.6 and later dlopen'ed the library +Requires: libusb1%{?_isa} + +%description +This package provides a shim / compatibility layer on top of libusb1 +offering the old 0.1 API for applications which do not have been ported +to the new 1.0 API yet. Where ever possible applications really should +use and / or be ported to the new 1.0 API instead of relying on this +compatibility library. + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Obsoletes: libusb-devel < 1:%{version}-%{release} + +%description devel +This package contains the header files, libraries and documentation needed to +develop applications that use libusb-0.1. However new applications should use +libusb-1.0 library instead of this one. + + +%package tests-examples +Summary: Tests and examples for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Provides: libusb-tests-examles = 1:%{version}-%{release} +Obsoletes: libusb-tests-examles < 1:%{version}-%{release} + +%description tests-examples +This package contains tests and examples for %{name}. + + +%prep +%autosetup -n libusb-compat-%{version} +autoreconf -ivf + + +%build +%configure --disable-static --enable-examples-build +%make_build + + +%install +%make_install +rm $RPM_BUILD_ROOT%{_libdir}/libusb.la +for i in lsusb testlibusb; do + install -m 755 examples/.libs/$i \ + $RPM_BUILD_ROOT%{_bindir}/libusb-compat-0.1-$i +done + + +%check +LD_LIBRARY_PATH=libusb/.libs ldd -r $RPM_BUILD_ROOT%{_bindir}/libusb-compat-0.1-lsusb +LD_LIBRARY_PATH=libusb/.libs $RPM_BUILD_ROOT%{_bindir}/libusb-compat-0.1-lsusb +LD_LIBRARY_PATH=libusb/.libs $RPM_BUILD_ROOT%{_bindir}/libusb-compat-0.1-testlibusb + + +%ldconfig_scriptlets + + +%files +%doc AUTHORS NEWS README +%license COPYING +%{_libdir}/libusb-0.1.so.* + +%files devel +%{_includedir}/usb.h +%{_libdir}/libusb.so +%{_libdir}/pkgconfig/libusb.pc +%{_bindir}/libusb-config + +%files tests-examples +%{_bindir}/libusb-compat-0.1-lsusb +%{_bindir}/libusb-compat-0.1-testlibusb + + +%changelog +%autochangelog diff --git a/libusb-config-multilib.patch b/libusb-config-multilib.patch new file mode 100644 index 0000000..4c5ac2e --- /dev/null +++ b/libusb-config-multilib.patch @@ -0,0 +1,25 @@ +Resolve multilib conflict in 'libusb-config' script by removing $libdir variable entirely. + +http://fedoraproject.org/wiki/PackagingDrafts/MultilibTricks#Multiarch.2C_binaries_and_compilation_scripts + +Author: Jan Vcelak +Date: 2011-06-22 + +diff -uNPrp libusb-compat-0.1.3/libusb-config.in libusb-compat-0.1.3.multilib/libusb-config.in +--- libusb-compat-0.1.3/libusb-config.in 2009-06-23 23:45:33.000000000 +0200 ++++ libusb-compat-0.1.3.multilib/libusb-config.in 2011-06-22 09:55:59.810188470 +0200 +@@ -3,7 +3,6 @@ + prefix=@prefix@ + exec_prefix=@exec_prefix@ + includedir=@includedir@ +-libdir=@libdir@ + exec_prefix_set=no + + usage() +@@ -77,5 +76,5 @@ if test "$echo_cflags" = "yes"; then + echo $includes + fi + if test "$echo_libs" = "yes"; then +- echo -L$libdir -lusb ++ echo -lusb + fi diff --git a/plans/integration.fmf b/plans/integration.fmf new file mode 100644 index 0000000..c427c9e --- /dev/null +++ b/plans/integration.fmf @@ -0,0 +1,5 @@ +summary: Tests for libusb-compat-0.1 +discover: + how: fmf +execute: + how: tmt diff --git a/sources b/sources new file mode 100644 index 0000000..77141ab --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (libusb-compat-0.1.8.tar.bz2) = 817a16a2c7268e0d73add97c06ec3f6e4fc4b8697bd3129bb6f907f138c2a5dccb662096c4cd0385341053b216afd398b21dfef14676777b906972c9e3af4e3e diff --git a/tests/integration/main.fmf b/tests/integration/main.fmf new file mode 100644 index 0000000..d3f0b3f --- /dev/null +++ b/tests/integration/main.fmf @@ -0,0 +1,6 @@ +summary: Integration test of libusb-compat-0.1 +require: + - libusb1-devel + - libusb-compat-0.1-tests-examples +test: bash ./run.sh + diff --git a/tests/integration/run.sh b/tests/integration/run.sh new file mode 100644 index 0000000..d9b8afb --- /dev/null +++ b/tests/integration/run.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +ldd /usr/bin/libusb-compat-0.1-lsusb +/usr/bin/libusb-compat-0.1-lsusb +/usr/bin/libusb-compat-0.1-testlibusb