debian/0000755000000000000000000000000012242763024007170 5ustar debian/compat0000644000000000000000000000000212200750051010354 0ustar 7 debian/ideviceinstaller.install0000644000000000000000000000000512200750051014067 0ustar /usr debian/watch0000644000000000000000000000012112200750051010201 0ustar version=3 http://libimobiledevice.org/ downloads/ideviceinstaller-(.+)\.tar\.bz2 debian/control0000644000000000000000000000256012237420660010576 0ustar Source: ideviceinstaller Section: utils Priority: optional Maintainer: Julien Lavergne Standards-Version: 3.9.1.0 Build-Depends: debhelper (>= 7.0.50~), dh-autoreconf, libimobiledevice-dev (>= 1.0.0), libplist-dev (>= 0.15), libzip-dev (>= 0.8) Homepage: http://libimobiledevice.org/ Package: ideviceinstaller Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Utility to manage installed applications on an iDevice ideviceinstaller is a tool to interact with the installation_proxy of an iDevice allowing to install, upgrade, uninstall, archive, restore, and enumerate installed or archived applications. . It makes use of the libimobiledevice library that allows communication with the devices. Package: ideviceinstaller-dbg Architecture: any Section: debug Priority: extra Depends: ideviceinstaller (= ${binary:Version}), ${misc:Depends} Description: Utility to manage installed applications on an iDevice - debug ideviceinstaller is a tool to interact with the installation_proxy of an iDevice allowing to install, upgrade, uninstall, archive, restore, and enumerate installed or archived applications. . It makes use of the libimobiledevice library that allows communication with the devices. . This package contains the debugging symbols. debian/rules0000755000000000000000000000102312200750051010232 0ustar #!/usr/bin/make -f DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) LDFLAGS += -Wl,--as-needed ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif %: dh $@ --with autoreconf override_dh_install: #Remove installed man pages, installed by *.manpages rm -f $(CURDIR)/debian/tmp/usr/share/man/man1/*.1 dh_install --fail-missing override_dh_strip: dh_strip --dbg-package=ideviceinstaller-dbg debian/docs0000644000000000000000000000001712200750051010027 0ustar AUTHORS README debian/copyright0000644000000000000000000000372212200750051011115 0ustar Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=173 Upstream-Name: ideviceinstaller Source: http://www.libimobiledevice.org/downloads/ Files: * Copyright: 2010, Nikias Bassen License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more profile. . You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. Files: debian/* Copyright: 2011, Julien Lavergne License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more profile. . You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. debian/patches/0000755000000000000000000000000012200750051010605 5ustar debian/patches/build-against-libimobiledevice4.patch0000644000000000000000000001332712200750051017730 0ustar From 78238523bc5aff1d699a202e82dea1f02e780fb8 Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Fri, 5 Apr 2013 18:46:12 +0200 Subject: [PATCH] Add compatibility for libimobiledevice API >= 1.1.5 --- configure.ac | 10 +++++++--- src/ideviceinstaller.c | 54 ++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 46 insertions(+), 18 deletions(-) diff --git a/configure.ac b/configure.ac index 5d5a59e..11f24b4 100644 --- a/configure.ac +++ b/configure.ac @@ -16,18 +16,22 @@ AC_PROG_LIBTOOL # Checks for libraries. PKG_CHECK_MODULES(libimobiledevice, libimobiledevice-1.0 >= 0.9.7) -PKG_CHECK_MODULES(libimobiledevice10, libimobiledevice-1.0 >= 1.0.0, libimobiledevice_1_0=yes, libimobiledevice_1_0=no) +PKG_CHECK_MODULES(libimobiledevice100, libimobiledevice-1.0 >= 1.0.0, libimobiledevice_1_0=yes, libimobiledevice_1_0=no) if test x"$libimobiledevice_1_0" = xyes; then AC_DEFINE([HAVE_LIBIMOBILEDEVICE_1_0], 1, [Define if libimobiledevice is using 1.0.0 API]) fi -PKG_CHECK_MODULES(libimobiledevice11, libimobiledevice-1.0 >= 1.1.0, libimobiledevice_1_1=yes, libimobiledevice_1_1=no) +PKG_CHECK_MODULES(libimobiledevice110, libimobiledevice-1.0 >= 1.1.0, libimobiledevice_1_1=yes, libimobiledevice_1_1=no) if test x"$libimobiledevice_1_1" = xyes; then AC_DEFINE([HAVE_LIBIMOBILEDEVICE_1_1], 1, [Define if libimobiledevice is using 1.1.0 API]) fi -PKG_CHECK_MODULES(libimobiledevice12, libimobiledevice-1.0 >= 1.1.2, libimobiledevice_1_2=yes, libimobiledevice_1_2=no) +PKG_CHECK_MODULES(libimobiledevice112, libimobiledevice-1.0 >= 1.1.2, libimobiledevice_1_2=yes, libimobiledevice_1_2=no) if test x"$libimobiledevice_1_2" = xno; then PKG_CHECK_MODULES(libglib2, glib-2.0 >= 2.14.1) fi +PKG_CHECK_MODULES(libimobiledevice115, libimobiledevice-1.0 >= 1.1.5, libimobiledevice_1_1_5=yes, libimobiledevice_1_1_5=no) +if test x"$libimobiledevice_1_1_5" = xyes; then + AC_DEFINE([HAVE_LIBIMOBILEDEVICE_1_1_5], 1, [Define if libimobiledevice is using 1.1.5 API]) +fi PKG_CHECK_MODULES(libplist, libplist >= 0.15) PKG_CHECK_MODULES(libzip, libzip >= 0.8) diff --git a/src/ideviceinstaller.c b/src/ideviceinstaller.c index 7682536..51fbe7b 100644 --- a/src/ideviceinstaller.c +++ b/src/ideviceinstaller.c @@ -388,7 +388,11 @@ int main(int argc, char **argv) instproxy_client_t ipc = NULL; np_client_t np = NULL; afc_client_t afc = NULL; - uint16_t port = 0; +#ifdef HAVE_LIBIMOBILEDEVICE_1_1_5 + lockdownd_service_descriptor_t service = NULL; +#else + uint16_t service = 0; +#endif int res = 0; parse_opts(argc, argv); @@ -408,13 +412,13 @@ int main(int argc, char **argv) if ((lockdownd_start_service (client, "com.apple.mobile.notification_proxy", - &port) != LOCKDOWN_E_SUCCESS) || !port) { + &service) != LOCKDOWN_E_SUCCESS) || !service) { fprintf(stderr, "Could not start com.apple.mobile.notification_proxy!\n"); goto leave_cleanup; } - if (np_client_new(phone, port, &np) != NP_E_SUCCESS) { + if (np_client_new(phone, service, &np) != NP_E_SUCCESS) { fprintf(stderr, "Could not connect to notification_proxy!\n"); goto leave_cleanup; } @@ -430,16 +434,22 @@ int main(int argc, char **argv) np_observe_notifications(np, noties); run_again: - port = 0; - if ((lockdownd_start_service - (client, "com.apple.mobile.installation_proxy", - &port) != LOCKDOWN_E_SUCCESS) || !port) { +#ifdef HAVE_LIBIMOBILEDEVICE_1_1_5 + if (service) { + lockdownd_service_descriptor_free(service); + } + service = NULL; +#else + service = 0; +#endif + if ((lockdownd_start_service(client, "com.apple.mobile.installation_proxy", + &service) != LOCKDOWN_E_SUCCESS) || !service) { fprintf(stderr, "Could not start com.apple.mobile.installation_proxy!\n"); goto leave_cleanup; } - if (instproxy_client_new(phone, port, &ipc) != INSTPROXY_E_SUCCESS) { + if (instproxy_client_new(phone, service, &ipc) != INSTPROXY_E_SUCCESS) { fprintf(stderr, "Could not connect to installation_proxy!\n"); goto leave_cleanup; } @@ -554,9 +564,16 @@ int main(int argc, char **argv) uint64_t af = 0; char buf[8192]; - port = 0; - if ((lockdownd_start_service(client, "com.apple.afc", &port) != - LOCKDOWN_E_SUCCESS) || !port) { +#ifdef HAVE_LIBIMOBILEDEVICE_1_1_5 + if (service) { + lockdownd_service_descriptor_free(service); + } + service = NULL; +#else + service = 0; +#endif + if ((lockdownd_start_service(client, "com.apple.afc", &service) != + LOCKDOWN_E_SUCCESS) || !service) { fprintf(stderr, "Could not start com.apple.afc!\n"); goto leave_cleanup; } @@ -564,7 +581,7 @@ int main(int argc, char **argv) lockdownd_client_free(client); client = NULL; - if (afc_client_new(phone, port, &afc) != INSTPROXY_E_SUCCESS) { + if (afc_client_new(phone, service, &afc) != INSTPROXY_E_SUCCESS) { fprintf(stderr, "Could not connect to AFC!\n"); goto leave_cleanup; } @@ -1013,8 +1030,15 @@ int main(int argc, char **argv) goto leave_cleanup; } - port = 0; - if ((lockdownd_start_service(client, "com.apple.afc", &port) != LOCKDOWN_E_SUCCESS) || !port) { +#ifdef HAVE_LIBIMOBILEDEVICE_1_1_5 + if (service) { + lockdownd_service_descriptor_free(service); + } + service = NULL; +#else + service = 0; +#endif + if ((lockdownd_start_service(client, "com.apple.afc", &service) != LOCKDOWN_E_SUCCESS) || !service) { fprintf(stderr, "Could not start com.apple.afc!\n"); free(copy_path); goto leave_cleanup; @@ -1023,7 +1047,7 @@ int main(int argc, char **argv) lockdownd_client_free(client); client = NULL; - if (afc_client_new(phone, port, &afc) != INSTPROXY_E_SUCCESS) { + if (afc_client_new(phone, service, &afc) != INSTPROXY_E_SUCCESS) { fprintf(stderr, "Could not connect to AFC!\n"); goto leave_cleanup; } debian/patches/series0000644000000000000000000000004612200750051012022 0ustar build-against-libimobiledevice4.patch debian/source/0000755000000000000000000000000012200750051010456 5ustar debian/source/format0000644000000000000000000000001412200750051011664 0ustar 3.0 (quilt) debian/manpages0000644000000000000000000000002712200750051010673 0ustar man/ideviceinstaller.1 debian/changelog0000644000000000000000000000407112242762470011050 0ustar ideviceinstaller (1.0.1-0.2) unstable; urgency=low * Non-maintainer upload. * Upload to unstable to aid libimobiledevice4 transition. -- Modestas Vainius Wed, 20 Nov 2013 00:24:54 +0200 ideviceinstaller (1.0.1-0.1) experimental; urgency=low * Non-maintainer upload. * Sync from Ubuntu. + Includes fix for building against libimobiledevice4. Closes: #726341 -- Andreas Metzler Sat, 09 Nov 2013 12:53:52 +0100 ideviceinstaller (1.0.1-0ubuntu3) saucy; urgency=low * Run dh_autoreconf so that the previous patch applies -- Jeremy Bicha Thu, 08 Aug 2013 12:48:17 -0400 ideviceinstaller (1.0.1-0ubuntu2) saucy; urgency=low * debian/patches/build-against-libimobiledevice4.patch: - Backport patch to build against latest libimobiledevice -- Jeremy Bicha Thu, 08 Aug 2013 12:31:15 -0400 ideviceinstaller (1.0.1-0ubuntu1) quantal; urgency=low * New upstream version * debian/patches/01-fix-manpage.patch, debian/patches/653893-libzip-0.10.patch: - dropped, the fixes are in the new version -- Sebastien Bacher Mon, 06 Aug 2012 18:43:22 +0200 ideviceinstaller (1.0.0-1.2) unstable; urgency=low * Non-maintainer upload. * Fix build failure on architectures where sizeof(long) is 4. (Closes: #656938) Thanks to peter green for the patch. + updated patch: 653893-libzip-0.10.patch -- Ansgar Burchardt Tue, 07 Feb 2012 10:10:12 +0100 ideviceinstaller (1.0.0-1.1) unstable; urgency=low * Non-maintainer upload. * Fix build failure with libzip-0.10. (Closes: #653893) Thanks to Fathi Boudra for the patch. + new patch: 653893-libzip-0.10.patch -- Ansgar Burchardt Fri, 20 Jan 2012 20:32:30 +0100 ideviceinstaller (1.0.0-1) unstable; urgency=low * Initial release. Closes: #618973 * debian/patches/01-fix-manpage.patch - Fix minus not escaped in manpage. -- Julien Lavergne Sun, 20 Mar 2011 01:20:17 +0100