[DEB] Debian package

Support for Ubuntu and other Desktop Linux distributions
User avatar
rednoah
The Source
Posts: 15527
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

[DEB] Debian package

Post by rednoah » 13 Jul 2018, 12:00

FileBot provides it's own APT repository, so you can install and upgrade FileBot via sudo apt-get install filebot.


The installer/deb.sh will add the repository and install FileBot for you:

Code: Select all

bash -xu <<< "$(curl -fsSL https://raw.githubusercontent.com/filebot/plugins/master/installer/deb.sh)"


Alternatively, you can manually add the repository via Software & Update:

1. Add Key File:

Code: Select all

https://get.filebot.net/filebot/KEYS
Image

2. Add APT line:

:idea: Different packages with different dependencies are available for different platforms.
  1. OpenJDK 11 build for newer Debian Buster / Ubuntu 18.10 platforms (noarch)

    Code: Select all

    deb https://get.filebot.net/deb/ universal main
  2. OpenJDK 8 build for older Debian Buster / Ubuntu 18.04 platforms (noarch)

    Code: Select all

    deb https://get.filebot.net/deb/ universal-jdk8 main
  3. OpenJDK 11 legacy build (amd64 only)

    Code: Select all

    deb [arch=amd64] https://get.filebot.net/deb/ stable main
Image
Image

3. Install FileBot including suggested packages:

Code: Select all

sudo apt-get install filebot
:idea: Please read the FAQ and How to Request Help.

jbuck79
Posts: 3
Joined: 09 Aug 2018, 23:17

Re: [DEB] Debian package

Post by jbuck79 » 15 Aug 2018, 22:12

I'm getting the following when updating my sources on Ubuntu 18.04. Anyone else? Is there something I need to do to fix it?

Code: Select all

W: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'https://get.filebot.net/deb stable InRelease' does not seem to provide it (sources.list entry misspelt?)

User avatar
rednoah
The Source
Posts: 15527
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [DEB] Debian package

Post by rednoah » 16 Aug 2018, 06:24

Sorry, 32-bit Linux (i386) is not supported. You'll need to install 64-bit Linux (amd64 / x86_64) since the Debian package is only available for this architecture. Why are you still using 32-bit Linux? Is there any particular reason?

:idea: The Portable TAR package can work on armv7l / aarch64 / i386 / amd64 so you might want to consider that if you're stuck on 32-bit Linux for some reason.
:idea: Please read the FAQ and How to Request Help.

jbuck79
Posts: 3
Joined: 09 Aug 2018, 23:17

Re: [DEB] Debian package

Post by jbuck79 » 16 Aug 2018, 23:02

I'm using a 64-bit version of Ubuntu. Here is my output of 'uname -a'.

Code: Select all

Linux fileserver 4.15.0-32-generic #35-Ubuntu SMP Fri Aug 10 17:58:07 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

User avatar
rednoah
The Source
Posts: 15527
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [DEB] Debian package

Post by rednoah » 17 Aug 2018, 04:13

Strange. I guess you can ignore the i386 packages warning then as it's not particularly relevant to your amd64 machine.

Maybe setting arch=amd64 will make the warning go away:

Code: Select all

deb [arch=amd64] https://get.filebot.net/deb/ stable main
:idea: Please read the FAQ and How to Request Help.

jbuck79
Posts: 3
Joined: 09 Aug 2018, 23:17

Re: [DEB] Debian package

Post by jbuck79 » 17 Aug 2018, 23:44

That seems to have resolved it. Thanks.

JonBackhaus
Posts: 1
Joined: 09 Sep 2018, 00:45

Re: [DEB] Debian package

Post by JonBackhaus » 09 Sep 2018, 00:48

Is there a particular repo for the CLI tool only? I'm running into an issue with the snap in Ubuntu 18.04 so I was hoping to try a different image.

User avatar
rednoah
The Source
Posts: 15527
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [DEB] Debian package

Post by rednoah » 09 Sep 2018, 03:58

There is no repository for headless FileBot only. But does it matter? Are you worried about disk space?
:idea: Please read the FAQ and How to Request Help.

alteredstate
Posts: 3
Joined: 14 Sep 2012, 23:15

Re: [DEB] Debian package

Post by alteredstate » 29 Sep 2018, 02:12

If I just want to use the Filebot CLI does that still require a paid license?

User avatar
rednoah
The Source
Posts: 15527
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [DEB] Debian package

Post by rednoah » 29 Sep 2018, 06:02

Yes. For the sake of simplicity, any and all versions on all platforms for all use cases now require the same universal license.
:idea: Please read the FAQ and How to Request Help.

User avatar
Rando
Posts: 1
Joined: 02 Oct 2018, 20:35

Re: [DEB] Debian package

Post by Rando » 02 Oct 2018, 20:40

Does 4.8.2 on Debian require Java 10 the same as the windows version? I'm using OpenJDK on my server and don't really want to install another runtime. Would 4.7.9 be the best option here?

User avatar
rednoah
The Source
Posts: 15527
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [DEB] Debian package

Post by rednoah » 03 Oct 2018, 08:23

The DEB package includes it's own private JRE so it does not require you to install any specific version of Java on your system.
:idea: Please read the FAQ and How to Request Help.

Lantizia
Posts: 5
Joined: 31 Oct 2018, 11:55

Re: [DEB] Debian package

Post by Lantizia » 31 Oct 2018, 12:04

Hey, long time user here (just bought a lifetime license - although have donated before and also was a part of the patreon thing until it went no where)...

Just installed via APT and noticed a few odd quirks...

You're probably best not telling people to use --install-suggests. Mostly because a) 'recommends' would be a better fit and b) using --install-suggests is recursive, so you end up with a whole Web server (in my case apache2) being installed just because you installed FileBot :)...

Code: Select all

[email protected]:~/Downloads$ aptitude why apache2
i   filebot           Suggests   ffmpeg                                
i A ffmpeg            Suggests   ffmpeg-doc                            
i A ffmpeg-doc        Depends    libjs-jquery                          
i A libjs-jquery      Recommends javascript-common                     
i A javascript-common Suggests   apache2 (>= 2.4.6~) | lighttpd | httpd
Also in your last post to this thread you said the JRE is built in, if that is the case - why is it on the suggests list? (which is currently... openjdk-10-jre openjfx mediainfo libchromaprint-tools)

Perhaps a better apt-get line would be simply...

Code: Select all

sudo apt-get -y install openjfx mediainfo libchromaprint-tools filebot
Or instead make openjfx, mediainfo and libchromaprint-tools to be 'recommends' instead. Most desktop users are used to extra stuff being pulled in via recommends, whilst server administrators (I do this on my Debian boxes) turn off automatically installing recommends as a matter of course.

Thanks for all the hard work :)

Steven

p.s. more info on Debian policy for using suggests/recommends can be found here... https://www.debian.org/doc/debian-polic ... re-depends

vincen
Posts: 32
Joined: 12 Sep 2017, 07:25

Re: [DEB] Debian package

Post by vincen » 19 Nov 2018, 08:29

Still have again the problem of access at local files :( Installed it with deb package using the script suggested but Filebot is unable to access any local files of the system :(

User avatar
rednoah
The Source
Posts: 15527
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [DEB] Debian package

Post by rednoah » 19 Nov 2018, 11:37

Lantizia wrote:
31 Oct 2018, 12:04
You're probably best not telling people to use --install-suggests. Mostly because a) 'recommends' would be a better fit and b) using --install-suggests is recursive, so you end up with a whole Web server (in my case apache2) being installed just because you installed FileBot :)...
Well, that definitely sucks...

Lantizia wrote:
31 Oct 2018, 12:04
Also in your last post to this thread you said the JRE is built in, if that is the case - why is it on the suggests list? (which is currently... openjdk-10-jre
Due to the changes in JDK 11 (i.e. no more Oracle JRE with JavaFX built-in) there's no point to do this on Linux in the future. Is there a working OpenJFX 11 package in the Debian repository already?

Lantizia wrote:
31 Oct 2018, 12:04
Perhaps a better apt-get line would be simply...

Code: Select all

sudo apt-get -y install openjfx mediainfo libchromaprint-tools filebot
Or instead make openjfx, mediainfo and libchromaprint-tools to be 'recommends' instead. Most desktop users are used to extra stuff being pulled in via recommends, whilst server administrators (I do this on my Debian boxes) turn off automatically installing recommends as a matter of course.
Quite possibly. If Recommends is indeed pulled automatically on Desktop Linux machines, then it makes sense to do:

Code: Select all

Depends: <stuff required for the CLI>
Recommends: <stuff required for the GUI only>
Does that sound reasonable?
:idea: Please read the FAQ and How to Request Help.

Lantizia
Posts: 5
Joined: 31 Oct 2018, 11:55

Re: [DEB] Debian package

Post by Lantizia » 19 Nov 2018, 12:06

If I think I understand you correct, both Debian and Ubuntu have openjfx as it's own package...

http://packages.debian.org/openjfx (which is OpenJFX v8 in Debian 9 - the latest stable version, but it'll be v11 in the next version of Debian)
http://packages.ubuntu.com/openjfx (again it is v8 in Ubuntu 18.04 - the latest long term version that I use, but its v11 in Ubuntu 18.10 and it'll be v11 in 19.04)

I wouldn't be able to say one way or the other how this affects FileBot as I'm not too familiar with the JFX bit.

Your "DEBIAN/control" file in the package could simply change this one line...

Code: Select all

Suggests: openjdk-10-jre, openjfx, xdg-utils, ffmpeg, mediainfo, libchromaprint-tools
For...

Code: Select all

Recommends: openjdk-10-jre, openjfx, xdg-utils, ffmpeg, mediainfo, libchromaprint-tools
I wouldn't specify any "Depends: " unless any of those packages are critical for the core functionality of FileBot to operate normally.
If 100% of those additional packages are optional, then they need to be "Recommends: "

This is fine as *all* Debian-derived distributions I've ever encountered (BOTH servers and desktops) all install recommended packages by default.

It's only certain server-admins (like me) that manually make it system-wide policy not to install recommends on server - just so that we can see what they'd be and choose to install them after if needed to lower the security footprint of the server.

If you do make the above change, remember that in your deb.sh file you can change...

Code: Select all

sudo apt-get install filebot --install-suggests
To simply be...

Code: Select all

sudo apt-get install filebot
As for the idea about CLI usage vs GUI usage. Most packages I've seen usually have a 'filebot-cli' and a 'filebot' (or filebot-gtk, filebot-ui, etc...). Essentially the 2nd package (the ui one) makes 'filebot-cli' a dependency of itself. That might be one possible thought?

But depends vs recommends vs suggests - this hasn't really got anything to do with purpose such as cli vs gui

User avatar
rednoah
The Source
Posts: 15527
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [DEB] Debian package

Post by rednoah » 27 Nov 2018, 18:33

FileBot 4.8.5 is now in BETA and a new Debian package is available for testing here:
https://get.filebot.net/filebot/FileBot_4.8.5/

:?: Feedback is welcome.

The new Debian package is now platform-independent and can work an any architecture, but that means that all native code is handled via APT dependencies, i.e. OpenJDK 11 and OpenJFX 11 is now required.

:!: You may need the latest version of Ubuntu, since older LTS releases will give you OpenJFX 8 and not OpenJFX 11 if you do apt install openjfx.
:idea: Please read the FAQ and How to Request Help.

Lantizia
Posts: 5
Joined: 31 Oct 2018, 11:55

Re: [DEB] Debian package

Post by Lantizia » 28 Nov 2018, 06:47

Not tested this package yet - but after reading what you've wrote... this sounds like a step backwards!

Nobody in their right mind runs a non-LTS version of Ubuntu unless they're prepared to deal with the unforeseen consequences of something that...
a) only got knocked up because it happened to be either the month of April or October in a year - and not because it was actually ready or properly tested.
b) only gets support for 9 months.

It's more like a preview release in my mind - not really like bi-annual Windows 10 update... as with a non-LTS Ubuntu *every* package version changes breaking the ability to use many 3rd party bits of software which are not ready for it.

Most people (like me) who use Ubuntu in a production environment (personally for me that is definitely my place of work, but also at home as I don't want to be fixing bugs all day) will use whatever the latest LTS is (usually about 4 months after it came out to let the dust settle) and in the case of 18.04 it'll be supported until April 2023 - but most will switch to 20.04 at around August 2020 (4 months after the release of 20.04).

Please don't make this only usable on (in my opinion) non-stable Ubuntu versions only - and especially on Debian 10 only, as that thing is definitely not stable!

User avatar
rednoah
The Source
Posts: 15527
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [DEB] Debian package

Post by rednoah » 28 Nov 2018, 08:06

Maybe you can try it and see if there's any particular issue on 16.04 LTS or 18.04 LTS. Since I still only use Recommends the package will should install just fine on any system, allowing you to satisfy dependencies manually as needed.

AFAIK, only OpenJFX is a problem, but that's not even required at all if you're only interested in the CLI tools, and easy to install (i.e. copy files) manually if needed and that I could help automate via shell scripts.

If Java 11 is an issue, then we could consider sticking to Java 8 (which makes JavaFX work out of the box on 18.04 but not work on anything newer) but the portable tar is already there to cover people that need backwards compatibility.

Anyway, I'm open to suggestions here, especially considering that GUI users and CLI users might very likely be running on different environments.
:idea: Please read the FAQ and How to Request Help.

Lantizia
Posts: 5
Joined: 31 Oct 2018, 11:55

Re: [DEB] Debian package

Post by Lantizia » 28 Nov 2018, 13:16

So now on a fresh Ubuntu 18.04 install (tested in a VM) - if you just download the .deb file and open/double-click it normally (letting GDebi install it graphically) you'll end up with filebot failing to load with...

/usr/bin/filebot: 14: /usr/bin/filebot: java: not found

If you use 'sudo apt -y install ./FileBot_4.8.5.deb' then you'll get...

Error: LinkageError occurred while loading main class net.filebot.Main
java.lang.UnsupportedClassVersionError: net/filebot/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 54.0

Naturally these *can* be resolved after the fact... but that's not really the point :)

Installing some basic desktop application really ought to just be...
Step 1) Add the additional repository (either graphically through Software & Updates, or via command line)
Step 2) Tell your system the name of the package you want to install (again graphically or command line)

