July 22, 201015 yr There are several threads about specific parts of the Package Manager. This thread is to collect information together from the different threads and provide an overview of the PM. I will update this OP as needed. The PM has two main roles: 1) an easy to use GUI to assist users in finding packages and getting them saved to their unRAID server 2) processing advanced packages when the unRAID server is started. Stock unRAID's native role in packages is simply to installkg all the .tgz files in /boot/extra. However, a SIMPLE package manager (list/enable/disable the .tgz files in /boot/extra) should probably be part of unRAID stock so packages can be enabled/disabled even when the server is started in "safe" mode. BubbaQ has written a prototype and posted it. WeboTech has prototyped a build environment that can build .tgz packages that are fully processed by the standard installpkg, but include advanced features such as a preinstall and postistall script.... so packages in /boot/extra can be "smarter." The PM itself will be a package in /boot/extra. The PM helps users get the necessary packages into /boot/extra. Or they can be saved there manually. The PM also helps users get advanced packages into /boot/packages. We are developing standards for an "advanced" .tgz package file, so an advanced .tgz can include additional information about a package, such as dependencies and event scripts. Developers can create standard Slackware packages or use our specifications for an "advanced" package. In order for the advanced package features to be acted on, the package will need to be "processed" by the PM rather than just have installpkg run against it. A standard .tgz package can live in either /boot/extra (where unRAID loads it with installpkg), or in /boot/packages (where the PM will process it). An advanced .tgz package will live in /boot/packages (where the PM will process it and handle the advanced directives). Some core features of the PM: - check for duplicates and different versions of the same package - inform user of available updates to installed packages - add/delete, enable/disable, install/remove packages interactively - handle package dependencies (i.e. install other necessary packages first, inform user of any necessary packages are not on the system) - handle HW dependencies (i.e. RAM, CPU, disk space, etc.) Relevant threads: Details on how PM processes packages - http://lime-technology.com/forum/index.php?topic=7100.0 Details of WeboTech package building environment - http://lime-technology.com/forum/index.php?topic=7093.0 General discussion of 5.0 toys and packages - http://lime-technology.com/forum/index.php?topic=7056.0
July 22, 201015 yr Are there any thoughts on how config files will be handled by the package manager. i.e. package upgrades that require extra config options, remove package but keep config, remove config, backup config etc Or is this out of scope?
July 22, 201015 yr Author That's definitely in scope. Please discuss it in this post: http://lime-technology.com/forum/index.php?topic=7100.0
Archived
This topic is now archived and is closed to further replies.