simoniz0r / deb2appimage

Build AppImages from deb packages on any distro with simple json configuration
MIT License
117 stars 14 forks source link

Binary file not found at binarypath in json file #2

Closed bdantas closed 6 years ago

bdantas commented 6 years ago

deb2appimage is a great idea. Thanks for putting it together.

I'm learning how to use it by building an AppImage for leafpad, but am not having luck.

Here is the command and output:

$ ./deb2appimage-0.0.3-x86_64.AppImage -j /home/bruno/Desktop/leafpad-recipe.json 
Executing prerun...
Downloading dependencies...
Extracting dependencies...
Preparing AppImage AppDir...
Input Error!
Binary file not found at binarypath in json file
Exit code 2

Here is the json file:

{
    "buildinfo": [
    {
        "prerun": [
            null
        ],
        "name": "leafpad",
        "version": null,
        "deps": "libc6, libcairo2, libglib2.0-0, libgtk2.0-0, libpango-1.0-0, libpangocairo-1.0-0",
        "repoarch": "amd64",
        "distrorepo": "Debian",
        "repoversion": "stretch",
        "binarypath": "/usr/bin/leafpad",
        "desktoppath": "/usr/share/applications/leafpad.desktop",
        "iconpath": "/usr/share/icons/hicolor/22x22/apps/leafpad.png",
        "usewrapper": null,
        "postrun": [
            null
        ]
    }
    ],
    "apprunconf": [
    {
        "setpath": "true",
        "setlibpath": "true",
        "setpythonpath": "false",
        "setpythonhome": "false",
        "setpythondontwritebytecode": "false",
        "setxdgdatadirs": "false",
        "setperllib": "false",
        "setgsettingsschemadir": "false",
        "setqtpluginpath": "false",
        "exec": "/usr/bin/leafpad"
    }
    ],
    "authors": [
    {
        "type": "AppImage Maintainer",
        "author": "GNUser",
        "url": null
    }
    ]
}

When I extract and examine the .deb for leafpad, the binary is definitely at /usr/bin/leafpad

E5ten commented 6 years ago

You don't have a prerun that gets the package you need and puts it in .config/deb2appimage/debs, so there's no leafpad installation, so it can't find the leafpad executable in the appimages /usr/bin.

bdantas commented 6 years ago

This is from the developer's instructions: "If no prerun command is needed (for example, if the source package for the AppImage is in debian's repos), then put null as the prerun."

Leafpad is in debian's repo, therefore I thought I didn't need a prerun command.

bdantas commented 6 years ago

I got it. Adding leafpad to the list of deps solved the problem.

simoniz0r commented 6 years ago

Glad you got it sorted out. I updated the README to try and make that a little more clear.