Package: src:usbmuxd
Version: 1.0.8-5
Severity: wishlist
Tags: patch

Dear Maintainer,

 In my debian box(jessie/sid), I also met bug #746561. I built the latest
version of usbmuxd downloaded from
https://github.com/libimobiledevice/usbmuxd and that bug seems to totaly
disappear and libimobiledevice-utls/ifuse works fine with iOS7.1.1.

 I'd like to propose to change upstream source to that in github.

 Also I'd like to propse patch of 'debian' directory diff'ed with
usbmuxd-1.0.8-5.

 How to use this patch:

  Step 1. Apply patch to libimobiledevice reported in  bug #746630,
build libimobiledevice pkg , and install them.

  Step 2. Download the latest usbmuxd source from
https://github.com/libimobiledevice/usbmuxd.

  Step 3. Copy 'debian' directory included submuxd-1.0.8-5 source package
to usbmuxd source shown in Step 2.

  Step 4. Apply patch attached this report , and delete follwing files.
   - debian/usbmuxd.docs
   - debian/usbmuxd.install
   - debian/iproxy.1
   - debian/patches/Disable-building-of-libusbmuxd-and-tools.patch
   - debian/patches/Revert-ifdef-USBMUXD_DAEMON.patch
   - debian/Set-OWNER-in-udev-rule.patch

   Finally build usbmuxd package.

Regards,
Takahide Nojima
diff -uNr a/debian/clean b/debian/clean
--- a/debian/clean	1970-01-01 09:00:00.000000000 +0900
+++ b/debian/clean	2014-04-01 22:24:23.727772387 +0900
@@ -0,0 +1 @@
+config.log
diff -uNr a/debian/control b/debian/control
--- a/debian/control	2014-04-09 04:01:27.000000000 +0900
+++ b/debian/control	2014-04-02 22:41:38.300851925 +0900
@@ -4,20 +4,18 @@
 Maintainer: gtkpod Maintainers <pkg-gtkpod-de...@lists.alioth.debian.org>
 Uploaders: Julien Lavergne <julien.laver...@gmail.com>
 Standards-Version: 3.9.5
-Build-Depends: debhelper (>= 9),
+Build-Depends: debhelper (>= 9),dh-autoreconf,
                libusb-1.0-0-dev (>= 1.0.3) [linux-any],
                libusb2-dev (>= 8.0-4) [kfreebsd-any],
-               cmake,
-               libplist-dev (>= 0.15),
-               libusbmuxd-dev (>= 1.0.9)
+               libplist-dev (>= 0.15)
 Homepage: http://marcansoft.com/blog/iphonelinux/usbmuxd/
 Vcs-Git: git://git.debian.org/git/pkg-gtkpod/packages/usbmuxd.git
 Vcs-Browser: http://git.debian.org/?p=pkg-gtkpod/packages/usbmuxd.git
 
 Package: usbmuxd
 Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends},
+Depends: ${shlibs:Depends}, 
+         ${misc:Depends}, 
          adduser
 Description: USB multiplexor daemon for iPhone and iPod Touch devices
  usbmuxd, the USB multiplexor daemon, is in charge of coordinating
@@ -27,17 +25,3 @@
  .
  This package includes udev rules to start the daemon when a supported
  device is plugged in, and stop it when all devices are removed.