You've kind of got all the information you need, it's up to you how to do this. I suspect you don't package for Linux all that often (just a feeling).

Personally I'd whack arch-dependant versions of openjfx in to the package itself (and the package could stay multi-arch) just like you do libjnidispatch.so.

To be honest including only aarch64/armv7l/i686/x86_64 versions of libjnidispatch.so means the package isn't really 'all' arch anyway - and the Debian lintian systems picks up on that and may warn people the package is of bad quality :S But I don't care about that personally.

User avatar
rednoah
The Source
Posts: 15527
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [DEB] Debian package

Post by rednoah » 28 Nov 2018, 14:46

Does apt not automatically install Recommends packages? It seems that openjdk-11-jre is not installed automatically.

:idea: Forcing things via Depends has its own pitfalls. See discussions above.

:idea: Including OpenJFX is possible, but then it's gonna be amd64 only, as OpenJFX only publishes amd64 binaries. There seem to be more and more Raspberry Pi GUI users recently, so multi-platform would be preferred.
:idea: Please read the FAQ and How to Request Help.

Lantizia
Posts: 5
Joined: 31 Oct 2018, 11:55

Re: [DEB] Debian package

Post by Lantizia » 28 Nov 2018, 15:10

rednoah wrote:
28 Nov 2018, 08:06
If Java 11 is an issue, then we could consider sticking to Java 8 (which makes JavaFX work out of the box on 18.04 but not work on anything newer)
Another way to look at this is... don't bother giving people a .deb file at all.

