MisterDA / love-release

:love_letter: Lua script that makes LÖVE game release easier
MIT License
448 stars 27 forks source link

Error building deb package from Love2D sources #64

Closed zugzug90 closed 5 years ago

zugzug90 commented 5 years ago

Trying to build deb-package using love-release module and get an error. Could you please help to figure out what goes wrong?

My configuration:

OS: Ubuntu 16.04 Lua version: 5.1 Lua Rocks version: /usr/local/lib/luarocks/rocks-5.1/luarocks/3.0.4-1/bin/luarocks 3.0.4 Love2D version: 11.2

What's in my folder where I do command love-release -D:

.
..
assets
conf.lua
Constants.lua
Dependencies.lua
lib
main.lua
objects
releases
Utils.lua

Here's my output:

{
  title = 'orbital-wars',
  package = 'orbital-wars',
  loveVersion = '11.2',
  version = '0.0.1',
  author = 'NZ',
  email = 'nz@lovalova.com',
  description = 'Orbital Wars Awesome Game!',
  homepage = 'j.pro',
  identifier = '100500',
  excludeFileList = { ''} ,
  compile = false,
  projectDirectory = '/home/zugzug/gamedev/love2d-games/publishing/orbital-wars',
  releaseDirectory = '/home/zugzug/gamedev/love2d-games/publishing/orbital-wars/releases',
}
/usr/bin/lua5.1: /usr/local/share/lua/5.1/luarocks/fs/unix/tools.lua:243: assertion failed!
stack traceback:
    [C]: in function 'assert'
    /usr/local/share/lua/5.1/luarocks/fs/unix/tools.lua:243: in function 'set_permissions'
    .../local/share/lua/5.1/love-release/scripts/debian.lua:113: in function <.../local/share/lua/5.1/love-release/scripts/debian.lua:42>
    (tail call): ?
    /usr/local/share/lua/5.1/love-release/pipes/args.lua:113: in function 'args'
    ...cks/rocks-5.1/love-release/2.0.11-1/bin/love-release:11: in main chunk
    [C]: ?

My conf.lua file below:

function love.conf(t)
  t.releases = {
    title = 'orbital-wars',
    package = 'orbital-wars',
    loveVersion = '11.2',
    version = '0.0.1',
    author = 'NZ',
    email = 'nz@lovalova.com',
    description = 'Orbital Wars Awesome Game!',
    homepage = 'j.pro',
    identifier = '100500',
    excludeFileList = {} ,
    compile = false,
    projectDirectory = '/home/zugzug/gamedev/love2d-games/publishing/orbital-wars',
    releaseDirectory = '/home/zugzug/gamedev/love2d-games/publishing/orbital-wars/releases',
  }
end

Thanks in advance!

drmargarido commented 5 years ago

For debian some extra flags are needed in the release command.

Last time I released a game I also had that problem. I don't remember right now the specific flag but check the help instruction and try to provide the configuration parameters.

When I added some of the configurations it worked.

zugzug90 commented 5 years ago

For debian some extra flags are needed in the release command.

Last time I released a game I also had that problem. I don't remember right now the specific flag but check the help instruction and try to provide the configuration parameters.

When I added some of the configurations it worked.

Hello. Could you please share your configuration on the moment you succeeded with debian build? What version of Lua, Love, luarocks and love-release did you have? Maybe you could share some snippets from your old or current projects? Any glue will help greatly. Thanks a lot in advance.

MisterDA commented 5 years ago

My bad. Parenthesis misplacement. This bug would not have happened with static typing ;) (and tests).

For debian packages, the minimum you need is:

love-release -D --author "John Doe"     \
                --desc "John Doe's Game"    \
                --email "john.doe@example.com"  \
                -u "https://example.com/~doe"   \
                -v "0.1"

love-release warns you:

DEBIAN: No author specified.
DEBIAN: No description specified.
DEBIAN: No email specified.
DEBIAN: No homepage specified.
DEBIAN: No version specified.
zugzug90 commented 5 years ago

@MisterDA So.. it seems I've just helped a little bit to Open Source World? :smile: Thank you for the command and many thanks for the patch (just saw recent commits) After quick fix *.deb was up and running on my laptop! Yay!