xdg-app; was: WGO Transition Meeting
This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.
This is a read-only list on gimpusers.com so this discussion thread is read-only, too.
xdg-app; was: WGO Transition Meeting
On Sat, Nov 14, 2015 at 10:59 AM, Jehan Pagès wrote:
This is something which is coming with xdg-app. See for instance this blog post (which actually proposes already some nightly for GIMP as a demo):
https://blogs.gnome.org/alexl/2015/10/06/nightly-devel-builds-using-xdg-app/
When such technology is stable enough, we should be able to propose real distro-independent packages for GIMP (which are not ugly binaries in tarball to uncompress in a dirty way without any desktop integration).
I would think using a distro-independent packager is more useful then something like xdg-app. There's a couple in existence already I can think off the top of my head.
* FPM - https://github.com/jordansissel/fpm * omnibus - https://github.com/chef/omnibus
I think it would be useful to have regular builds of packages along with builds of the software; if we can get that far.
I'd rather dpkg -i or rpm -i to install a package than use a 3rd party app. For Windows/Mac platforms I'd say it's useful but for Linux I don't have much of a use for it. I had proposed a 3rd party platform to be distro-independent in the past (Steam) but there wasn't much interest around supporting that.
SAM
I prefer to encrypt my email GPG FINGERPRINT 4096 KEY 8D8B F0E2 42D8 A068 572E BF3C E8F7 3234 7257 E65F https://keybase.io/samrocketman curl https://keybase.io/samrocketman/key.asc | gpg --import - Learn how to encrypt your email with the Email Self Defense guide: https://emailselfdefense.fsf.org/en/
xdg-app; was: WGO Transition Meeting
On Tue, Nov 17, 2015 at 11:07 AM, Sam Gleske wrote:
I'd rather dpkg -i or rpm -i to install a package than use a 3rd party app. For Windows/Mac platforms I'd say it's useful but for Linux I don't have much of a use for it. I had proposed a 3rd party platform to be distro-independent in the past (Steam) but there wasn't much interest around supporting that.
Sam, I think I'm missing something. What's really needed is a static build of up-to-date version of GIMP. That's all.
It doesn't have to be RPM, and it doesn't have to be DEB. It doesn't even have to be installable. A simple static build inside a tarball, provided by download.gimp.org, will work just fine. Thousands and thousands of Blender users will confirm.
Alex
xdg-app; was: WGO Transition Meeting
On 11/17/2015 03:17 AM, Alexandre Prokoudine wrote:
It doesn't have to be RPM, and it doesn't have to be DEB. It doesn't even have to be installable. A simple static build inside a tarball, provided by download.gimp.org, will work just fine. Thousands and thousands of Blender users will confirm.
How do you make a simple static build inside a tarball?
Elle
xdg-app; was: WGO Transition Meeting
On Tue, Nov 17, 2015 at 2:31 PM, Elle Stone wrote:
On 11/17/2015 03:17 AM, Alexandre Prokoudine wrote:
It doesn't have to be RPM, and it doesn't have to be DEB. It doesn't even have to be installable. A simple static build inside a tarball, provided by download.gimp.org, will work just fine. Thousands and thousands of Blender users will confirm.
How do you make a simple static build inside a tarball?
1. Make a static build.
2. Use 'tar -jcvf' to creat a tarball from the build's directory.
Is that what you were asking? ;)
Alex
xdg-app; was: WGO Transition Meeting
On 11/17/2015 06:33 AM, Alexandre Prokoudine wrote:
On Tue, Nov 17, 2015 at 2:31 PM, Elle Stone wrote:
On 11/17/2015 03:17 AM, Alexandre Prokoudine wrote:
It doesn't have to be RPM, and it doesn't have to be DEB. It doesn't even have to be installable. A simple static build inside a tarball, provided by download.gimp.org, will work just fine. Thousands and thousands of Blender users will confirm.
How do you make a simple static build inside a tarball?
1. Make a static build.
2. Use 'tar -jcvf' to creat a tarball from the build's directory.Is that what you were asking? ;)
How do you make a static build? The ./configure --help does mention static something or other, but I've never tried to make a static build.
Does this really make the resulting "whatever it is" actually run on any Linux distribution?
Can you provide an actual command line example for the compiling of babl, GEGL, and GIMP all statically linked together or whatever is required? Would glib and etc also need to be in the mix somehow?
I know Blender does provide a non-installed "extract and run", but it seems like magic.
Elle
xdg-app; was: WGO Transition Meeting
On Tue, Nov 17, 2015 at 2:44 PM, Elle Stone wrote:
How do you make a static build? The ./configure --help does mention static something or other, but I've never tried to make a static build.
Neither have I :)
Does this really make the resulting "whatever it is" actually run on any Linux distribution?
Yes, that's the whole point. You make a 'run anywhere' binary at the expense of download size.
Would glib and etc also need to be in the mix somehow?
Yes, I expect that glib, gtk+ etc., and lcms would be in the build as well. Although you might want talking to someone with more experience instead.
Alex
xdg-app; was: WGO Transition Meeting
On 11/17/2015 08:10 AM, Alexandre Prokoudine wrote:
On Tue, Nov 17, 2015 at 2:44 PM, Elle Stone wrote:
How do you make a static build? The ./configure --help does mention static something or other, but I've never tried to make a static build.
Neither have I :)
Does this really make the resulting "whatever it is" actually run on any Linux distribution?
Yes, that's the whole point. You make a 'run anywhere' binary at the expense of download size.
Would glib and etc also need to be in the mix somehow?
Yes, I expect that glib, gtk+ etc., and lcms would be in the build as well. Although you might want talking to someone with more experience instead.
OK, well, this is probably the right place to ask.
Do any of the developers and packages on this list have example command lines for making a static "run anywhere" binary? And/or a bit of guidance as to how to proceed?
Best, Elle
xdg-app; was: WGO Transition Meeting
On 11/17/2015 08:44 AM, Elle Stone wrote:
Do any of the developers and packages on this list
developers and packagers, people who package GIMP, sorry for the typo!
xdg-app; was: WGO Transition Meeting
On 11/17/2015 08:44 AM, Elle Stone wrote:
Would glib and etc also need to be in the mix somehow?
Yes, I expect that glib, gtk+ etc., and lcms would be in the build as well. Although you might want talking to someone with more experience instead.
OK, well, this is probably the right place to ask.
Hmm, well, here's a start:
From the blender website, http://wiki.blender.org/index.php/Dev:Doc/Building_Blender/Linux/Gentoo/CMake
"If you want to share your build with others you may want to include libraries with Blender (statically linked libraries)."
A command to list the necessary libraries for static linking:
$ objdump -x /home/elle/data/gimp/gimpdefault/install/bin/gimp-2.9 |
grep "NEEDED"
NEEDED libgimpwidgets-2.0.so.0
NEEDED libgtk-x11-2.0.so.0
NEEDED libgdk-x11-2.0.so.0
NEEDED libatk-1.0.so.0
NEEDED libgimpconfig-2.0.so.0
NEEDED libgimpmath-2.0.so.0
NEEDED libgimpthumb-2.0.so.0
NEEDED libgimpcolor-2.0.so.0
NEEDED libgimpmodule-2.0.so.0
NEEDED libgimpbase-2.0.so.0
NEEDED libgdk_pixbuf-2.0.so.0
NEEDED libpng16.so.16
NEEDED libpangocairo-1.0.so.0
NEEDED libpangoft2-1.0.so.0
NEEDED libpango-1.0.so.0
NEEDED libfontconfig.so.1
NEEDED libfreetype.so.6
NEEDED libharfbuzz.so.0
NEEDED libcairo.so.2
NEEDED libgegl-npd-0.3.so
NEEDED libgegl-0.3.so.0
NEEDED libgthread-2.0.so.0
NEEDED libgmodule-2.0.so.0
NEEDED libjson-glib-1.0.so.0
NEEDED libgio-2.0.so.0
NEEDED libbabl-0.1.so.0
NEEDED libdl.so.2
NEEDED libgexiv2.so.2
NEEDED libexiv2.so.13
NEEDED libgobject-2.0.so.0
NEEDED libglib-2.0.so.0
NEEDED liblcms2.so.2
NEEDED libpthread.so.0
NEEDED libz.so.1
NEEDED libm.so.6
NEEDED libjpeg.so.62
NEEDED libc.so.6
OK, what next?
Has anyone on this list built a statically linked, distribution-independent GIMP for Linux in the last few years? If Blender can do it, surely GIMP also can be built as Alexandre suggests.
Best, Elle
xdg-app; was: WGO Transition Meeting
2015-11-17 16:43 GMT+01:00 Elle Stone :
On 11/17/2015 08:44 AM, Elle Stone wrote:
Would glib and etc also need to be in the mix somehow?
Yes, I expect that glib, gtk+ etc., and lcms would be in the build as well. Although you might want talking to someone with more experience instead.
...
OK, what next?
Hi,
a short search (google) for "build statically linked binary linux" gave me this:
make SHARED=0 CC='gcc -static' https://www.duksta.org/archives/2009/06/10/building-static/
gcc -o foo main.o -static -lbaz -lbar https://stackoverflow.com/questions/14842268/how-to-create-static-binary-which-runs-on-every-distro
Regards, Tobias
xdg-app; was: WGO Transition Meeting
On Tue, 2015-11-17 at 11:17 +0300, Alexandre Prokoudine wrote:
On Tue, Nov 17, 2015 at 11:07 AM, Sam Gleske wrote:
I'd rather dpkg -i or rpm -i to install a package than use a 3rd party
app. For Windows/Mac platforms I'd say it's useful but for Linux I don't
have much of a use for it. I had proposed a 3rd party platform to be
distro-independent in the past (Steam) but there wasn't much interest
around supporting that.Sam, I think I'm missing something. What's really needed is a static build of up-to-date version of GIMP. That's all.
It doesn't have to be RPM, and it doesn't have to be DEB. It doesn't even have to be installable. A simple static build inside a tarball, provided by download.gimp.org, will work just fine. Thousands and thousands of Blender users will confirm.
There is no such thing as a "simple static build" of GIMP and its dependencies. There are gazillions of loadable modules in our libraries, I really don't see what a static build would improve.
We need a *relocatable* build, but it doesn't need to be static.
- build all deps into a prefix
- enable relocation on all of them where needed/possible
- provide a launcher script
- tar up the install prefix
- ...
- profit
--Mitch
xdg-app; was: WGO Transition Meeting
Pretty much what I do for my McGimp builds.
I will try to do a write up on how to do this in Linux which should be quite possible.
On Tue, Nov 17, 2015 at 12:42 PM, Michael Natterer wrote:
On Tue, 2015-11-17 at 11:17 +0300, Alexandre Prokoudine wrote:
On Tue, Nov 17, 2015 at 11:07 AM, Sam Gleske wrote:
I'd rather dpkg -i or rpm -i to install a package than use a 3rd party
app. For Windows/Mac platforms I'd say it's useful but for Linux I don't
have much of a use for it. I had proposed a 3rd party platform to be
distro-independent in the past (Steam) but there wasn't much interest
around supporting that.Sam, I think I'm missing something. What's really needed is a static build of up-to-date version of GIMP. That's all.
It doesn't have to be RPM, and it doesn't have to be DEB. It doesn't even have to be installable. A simple static build inside a tarball, provided by download.gimp.org, will work just fine. Thousands and thousands of Blender users will confirm.
There is no such thing as a "simple static build" of GIMP and its dependencies. There are gazillions of loadable modules in our libraries, I really don't see what a static build would improve.
We need a *relocatable* build, but it doesn't need to be static.
- build all deps into a prefix - enable relocation on all of them where needed/possible - provide a launcher script
- tar up the install prefix
- ...
- profit--Mitch
_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list
xdg-app; was: WGO Transition Meeting
Hi,
On Tue, Nov 17, 2015 at 9:17 AM, Alexandre Prokoudine wrote:
On Tue, Nov 17, 2015 at 11:07 AM, Sam Gleske wrote:
I'd rather dpkg -i or rpm -i to install a package than use a 3rd party app. For Windows/Mac platforms I'd say it's useful but for Linux I don't have much of a use for it. I had proposed a 3rd party platform to be
We barely have enough developers, and can't maintain packages for every distributions out there. This is not even 1 deb for every Debian derivatives and 1 RPM for every RPM-based distribs, since they regularly have differences which may break a package. So a deb for Debian may not work for Ubuntu or Mint. A RPM for Fedora may not work for Suse or Mageia… And so on. We will need to test these packages extensively for every distrib out there, and make separate package if something breaks. We just don't have the manpower for this. Even the biggest teams of software can't follow up with every distribution out there.
As for third party packagers, they are welcome to contribute upstream, and become part of the GIMP team. We'd be happy to provide an official RPM or DEB package for this or that distribution, built under a controlled and secure environment with their scripts. But for a reason I still don't understand, many third-party packagers like to work alone.
distro-independent in the past (Steam) but there wasn't much interest around supporting that.
I'm not sure if we have an official opinion about Steam, but my personal opinion (which I have already stated on this mailing list, I think), is that if I don't care personnally about Steam, but if someone interested wish to package it for Steam and work with upstream (i.e. us), I am absolutely not against. If a third party packager makes the scripts to create such a package and contribute these, I'd be OK to include this as an official release. Why not.
Now should it be our finale solution for Linux distributions? Absolutely not! If we have to settle for a common package system for all Linux distributions, it should be a Libre desktop standard, not a proprietary packaging system managed by a single commercial entity.
Sam, I think I'm missing something. What's really needed is a static build of up-to-date version of GIMP. That's all.
I think you are missing much more! First of all, as Mitch explains in another email, such a build in a tarball doesn't have to be static. You reference the Blender build: well it is not statically built for instance. It bundles a bunch of libs and requires and external glibc (assuming most distribution will have it installed).
But what you are even more missing is that there is absolutely no
desktop integration when doing so (unless you know yourself Linux
desktop specifications, thus tediously create and place various files
in locale directories yourself). I want to be able to search GIMP from
the application menu/overview, I want GIMP to be automatically the
default app for XCF files and an alternative app for all supported
image formats (= have it proposed in the "Open with Other Application"
context menu) and having the possibility to make it the default app
for other formats if needed, I want the Wilber icon to be shown for
GIMP, I want to be able to easily and cleanly uninstall the software
(in a centralized place which list all installed applications, i.e.
package management, not by searching and deleting repositories which
can be anywhere), and so on.
All this is not made possible by your tarball. Really I have waited
for a long time to have something like this under Linux. xdg-app looks
like it could be the solution; or at least such integration seems to
be part of the main focus. I know there were other attempts (like
0install, etc.), but I'm not sure if any other would take desktop
integration into account. Or else they just didn't make themselves
known enough. It's possible there is a great system out there which
nobody knows; life is unfair, but in the end, we need a system which
every distribution will want to have installed as a default.
It doesn't have to be RPM, and it doesn't have to be DEB. It doesn't even have to be installable. A simple static build inside a tarball, provided by download.gimp.org, will work just fine. Thousands and thousands of Blender users will confirm.
Well that's the exact right example. Nothing is more terrible than an
installation of Blender in a directory (that people will usually put
on their desktop, often even stacking several versions). That's not
their fault, there are no other good alternative right now in the
Linux world to provide an upstream build for all distributions. I do
install Blender this way too to have latest versions, and I hate it. I
want a real integrated installation of the last versions of a
software.
Others do this. Mozilla Firefox for instance, last I checked.
Jehan
Alex
xdg-app; was: WGO Transition Meeting
On Wed, Nov 18, 2015 at 4:00 AM, Jehan Pagès wrote:
But what you are even more missing is that there is absolutely no desktop integration when doing so (unless you know yourself Linux desktop specifications, thus tediously create and place various files in locale directories yourself).
I _specifically_ said that it doesn't have to be installable. I'm not missing it. I'm dismissing it :)
Really I have waited
for a long time to have something like this under Linux. xdg-app looks like it could be the solution;
The question is whether it will run on existing arbitrary older systems.
Alex
xdg-app; was: WGO Transition Meeting
On 17 November 2015 at 18:42, Michael Natterer wrote:
On Tue, 2015-11-17 at 11:17 +0300, Alexandre Prokoudine wrote:
On Tue, Nov 17, 2015 at 11:07 AM, Sam Gleske wrote:
We need a *relocatable* build, but it doesn't need to be static.
- build all deps into a prefix - enable relocation on all of them where needed/possible - provide a launcher script
- tar up the install prefix
- ...
- profit
We do this in imgflo, which is based on GEGL. There is no GTK+ though, and would need to build more dependencies to be fully distro-independent*. https://github.com/jonnor/imgflo-dependencies/blob/master/Makefile https://github.com/jonnor/imgflo-dependencies/blob/master/env.sh.in
This also includes headers, including some trickery to make pkg-config
relocatable,
so can also be used for developing. If someone was to make a relocatable
GIMP build, please consider the same, then people can also develop just by
downloading a single bundle.
By building a git checkout of GIMP/GEGL/BABL against the bundled prefix and
then installing into it, one could also develop core things this way (not
just plugins).
https://github.com/jonnor/imgflo/blob/master/Makefile#L66 https://github.com/jonnor/imgflo/blob/master/Makefile#L55
* it can be quite tricky to avoid host dependencies leaking into the build, and quite a lot of work to build absolutely everything needed (down to or including glibc). So it is practical to use something that provides some isolation and some ready-made recipies - like Docker, makechrootpkg (from Arch), or similar.
Jon Nordby - www.jonnor.com
xdg-app; was: WGO Transition Meeting
On 11/18/2015 06:22 AM, Jon Nordby wrote:
We do this in imgflo, which is based on GEGL. There is no GTK+ though, and would need to build more dependencies to be fully distro-independent*.
Gentoo allows to run a command ("emerge -epv gimp") that shows *all* the dependencies for a package as installed, all the way down to the toolchain for building.
It turns out that 268 packages are required to install GIMP 2.8.14 on my rather minimal Gentoo installation, and no additional packages are required to install babl/GEGL/GIMP from git in a prefix.
In case it might be helpful, I put up a spreadsheet listing the 268
packages:
http://ninedegreesbelow.com/files/spreadsheets/gimp-dependencies.ods
xdg-app; was: WGO Transition Meeting
On 11/18/2015 08:07 AM, Elle Stone wrote:
It turns out that 268 packages are required to install GIMP 2.8.14 on my rather minimal Gentoo installation, and no additional packages are required to install babl/GEGL/GIMP from git in a prefix.
I run IceWM instead of a full desktop, so there are only two gnome dependencies.
xdg-app; was: WGO Transition Meeting
On Wed, 2015-11-18 at 11:56 +0300, Alexandre Prokoudine wrote:
On Wed, Nov 18, 2015 at 4:00 AM, Jehan Pagès wrote:
But what you are even more missing is that there is absolutely no desktop integration when doing so (unless you know yourself Linux desktop specifications, thus tediously create and place various files
in locale directories yourself).I _specifically_ said that it doesn't have to be installable. I'm not missing it. I'm dismissing it :)
Really I have waited
for a long time to have something like this under Linux. xdg-app looks
like it could be the solution;The question is whether it will run on existing arbitrary older systems.
Such a tarball *must* contain everything from GLib up, like 20-30 libraries plus GIMP. Every other approach is doomed to fail. So it sill likely run on quite old systems too.
--Mitch
xdg-app; was: WGO Transition Meeting
On Wednesday, November 18, 2015, 15:09:56, Elle Stone wrote:
I run IceWM instead of a full desktop, so there are only two gnome dependencies.
IceWM still works for you? I used it in a VNC session on my server, but replaced it with LXDE because it kept breaking too frequently.
< Jernej Simoni ><><><><>< http://eternallybored.org/ > Everybody is somebody else's weirdo. -- Dykstra's Law
xdg-app; was: WGO Transition Meeting
On 11/18/2015 09:59 AM, Jernej Simoni wrote:
On Wednesday, November 18, 2015, 15:09:56, Elle Stone wrote:
I run IceWM instead of a full desktop, so there are only two gnome dependencies.
IceWM still works for you? I used it in a VNC session on my server, but replaced it with LXDE because it kept breaking too frequently.
I'm using IceWM version 1.3.8 on Gentoo, and haven't had any problems.
Recently I had IceWM installed and running with no problems in the latest version of OpenSuse and also in Debian Unstable.
xdg-app; was: WGO Transition Meeting
* Elle Stone [11-18-15 10:27]:
On 11/18/2015 09:59 AM, Jernej Simončič wrote:
On Wednesday, November 18, 2015, 15:09:56, Elle Stone wrote:
I run IceWM instead of a full desktop, so there are only two gnome dependencies.
IceWM still works for you? I used it in a VNC session on my server, but replaced it with LXDE because it kept breaking too frequently.
I'm using IceWM version 1.3.8 on Gentoo, and haven't had any problems.
Recently I had IceWM installed and running with no problems in the latest version of OpenSuse and also in Debian Unstable.
I frequently switch from kde to icewm on openSUSE Tumbleweed w/o any observed problems for gimp and darktable and ...
(paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.org openSUSE Community Member facebook/ptilopteri http://wahoo.no-ip.org Photo Album: http://wahoo.no-ip.org/gallery2 Registered Linux User #207535 @ http://linuxcounter.net