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

[Bug]: NeXTSTEP plist format doesn't work with FINALPACKAGE=1 #779

Open
asdfzxcvbn opened this issue Nov 19, 2023 · 5 comments · May be fixed by #770
Open

[Bug]: NeXTSTEP plist format doesn't work with FINALPACKAGE=1 #779

asdfzxcvbn opened this issue Nov 19, 2023 · 5 comments · May be fixed by #770

Comments

@asdfzxcvbn
Copy link

What are the steps to reproduce this issue?

  1. make new project with example plist: { Filter = { Bundles = ( "hi" ); }; }
  2. make clean package FINALPACKAGE=1
  3. fail at making stage.

What happens?

everything compiles fine without FINALPACKAGE=1. however, compiling will fail at the making stage if FINALPACKAGE=1 is set.

What were you expecting to happen?

a non-debug deb is built.

Paste any relevant logs, error output, etc.

$ make clean package FINALPACKAGE=1
==> Cleaning…
> Making all for tweak hey…
==> Preprocessing Tweak.xm…
==> Compiling Tweak.xm (arm64)…
==> Linking tweak hey (arm64)…
==> Generating debug symbols for hey…
==> Stripping hey (arm64)…
==> Merging tweak hey…
==> Signing hey…
> Making stage for tweak hey…
Loading '/tmp/hey/.theos/_/Library/MobileSubstrate/DynamicLibraries/hey.plist' - non-NSData data argument passed to method
make: *** [/home/zx/theos/makefiles/package.mk:11: internal-package] Error 1

Additional context

No response

What OS are you seeing the problem on?

Linux/WSL

What OS version does it have installed?

arch linux; kernel v6.6.1-arch1-1

What toolchain and version are you using?

clang v16.0.6

Which SDK version are you using?

iOS 16.5

What OS is your client device running?

iOS

What OS version does it have installed?

iOS 16.7

Which device model is it?

iPhone 8

Which jailbreak is it using (if relevant)?

No response

@L1ghtmann
Copy link
Member

This seems to spawn from your plist converter. Can you run

if command -v plutil &> /dev/null; then
    echo $(which plutil)
elif command -v ply &> /dev/null; then
    echo $(which ply)
elif command -v plistutil &> /dev/null; then
    echo $(which plistutil)
else
    echo "none"
fi

and share the output, please?

@asdfzxcvbn
Copy link
Author

This seems to spawn from your plist converter. Can you run

if command -v plutil &> /dev/null; then
    echo $(which plutil)
elif command -v ply &> /dev/null; then
    echo $(which ply)
elif command -v plistutil &> /dev/null; then
    echo $(which plistutil)
else
    echo "none"
fi

and share the output, please?

/sbin/plutil

@L1ghtmann
Copy link
Member

I don't believe Linux has a functioning plutil, so you may want to try either plistutil or ply. The former can be installed by cloning and running

./autogen.sh --without-cython
make -j$(nproc --all) install 

whereas the latter is installed via a go command.

@asdfzxcvbn
Copy link
Author

I don't believe Linux has a functioning plutil, so you may want to try either plistutil or ply. The former can be installed by cloning and running

./autogen.sh --without-cython
make -j$(nproc --all) install 

whereas the latter is installed via a go command.

i already have plistutil installed and it works fine, i even manually use it myself sometimes

@L1ghtmann
Copy link
Member

L1ghtmann commented Dec 7, 2023

Okay. In order to fix the issue you're seeing with release builds, you'll need to prioritize that over the plutil you have. That can be done a number of ways, but I would recommend uninstalling plutil if plistutil meets your needs.

@L1ghtmann L1ghtmann linked a pull request Dec 30, 2023 that will close this issue
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

Successfully merging a pull request may close this issue.

2 participants