--- includes/polling/unix-agent/packages.inc.php	2022-12-30 10:53:42.000000000 +0000
+++ includes/polling/unix-agent/packages.inc.php	2023-03-26 02:30:37.796585714 +0100
@@ -18,7 +18,7 @@
 if (!safe_empty($agent_data['rpm'])) {
   echo("\nRPM Packages: ");
   // Build array of existing packages
-  $manager = "rpm";
+  $rpmmanager = "rpm";
 
   foreach (dbFetchRows("SELECT * FROM `packages` WHERE `device_id` = ?", [ $device['device_id'] ]) as $pkg_db) {
     $pkgs_db[$pkg_db['manager']][$pkg_db['name']][$pkg_db['arch']][$pkg_db['version']][$pkg_db['build']]['id'] = $pkg_db['pkg_id'];
@@ -34,7 +34,7 @@
 
   foreach (explode("\n", $agent_data['rpm']) as $package) {
     list($name, $pversion, $build, $arch, $size) = explode(" ", $package);
-    $pkgs[$manager][$name][$arch][$pversion][$build]['manager'] = $manager;
+    $pkgs[$manager][$name][$arch][$pversion][$build]['manager'] = $rpmmanager;
     $pkgs[$manager][$name][$arch][$pversion][$build]['name']    = $name;
     $pkgs[$manager][$name][$arch][$pversion][$build]['arch']    = $arch;
     $pkgs[$manager][$name][$arch][$pversion][$build]['version'] = $pversion;
@@ -50,7 +50,7 @@
 if (!safe_empty($agent_data['dpkg'])) {
   echo("\nDEB Packages: ");
   // Build array of existing packages
-  $manager = "deb";
+  $debmanager = "deb";
 
   foreach (dbFetchRows("SELECT * FROM `packages` WHERE `device_id` = ?", [ $device['device_id'] ]) as $pkg_db) {
     $pkgs_db[$pkg_db['manager']][$pkg_db['name']][$pkg_db['arch']][$pkg_db['version']][$pkg_db['build']]['id'] = $pkg_db['pkg_id'];
@@ -67,7 +67,7 @@
   foreach (explode("\n", $agent_data['dpkg']) as $package) {
     list($name, $pversion, $arch, $size) = explode(" ", $package);
     $build = "";
-    $pkgs[$manager][$name][$arch][$pversion][$build]['manager'] = $manager;
+    $pkgs[$manager][$name][$arch][$pversion][$build]['manager'] = $debmanager;
     $pkgs[$manager][$name][$arch][$pversion][$build]['name']    = $name;
     $pkgs[$manager][$name][$arch][$pversion][$build]['arch']    = $arch;
     $pkgs[$manager][$name][$arch][$pversion][$build]['version'] = $pversion;
@@ -79,6 +79,39 @@
   }
 }
 
+// OPKG
+if (!safe_empty($agent_data['opkg'])) {
+  echo("\nIPK Packages: ");
+  // Build array of existing packages
+  $ipkmanager = "ipk";
+
+  foreach (dbFetchRows("SELECT * FROM `packages` WHERE `device_id` = ?", [ $device['device_id'] ]) as $pkg_db) {
+    $pkgs_db[$pkg_db['manager']][$pkg_db['name']][$pkg_db['arch']][$pkg_db['version']][$pkg_db['build']]['id'] = $pkg_db['pkg_id'];
+    $pkgs_db[$pkg_db['manager']][$pkg_db['name']][$pkg_db['arch']][$pkg_db['version']][$pkg_db['build']]['status'] = $pkg_db['status'];
+    $pkgs_db[$pkg_db['manager']][$pkg_db['name']][$pkg_db['arch']][$pkg_db['version']][$pkg_db['build']]['size'] = $pkg_db['size'];
+    $pkgs_db_id[$pkg_db['pkg_id']]['text'] = $pkg_db['manager'] ."-".$pkg_db['name']."-".$pkg_db['arch']."-".$pkg_db['version']."-".$pkg_db['build'];
+    $pkgs_db_id[$pkg_db['pkg_id']]['manager'] = $pkg_db['manager'];
+    $pkgs_db_id[$pkg_db['pkg_id']]['name']    = $pkg_db['name'];
+    $pkgs_db_id[$pkg_db['pkg_id']]['arch']    = $pkg_db['arch'];
+    $pkgs_db_id[$pkg_db['pkg_id']]['version'] = $pkg_db['version'];
+    $pkgs_db_id[$pkg_db['pkg_id']]['build']   = $pkg_db['build'];
+  }
+
+  foreach (explode("\n", $agent_data['opkg']) as $package) {
+    list($name, $pversion, $arch, $size) = explode(" ", $package);
+    $build = "";
+    $pkgs[$manager][$name][$arch][$pversion][$build]['manager'] = $ipkmanager;
+    $pkgs[$manager][$name][$arch][$pversion][$build]['name']    = $name;
+    $pkgs[$manager][$name][$arch][$pversion][$build]['arch']    = $arch;
+    $pkgs[$manager][$name][$arch][$pversion][$build]['version'] = $pversion;
+    $pkgs[$manager][$name][$arch][$pversion][$build]['build']   = $build;
+    $pkgs[$manager][$name][$arch][$pversion][$build]['size']    = (int)$size;
+    $pkgs[$manager][$name][$arch][$pversion][$build]['status']  = '1';
+    $text = $manager."-".$name."-".$arch."-".$pversion."-".$build;
+    $pkgs_id[] = $pkgs[$manager][$name][$arch][$pversion][$build];
+  }
+}
+
 // This is run for all "packages" and is common to RPM/DEB/etc
 $pkg_multi_insert = [];
 $pkg_multi_update = [];
@@ -88,6 +121,7 @@
   $build   = $pkg['build'];
   $arch    = $pkg['arch'];
   $size    = $pkg['size'];
+  $manager = $pkg['manager'];
 
   #echo(str_pad($name, 20)." ".str_pad($pversion, 10)." ".str_pad($build, 10)." ".$arch."\n");
   #echo($name." ");