Make them use the repository - it's the best way IMO. Really .deb files aren't meant to be used in this way (which is why apt only *just* like this/last year got the ability to install from them directly - granted dpkg could, but it wouldn't resolve dependencies without then calling apt-get after to fix the system).

If you stick with the repository you can do what everyone else does and instead of having...

Code: Select all

deb [arch=amd64] https://get.filebot.net/deb/ stable main
Have...

Code: Select all

deb https://get.filebot.net/deb raspbian-jessie main
deb https://get.filebot.net/deb raspbian-stretch main
deb [arch=amd64] https://get.filebot.net/deb trusty main
deb [arch=amd64] https://get.filebot.net/deb xenial main
deb [arch=amd64] https://get.filebot.net/deb bionic main
deb [arch=amd64] https://get.filebot.net/deb cosmic main
deb [arch=amd64] https://get.filebot.net/deb jessie main
deb [arch=amd64] https://get.filebot.net/deb stretch main
That way you can have packages that are tailored to the situation they're going to find themselves in.

Additionally I don't think Recommends are followed when installing an individual .deb package - it is something read by apt... something that is being bypassed by not installing from a repository.

User avatar
rednoah
The Source
Posts: 15527
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [DEB] Debian package

Post by rednoah » 28 Nov 2018, 17:10

New DEB for testing:

* Changed to amd64 only and included OpenJFX
* Changed Recommends to Depends

Code: Select all

https://get.filebot.net/filebot/FileBot_4.8.5/FileBot_4.8.5_amd64.deb
:idea: The APT repository is built from DEB packages, so there's gonna be DEB packages regardless of whether I make them visible or not. Either way, the final release will be available via APT so users can auto-update easily.

:idea: I'd rather not maintain multiple packages for multiple platforms if at all possible.

:idea: Multi-Arch DEB for Raspbian / armhf support will come eventually, but I guess that can wait until next year. There's always the portable package in the meanwhile.
:idea: Please read the FAQ and How to Request Help.

User avatar
rednoah
The Source
Posts: 15527
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: [DEB] Debian package

Post by rednoah » 29 Nov 2018, 06:56

The FileBot 4.8.5 release now contains two additional DEB packages:

* universal (requires OpenJDK 11 and OpenJFX 11)
* universal-jdk8 (requires OpenJDK 8 and OpenJFX 8)

The universal one should work on Ubuntu 18.10 / Debian 10. The universal-jdk8 one should work on Ubuntu 16.04 LTS / Ubuntu 18.04 LTS / Debian 9 and Raspbian / Raspberry Pi (untested). Both rely on apt for all native dependencies.
:idea: Please read the FAQ and How to Request Help.

gkalc
Posts: 1
Joined: 05 Aug 2018, 01:33

Re: [DEB] Debian package

Post by gkalc » 09 Feb 2019, 14:31

APT repo problem?

Code: Select all

# bash -xu <<< "$(curl -fsSL https://raw.githubusercontent.com/filebot/plugins/master/installer/deb.sh)"
+ curl -fsSL https://raw.githubusercontent.com/filebot/plugins/master/gpg/maintainer.pub
+ sudo apt-key add -
OK
+ echo 'deb [arch=amd64] https://get.filebot.net/deb/ stable main'
+ sudo tee /etc/apt/sources.list.d/filebot.list
deb [arch=amd64] https://get.filebot.net/deb/ stable main
+ sudo apt-get update
Ign:1 https://get.filebot.net/deb stable InRelease
Hit:2 http://ftp.ca.debian.org/debian buster InRelease              
Hit:3 https://get.filebot.net/deb stable Release                    
Hit:4 http://security.debian.org/debian-security buster/updates InRelease
Hit:5 http://ppa.launchpad.net/papirus/papirus/ubuntu bionic InRelease
Err:6 https://get.filebot.net/deb stable Release.gpg
  Signed file isn't valid, got 'NODATA' (does the network require authentication?)
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://get.filebot.net/deb stable Release: Signed file isn't valid, got 'NODATA' (does the network require authentication?)
W: Failed to fetch https://get.filebot.net/deb/dists/stable/Release.gpg  Signed file isn't valid, got 'NODATA' (does the network require authentication?)
W: Some index files failed to download. They have been ignored, or old ones used instead.
+ sudo apt-get install filebot
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests