Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
r-plus opened this issue May 2, 2019 · 6 comments

Comments

@r-plus
Copy link

r-plus commented May 2, 2019

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

@uroboro uroboro transferred this issue from theos/theos Jul 3, 2019
@uroboro
Copy link
Member

uroboro commented Jul 3, 2019

Is the package structure after building it flat?

@r-plus
Copy link
Author

r-plus commented Jul 6, 2019

@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
Copy link
Author

r-plus commented Jul 6, 2019

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
Copy link
Author

r-plus commented Jul 6, 2019

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...?

@kirb
Copy link
Member

kirb commented Feb 12, 2022

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

@r-plus
Copy link
Author

r-plus commented Feb 12, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants