#include "packages.h"
#include "common.h"
#if defined(__linux__)
#include "distro.h"
#elif defined(__sun)
#include <stdio.h>
#endif
#include <unistd.h>
const char *display_packages() {
#if defined(__OpenBSD__) || defined(__NetBSD__)
return run_command_s("pkg_info -a | wc -l | sed \"s/ //g\" && "
"echo \" (pkg_info)\"");
#elif defined(__FreeBSD__) || defined(__DragonFly__)
return run_command_s("pkg info -a | wc -l | sed \"s/ //g\" && "
"echo \" (pkg info)\"");
#elif defined(__sun)
return run_command_s("pkg list | wc -l | sed 's/ *//' && echo \" (pkg list)\"");
#elif defined(__linux__)
if (access("/bin/xbps-query", F_OK) != -1) {
return run_command_s("xbps-query -l | wc -l | sed \"s/ //g\" && "
"echo \" (xbps-query)\"");
} else if (access("/usr/bin/dpkg-query", F_OK) != -1) {
return run_command_s("dpkg-query -f '.\n' -W | wc -l | sed \"s/ //g\" && "
"echo \" (dpkg-query)\"");
} else if (access("/usr/bin/pacman", F_OK) != -1) {
return run_command_s("pacman -Qq | wc -l | sed \"s/ //g\" && "
"echo \" (pacman)\"");
} else if (access("/usr/bin/rpm", F_OK) != -1) {
return run_command_s("rpm -qa | wc -l | sed \"s/ //g\" && "
"echo \" (rpm)\"");
}
return NULL;
#elif defined(__APPLE__)
const char *command = "";
// TODO: macportとpkgin対応
if (access("/usr/local/bin/brew", F_OK) != -1) {
command = "ls -l /usr/local/Cellar | wc -l | sed \"s/ //g\" && echo \" (brew)\"";
}
return run_command_s(command);
#elif defined(__HAIKU__)
return run_command_s("find /boot/system/packages -type f -name \"*.hpkg\" | "
"wc -l && echo \" (pkgman)\"");
#endif
return NULL;
}