-
-Package: usbmuxd-dbg
-Architecture: any
-Section: debug
-Priority: extra
-Depends: usbmuxd (= ${binary:Version}),
-         ${misc:Depends}
-Description: USB multiplexor daemon for iPhone and iPod Touch devices - debug
- usbmuxd, the USB multiplexor daemon, is in charge of coordinating
- access to iPhone and iPod Touch services over USB. Synchronization and
- management applications for the iPhone and iPod Touch need this daemon
- to communicate with such devices concurrently.
- .
- This package contains the debugging symbols.
diff -uNr a/debian/iproxy.1 b/debian/iproxy.1
--- a/debian/iproxy.1	2014-04-09 04:01:27.000000000 +0900
+++ b/debian/iproxy.1	1970-01-01 09:00:00.000000000 +0900
@@ -1,24 +0,0 @@
-.TH "iproxy" 1
-.SH NAME
-iproxy \- proxy that enables tcp service access to iPhone/iPod
-.SH SYNOPSIS
-.B iproxy 
-[LOCAL_TCP_PORT] [DEVICE_TCP_PORT]
-
-.SH DESCRIPTION
-
-iproxy allows you to forward localhost ports to the device---allows SSH over 
-USB on jailbroken devices, or allowing access the lockdown daemon (and then 
-to all of the file access, sync, notification and backup services running on 
-the device).
-
-Example :   
- ./iproxy 2222 22 &
- ssh -p 2222 root@localhost
-
-.SH AUTHORS
-Nikias Bassen <nik...@gmx.li>
-
-Paul Sladen <libiph...@paul.sladen.org>
-
-Man page written to conform with Debian by Julien Lavergne.
diff -uNr a/debian/patches/Add-systemd-service-file-and-call-out-to-it-from-ude.patch b/debian/patches/Add-systemd-service-file-and-call-out-to-it-from-ude.patch
--- a/debian/patches/Add-systemd-service-file-and-call-out-to-it-from-ude.patch	2014-04-09 04:01:27.000000000 +0900
+++ b/debian/patches/Add-systemd-service-file-and-call-out-to-it-from-ude.patch	2014-04-03 14:50:40.829270905 +0900
@@ -1,68 +1,47 @@
-From: Chow Loong Jin <hyper...@debian.org>
-Date: Sat, 15 Mar 2014 02:51:09 +0800
-Subject: Add systemd service file and call out to it from udev if possible
-
-Bug-Debian: https://bugs.debian.org/741338
----
- CMakeLists.txt             | 1 +
- systemd/CMakeLists.txt     | 2 ++
- systemd/usbmuxd.service.in | 9 +++++++++
- udev/85-usbmuxd.rules.in   | 9 +++++++--
- 4 files changed, 19 insertions(+), 2 deletions(-)
- create mode 100644 systemd/CMakeLists.txt
- create mode 100644 systemd/usbmuxd.service.in
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7a46282..c0749f0 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -69,6 +69,7 @@ if (WITH_USBMUXD)
-   add_subdirectory (daemon)
-   if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-     add_subdirectory (udev)
-+    add_subdirectory (systemd)
-   endif()
- endif()
- add_subdirectory (tools)
-diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
-new file mode 100644
-index 0000000..4cdb895
---- /dev/null
-+++ b/systemd/CMakeLists.txt
-@@ -0,0 +1,2 @@
-+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/usbmuxd.service.in ${CMAKE_CURRENT_BINARY_DIR}/usbmuxd.service @ONLY)
-+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/usbmuxd.service DESTINATION /lib/systemd/system/)
-diff --git a/systemd/usbmuxd.service.in b/systemd/usbmuxd.service.in
-new file mode 100644
-index 0000000..246958b
---- /dev/null
-+++ b/systemd/usbmuxd.service.in
-@@ -0,0 +1,9 @@
-+[Unit]
-+Description=iOS USB multiplexing daemon
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -4,3 +4,6 @@
+ 
+ udevrulesdir = /lib/udev/rules.d
+ udevrules_DATA = udev/39-usbmuxd.rules
 +
-+[Service]
-+Type=simple
-+GuessMainPID=false
-+PIDFile=/var/run/usbmuxd.pid
-+ExecStart=@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -f -u -U usbmux
-+ExecStop=@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -X
-diff --git a/udev/85-usbmuxd.rules.in b/udev/85-usbmuxd.rules.in
-index 032dc16..61f49a5 100644
---- a/udev/85-usbmuxd.rules.in
-+++ b/udev/85-usbmuxd.rules.in
++systemdsystemdir = /lib/systemd/system
++systemdsystem_DATA = systemd/usbmuxd.service
+--- a/configure.ac
++++ b/configure.ac
+@@ -84,6 +84,7 @@
+ Makefile
+ src/Makefile
+ udev/39-usbmuxd.rules
++systemd/usbmuxd.service
+ ])
+ 
+ echo "
+--- a/udev/39-usbmuxd.rules.in
++++ b/udev/39-usbmuxd.rules.in
 @@ -1,7 +1,12 @@
  # usbmuxd ("Apple Mobile Device" muxer listening on /var/run/usbmuxd)
  
--# Forces iDevices to the last USB configuration and runs usbmuxd
--ACTION=="add", SUBSYSTEM=="usb", OWNER="usbmux", ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}!="$attr{bNumConfigurations}", ATTR{bConfigurationValue}="$attr{bNumConfigurations}", OWNER="usbmux", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -u -U usbmux"
+-# Initialize iOS devices into "deactivated" USB configuration state and run usbmuxd
 +# Check for systemd running as pid 1
 +TEST=="/run/systemd/system/", ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="0", OWNER="usbmux", TAG+="systemd", ENV{SYSTEMD_WANTS}="usbmuxd.service", RUN+="/usr/bin/pkill -x -SIGUSR2 usbmux" GOTO="usbmuxd_systemd_end"
 +
 +# Legacy udev
-+ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="0", OWNER="usbmux", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -u -U usbmux"
-+
-+LABEL="usbmuxd_systemd_end"
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="0", OWNER="usbmux", RUN+="@prefix@/sbin/usbmuxd -u -U usbmux"
  
++LABEL="usbmuxd_systemd_end"
++
  # Exit usbmuxd when the last device is removed
- ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ENV{INTERFACE}=="255/*", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -x"
+ ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ENV{INTERFACE}=="255/*", RUN+="@prefix@/sbin/usbmuxd -x"
+--- /dev/null
++++ b/systemd/usbmuxd.service.in
+@@ -0,0 +1,9 @@
++[Unit]
++Description=iOS USB multiplexing daemon
++
++[Service]
++Type=simple
++GuessMainPID=false
++PIDFile=/var/run/usbmuxd.pid
++ExecStart=@prefix@/sbin/usbmuxd -f -u -U usbmux
++ExecStop=@prefix@/sbin/usbmuxd -X
diff -uNr a/debian/patches/Disable-building-of-libusbmuxd-and-tools.patch b/debian/patches/Disable-building-of-libusbmuxd-and-tools.patch
--- a/debian/patches/Disable-building-of-libusbmuxd-and-tools.patch	2014-04-09 04:01:27.000000000 +0900
+++ b/debian/patches/Disable-building-of-libusbmuxd-and-tools.patch	1970-01-01 09:00:00.000000000 +0900
@@ -1,52 +0,0 @@
-From: Chow Loong Jin <hyper...@debian.org>
-Date: Fri, 4 Apr 2014 14:45:38 +0800
-Subject: Disable building of libusbmuxd and tools
-
-These are now split off into src:libusbmuxd
----
- CMakeLists.txt        | 8 ++++----
- daemon/CMakeLists.txt | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c0749f0..881b08b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -64,7 +64,7 @@ endif()
- 
- add_definitions(-Wall)
- 
--add_subdirectory (libusbmuxd)
-+# add_subdirectory (libusbmuxd)
- if (WITH_USBMUXD)
-   add_subdirectory (daemon)
-   if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-@@ -72,12 +72,12 @@ if (WITH_USBMUXD)
-     add_subdirectory (systemd)
-   endif()
- endif()
--add_subdirectory (tools)
-+# add_subdirectory (tools)
- 
- # pkg-config
- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/libusbmuxd.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libusbmuxd.pc")
--# install pkg-config file
--install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libusbmuxd.pc" DESTINATION lib${LIB_SUFFIX}/pkgconfig/)
-+# # install pkg-config file
-+# install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libusbmuxd.pc" DESTINATION lib${LIB_SUFFIX}/pkgconfig/)
- 
- # add uninstall target
- configure_file("${CMAKE_SOURCE_DIR}/Modules/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY)
-diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt
-index c323f7b..c51b380 100644
---- a/daemon/CMakeLists.txt
-+++ b/daemon/CMakeLists.txt
-@@ -8,7 +8,7 @@ if(HAVE_PLIST)
- endif()
- include_directories (${CMAKE_SOURCE_DIR}/common)
- include_directories (${CMAKE_SOURCE_DIR}/daemon)
--include_directories (${CMAKE_SOURCE_DIR}/libusbmuxd)
-+# include_directories (${CMAKE_SOURCE_DIR}/libusbmuxd)
- 
- add_definitions(-DUSBMUXD_DAEMON -DUSBMUXD_VERSION="${USBMUXD_VERSION}")
- add_executable(usbmuxd main.c usb-linux.c log.c ${CMAKE_SOURCE_DIR}/common/utils.c device.c client.c)
diff -uNr a/debian/patches/Revert-ifdef-USBMUXD_DAEMON.patch b/debian/patches/Revert-ifdef-USBMUXD_DAEMON.patch
--- a/debian/patches/Revert-ifdef-USBMUXD_DAEMON.patch	2014-04-09 04:01:27.000000000 +0900
+++ b/debian/patches/Revert-ifdef-USBMUXD_DAEMON.patch	1970-01-01 09:00:00.000000000 +0900
@@ -1,52 +0,0 @@
-From: Julien Lavergne <julien.laver...@gmail.com>
-Date: Fri, 4 Apr 2014 14:51:56 +0800
-Subject: Revert #ifdef USBMUXD_DAEMON
-
-Revert commit
-http://cgit.sukimashita.com/usbmuxd.git/commit/?id=e492ed1d13b51f95b3b96e54d2c3d9076a1910b4
-It was done to help WIN32 compilation, but it disable it also on non-WIN32.
----
- common/utils.c | 2 --
- common/utils.h | 2 --
- 2 files changed, 4 deletions(-)
-
-diff --git a/common/utils.c b/common/utils.c
-index 0096907..daedb6d 100644
---- a/common/utils.c
-+++ b/common/utils.c
-@@ -36,7 +36,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- # define util_error(...) fprintf(stderr, __VA_ARGS__)
- #endif
- 
--#ifdef USBMUXD_DAEMON
- void fdlist_create(struct fdlist *list)
- {
- 	list->count = 0;
-@@ -72,7 +71,6 @@ void fdlist_reset(struct fdlist *list)
- {
- 	list->count = 0;
- }
--#endif
- 
- void collection_init(struct collection *col)
- {
-diff --git a/common/utils.h b/common/utils.h
-index 0addb46..5aa2915 100644
---- a/common/utils.h
-+++ b/common/utils.h
-@@ -23,7 +23,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- #ifndef __UTILS_H__
- #define __UTILS_H__
- 
--#ifdef USBMUXD_DAEMON
- #include <poll.h>
- 
- enum fdowner {
-@@ -43,7 +42,6 @@ void fdlist_create(struct fdlist *list);
- void fdlist_add(struct fdlist *list, enum fdowner owner, int fd, short events);
- void fdlist_free(struct fdlist *list);
- void fdlist_reset(struct fdlist *list);
--#endif
- 
- struct collection {
- 	void **list;
diff -uNr a/debian/patches/Set-OWNER-in-udev-rule.patch b/debian/patches/Set-OWNER-in-udev-rule.patch
--- a/debian/patches/Set-OWNER-in-udev-rule.patch	2014-04-09 04:01:27.000000000 +0900
+++ b/debian/patches/Set-OWNER-in-udev-rule.patch	1970-01-01 09:00:00.000000000 +0900
@@ -1,22 +0,0 @@
-From: Julien Lavergne <julien.laver...@gmail.com>
-Date: Fri, 4 Apr 2014 14:51:56 +0800
-Subject: Set OWNER in udev rule
-
-Bug-Debian: https://bugs.debian.org/572867
----
- udev/85-usbmuxd.rules.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/udev/85-usbmuxd.rules.in b/udev/85-usbmuxd.rules.in
-index 6f2186b..032dc16 100644
---- a/udev/85-usbmuxd.rules.in
-+++ b/udev/85-usbmuxd.rules.in
-@@ -1,7 +1,7 @@
- # usbmuxd ("Apple Mobile Device" muxer listening on /var/run/usbmuxd)
- 
- # Forces iDevices to the last USB configuration and runs usbmuxd
--ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}!="$attr{bNumConfigurations}", ATTR{bConfigurationValue}="$attr{bNumConfigurations}", OWNER="usbmux", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -u -U usbmux"
-+ACTION=="add", SUBSYSTEM=="usb", OWNER="usbmux", ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}!="$attr{bNumConfigurations}", ATTR{bConfigurationValue}="$attr{bNumConfigurations}", OWNER="usbmux", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -u -U usbmux"
- 
- # Exit usbmuxd when the last device is removed
- ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ENV{INTERFACE}=="255/*", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -x"
diff -uNr a/debian/patches/series b/debian/patches/series
--- a/debian/patches/series	2014-04-09 04:01:27.000000000 +0900
+++ b/debian/patches/series	2014-04-01 16:29:56.239960143 +0900
@@ -1,4 +1 @@
-Set-OWNER-in-udev-rule.patch
-Revert-ifdef-USBMUXD_DAEMON.patch
 Add-systemd-service-file-and-call-out-to-it-from-ude.patch
-Disable-building-of-libusbmuxd-and-tools.patch
diff -uNr a/debian/rules b/debian/rules
--- a/debian/rules	2014-04-09 04:01:27.000000000 +0900
+++ b/debian/rules	2014-04-02 22:07:14.718722577 +0900
@@ -11,29 +11,6 @@
     DEB_CFLAGS_MAINT_APPEND = -O2
 endif
 
-configure_flags += \
-			-DCMAKE_INSTALL_PREFIX="/usr" \
-			-DCMAKE_SKIP_RPATH=true \
-			-DLIB_SUFFIX= \
-			-DUSB_PKGCONF_INCLUDE_DIRS="/usr/include/libusb-1.0"
-
 %:
-	dh $@
-
-override_dh_auto_configure:
-	dh_auto_configure -- 	$(configure_flags)
-
-override_dh_install:
-
-#Install udev files only on arch which have udev 
-#see https://buildd.debian.org/quinn-diff/sid/Packages-arch-specific
-ifeq (,$(filter $(DEB_HOST_ARCH), kfreebsd-amd64 kfreebsd-i386 hurd-i386))
-	dh_install -pusbmuxd lib/udev/rules.d/*
-	dh_install -pusbmuxd lib/systemd/system/*
-endif
-	rm -f debian/tmp/lib/udev/rules.d/* debian/tmp/lib/systemd/system/*
-
-	dh_install --fail-missing
+	dh $@ --with autoreconf
 
-override_dh_strip:
-	dh_strip --dbg-package=usbmuxd-dbg
diff -uNr a/debian/usbmuxd.docs b/debian/usbmuxd.docs
--- a/debian/usbmuxd.docs	2014-04-09 04:01:27.000000000 +0900
+++ b/debian/usbmuxd.docs	1970-01-01 09:00:00.000000000 +0900
@@ -1,3 +0,0 @@
-README
-README.devel
-AUTHORS
diff -uNr a/debian/usbmuxd.install b/debian/usbmuxd.install
--- a/debian/usbmuxd.install	2014-04-09 04:01:27.000000000 +0900
+++ b/debian/usbmuxd.install	1970-01-01 09:00:00.000000000 +0900
@@ -1 +0,0 @@
-usr/sbin/*

Reply via email to