termux / termux-create-package

Python script to create Termux packages easily.
https://termux.com
Apache License 2.0
417 stars 95 forks source link

create deb file not install ,given error. #12

Closed yeasin6152 closed 5 years ago

yeasin6152 commented 5 years ago

When i make deb file with manifest.jeson file. This tool create perfectly deb file but when i testing deb file it given error.

dpkg-deb (subprocess): decompressing archive member: lzma write error: Broken pipe dpkg-deb (subprocess): cannot copy archive member from 'o.deb' to decompressor pipe: fail d to write (Broken pipe) dpkg-deb: error: subprocess returned error exit status 2 Errors were encountered while processing: o.deb

Grimler91 commented 5 years ago

Which OS are you using? What's the output of tar --version?

yeasin6152 commented 5 years ago

Thanks to reply, my os is aarch64 and tar version is tar (busybox) 1.29.3.

On Sun, Sep 30, 2018, 12:37 PM Henrik Grimler notifications@github.com wrote:

Which OS are you using? What's the output of tar --version?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/termux/termux-create-package/issues/12#issuecomment-425698647, or mute the thread https://github.com/notifications/unsubscribe-auth/AkGYFFWI-GS-aNBkKNrvCTC4TyyblpdLks5ugGa9gaJpZM4XAxOB .

Grimler91 commented 5 years ago

Try installing the tar package instead of using the busybox version: pkg in tar

yeasin6152 commented 5 years ago

I install tar tar --version >>( tar (GNU tar) 1.30 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later < https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.ermux-create-package)

termux-create-package will create deb file without error....

But same error when i install it for testing . I give you a log >.

termux-create-package manifest.json Building openjdk_10_jdk_bin_10.2018.03.20.1_aarch64.deb $ ls bin_1 manifest-make manifest.json openjdk openjdk_10_jdk_bin_10.2018.03.20.1_aarch64.deb sort_1.txt temp.txt $ dpkg -i openjdk_10_jdk_bin_10.2018.03.20.1_aarch64.deb (Reading database ... 1563 files and directories currently installed.) Preparing to unpack openjdk_10_jdk_bin_10.2018.03.20.1_aarch64.deb ... Unpacking openjdk_10_jdk_bin (10.2018.03.20.1) ... dpkg: error processing archive openjdk_10_jdk_bin_10.2018.03.20.1_aarch64.deb (--install): unable to create '/data/data/com.termux/files/usr/lib/jvm/openjdk/lib/security/cacerts.dpkg-new' (while processing 'data/data/com.termux/files/usr/lib/jvm/openjdk/lib/security/cacerts'): No such file or directory dpkg-deb: error: paste subprocess was killed by signal (Broken pipe) Errors were encountered while processing: openjdk_10_jdk_bin_10.2018.03.20.1_aarch64.deb $ $ mc

$ ls bin_1 manifest-make manifest.json openjdk openjdk_10_jdk_bin_10.2018.03.20.1_aarch64.deb sort_1.txt temp.txt $ mkdir nn $ dpkg -x openjdk_10_jdk_bin_10.2018.03.20.1_aarch64.deb nn $ find nn -type f nn/data/data/com.termux/files/usr/lib/jvm/openjdk/lib/security/cacerts nn/data/data/com.termux/files/usr/lib/jvm/openjdk/lib/security/blacklisted.certs nn/data/data/com.termux/files/usr/lib/jvm/openjdk/lib/security/default.policy nn/data/data/com.termux/files/usr/lib/jvm/openjdk/lib/libawt.so nn/data/data/com.termux/files/usr/lib/jvm/openjdk/lib/libfontmanager.so nn/data/data/com.termux/files/usr/lib/jvm/openjdk/lib/tzdb.dat

(continue).....

If i delete cacerts file then it will show same error with other file.

Please solve for me..... thank you.

On Sun, Sep 30, 2018, 1:22 PM Henrik Grimler notifications@github.com wrote:

Try installing the tar package instead of using the busybox version: pkg in tar

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/termux/termux-create-package/issues/12#issuecomment-425700643, or mute the thread https://github.com/notifications/unsubscribe-auth/AkGYFICdEMh4pgRGaVxw7A0ldjXbSrFCks5ugHFDgaJpZM4XAxOB .

Grimler91 commented 5 years ago

Could you provide the faulty .deb file?

yeasin6152 commented 5 years ago

I think my deb is not faulty because i make other deb file and when i testing my deb file it give same error ----

dpkg -i apktool_2018.03.20.1_aarch64.deb (Reading database ... 1557 files and directories currently installed.) Preparing to unpack apktool_2018.03.20.1_aarch64.deb ... Unpacking apktool (2018.03.20.1) ... dpkg: error processing archive apktool_2018.03.20.1_aarch64.deb (--install): unable to create '/data/data/com.termux/files/usr/lib/apktool/7z.sh.dpkg-new' (while processing 'data/data/com.termux/files/usr/lib/apktool/7z.sh'): No such file or directory dpkg-deb: error: paste subprocess was killed by signal (Broken pipe) Errors were encountered while processing: apktool_2018.03.20.1_aarch64.deb

I think it is problem have termux-create-package or tar tools or xz-utils . But when i trying to build and install hello.word in your github example it works done. plz solve this and many many thanks to reply...

On Sun, Sep 30, 2018, 7:35 PM Henrik Grimler notifications@github.com wrote:

Could you provide the faulty .deb file?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/termux/termux-create-package/issues/12#issuecomment-425721440, or mute the thread https://github.com/notifications/unsubscribe-auth/AkGYFL4cYp9PH50niveyL3F4uTbo-w3sks5ugMiNgaJpZM4XAxOB .

ghost commented 5 years ago

I think it is problem have or tar tools or xz-utils

No problem with tar or xz-utils. I guess that you have problem with manifest.json as I used termux-create-package to create deb files and they installed without error.

Can you post contents of your manifest.json file ?

yeasin6152 commented 5 years ago

Ok sir , i give you my Deb file and manifest.jeson file. Please download and extrect it..... thanks. https://mega.nz/#!PXwBEYRC!qgXEwZNJxCEFbp5y7HW_mhAzCJLgLI5qdufTuZjF6qA

On Sun, Sep 30, 2018, 10:14 PM Leonid Plyushch notifications@github.com wrote:

I think it is problem have or tar tools or xz-utils

No problem with tar or xz-utils. I guess that you have problem with manifest.json as I used termux-create-package to create deb files and they installed without error.

Can you post contents of your manifest.json file ?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/termux/termux-create-package/issues/12#issuecomment-425732033, or mute the thread https://github.com/notifications/unsubscribe-auth/AkGYFEqCrj_mn_hzYU2YYuTYYnNDv7-Kks5ugO3ugaJpZM4XAxOB .

ghost commented 5 years ago

@yeasin6152 Perhaps there problem with termux-create-package - there is something wrong with tar archive generation.

I suggest you to rebuild your deb file in this way:

dpkg-deb -R apktool_2018.03.20.1_aarch64.deb unpacked
dpkg-deb -b unpacked apktool_2018.03.20.1_aarch64_fixed.deb

You will get file apktool_2018.03.20.1_aarch64_fixed.deb which can be installed with dpkg -i.


Seems that termux-create-package is not storing parent directories in TAR:

$ tar tf data.tar.xz 
data/data/com.termux/files/usr/bin/apktool
data/data/com.termux/files/usr/lib/apktool/7z.sh
data/data/com.termux/files/usr/lib/apktool/apktool-2.0.1.jar
data/data/com.termux/files/usr/lib/apktool/apktool-2.0.3.jar
data/data/com.termux/files/usr/lib/apktool/apktool-2.2.4.jar

Normally, it should be like this:

$ tar tf data.tar.xz 
./
./data/
./data/data/
./data/data/com.termux/
./data/data/com.termux/files/
./data/data/com.termux/files/usr/
./data/data/com.termux/files/usr/bin/
./data/data/com.termux/files/usr/bin/apktool
./data/data/com.termux/files/usr/lib/
./data/data/com.termux/files/usr/lib/apktool/
./data/data/com.termux/files/usr/lib/apktool/7z.sh
./data/data/com.termux/files/usr/lib/apktool/apktool-2.0.1.jar
./data/data/com.termux/files/usr/lib/apktool/apktool-2.0.3.jar
./data/data/com.termux/files/usr/lib/apktool/apktool-2.2.4.jar

So it seems that tool dpkg-deb does thing much better than termux-create-package.

ghost commented 5 years ago

@yeasin6152 Fixed deb file: https://transfer.sh/vXoWZ/apktool_2018.03.20.1_aarch64.deb PS. This apktool won't work on Android 8 or later.

yeasin6152 commented 5 years ago

@xeffyr sir, at this time apktool won't work on Android 8 or later but developer trying to finding the way to make it. Jest a few time need to wait.. and thanks to give solution. And last problem is I make java Deb file and it install successful but when I type Java in terminal it show Java permission denied. After given permission it works. Why installed Deb file need to permission . And how to solve it. Plz help..

dpkg -i openjdk_10_2018.03.20.1_aarch64_fixed.deb Selecting previously unselected package openjdk. (Reading database ... 1870 files and directories currently installed.) Preparing to unpack openjdk_10_2018.03.20.1_aarch64_fixed.deb ... Unpacking openjdk (2018.03.20.1) ... Setting up openjdk (2018.03.20.1) ... $ java bash: /data/data/com.termux/files/usr/bin/java: Permission denied $ chmod +x /data/data/com.termux/files/usr/bin/j $ java /data/data/com.termux/files/usr/bin/java: line 6: /data/data/com.termux/files/usr/lib/jvm/openjdk/bin/java: Permission denied /data/data/com.termux/files/usr/bin/java: line 6: exec: /data/data/com.termux/files/usr/lib/jvm/openjdk/bin/java: cannot execute $ chmod +x /data/data/com.termux/files/usr/lib/jvm/openjdk/bin/ $ java Usage: java [options] [args...] (to execute a class) or java [options] -jar [args...] (to execute a jar file) or java [options] -m [/] [args...] java [options] --module [/] [args...] (to execute the main class in a module)

Arguments following the main class, -jar , -m or --module

/ are passed as the arguments to main class. where options include: