Please learn how to distribute packages

The place to discuss linux version of MakeMKV
Post Reply
adamf63
Posts: 9
Joined: Thu Sep 01, 2011 2:45 pm

Please learn how to distribute packages

Post by adamf63 » Sun Sep 06, 2020 7:51 pm

Enough is enough. I get tired of having to build makemkv every #$%^&*() time you have a minor release.

Please do what every other software distributor knows how to do: build a package and put it in a repo.

It takes about 2-4 hours work. ENOUGH IS ENOUGH. DO IT and stop wasting our time!

Ezatoka
Posts: 409
Joined: Fri Dec 06, 2019 6:55 pm

Re: Please learn how to distribute packages

Post by Ezatoka » Mon Sep 07, 2020 4:50 pm

adamf63 wrote:
Sun Sep 06, 2020 7:51 pm
It takes about 2-4 hours work.
For whom?

Woodstock
Posts: 10332
Joined: Sun Jul 24, 2011 11:21 pm

Re: Please learn how to distribute packages

Post by Woodstock » Mon Sep 07, 2020 8:04 pm

There is also the question of, "Which particular package manager?"

Handbrake is standardizing on Flatpak. But that's one of a dozen different POPULAR Linux package formats out there, and dozens more that are less popular. And some of those are distribution-specific, or there is the occasional one that some distribution refuses to support.

bmillham
Posts: 155
Joined: Mon Mar 27, 2017 12:42 am

Re: Please learn how to distribute packages

Post by bmillham » Thu Sep 10, 2020 9:02 pm

adamf63 wrote:
Sun Sep 06, 2020 7:51 pm
It takes about 2-4 hours work. ENOUGH IS ENOUGH. DO IT and stop wasting our time!
Really, 2-4 hours of work???

Let's look at the real numbers. Done from my Linux Mint laptop (I didn't include download time, as you'd have to download regardless of how it's distributed):

Code: Select all

brian@auton ~/Downloads/makemkv-oss-1.15.2 $ time ./configure
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libffabi/src/ffabicfg.h
config.status: executing libtool commands

real	0m3.584s
user	0m2.646s
sys	0m0.902s
So stage 1 took 3.584 seconds.

Code: Select all

brian@auton ~/Downloads/makemkv-oss-1.15.2 $ time make
mkdir -p out
gcc -g -O2 -D_linux_  -D_REENTRANT -shared -Wl,-z,defs -oout/libdriveio.so.0.full -I./libdriveio/inc libdriveio/src/infolist.cpp libdriveio/src/scsihlp.cpp libdriveio/src/srlist.cpp libdriveio/src/stdquery.cpp libdriveio/src/tipclient.cpp libdriveio/src/tipcommon.cpp libdriveio/src/tipserver.cpp \
-fPIC -Xlinker -dy -Xlinker --version-script=libdriveio/src/libdriveio.vers \
-Xlinker -soname=libdriveio.so.0 -lc -lstdc++
objcopy --strip-all --strip-debug --strip-unneeded --discard-all out/libdriveio.so.0.full out/libdriveio.so.0
mkdir -p tmp
...
gcc -g -O2 -D_linux_  -D_REENTRANT -shared -Wl,-z,defs -oout/libmmbd.so.0.full -I./makemkvgui/inc -I./libmmbd/inc -I./libdriveio/inc \
-I./libmakemkv/inc -I./sstring/inc -I./libabi/inc makemkvgui/src/client.cpp makemkvgui/src/marshall.cpp libmmbd/src/marmmbd.cpp libmmbd/src/nstring.cpp libmmbd/src/mmbd.cpp libmmbd/src/mmconn.cpp libmmbd/src/mmbdipc.cpp libmmbd/src/utf8.cpp libmmbd/src/aacs.cpp libmmbd/src/bdplus.cpp libmmbd/src/crypto_ossl.cpp makemkvgui/src/api_posix.cpp makemkvgui/src/api_linux.cpp makemkvgui/src/sem_posix.cpp makemkvgui/src/spawn_posix.cpp sstring/src/sstring.cpp \
libdriveio/src/srlist.cpp \
-fPIC -Xlinker -dy -Xlinker --version-script=libmmbd/src/libmmbd.vers \
-Xlinker -soname=libmmbd.so.0 -lc -lstdc++ -lrt -lpthread -lcrypto
objcopy --strip-all --strip-debug --strip-unneeded --discard-all out/libmmbd.so.0.full out/libmmbd.so.0
type "sudo make install" to install

real	1m16.507s
user	1m9.645s
sys	0m6.334s
And the actual compile took 1 minute, 16.507 seconds.

Code: Select all

brian@auton ~/Downloads/makemkv-oss-1.15.2 $ time sudo make install
[sudo] password for brian:         
/usr/bin/install -c -D -m 644 out/libdriveio.so.0 /usr/lib/libdriveio.so.0
/usr/bin/install -c -D -m 644 out/libmakemkv.so.1 /usr/lib/libmakemkv.so.1
...
/usr/bin/install -c -D -m 644 makemkvgui/share/icons/128x128/makemkv.png /usr/share/icons/hicolor/128x128/apps/makemkv.png
/usr/bin/install -c -D -m 644 makemkvgui/share/icons/256x256/makemkv.png /usr/share/icons/hicolor/256x256/apps/makemkv.png

