diff --git a/README.md b/README.md index 6c1d91b..8540b8b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # libimobiledevice4 +libimobiledevice is a software library that talks the protocols to support iPhone®, iPod Touch®, iPad® and Apple TV® devices. +Unlike other projects, it does not depend on using any existing proprietary libraries and does not require jailbreaking. +It allows other software to easily access the device's filesystem, retrieve information about the device and it's internals, backup/restore the device, manage SpringBoard® icons, manage installed applications, retrieve addressbook/calendars/notes and bookmarks and (using libgpod) synchronize music and video to the device. + diff --git a/libimobiledevice-1.1.1-iOS_5.patch b/libimobiledevice-1.1.1-iOS_5.patch new file mode 100644 index 0000000..43538b9 --- /dev/null +++ b/libimobiledevice-1.1.1-iOS_5.patch @@ -0,0 +1,27 @@ +--- libimobiledevice-1.1.1/src/lockdown.c.orig 2012-01-29 23:32:56.000000000 +0100 ++++ libimobiledevice-1.1.1/src/lockdown.c 2012-01-29 23:33:41.000000000 +0100 +@@ -86,7 +86,23 @@ + + plist_t result_node = plist_dict_get_item(dict, "Result"); + if (!result_node) { +- return ret; ++ /* iOS 5: the 'Result' key is not present anymore. ++ But we need to check for the 'Error' key. */ ++ plist_t err_node = plist_dict_get_item(dict, "Error"); ++ if (err_node) { ++ if (plist_get_node_type(err_node) == PLIST_STRING) { ++ char *err_value = NULL; ++ plist_get_string_val(err_node, &err_value); ++ if (err_value) { ++ debug_info("ERROR: %s", err_value); ++ free(err_value); ++ } else { ++ debug_info("ERROR: unknown error occured"); ++ } ++ } ++ return RESULT_FAILURE; ++ } ++ return RESULT_SUCCESS; + } + + plist_type result_type = plist_get_node_type(result_node); diff --git a/libimobiledevice4.spec b/libimobiledevice4.spec new file mode 100644 index 0000000..954c003 --- /dev/null +++ b/libimobiledevice4.spec @@ -0,0 +1,139 @@ +Name: libimobiledevice4 +Version: 1.1.6 +Release: 2mamba +Summary: A software library that talks the protocols to support iPhone®, iPod Touch®, iPad® and Apple TV® devices on Linux +Group: System/Libraries +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.libimobiledevice.org/ +Source: http://www.libimobiledevice.org/downloads/libimobiledevice-%{version}.tar.bz2 +Patch0: libimobiledevice-1.1.1-iOS_5.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: liblzma-devel +BuildRequires: libopenssl-devel +BuildRequires: libplist-devel +BuildRequires: libusbmuxd-devel +BuildRequires: libxml2-devel +BuildRequires: libz-devel +## AUTOBUILDREQ-END +BuildRequires: libplist-devel >= 1.11-1mamba +BuildRequires: libusbmuxd-devel >= 1.0.8 +Requires: libusbmuxd >= 1.0.8 +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +libimobiledevice is a software library that talks the protocols to support iPhone®, iPod Touch®, iPad® and Apple TV® devices. +Unlike other projects, it does not depend on using any existing proprietary libraries and does not require jailbreaking. +It allows other software to easily access the device's filesystem, retrieve information about the device and it's internals, backup/restore the device, manage SpringBoard® icons, manage installed applications, retrieve addressbook/calendars/notes and bookmarks and (using libgpod) synchronize music and video to the device. + +%package -n python-imobiledevice4 +Group: Development/Libraries/Python +Summary: Python bindings for %{name} +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: python >= %{pyver} + +%description -n python-imobiledevice4 +A Python library that talks the protocols to support iPhone®, iPod Touch®, iPad® and Apple TV® devices. + +%package devel +Summary: Devel package for %{name} +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description devel +libimobiledevice is a software library that talks the protocols to support iPhone®, iPod Touch®, iPad® and Apple TV® devices. +Unlike other projects, it does not depend on using any existing proprietary libraries and does not require jailbreaking. +It allows other software to easily access the device's filesystem, retrieve information about the device and it's internals, backup/restore the device, manage SpringBoard® icons, manage installed applications, retrieve addressbook/calendars/notes and bookmarks and (using libgpod) synchronize music and video to the device. + +This package contains static libraries and header files need for development. + +%package tools +Summary: Tools for %{name} +Group: System/Tools +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description tools +libimobiledevice is a software library that talks the protocols to support iPhone®, iPod Touch®, iPad® and Apple TV® devices. +Unlike other projects, it does not depend on using any existing proprietary libraries and does not require jailbreaking. +It allows other software to easily access the device's filesystem, retrieve information about the device and it's internals, backup/restore the device, manage SpringBoard® icons, manage installed applications, retrieve addressbook/calendars/notes and bookmarks and (using libgpod) synchronize music and video to the device. + +%prep +%setup -q -n libimobiledevice-%{version} +#%patch -p1 + +## fix swig version +#sed -i 's,1.3.21,2.0.0,g' configure + +%build +# FIXME: as of 1.1.4 python bindings through cython don't seem to be working +%configure \ + --without-cython +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_libdir}/libimobiledevice.so.* +%doc AUTHORS COPYING.LESSER + +%files tools +%defattr(-,root,root) +%{_bindir}/idevice* +%{_mandir}/man1/idevice*.1.gz +%doc COPYING + +#%files -n python-imobiledevice +#%defattr(-,root,root,-) +#%{python_sitearch}/imobiledevice + +%files devel +%defattr(-,root,root) +%dir %{_includedir}/libimobiledevice +%{_includedir}/libimobiledevice/*.h +#%{_includedir}/libimobiledevice/swig +%{_libdir}/libimobiledevice.a +%{_libdir}/libimobiledevice.la +%{_libdir}/libimobiledevice.so +%{_libdir}/pkgconfig/*.pc +%doc docs/html/ +%doc NEWS README + +%changelog +* Thu Aug 17 2017 Silvan Calarco 1.1.6-2mamba +- legacy package + +* Fri Sep 05 2014 Automatic Build System 1.1.6-1mamba +- automatic version update by autodist + +* Fri Sep 05 2014 Silvan Calarco 1.1.5-2mamba +- rebuilt by autoport with build requirements: libplist-devel>=1.11-1mamba + +* Sat May 11 2013 Automatic Build System 1.1.5-1mamba +- automatic version update by autodist + +* Mon May 14 2012 Silvan Calarco 1.1.4-1mamba +- update to 1.1.4 + +* Sun Jan 29 2012 Stefano Cotta Ramusino 1.1.1-2mamba +- added python package + +* Tue Aug 23 2011 Silvan Calarco 1.1.1-1mamba +- update to 1.1.1 + +* Thu Feb 17 2011 Silvan Calarco 1.0.4-1mamba +- update to 1.0.4 + +* Mon Sep 20 2010 Silvan Calarco 1.0.2-1mamba +- package created by autospec