meta: replace bluelib with fx

This commit is contained in:
2026-06-22 17:45:54 +01:00
parent 4190a5c54a
commit c6c4b0c1f9
81 changed files with 3933 additions and 1349 deletions
+1 -1
View File
@@ -3,4 +3,4 @@ file(GLOB_RECURSE sources *.c *.h)
add_executable(ropam ${sources})
target_link_libraries(ropam
libropkg
Bluelib::Core Bluelib::Object Bluelib::Io Bluelib::Term Bluelib::Cmd)
FX::Runtime FX::Io FX::Term FX::Cmdline)
+24 -22
View File
@@ -1,6 +1,6 @@
#include "commands.h"
#include <blue/cmd.h>
#include <fx/cmdline/cmd.h>
#include <ropkg/instance.h>
enum {
@@ -8,53 +8,55 @@ enum {
};
static int bootstrap(
const b_command *self,
const b_arglist *opt,
const b_array *args)
const fx_command *self,
const fx_arglist *opt,
const fx_array *args)
{
const char *root_path = NULL;
b_status status = b_arglist_get_string(
fx_status status = fx_arglist_get_string(
opt,
B_COMMAND_INVALID_ID,
FX_COMMAND_INVALID_ID,
ARG_PATH,
0,
&root_path);
if (!B_OK(status)) {
b_arglist_report_missing_args(
if (!FX_OK(status)) {
fx_arglist_report_missing_args(
opt,
B_COMMAND_INVALID_ID,
FX_COMMAND_INVALID_ID,
ARG_PATH,
0);
return -1;
}
struct ropkg_instance *inst;
b_result result = ropkg_instance_bootstrap(root_path, &inst);
if (b_result_is_error(result)) {
b_throw(result);
fx_result result = ropkg_instance_bootstrap(root_path, &inst);
if (fx_result_is_error(result)) {
fx_throw(result);
return -1;
}
ropkg_instance_close(inst);
return 0;
}
B_COMMAND(CMD_BOOTSTRAP, CMD_ROOT)
FX_COMMAND(CMD_BOOTSTRAP, CMD_ROOT)
{
B_COMMAND_NAME("bootstrap");
B_COMMAND_DESC(
FX_COMMAND_NAME("bootstrap");
FX_COMMAND_DESC(
"initialise a new Rosetta package manager instance. use this "
"command to prepare a sysroot for the installation of Rosetta "
"packages.");
B_COMMAND_FLAGS(B_COMMAND_SHOW_HELP_BY_DEFAULT);
B_COMMAND_FUNCTION(bootstrap);
FX_COMMAND_FLAGS(FX_COMMAND_SHOW_HELP_BY_DEFAULT);
FX_COMMAND_FUNCTION(bootstrap);
B_COMMAND_ARG(ARG_PATH)
FX_COMMAND_ARG(ARG_PATH)
{
B_ARG_NAME("sysroot");
B_ARG_DESC(
FX_ARG_NAME("sysroot");
FX_ARG_DESC(
"the path to the system root directory to initialise.");
B_ARG_NR_VALUES(1);
FX_ARG_NR_VALUES(1);
}
B_COMMAND_HELP_OPTION();
FX_COMMAND_HELP_OPTION();
}
+7 -7
View File
@@ -20,21 +20,21 @@ enum {
};
#define SYSROOT_OPTION \
B_COMMAND_OPTION(OPT_SYSROOT) \
FX_COMMAND_OPTION(OPT_SYSROOT) \
{ \
B_OPTION_SHORT_NAME('s'); \
B_OPTION_LONG_NAME("sysroot"); \
B_OPTION_DESC( \
FX_OPTION_SHORT_NAME('s'); \
FX_OPTION_LONG_NAME("sysroot"); \
FX_OPTION_DESC( \
"the system directory to use. if no " \
"sysroot is specified, the root directory is used. " \
"alternatively, the ROSETTA_SYSROOT environment " \
"variable can be used to specify the system root " \
"directory"); \
\
B_OPTION_ARG(OPT_SYSROOT_PATH) \
FX_OPTION_ARG(OPT_SYSROOT_PATH) \
{ \
B_ARG_NAME("path"); \
B_ARG_NR_VALUES(1); \
FX_ARG_NAME("path"); \
FX_ARG_NR_VALUES(1); \
} \
}
+17 -17
View File
@@ -1,37 +1,37 @@
#include "commands.h"
#include <blue/cmd.h>
#include <blue/core/error.h>
#include <blue/term/print.h>
#include <fx/cmdline/cmd.h>
#include <fx/error.h>
#include <fx/term/print.h>
B_COMMAND(CMD_ROOT, B_COMMAND_INVALID_ID)
FX_COMMAND(CMD_ROOT, FX_COMMAND_INVALID_ID)
{
B_COMMAND_NAME("ropam");
B_COMMAND_DESC(
FX_COMMAND_NAME("ropam");
FX_COMMAND_DESC(
"Rosetta package manager. This tool is used to (un)install, "
"upgrade, and otherwise manage packages on a system via a set "
"of package vendors.");
B_COMMAND_FLAGS(B_COMMAND_SHOW_HELP_BY_DEFAULT);
B_COMMAND_HELP_OPTION();
FX_COMMAND_FLAGS(FX_COMMAND_SHOW_HELP_BY_DEFAULT);
FX_COMMAND_HELP_OPTION();
SYSROOT_OPTION;
B_COMMAND_USAGE()
FX_COMMAND_USAGE()
{
B_COMMAND_USAGE_COMMAND_PLACEHOLDER();
FX_COMMAND_USAGE_COMMAND_PLACEHOLDER();
}
B_COMMAND_USAGE()
FX_COMMAND_USAGE()
{
B_COMMAND_USAGE_OPT(OPT_SYSROOT);
B_COMMAND_USAGE_COMMAND_PLACEHOLDER();
FX_COMMAND_USAGE_OPT(OPT_SYSROOT);
FX_COMMAND_USAGE_COMMAND_PLACEHOLDER();
}
}
int main(int argc, const char **argv)
{
b_set_error_report_function(
b_enhanced_error_reporter,
B_ERROR_REPORT_ALL);
return b_command_dispatch(CMD_ROOT, argc, argv);
fx_set_error_report_function(
fx_enhanced_error_reporter,
FX_ERROR_REPORT_ALL);
return fx_command_dispatch(CMD_ROOT, argc, argv);
}
+11 -11
View File
@@ -1,22 +1,22 @@
#include "commands.h"
#include <blue/cmd.h>
#include <fx/cmdline/cmd.h>
static int query(
const b_command *self,
const b_arglist *opt,
const b_array *args)
const fx_command *self,
const fx_arglist *opt,
const fx_array *args)
{
return 0;
}
B_COMMAND(CMD_QUERY, CMD_ROOT)
FX_COMMAND(CMD_QUERY, CMD_ROOT)
{
B_COMMAND_NAME("query");
B_COMMAND_SHORT_NAME('Q');
B_COMMAND_DESC("query information about installed packages.");
B_COMMAND_FLAGS(B_COMMAND_SHOW_HELP_BY_DEFAULT);
B_COMMAND_FUNCTION(query);
FX_COMMAND_NAME("query");
FX_COMMAND_SHORT_NAME('Q');
FX_COMMAND_DESC("query information about installed packages.");
FX_COMMAND_FLAGS(FX_COMMAND_SHOW_HELP_BY_DEFAULT);
FX_COMMAND_FUNCTION(query);
B_COMMAND_HELP_OPTION();
FX_COMMAND_HELP_OPTION();
}
+17 -17
View File
@@ -1,42 +1,42 @@
#include "commands.h"
#include <blue/cmd.h>
#include <fx/cmdline/cmd.h>
enum {
ARG_PACKAGE,
};
static int remove(
const b_command *self,
const b_arglist *opt,
const b_array *args)
const fx_command *self,
const fx_arglist *opt,
const fx_array *args)
{
return 0;
}
B_COMMAND(CMD_REMOVE, CMD_ROOT)
FX_COMMAND(CMD_REMOVE, CMD_ROOT)
{
B_COMMAND_NAME("remove");
B_COMMAND_SHORT_NAME('R');
B_COMMAND_DESC(
FX_COMMAND_NAME("remove");
FX_COMMAND_SHORT_NAME('R');
FX_COMMAND_DESC(
"remove a set of Rosetta packages by name. any "
"automatically installed dependencies will not be removed "
"unless they are explicitly named in the list of packages to "
"remove.");
B_COMMAND_FLAGS(B_COMMAND_SHOW_HELP_BY_DEFAULT);
B_COMMAND_FUNCTION(remove);
FX_COMMAND_FLAGS(FX_COMMAND_SHOW_HELP_BY_DEFAULT);
FX_COMMAND_FUNCTION(remove);
B_COMMAND_HELP_OPTION();
FX_COMMAND_HELP_OPTION();
B_COMMAND_ARG(ARG_PACKAGE)
FX_COMMAND_ARG(ARG_PACKAGE)
{
B_ARG_NAME("package-name");
B_ARG_DESC("the names of the packages to remove.");
B_ARG_NR_VALUES(B_ARG_1_OR_MORE_VALUES);
FX_ARG_NAME("package-name");
FX_ARG_DESC("the names of the packages to remove.");
FX_ARG_NR_VALUES(FX_ARG_1_OR_MORE_VALUES);
}
B_COMMAND_USAGE()
FX_COMMAND_USAGE()
{
B_COMMAND_USAGE_ARG(ARG_PACKAGE);
FX_COMMAND_USAGE_ARG(ARG_PACKAGE);
}
}
+11 -11
View File
@@ -1,22 +1,22 @@
#include "../commands.h"
#include <blue/cmd.h>
#include <fx/cmdline/cmd.h>
static int repo_add(
const b_command *self,
const b_arglist *opt,
const b_array *args)
const fx_command *self,
const fx_arglist *opt,
const fx_array *args)
{
return 0;
}
B_COMMAND(CMD_REPO_ADD, CMD_REPO)
FX_COMMAND(CMD_REPO_ADD, CMD_REPO)
{
B_COMMAND_NAME("add");
B_COMMAND_SHORT_NAME('A');
B_COMMAND_DESC("add a new package repository to the system.");
B_COMMAND_FLAGS(B_COMMAND_SHOW_HELP_BY_DEFAULT);
B_COMMAND_FUNCTION(repo_add);
FX_COMMAND_NAME("add");
FX_COMMAND_SHORT_NAME('A');
FX_COMMAND_DESC("add a new package repository to the system.");
FX_COMMAND_FLAGS(FX_COMMAND_SHOW_HELP_BY_DEFAULT);
FX_COMMAND_FUNCTION(repo_add);
B_COMMAND_HELP_OPTION();
FX_COMMAND_HELP_OPTION();
}
+11 -11
View File
@@ -1,22 +1,22 @@
#include "../commands.h"
#include <blue/cmd.h>
#include <fx/cmdline/cmd.h>
static int repo_list(
const b_command *self,
const b_arglist *opt,
const b_array *args)
const fx_command *self,
const fx_arglist *opt,
const fx_array *args)
{
return 0;
}
B_COMMAND(CMD_REPO_LIST, CMD_REPO)
FX_COMMAND(CMD_REPO_LIST, CMD_REPO)
{
B_COMMAND_NAME("list");
B_COMMAND_SHORT_NAME('L');
B_COMMAND_DESC("list all registered package repositories.");
B_COMMAND_FLAGS(B_COMMAND_SHOW_HELP_BY_DEFAULT);
B_COMMAND_FUNCTION(repo_list);
FX_COMMAND_NAME("list");
FX_COMMAND_SHORT_NAME('L');
FX_COMMAND_DESC("list all registered package repositories.");
FX_COMMAND_FLAGS(FX_COMMAND_SHOW_HELP_BY_DEFAULT);
FX_COMMAND_FUNCTION(repo_list);
B_COMMAND_HELP_OPTION();
FX_COMMAND_HELP_OPTION();
}
+11 -11
View File
@@ -1,22 +1,22 @@
#include "../commands.h"
#include <blue/cmd.h>
#include <fx/cmdline/cmd.h>
static int repo_remove(
const b_command *self,
const b_arglist *opt,
const b_array *args)
const fx_command *self,
const fx_arglist *opt,
const fx_array *args)
{
return 0;
}
B_COMMAND(CMD_REPO_REMOVE, CMD_REPO)
FX_COMMAND(CMD_REPO_REMOVE, CMD_REPO)
{
B_COMMAND_NAME("remove");
B_COMMAND_SHORT_NAME('R');
B_COMMAND_DESC("remove a package repository from the system.");
B_COMMAND_FLAGS(B_COMMAND_SHOW_HELP_BY_DEFAULT);
B_COMMAND_FUNCTION(repo_remove);
FX_COMMAND_NAME("remove");
FX_COMMAND_SHORT_NAME('R');
FX_COMMAND_DESC("remove a package repository from the system.");
FX_COMMAND_FLAGS(FX_COMMAND_SHOW_HELP_BY_DEFAULT);
FX_COMMAND_FUNCTION(repo_remove);
B_COMMAND_HELP_OPTION();
FX_COMMAND_HELP_OPTION();
}
+7 -7
View File
@@ -1,13 +1,13 @@
#include "../commands.h"
#include <blue/cmd.h>
#include <fx/cmdline/cmd.h>
B_COMMAND(CMD_REPO, CMD_ROOT)
FX_COMMAND(CMD_REPO, CMD_ROOT)
{
B_COMMAND_NAME("repo");
B_COMMAND_SHORT_NAME('V');
B_COMMAND_DESC("package repository management commands.");
B_COMMAND_FLAGS(B_COMMAND_SHOW_HELP_BY_DEFAULT);
FX_COMMAND_NAME("repo");
FX_COMMAND_SHORT_NAME('V');
FX_COMMAND_DESC("package repository management commands.");
FX_COMMAND_FLAGS(FX_COMMAND_SHOW_HELP_BY_DEFAULT);
B_COMMAND_HELP_OPTION();
FX_COMMAND_HELP_OPTION();
}
+36 -25
View File
@@ -1,6 +1,6 @@
#include "commands.h"
#include <blue/cmd.h>
#include <fx/cmdline/cmd.h>
enum {
OPT_SYNC_DB,
@@ -10,63 +10,74 @@ enum {
};
static int sync(
const b_command *self,
const b_arglist *opt,
const b_array *args)
const fx_command *self,
const fx_arglist *opt,
const fx_array *args)
{
return 0;
}
B_COMMAND(CMD_SYNC, CMD_ROOT)
FX_COMMAND(CMD_SYNC, CMD_ROOT)
{
B_COMMAND_NAME("sync");
B_COMMAND_SHORT_NAME('S');
B_COMMAND_DESC(
FX_COMMAND_NAME("sync");
FX_COMMAND_SHORT_NAME('S');
FX_COMMAND_DESC(
"synchronise your machine with the your registered package "
"vendor(s). this command can be used to synchronise packages, "
"installing them or updating them to the latest available "
"version. all installed packages can be synchronised to update "
"the whole system, or the package database itself can be "
"synchronised to gain access to new and updated packages.");
B_COMMAND_FLAGS(B_COMMAND_SHOW_HELP_BY_DEFAULT);
B_COMMAND_FUNCTION(sync);
FX_COMMAND_FLAGS(FX_COMMAND_SHOW_HELP_BY_DEFAULT);
FX_COMMAND_FUNCTION(sync);
B_COMMAND_HELP_OPTION();
FX_COMMAND_HELP_OPTION();
B_COMMAND_OPTION(OPT_SYNC_DB)
FX_COMMAND_OPTION(OPT_SYNC_DB)
{
B_OPTION_SHORT_NAME('y');
B_OPTION_LONG_NAME("database");
B_OPTION_DESC(
FX_OPTION_SHORT_NAME('y');
FX_OPTION_LONG_NAME("database");
FX_OPTION_DESC(
"synchronise the package database before synchronising "
"any packages. this option can be specified without "
"any package names to synchronise the package database "
"on its own.");
}
B_COMMAND_OPTION(OPT_SYNC_ALL)
FX_COMMAND_OPTION(OPT_SYNC_ALL)
{
B_OPTION_SHORT_NAME('u');
B_OPTION_LONG_NAME("synchronise-all");
B_OPTION_DESC(
FX_OPTION_SHORT_NAME('u');
FX_OPTION_LONG_NAME("synchronise-all");
FX_OPTION_DESC(
"synchronise all packages currently installed on the "
"system, updating them to the latest available "
"version.");
}
B_COMMAND_ARG(ARG_PACKAGE)
FX_COMMAND_ARG(ARG_PACKAGE)
{
B_ARG_NAME("package-name");
B_ARG_DESC(
FX_ARG_NAME("package-name");
FX_ARG_DESC(
"the names of the packages to synchronise. if a named "
"package is not installed, the latest version will be "
"installed. otherwise, the already-installed package "
"will be updated to the latest version.");
B_ARG_NR_VALUES(B_ARG_1_OR_MORE_VALUES);
FX_ARG_NR_VALUES(FX_ARG_0_OR_MORE_VALUES);
}
B_COMMAND_USAGE()
FX_COMMAND_USAGE()
{
B_COMMAND_USAGE_ARG(ARG_PACKAGE);
FX_COMMAND_USAGE_ARG(ARG_PACKAGE);
}
FX_COMMAND_USAGE()
{
FX_COMMAND_USAGE_OPT(OPT_SYNC_DB);
}
FX_COMMAND_USAGE()
{
FX_COMMAND_USAGE_OPT(OPT_SYNC_DB);
FX_COMMAND_USAGE_OPT(OPT_SYNC_ALL);
}
}