What do I need to build this package?

I really need this package and I am seriously willing to try to build it.

https://motion-project.github.io/motion_build.html

It seems it won’t be easy because of the many dependencies. The building instructions specify what they are, but they vary depending on the distro. AFAIK, IPFire is a Linux From Scratch distro, right? So, can someone please tell me which of those dependencies IPFire already has and which ones will have to be built too?

I can only tell you that indeed IPFire is a LFS distro and that pakfire is the package manager that has been created by the developers for the project. In the console:

pakfire list

will give you the list of all the available packages. In the wiki there is a section for developers dedicated to packaging new software. Unfortunately the wiki is down at the moment and I cannot give you a link, but you will find it quite easily. Maybe some developer will step in and give you more useful information. Good luck with your project.

EDIT: https://wiki.ipfire.org/devel/pakfire and https://wiki.ipfire.org/devel/ipfire-2-x/addon-howto

1 Like

I have looked through the requirements for the source build and here are my conclusions.

Required
autoconf automake autopoint build-essential pkgconf libtool git libzip libjpeg62-turbo gettext libmicrohttpd

libzip, libjpeg and libmicrohttpd are not available in the IPFire build tree.
autopoint is part of gettext which is available in the IPFire build tree. However if this is also required for running your package then you will need to change the gettext rootfile to uncomment autopoint.

For the Optional packages:-

FFMpeg Functionality(Required for creating movies, using network cameras, etc.)
libavformat libavcodec libavutil libswscale libavdevice

ffmpeg is available as an addon. You will need to make it a dependency of the addon you are creating. None of the other libraries listed are available in the IPFire Build tree.

MySQL, MariaDB and PostgreSQL are not available in the IPFire Build tree.
SQLite3 is available.

JPEG Turbo and Webp Image Support are not available in the IPFire Build tree.

Your best starting point is to follow the links @cfusco provided and get a standard IPFire Build tree to successfully build on whatever hardware and distro you decide to use. To have the builds complete in a reasonable period of time then you will need a reasonably powerful system.

I use an i5 based computer with 16GB ram running with an Arch Linux distro and my first build was something like 5 or 6 hours. Subsequent builds are quicker because of the ccache capability and mine are around 2.5 hours.

@anon42188109 has listed the following performance on his i7 based computer. I suspect he is running Debian or Ubuntu from his use of apt install

adding more data, system i7-7700K, 16GB ram
 first run: *** Build finished in 3:39:11
second run: *** Build finished in 1:17:42

https://community.ipfire.org/t/compiling-ipfire/6434

Once you have a working standard build then you can start to look at working on the motion package and its dependencies and come back with any questions you get.

2 Likes