Compare commits

..

68 Commits

Author SHA1 Message Date
Ole André Vadla Ravnås 5e3f27d0cb subprojects: Prepare for release 2025-11-04 10:30:58 +01:00
Ole André Vadla Ravnås 904461eb01 subprojects: Bump outdated 2025-11-04 10:29:40 +01:00
Ole André Vadla Ravnås dc652faa90 package-manager: Plug leak in specs option parsing 2025-11-04 10:23:37 +01:00
Ole André Vadla Ravnås f5ba22ad36 compiler: Expose platform and externals options 2025-11-04 10:23:00 +01:00
Ole André Vadla Ravnås dccb6810ca subprojects: Prepare for release 2025-11-01 00:38:17 +01:00
Ole André Vadla Ravnås 82441c6d61 subprojects: Bump outdated 2025-11-01 00:36:38 +01:00
Ole André Vadla Ravnås 323dca48c2 subprojects: Prepare for release 2025-10-31 20:24:11 +01:00
Ole André Vadla Ravnås ef71f0fa92 subprojects: Bump outdated 2025-10-31 20:21:50 +01:00
Ole André Vadla Ravnås e92e829f6d subprojects: Prepare for release 2025-10-29 16:48:00 +01:00
Ole André Vadla Ravnås 5793fb5528 subprojects: Bump outdated 2025-10-29 16:45:57 +01:00
Ole André Vadla Ravnås cac6993d87 subprojects: Prepare for release 2025-10-24 15:25:21 +02:00
Ole André Vadla Ravnås 714b7f8626 subprojects: Bump outdated 2025-10-24 15:23:52 +02:00
Ole André Vadla Ravnås ab0b9e98ae submodules: Bump releng 2025-10-24 15:23:52 +02:00
Ole André Vadla Ravnås 19a7fa4f45 subprojects: Prepare for release 2025-10-11 19:22:55 +02:00
Ole André Vadla Ravnås 38552a368a subprojects: Bump outdated 2025-10-11 11:47:08 +02:00
Ole André Vadla Ravnås 38724cab58 subprojects: Bump outdated 2025-10-11 11:09:13 +02:00
Ole André Vadla Ravnås b60d085ad9 subprojects: Bump outdated 2025-10-01 10:53:01 +02:00
Ole André Vadla Ravnås 1a4afbcc62 subprojects: Bump outdated 2025-10-01 10:50:11 +02:00
Ole André Vadla Ravnås 9e15cab647 subprojects: Prepare for release 2025-09-19 17:16:25 +02:00
Ole André Vadla Ravnås 9ef1c9c1f7 subprojects: Bump outdated 2025-09-19 17:14:35 +02:00
Ole André Vadla Ravnås 3da6af4759 subprojects: Prepare for release 2025-09-18 07:39:44 +02:00
Ole André Vadla Ravnås a9075822b1 subprojects: Bump outdated 2025-09-17 22:10:34 +02:00
Ole André Vadla Ravnås 2e61509c04 submodules: Bump releng 2025-09-17 22:10:34 +02:00
Ole André Vadla Ravnås aa9396c6b0 subprojects: Prepare for release 2025-09-15 22:57:06 +02:00
Ole André Vadla Ravnås 6530b2a7d4 subprojects: Bump outdated 2025-09-15 22:12:16 +02:00
Ole André Vadla Ravnås 2d833af062 subprojects: Bump outdated 2025-09-11 10:32:08 +02:00
Ole André Vadla Ravnås 9f6ab2d384 subprojects: Prepare for release 2025-08-20 12:07:22 +02:00
Ole André Vadla Ravnås a005f1bf4c subprojects: Bump outdated 2025-08-20 12:06:15 +02:00
Ole André Vadla Ravnås 59a24aa48f subprojects: Prepare for release 2025-08-12 10:15:48 +02:00
Ole André Vadla Ravnås 782d626419 subprojects: Bump outdated 2025-08-12 09:48:45 +02:00
Ole André Vadla Ravnås 3aa122f4fd subprojects: Prepare for release 2025-08-02 09:42:51 +02:00
Ole André Vadla Ravnås ef315fc0ad subprojects: Bump outdated 2025-08-02 08:53:40 +02:00
Ole André Vadla Ravnås daf93eea54 subprojects: Bump outdated 2025-08-01 20:21:16 +02:00
Ole André Vadla Ravnås 5d02a36906 submodules: Bump releng 2025-08-01 20:21:16 +02:00
Ole André Vadla Ravnås ba8daa423d subprojects: Bump outdated 2025-08-01 18:18:22 +02:00
Ole André Vadla Ravnås afb27bfa7c subprojects: Bump outdated 2025-08-01 15:48:53 +02:00
Ole André Vadla Ravnås 93a201acf2 submodules: Bump releng 2025-08-01 15:48:53 +02:00
Ole André Vadla Ravnås ca1cdad96a subprojects: Prepare for release 2025-07-24 11:16:46 +02:00
Ole André Vadla Ravnås fbc83cc9bf subprojects: Bump outdated 2025-07-24 11:15:23 +02:00
Ole André Vadla Ravnås b838e1df9a subprojects: Prepare for release 2025-07-21 15:06:22 +02:00
Ole André Vadla Ravnås e2409be987 subprojects: Bump outdated 2025-07-21 15:04:50 +02:00
Ole André Vadla Ravnås b061ea43d2 subprojects: Prepare for release 2025-07-18 10:32:24 +02:00
Ole André Vadla Ravnås a50a62999a subprojects: Bump outdated 2025-07-18 10:28:42 +02:00
Ole André Vadla Ravnås 3a47d33ee8 submodules: Bump releng 2025-07-18 10:28:42 +02:00
Ole André Vadla Ravnås ea93d827bb subprojects: Prepare for release 2025-07-03 16:10:18 +02:00
Ole André Vadla Ravnås 8d4c05f664 subprojects: Bump outdated 2025-07-03 16:09:28 +02:00
Ole André Vadla Ravnås 2f78c96622 subprojects: Prepare for release 2025-07-03 12:57:05 +02:00
Ole André Vadla Ravnås 4b5aa28119 subprojects: Bump outdated 2025-07-03 12:55:57 +02:00
Ole André Vadla Ravnås 4f87afa0f1 subprojects: Prepare for release 2025-07-02 12:59:12 +02:00
Ole André Vadla Ravnås 82272945ac subprojects: Bump outdated 2025-07-02 12:56:24 +02:00
Ole André Vadla Ravnås bf496a81d9 subprojects: Prepare for release 2025-07-02 00:09:19 +02:00
Ole André Vadla Ravnås c2dcae3ff4 subprojects: Bump outdated 2025-07-02 00:08:44 +02:00
Ole André Vadla Ravnås 0cb42c47dc subprojects: Prepare for release 2025-07-01 23:40:07 +02:00
Ole André Vadla Ravnås 0e3a9fb551 subprojects: Bump outdated 2025-07-01 23:39:09 +02:00
Ole André Vadla Ravnås 4e16e5c667 package-manager: Fix the PackageRole declaration 2025-07-01 21:25:59 +02:00
Ole André Vadla Ravnås 09d6c7b044 package-manager: Update to the new API 2025-07-01 21:22:01 +02:00
Ole André Vadla Ravnås e11efce5c2 subprojects: Prepare for release 2025-06-27 15:59:55 +02:00
Ole André Vadla Ravnås e174be9998 subprojects: Bump outdated 2025-06-27 15:58:47 +02:00
Ole André Vadla Ravnås eae3d1dc65 subprojects: Bump outdated 2025-06-27 15:50:40 +02:00
Ole André Vadla Ravnås 2d26b94c7d subprojects: Prepare for release 2025-06-23 18:44:30 +02:00
Ole André Vadla Ravnås f396958dfe subprojects: Bump outdated 2025-06-23 18:41:22 +02:00
Ole André Vadla Ravnås 93fb33206f subprojects: Prepare for release 2025-06-20 15:45:37 +02:00
Ole André Vadla Ravnås aed3c1b7bf subprojects: Bump outdated 2025-06-20 15:44:21 +02:00
Ole André Vadla Ravnås 690da0652d package-manager: Remove unused install phase 2025-06-20 11:48:08 +02:00
Ole André Vadla Ravnås bec6221c02 subprojects: Prepare for release 2025-06-20 01:13:59 +02:00
Ole André Vadla Ravnås 53479e1814 subprojects: Bump outdated 2025-06-20 01:12:37 +02:00
Ole André Vadla Ravnås 68bc65ecd4 subprojects: Prepare for release 2025-06-19 23:25:49 +02:00
Ole André Vadla Ravnås 6492081c92 subprojects: Bump outdated 2025-06-19 23:23:57 +02:00
5 changed files with 122 additions and 24 deletions
+2
View File
@@ -803,7 +803,9 @@ class PackageManager(Object):
def install(
self,
project_root: Optional[str] = None,
role: Optional[str] = None,
specs: Optional[Sequence[str]] = None,
omits: Optional[Sequence[str]] = None,
) -> PackageInstallResult:
"""
Install one or more packages.
+104 -17
View File
@@ -533,7 +533,8 @@ static void PyCompiler_dealloc (PyCompiler * self);
static PyObject * PyCompiler_build (PyCompiler * self, PyObject * args, PyObject * kw);
static PyObject * PyCompiler_watch (PyCompiler * self, PyObject * args, PyObject * kw);
static gboolean PyCompiler_set_options (FridaCompilerOptions * options, const gchar * project_root_value, const gchar * output_format_value,
const gchar * bundle_format_value, const gchar * type_check_value, const gchar * source_maps_value, const gchar * compression_value);
const gchar * bundle_format_value, const gchar * type_check_value, const gchar * source_maps_value, const gchar * compression_value,
const gchar * platform_value, PyObject * externals_value);
static int PyPackageManager_init (PyPackageManager * self, PyObject * args, PyObject * kw);
static void PyPackageManager_dealloc (PyPackageManager * self);
@@ -542,7 +543,8 @@ static PyObject * PyPackageManager_get_registry (PyPackageManager * self, void *
static int PyPackageManager_set_registry (PyPackageManager * self, PyObject * val, void * closure);
static PyObject * PyPackageManager_search (PyPackageManager * self, PyObject * args, PyObject * kw);
static PyObject * PyPackageManager_install (PyPackageManager * self, PyObject * args, PyObject * kw);
static FridaPackageInstallOptions * PyPackageManager_parse_install_options (const gchar * project_root, PyObject * specs_value);
static FridaPackageInstallOptions * PyPackageManager_parse_install_options (const gchar * project_root, const char * role_value,
PyObject * specs_value, PyObject * omits_value);
static PyObject * PyPackage_new_take_handle (FridaPackage * handle);
static int PyPackage_init (PyPackage * self, PyObject * args, PyObject * kw);
@@ -4903,8 +4905,8 @@ static PyObject *
PyCompiler_build (PyCompiler * self, PyObject * args, PyObject * kw)
{
PyObject * result;
static char * keywords[] =
{ "entrypoint", "project_root", "output_format", "bundle_format", "type_check", "source_maps", "compression", NULL };
static char * keywords[] = { "entrypoint", "project_root", "output_format", "bundle_format", "type_check", "source_maps", "compression",
"platform", "externals", NULL };
const char * entrypoint;
const char * project_root = NULL;
const char * output_format = NULL;
@@ -4912,17 +4914,19 @@ PyCompiler_build (PyCompiler * self, PyObject * args, PyObject * kw)
const char * type_check = NULL;
const char * source_maps = NULL;
const char * compression = NULL;
const char * platform = NULL;
PyObject * externals = NULL;
FridaBuildOptions * options;
GError * error = NULL;
gchar * bundle;
if (!PyArg_ParseTupleAndKeywords (args, kw, "s|ssssss", keywords, &entrypoint, &project_root, &output_format, &bundle_format, &type_check,
&source_maps, &compression))
if (!PyArg_ParseTupleAndKeywords (args, kw, "s|sssssssO", keywords, &entrypoint, &project_root, &output_format, &bundle_format,
&type_check, &source_maps, &compression, &platform, &externals))
return NULL;
options = frida_build_options_new ();
if (!PyCompiler_set_options (FRIDA_COMPILER_OPTIONS (options), project_root, output_format, bundle_format, type_check, source_maps,
compression))
compression, platform, externals))
goto invalid_option_value;
Py_BEGIN_ALLOW_THREADS
@@ -4949,8 +4953,8 @@ invalid_option_value:
static PyObject *
PyCompiler_watch (PyCompiler * self, PyObject * args, PyObject * kw)
{
static char * keywords[] =
{ "entrypoint", "project_root", "output_format", "bundle_format", "type_check", "source_maps", "compression", NULL };
static char * keywords[] = { "entrypoint", "project_root", "output_format", "bundle_format", "type_check", "source_maps", "compression",
"platform", "externals", NULL };
const char * entrypoint;
const char * project_root = NULL;
const char * output_format = NULL;
@@ -4958,16 +4962,18 @@ PyCompiler_watch (PyCompiler * self, PyObject * args, PyObject * kw)
const char * type_check = NULL;
const char * source_maps = NULL;
const char * compression = NULL;
const char * platform = NULL;
PyObject * externals = NULL;
FridaWatchOptions * options;
GError * error = NULL;
if (!PyArg_ParseTupleAndKeywords (args, kw, "s|ssssss", keywords, &entrypoint, &project_root, &output_format, &bundle_format, &type_check,
&source_maps, &compression))
if (!PyArg_ParseTupleAndKeywords (args, kw, "s|sssssssO", keywords, &entrypoint, &project_root, &output_format, &bundle_format,
&type_check, &source_maps, &compression, &platform, &externals))
return NULL;
options = frida_watch_options_new ();
if (!PyCompiler_set_options (FRIDA_COMPILER_OPTIONS (options), project_root, output_format, bundle_format, type_check, source_maps,
compression))
compression, platform, externals))
goto invalid_option_value;
Py_BEGIN_ALLOW_THREADS
@@ -4990,7 +4996,8 @@ invalid_option_value:
static gboolean
PyCompiler_set_options (FridaCompilerOptions * options, const gchar * project_root_value, const gchar * output_format_value,
const gchar * bundle_format_value, const gchar * type_check_value, const gchar * source_maps_value, const gchar * compression_value)
const gchar * bundle_format_value, const gchar * type_check_value, const gchar * source_maps_value, const gchar * compression_value,
const gchar * platform_value, PyObject * externals_value)
{
if (project_root_value != NULL)
frida_compiler_options_set_project_root (options, project_root_value);
@@ -5045,6 +5052,43 @@ PyCompiler_set_options (FridaCompilerOptions * options, const gchar * project_ro
frida_compiler_options_set_compression (options, compression);
}
if (platform_value != NULL)
{
FridaJsPlatform platform;
if (!PyGObject_unmarshal_enum (platform_value, FRIDA_TYPE_JS_PLATFORM, &platform))
return FALSE;
frida_compiler_options_set_platform (options, platform);
}
if (externals_value != NULL)
{
gint n, i;
n = PySequence_Size (externals_value);
if (n == -1)
return FALSE;
for (i = 0; i != n; i++)
{
PyObject * element;
gchar * external = NULL;
element = PySequence_GetItem (externals_value, i);
if (element == NULL)
return FALSE;
PyGObject_unmarshal_string (element, &external);
Py_DecRef (element);
if (external == NULL)
return FALSE;
frida_compiler_options_add_external (options, external);
g_free (external);
}
}
return TRUE;
}
@@ -5140,16 +5184,18 @@ static PyObject *
PyPackageManager_install (PyPackageManager * self, PyObject * args, PyObject * kw)
{
FridaPackageInstallResult * result;
static char * keywords[] = { "project_root", "specs", NULL };
static char * keywords[] = { "project_root", "role", "specs", "omits", NULL };
const char * project_root = NULL;
const char * role_value = NULL;
PyObject * specs = NULL;
PyObject * omits = NULL;
FridaPackageInstallOptions * options;
GError * error = NULL;
if (!PyArg_ParseTupleAndKeywords (args, kw, "|sO", keywords, &project_root, &specs))
if (!PyArg_ParseTupleAndKeywords (args, kw, "|ssOO", keywords, &project_root, &role_value, &specs, &omits))
return NULL;
options = PyPackageManager_parse_install_options (project_root, specs);
options = PyPackageManager_parse_install_options (project_root, role_value, specs, omits);
Py_BEGIN_ALLOW_THREADS
result = frida_package_manager_install_sync (PY_GOBJECT_HANDLE (self), options, g_cancellable_get_current (), &error);
@@ -5164,7 +5210,7 @@ PyPackageManager_install (PyPackageManager * self, PyObject * args, PyObject * k
}
static FridaPackageInstallOptions *
PyPackageManager_parse_install_options (const gchar * project_root, PyObject * specs_value)
PyPackageManager_parse_install_options (const gchar * project_root, const char * role_value, PyObject * specs_value, PyObject * omits_value)
{
FridaPackageInstallOptions * options;
@@ -5173,6 +5219,16 @@ PyPackageManager_parse_install_options (const gchar * project_root, PyObject * s
if (project_root != NULL)
frida_package_install_options_set_project_root (options, project_root);
if (role_value != NULL)
{
FridaPackageRole role;
if (!PyGObject_unmarshal_enum (role_value, FRIDA_TYPE_PACKAGE_ROLE, &role))
goto propagate_error;
frida_package_install_options_set_role (options, role);
}
if (specs_value != NULL)
{
gint n, i;
@@ -5195,6 +5251,37 @@ PyPackageManager_parse_install_options (const gchar * project_root, PyObject * s
goto propagate_error;
frida_package_install_options_add_spec (options, spec);
g_free (spec);
}
}
if (omits_value != NULL)
{
gint n, i;
n = PySequence_Size (omits_value);
if (n == -1)
goto propagate_error;
for (i = 0; i != n; i++)
{
PyObject * element;
gchar * str = NULL;
FridaPackageRole role;
element = PySequence_GetItem (omits_value, i);
if (element == NULL)
goto propagate_error;
PyGObject_unmarshal_string (element, &str);
Py_DecRef (element);
if (str == NULL)
goto propagate_error;
if (!PyGObject_unmarshal_enum (str, FRIDA_TYPE_PACKAGE_ROLE, &role))
goto propagate_error;
frida_package_install_options_add_omit (options, role);
}
}
+14 -5
View File
@@ -1572,6 +1572,8 @@ class Compiler:
type_check: Optional[str] = None,
source_maps: Optional[str] = None,
compression: Optional[str] = None,
platform: Optional[str] = None,
externals: Optional[Sequence[str]] = None,
) -> str:
kwargs = {
"project_root": project_root,
@@ -1580,6 +1582,8 @@ class Compiler:
"type_check": type_check,
"source_maps": source_maps,
"compression": compression,
"platform": platform,
"externals": externals,
}
_filter_missing_kwargs(kwargs)
return self._impl.build(entrypoint, **kwargs)
@@ -1594,6 +1598,8 @@ class Compiler:
type_check: Optional[str] = None,
source_maps: Optional[str] = None,
compression: Optional[str] = None,
platform: Optional[str] = None,
externals: Optional[Sequence[str]] = None,
) -> None:
kwargs = {
"project_root": project_root,
@@ -1602,6 +1608,8 @@ class Compiler:
"type_check": type_check,
"source_maps": source_maps,
"compression": compression,
"platform": platform,
"externals": externals,
}
_filter_missing_kwargs(kwargs)
return self._impl.watch(entrypoint, **kwargs)
@@ -1649,16 +1657,11 @@ PackageManagerInstallProgressCallback = Callable[
"initializing",
"preparing-dependencies",
"resolving-package",
"using-lockfile-data",
"metadata-fetched",
"fetching-resource",
"package-already-installed",
"downloading-package",
"package-installed",
"resolving-and-installing-all",
"awaiting-completion",
"dependencies-processed",
"finalizing-manifests",
"complete",
],
float,
@@ -1667,6 +1670,8 @@ PackageManagerInstallProgressCallback = Callable[
None,
]
PackageRole = Literal["runtime", "development", "optional", "peer"]
class PackageManager:
def __init__(self) -> None:
@@ -1701,11 +1706,15 @@ class PackageManager:
def install(
self,
project_root: Optional[str] = None,
role: Optional[PackageRole] = None,
specs: Optional[Sequence[str]] = None,
omits: Optional[Sequence[PackageRole]] = None,
) -> _frida.PackageInstallResult:
kwargs: Dict[str, Any] = {
"project_root": project_root,
"role": role,
"specs": specs,
"omits": omits,
}
_filter_missing_kwargs(kwargs)
return self._impl.install(**kwargs)
+1 -1
Submodule releng updated: e10baa39a2...800f2385c3
+1 -1
View File
@@ -1,6 +1,6 @@
[wrap-git]
url = https://github.com/frida/frida-core.git
revision = 17.2.1
revision = 17.5.0
depth = 1
[provide]