Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Package Manager - processing packages on the system

Featured Replies

I will update this OP based on tread discussions.

 

OK, using WeboTech's enhanced Slackware package .tgz, the install process at boot time will be a simple installpkg.... that's simple enough.

 

Consider for now, an enhanced .tgz is sitting there in /boot/packages.

 

Now the system boots, and the Package Manager was loaded from /boot/extra.  Package Manager now starts looking in /boot/packages ... what will it do?  We need standards for:

 

- determining if the package is disabled/enabled  (I like .disabled)

 

- determining dependencies  (unRAID version, RAM, array info, and installed packages)   (I like an .ini file, but could use the slackware dependencies file, but I've never relied on it and I'm not sure other devs do either))

 

- acting on dependencies (recursive calls)

 

- logging activities

 

- checking for upgrades? (info to do it from the .ini?  I think I would not DO an upgrade, but just log the fact or provide some notification an upgrade is out there).

 

 

The PM is not involved in event handling... it simply makes sure the proper event scripts/symlinks are put in the folders for the proper events when it initializes packages at bootup.

 

Comments?

Is it really the package managers job to process stop events and distribute them to installed packages?

 

Yes.

 

The package manager has several jobs:

 

- assist in getting packages onto the server, and updating them when needed (can be done manually for now)

- install the packages at server boot (respecting disabled flags, etc)

- run the event scripts for the packages

 

 

If unRAID traversed a directory when events happen, then packages could hook themselves into the event processing.... but that requires unRAID to do processing, and we didn't like that.

 

Instead, we expect unRAID to just call one script for the event.  The "smarts" will be in that script, and the package manager will hook into it.

 

At least that's the way I understand the discussion so far.

 

 

>>>  - run the event scripts for the packages

 

Not on a normal basis.

Only if that package has defined events and it is being re-installed via the front end.

 

I actually thought the event definitions were pointers to scripts that would be installed in respective event directories.

 

Sort of like how redhats chkconfig sets up the symlinks according to the chkconfig tool.

 

My thought is the package manager manages packages, but it's up to the package to manage itself.

 

global enable and disable is a boot time operand that each of the callouts checks for and determines if it should run.

 

package enable/disable is via the package manager and if it is disabled it will never install anything to the event directories.

 

 

emhttp's role is to run one script, with an argument upon event.

The event script's role is to check global enable/disable status.

If enabled, traverse through the event directory and run respective scripts.

 

A package event should not be in those directories if it has been disabled via the package manager.

 

the boot,start,stop,shut values in .ini should define what scripts as part of this package get placed into the respective event directory. There probably needs to be a set of digits to control the order.

 

I keep considering the basic svsV way of installing events into the /etc/rc.d tree.

i.e.

 

[root@underlord rc.d]# find . -type d  | sort

./init.d

./rc0.d

./rc1.d

./rc2.d

./rc3.d

./rc4.d

./rc5.d

./rc6.d

 

The difference is we have named events.

I would not want a package manager involved here.

 

It's involvement is in install/uninstall.

execution/triggering is via emhttp callouts.

 

Design/defintion by the developer.

 

Now if you really wanted the package manager to hook into these scripts.

I'm ok with it, but I do not want to use it that way.

 

  • 9 months later...

How's the progress on this package manager? Would love a un/official package manager that isn't bundled into unMenu or anything else. It should be the one single package that is installed first, and any other plugins installed using the PM.

  • Author

Got to wait till there is a stable 5.0 for me to work on.

Fair enough!

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.