dm.pl icon indicating copy to clipboard operation
dm.pl copied to clipboard

deb package created by dm.pl is not compatible for dpkg v1.14(from Cydia/Telesphoreo repo)

Open r-plus opened this issue 6 years ago • 6 comments

What are the steps to reproduce this issue?

  1. create deb package by latest(I'm using 827684e) theos with dm.pl
  2. install it to jailbroken device that installed dpkg v1.14.
  3. all files in deb file are extracted to root directory.

What happens?

All files in deb file are extracted root directory. This is "Installed files" list on cydia. problem1

What were you expecting to happen?

keep directory structure.

Any logs, error output, etc?

No error log while installing deb package.

Any other comments?

If I switch back to dpkg-deb, this problem is fixed. So I'm thinking this cause is dm.pl.

What versions of software are you using?

Operating System: … macOS 10.14.4

Toolchain Version: … Xcode 10.2

SDK Version: … 9.2

r-plus avatar May 02 '19 14:05 r-plus

Is the package structure after building it flat?

uroboro avatar Jul 03 '19 20:07 uroboro

@uroboro not flat at least checked by dpkg -c command on iOS.

// dpkg version is 1.14.25, downloaded from http://apt.saurik.com/debs/dpkg_1.14.25-9_iphoneos-arm.deb

i5s:/var/mobile root# dpkg --version
Debian `dpkg' package management program version 1.14.25 (iphoneos-arm).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
See dpkg --license for copyright and license details.

// file structure is correct by dpkg -c command.

i5s:/var/mobile root# dpkg -c jp.r-plus.doublecut_0.5-1+debug_iphoneos-arm.deb
drwxr-xr-x root/wheel        0 2019-07-06 18:58 .
drwxr-xr-x root/wheel        0 2019-07-06 18:58 Library
drwxr-xr-x root/wheel        0 2019-07-06 18:57 Library/MobileSubstrate
drwxr-xr-x root/wheel        0 2019-07-06 18:57 Library/MobileSubstrate/DynamicLibraries
-rwxr-xr-x root/wheel   203760 2019-07-06 18:57 Library/MobileSubstrate/DynamicLibraries/DoubleCut.dylib
-rw-r--r-- root/wheel       51 2019-07-06 18:57 Library/MobileSubstrate/DynamicLibraries/DoubleCut.plist
drwxr-xr-x root/wheel        0 2016-11-26 14:33 Library/PreferenceLoader
drwxr-xr-x root/wheel        0 2019-07-06 18:58 Library/PreferenceLoader/Preferences
-rw-r--r-- root/wheel      175 2019-07-06 18:58 Library/PreferenceLoader/Preferences/DoubleCut.plist
drwxr-xr-x root/wheel        0 2019-07-06 18:58 Library/PreferenceBundles
drwxr-xr-x root/wheel        0 2019-07-06 18:57 Library/PreferenceBundles/DoubleCutSettings.bundle
-rwxr-xr-x root/wheel   256800 2019-07-06 18:57 Library/PreferenceBundles/DoubleCutSettings.bundle/DoubleCutSettings
-rw-r--r-- root/wheel     2516 2015-02-15 11:15 Library/PreferenceBundles/DoubleCutSettings.bundle/AddSnippet.plist
-rw-r--r-- root/wheel     2876 2015-02-15 11:15 Library/PreferenceBundles/DoubleCutSettings.bundle/DoubleCut.plist
-rw-r--r-- root/wheel     3091 2015-01-18 13:57 Library/PreferenceBundles/DoubleCutSettings.bundle/[email protected]
-rw-r--r-- root/wheel      853 2014-12-12 23:17 Library/PreferenceBundles/DoubleCutSettings.bundle/Info.plist

// root directory files before install

i5s:/var/mobile root# ls /
Applications@  Developer/  Library/  System/  User@  bin/  boot/  cores/  dev/  etc@  lib/  mnt/  panguaxe*  panguaxe.installed  private/  sbin/  tmp@  usr/  var@

// install deb file that packaged by dm.pl

i5s:/var/mobile root# dpkg -i jp.r-plus.doublecut_0.5-1+debug_iphoneos-arm.deb
(Reading database ... 4765 files and directories currently installed.)
Preparing to replace jp.r-plus.doublecut 0.5 (using jp.r-plus.doublecut_0.5-1+debug_iphoneos-arm.deb) ...
Unpacking replacement jp.r-plus.doublecut ...
Setting up jp.r-plus.doublecut (0.5-1+debug) ...

// root directory after install. 

i5s:/var/mobile root# ls /
AddSnippet.plist  DoubleCut.dylib*   DoubleCutSettings*         Info.plist        PreferenceBundles/  System/  boot/   etc@  panguaxe*           sbin/  var@
Applications@     DoubleCut.plist    DoubleCutSettings.bundle/  Library/          PreferenceLoader/   User@    cores/  lib/  panguaxe.installed  tmp@
Developer/        DoubleCut\@2x.png  DynamicLibraries/          MobileSubstrate/  Preferences/        bin/     dev/    mnt/  private/            usr/

// installed file list by dpkg -L, all flat.

i5s:/var/mobile root# dpkg -L jp.r-plus.doublecut
/.
/Library
/MobileSubstrate
/DynamicLibraries
/DoubleCut.dylib
/DoubleCut.plist
/PreferenceLoader
/Preferences
/DoubleCut.plist
/PreferenceBundles
/DoubleCutSettings.bundle
/DoubleCutSettings
/AddSnippet.plist
/DoubleCut.plist
/[email protected]
/Info.plist

r-plus avatar Jul 06 '19 10:07 r-plus

this is tested deb file(please remove .zip suffix) jp.r-plus.doublecut_0.5-1+debug_iphoneos-arm.deb.zip

and dpkg v1.14 http://apt.saurik.com/debs/dpkg_1.14.25-9_iphoneos-arm.deb

r-plus avatar Jul 06 '19 10:07 r-plus

Here is file structure created by dpkg-deb.

$ dpkg -c packages/jp.r-plus.doublecut_0.5-2+debug_iphoneos-arm.deb
drwxr-xr-x root/wheel        0 2019-07-06 19:20 ./
drwxr-xr-x root/wheel        0 2019-07-06 19:20 ./Library/
drwxr-xr-x root/wheel        0 2019-07-06 19:20 ./Library/MobileSubstrate/
drwxr-xr-x root/wheel        0 2019-07-06 19:20 ./Library/MobileSubstrate/DynamicLibraries/
-rwxr-xr-x root/wheel   203760 2019-07-06 19:20 ./Library/MobileSubstrate/DynamicLibraries/DoubleCut.dylib
-rw-r--r-- root/wheel       51 2019-07-06 19:20 ./Library/MobileSubstrate/DynamicLibraries/DoubleCut.plist
drwxr-xr-x root/wheel        0 2019-07-06 19:20 ./Library/PreferenceBundles/
drwxr-xr-x root/wheel        0 2019-07-06 19:20 ./Library/PreferenceBundles/DoubleCutSettings.bundle/
-rw-r--r-- root/wheel     2516 2015-02-15 11:15 ./Library/PreferenceBundles/DoubleCutSettings.bundle/AddSnippet.plist
-rw-r--r-- root/wheel     2876 2015-02-15 11:15 ./Library/PreferenceBundles/DoubleCutSettings.bundle/DoubleCut.plist
-rw-r--r-- root/wheel     3091 2015-01-18 13:57 ./Library/PreferenceBundles/DoubleCutSettings.bundle/[email protected]
-rwxr-xr-x root/wheel   256800 2019-07-06 19:20 ./Library/PreferenceBundles/DoubleCutSettings.bundle/DoubleCutSettings
-rw-r--r-- root/wheel      853 2014-12-12 23:17 ./Library/PreferenceBundles/DoubleCutSettings.bundle/Info.plist
drwxr-xr-x root/wheel        0 2016-11-26 14:33 ./Library/PreferenceLoader/
drwxr-xr-x root/wheel        0 2019-07-06 19:20 ./Library/PreferenceLoader/Preferences/
-rw-r--r-- root/wheel      175 2019-07-06 19:20 ./Library/PreferenceLoader/Preferences/DoubleCut.plist

./ prefix is difference to dm.pl version. Is this cause to this issue...?

r-plus avatar Jul 06 '19 10:07 r-plus

Is this still happening with up-to-date Theos?

kirb avatar Feb 12 '22 08:02 kirb

yes, latest theos (a64c56d) and dm.pl (b4f1d81) still same results with dpkg v1.14.

But in recently jailbroke environment, this doesn't really matter, as they shipped with updated version of dpkg.

r-plus avatar Feb 12 '22 09:02 r-plus