File usbmuxd.spec of Package usbmuxd
#
# spec file for package usbmuxd
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: usbmuxd
%define _libname libusbmuxd
Version: 1.0.8
Release: 0
Summary: Socket daemon for the usbmux protocol used by Apple devices
License: (GPL-2.0 or GPL-3.0) and LGPL-2.1+
Group: System/Libraries
Url: http://cgit.sukimashita.com/usbmuxd.git/
Source: http://www.libimobiledevice.org/downloads/%{name}-%{version}.tar.bz2
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: libplist-devel
BuildRequires: libusb-1_0-devel >= 1.0.3
BuildRequires: pkg-config
BuildRequires: udev
Requires(pre): pwdutils
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
This package provides the usbmuxd daemon for software to use through the
libusbmuxd library to talk with iPhone/iPod Touch devices.
Usbmux is an encapsulation protocol (think IP, ATM, PPP) that allows
multiplexing several conversations onto a single pair of wires.
%package -n %{_libname}2
Summary: A library to abstract socket/protocol communication to the usbmuxd daemon
Group: System/Libraries
Requires: %{name}
Provides: %{_libname} = %{version}
Obsoletes: %{_libname} < %{version}
%description -n %{_libname}2
This package contains the libusbmuxd library which provides an interface to
talk to the usbmux daemon, create connections and list attached devices.
%package -n %{_libname}-devel
Summary: Development files for %{_libname}
Group: Development/Libraries/C and C++
Requires: %{_libname} = %{version}
Requires: glibc-devel
%description -n %{_libname}-devel
The %{_libname}-devel package contains libraries and header files for
developing applications that use %{_libname}.
%package -n iproxy
Summary: Proxy enabling TCP tunneling to iPhone/iPod Touch via USB cable
Group: System/Libraries
Requires: %{_libname} = %{version}
%description -n iproxy
Proxy enabling TCP tunneling to iPhone/iPod Touch via USB cable.
It allows you to map a port of a service running on the device (like sshd) and
redirect it to your local machine where you can interact with it.
%pre
getent passwd usbmux >/dev/null || useradd -r -g nogroup -d /var/lib/%{name} -s /sbin/nologin -c "%{name} daemon" usbmux
exit 0
%prep
%setup -q
%build
mkdir build
cd build
export CFLAGS="%{optflags} -fno-strict-aliasing"
cmake -DBUILD_STATIC_LIBS:BOOL=OFF -DCMAKE_INSTALL_PREFIX=%{_prefix} \
%if "%{_lib}" == "lib64"
-DLIB_SUFFIX:STRING=64 \
%endif
-DCMAKE_VERBOSE_MAKEFILE=TRUE \
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags}" \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="%{optflags}" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH=1 \
-DBUILD_TESTING=OFF \
%if %{undefined suse_version}
-DCMAKE_INSTALL_DO_STRIP=1 \
%endif
..
make %{?_smp_mflags}
%install
cd build
%{__make} install DESTDIR=%{buildroot}
%clean
rm -rf %{buildroot}
%post -n %{_libname}2 -p /sbin/ldconfig
%postun -n %{_libname}2 -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc AUTHORS COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv2.1 README
%{_sbindir}/usbmuxd
/lib/udev/rules.d/85-usbmuxd.rules
%files -n %{_libname}2
%defattr(-,root,root)
%{_libdir}/libusbmuxd.so.*
%files -n %{_libname}-devel
%defattr(-,root,root,-)
%doc README.devel
%{_includedir}/usbmuxd.h
%{_includedir}/usbmuxd-proto.h
%{_libdir}/%{_libname}.so
%{_libdir}/pkgconfig/%{_libname}.pc
%files -n iproxy
%defattr(-,root,root)
%{_bindir}/iproxy
%changelog