real	0m6.408s
user	0m0.164s
sys	0m0.787s
And 6.408 seconds to install.

So building/installing the OSS part took a total of 1 minute 26.499 seconds

Code: Select all

brian@auton ~/Downloads/makemkv-bin-1.15.2 $ time sudo make install
rm -f /usr/bin/makemkvcon
rm -f /usr/bin/mmdtsdec
...
cd /usr/bin && ln -s -f makemkvcon sdftool

real	0m0.067s
user	0m0.043s
sys	0m0.018s
And installing the binary blob took .067 seconds, for a total of 1 minute 26.566 seconds. Of course I didn't include how long it took me to type the commands, and how long to do the second make as it's just reading the license agreement.

So why it it taking you 'hours' to do this?

donut
Posts: 16
Joined: Sun Apr 26, 2020 3:48 pm

Re: Please learn how to distribute packages

Post by donut » Tue Sep 15, 2020 2:49 am

and I'm just thankful it all works... I've never done this before, so forgive me... Maybe we can simplify the decision for Mike et al.

So what are the issues here?

Select a package manager... can it be consistent across all linux platforms?

Is the licensing an issue when this is packaged?

What other issues are there that need to be considered before this can just be deployed through a package manager?

Learning currve
automation
Support issues?

DenverDave
Posts: 3
Joined: Mon Sep 05, 2016 3:18 am

Re: Please learn how to distribute packages

Post by DenverDave » Thu Sep 17, 2020 8:32 pm

You can also use this PPA for Ubuntu and MAYBE Debian systems.

https://launchpad.net/~heyarje/+archive ... kemkv-beta

mdPlusPlus
Posts: 5
Joined: Fri Sep 18, 2020 10:23 am

Re: Please learn how to distribute packages

Post by mdPlusPlus » Fri Sep 18, 2020 10:29 am

@OP: If you're that lazy, use a script: https://gist.github.com/mdPlusPlus/b110 ... 6b5bce4dc6

xr200
Posts: 56
Joined: Tue Nov 10, 2015 3:11 am

Re: Please learn how to distribute packages

Post by xr200 » Fri Sep 18, 2020 1:49 pm

I try not to say anything on a forum that might offend someone, but I can't bite my tongue on this one.
Building makemkv for Linux is trivial. If you're not up to the task, you probably should be running
Windows or MacOS. If you can't do that, get your distribution's providers to put makemkv
in their repositories for you. Let Mike work on stuff that matters.

Woodstock
Posts: 10332
Joined: Sun Jul 24, 2011 11:21 pm

Re: Please learn how to distribute packages

Post by Woodstock » Fri Sep 18, 2020 3:25 pm

It is a bit doubtful many distributions would even consider adding MakeMKV to their repositories, simply because of the commercial nature. Many won't touch anything that isn't 100% GPL-compatible, which excludes MakeMKV.

A lot of distributions would no allow for patched libraries - Check out the handbrake list of known broken builds, where everything is GPLv2 compatible, but the packagers still deliberately use incompatible libraries.

bib1963
Posts: 10
Joined: Sun Aug 04, 2013 3:50 pm

Re: Please learn how to distribute packages

Post by bib1963 » Sun Sep 20, 2020 11:35 am

RPMs are available for OpenSuse on Packman. I would assume they would be also available for Redhat.

bmillham
Posts: 155
Joined: Mon Mar 27, 2017 12:42 am

Re: Please learn how to distribute packages

Post by bmillham » Mon Sep 21, 2020 2:44 am

xr200 wrote:
Fri Sep 18, 2020 1:49 pm
I try not to say anything on a forum that might offend someone, but I can't bite my tongue on this one.
Building makemkv for Linux is trivial. If you're not up to the task, you probably should be running
Windows or MacOS.
I was almost going to say that in my response... The first build can be a little daunting as you have to get the right build environment setup, but once that's done each new release is a simple process.

Since the OP has never responded, (s)he looks like a troll(ett). :o

beandog
Posts: 36
Joined: Sun Feb 18, 2018 7:42 am
Location: /usa/utah
Contact:

Re: Please learn how to distribute packages

Post by beandog » Mon Sep 21, 2020 5:25 am

We've got it included in our main repo just fine with Gentoo, quick glance it looks like Ubuntu and Fedora aren't that hard either. Not sure which OS the OP is talking about here.

bmillham
Posts: 155
Joined: Mon Mar 27, 2017 12:42 am

Re: Please learn how to distribute packages

Post by bmillham » Fri Oct 02, 2020 12:09 am

I see that 1.15.3 is out, so I decided to waste several hours of my life installing it. :o

Once downloaded and extracted it took me 1 minute, 14 seconds.

AffSeda
Posts: 32
Joined: Wed Apr 25, 2018 1:43 am

Re: Please learn how to distribute packages

Post by AffSeda » Sat Oct 03, 2020 5:18 am

Instructions unclear, set PC on fire and was attacked by Dingo.

Post Reply