Debian Packaging Questions

  • kroq-gar78
    12th May 2012 Member 1 Permalink
    Hello there,

    I know there are some threads the "Development" section of the forums similar to this, but they're mainly asking about if there is one or how to make one. I'm getting ready to upload my package to mentors.debian.net and then the games development list, which I plan to do soon after the next stable release. However, I have some questions about what to do for certain things:

    1. Should I be using 'powder-64-*' for the 'make' targets ('*' represents a wildcard)?
    2. Should I be using 'powder-*sse2' or 'powder-*sse3' for my builds?
    3. Can I put Simon Robertshaw's email (as found in the git log) as the upstream contact for the game (it's recommended to do so, I think)?

    Now, some copyright-/licensing-related stuff:
    1. What type of license is 'src/md5.c' under? Also, should I put "Copyright 1993, Colin Plumb" for that file (this is probably a question better suited for Debian dev's)
    2. What type of license are the following files under (were they made by you or by some other people?): includes/SDLMain.h, font/editor.c, font/packer.c, font/unpacker.c?

    Really sorry for the huge bombardment of questions, but I want my package to be accepted into Debian as fast as possible and with the fewest amount of complaints once I submit it. Thanks in advance!
  • Simon
    12th May 2012 Administrator 4 Permalink
    1. 64bit compiles for linux are not supported (they do not get automatic updates)
    2. powder-sse2 should be used
    3. That is fine

    1. Not sure, actually. But it was part of the original source which at the time was GPLv2
    2. SDLMain.h is not used for Linux (Only for Mac OS), has no copyright or license and is in the public domain from the SDL project. Likewise, the files in font/ are development tools and aren't part of the game.
  • Plasmoid
    12th May 2012 Member 0 Permalink
    Can I release a mod to the Ubuntu Software Center if I release the source and keep it GPLv3?
  • jacksonmj
    12th May 2012 Developer 0 Permalink
    @Simon (View Post)
    Would automatic updates even work? If a program is installed from a package it isn't usually writable except by root.

    As long as 64 bit compiles are kept up to date in the package repository, they should work fine.
  • Plasmoid
    12th May 2012 Member 0 Permalink
    @jacksonmj (View Post)
    I don't think so... is it possible to make a mod that can be updated with current stuff but keep the mods?
  • kroq-gar78
    12th May 2012 Member 1 Permalink
    Thanks for the answers. One question though: is it still okay to use the 64-bit compiles? Do they even have an advantage? Also, do you mean that notification at the bottom left saying "new version available" (some something like that) when you say "automatic updates"?

    EDIT: Just saw jacksonmj's answer; it answered most of the above but not if 64-bit compiles are even worth it.

    I'll just put the md5.c file as public domain and no copyright (it just says "based on public-domain code from Colin Plumb (1993)")

    FYI, I added a manpage for Powder Toy in my packaging thing.
  • jacksonmj
    12th May 2012 Developer 0 Permalink
    @kroq-gar78 (View Post)
    On 64 bit computers they have the advantage that you can use them without needing to install the 32 bit libraries.

    Yes, automatic updates is that notification in the bottom right corner (when you click it, it downloads the newest version from this website).
  • Simon
    12th May 2012 Administrator 2 Permalink
    @jacksonmj (View Post)
    Also, the automatic update will download 32bit binaries, which will break the game you don't have the libraries installed.
  • kroq-gar78
    12th May 2012 Member 0 Permalink
    Yes, there are separate packages for each arch. Thanks for the answer. Another question (sorry!): should there be any runtime libraries needed (e.g. libsdl, libfftw3, etc.), or are they only needed for building?
  • Simon
    12th May 2012 Administrator 1 Permalink
    libsdl, libfftw3f, liblua(5.1), libX11 and libbz2 are all needed at runtime.