[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Packaging a gui app



Thanks for the tips on this. I am brand new to packaging Debian products. The product I am working on packaging is https://github.com/keepassxreboot/keepassxc. My main goal with packaging it is because I am a big fan of it and I keep my systems clean so I want a pure Debian package that I can install. Hopefully others will find it useful as well. I am following the new maintainers guide for now and I don’t see anything too taxing in it beyond the work needed and the care that needs to be taken to make sure it is done right.

Right now I am still at the make sure it installs cleanly stage. I spun up a clean Jessie box in vagrant and have been hammering at the upstream install instructions to ensure they are valid for building from source rather than using the pre-built packages. Thanks for tips on this, I had completely forgort about connecting to a remote server.

-- 
Matt Jones @CaffeinatedEng


On 2/26/17, 11:15 AM, "Christian Seiler" <christian@iwakd.de> wrote:

    On 02/26/2017 04:52 PM, The Wanderer wrote:
    > On 2017-02-26 at 10:47, Ghislain Vaillant wrote:
    > 
    >> On Sun, 2017-02-26 at 10:15 -0500, matt jones wrote:
    >>
    >>> I am packaging a gui that has dependencies for qt and such. How do
    >>> I go about ensuring that X is available as well? Do I list that as
    >>> a dependency as well. The upstream maintainers don’t call it out
    >>> specifically but it is understood. Links to docs are always
    >>> welcome.
    >>
    >> Usually, the toolkit your application depends on (here Qt), will
    >> bring the necessary dependencies for you. So you don't need to care
    >> about X.
    > 
    > I recall that historically the rule was "you don't depend on having X
    > packages installed" regardless, on the grounds that it is or was
    > possible to connect to an X instance running on a different machine (it
    > is called "the X server", after all) - but I don't spot that in current
    > policy, and I do seem to remember reading discussion about repealing
    > that rule on the grounds that doing this hasn't actually _worked_ in
    > modern X for years if not longer.
    
    I'm not saying it works great, and X forwarding has its problems, but
    in general from my experience most programs do still work when forwarded
    via X11. Heck, even Firefox works. And I know plenty of people that use
    X11 forwarding in various ways (though not necessarily Firefox). Even
    OpenGL stuff works, it just falls back to software rendering via Mesa in
    that case.
    
    >From my POV, packaging a GUI application is simple in general:
    
     - dh_shlibdeps will take care of all the dependencies via shared
       libraries (e.g. Qt) automatically, so you don't have to care about
       that directly
    
     - if you require certain plugins for a library you are using to be
       available, Depend: or Recommend: those packages (depending on how
       fatal their non-availability is)
    
     - if you need some framework such as KDE, Depend: on that (for
       example, KDE5 packages typically require a Depends: kde-runtime)
    
     - if you require a DBus bus to be around, Depend: dbus-x11
       (or Recommend: it if the non-availability is non-fatal)
    
     - if the package contains any scripts, make sure that any tools
       required from those scripts are in your dependencies (since they
       won't be auto-detected at build time)
    
    Regards,
    Christian
    
    



Reply to: