bin/show: Add --no-byteswap
rpm-ostree writes host-endian data when importing packages, so let's add support for not byteswapping. Closes: #1372 Approved by: jlebon
This commit is contained in:
parent
ac092895b1
commit
7b8a6d0c65
|
|
@ -32,6 +32,7 @@ static char* opt_print_variant_type;
|
||||||
static char* opt_print_metadata_key;
|
static char* opt_print_metadata_key;
|
||||||
static char* opt_print_detached_metadata_key;
|
static char* opt_print_detached_metadata_key;
|
||||||
static gboolean opt_raw;
|
static gboolean opt_raw;
|
||||||
|
static gboolean opt_no_byteswap;
|
||||||
static char *opt_gpg_homedir;
|
static char *opt_gpg_homedir;
|
||||||
static char *opt_gpg_verify_remote;
|
static char *opt_gpg_verify_remote;
|
||||||
|
|
||||||
|
|
@ -46,6 +47,7 @@ static GOptionEntry options[] = {
|
||||||
{ "print-metadata-key", 0, 0, G_OPTION_ARG_STRING, &opt_print_metadata_key, "Print string value of metadata key", "KEY" },
|
{ "print-metadata-key", 0, 0, G_OPTION_ARG_STRING, &opt_print_metadata_key, "Print string value of metadata key", "KEY" },
|
||||||
{ "print-detached-metadata-key", 0, 0, G_OPTION_ARG_STRING, &opt_print_detached_metadata_key, "Print string value of detached metadata key", "KEY" },
|
{ "print-detached-metadata-key", 0, 0, G_OPTION_ARG_STRING, &opt_print_detached_metadata_key, "Print string value of detached metadata key", "KEY" },
|
||||||
{ "raw", 0, 0, G_OPTION_ARG_NONE, &opt_raw, "Show raw variant data" },
|
{ "raw", 0, 0, G_OPTION_ARG_NONE, &opt_raw, "Show raw variant data" },
|
||||||
|
{ "no-byteswap", 'B', 0, G_OPTION_ARG_NONE, &opt_no_byteswap, "Do not automatically convert variant data from big endian" },
|
||||||
{ "gpg-homedir", 0, 0, G_OPTION_ARG_FILENAME, &opt_gpg_homedir, "GPG Homedir to use when looking for keyrings", "HOMEDIR"},
|
{ "gpg-homedir", 0, 0, G_OPTION_ARG_FILENAME, &opt_gpg_homedir, "GPG Homedir to use when looking for keyrings", "HOMEDIR"},
|
||||||
{ "gpg-verify-remote", 0, 0, G_OPTION_ARG_STRING, &opt_gpg_verify_remote, "Use REMOTE name for GPG configuration", "REMOTE"},
|
{ "gpg-verify-remote", 0, 0, G_OPTION_ARG_STRING, &opt_gpg_verify_remote, "Use REMOTE name for GPG configuration", "REMOTE"},
|
||||||
{ NULL }
|
{ NULL }
|
||||||
|
|
@ -132,6 +134,12 @@ do_print_metadata_key (OstreeRepo *repo,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (opt_no_byteswap)
|
||||||
|
{
|
||||||
|
g_autofree char *formatted = g_variant_print (value, TRUE);
|
||||||
|
g_print ("%s\n", formatted);
|
||||||
|
}
|
||||||
|
else
|
||||||
ot_dump_variant (value);
|
ot_dump_variant (value);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
@ -150,6 +158,8 @@ print_object (OstreeRepo *repo,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (opt_raw)
|
if (opt_raw)
|
||||||
flags |= OSTREE_DUMP_RAW;
|
flags |= OSTREE_DUMP_RAW;
|
||||||
|
if (opt_no_byteswap)
|
||||||
|
flags |= OSTREE_DUMP_UNSWAPPED;
|
||||||
ot_dump_object (objtype, checksum, variant, flags);
|
ot_dump_object (objtype, checksum, variant, flags);
|
||||||
|
|
||||||
if (objtype == OSTREE_OBJECT_TYPE_COMMIT)
|
if (objtype == OSTREE_OBJECT_TYPE_COMMIT)
|
||||||
|
|
|
||||||
|
|
@ -157,7 +157,12 @@ ot_dump_object (OstreeObjectType objtype,
|
||||||
{
|
{
|
||||||
g_print ("%s %s\n", ostree_object_type_to_string (objtype), checksum);
|
g_print ("%s %s\n", ostree_object_type_to_string (objtype), checksum);
|
||||||
|
|
||||||
if (flags & OSTREE_DUMP_RAW)
|
if (flags & OSTREE_DUMP_UNSWAPPED)
|
||||||
|
{
|
||||||
|
g_autofree char *formatted = g_variant_print (variant, TRUE);
|
||||||
|
g_print ("%s\n", formatted);
|
||||||
|
}
|
||||||
|
else if (flags & OSTREE_DUMP_RAW)
|
||||||
{
|
{
|
||||||
ot_dump_variant (variant);
|
ot_dump_variant (variant);
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,9 @@
|
||||||
#include "ostree-core.h"
|
#include "ostree-core.h"
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
OSTREE_DUMP_NONE = 0,
|
OSTREE_DUMP_NONE = (1 << 0),
|
||||||
OSTREE_DUMP_RAW = 1,
|
OSTREE_DUMP_RAW = (1 << 1),
|
||||||
|
OSTREE_DUMP_UNSWAPPED = (1 << 2),
|
||||||
} OstreeDumpFlags;
|
} OstreeDumpFlags;
|
||||||
|
|
||||||
void ot_dump_variant (GVariant *variant);
|
void ot_dump_variant (GVariant *variant);
|
||||||
|
|
|
||||||
|
|
@ -761,6 +761,8 @@ $OSTREE show --print-metadata-key=KITTENS test2 > test2-meta
|
||||||
assert_file_has_content test2-meta "CUTE"
|
assert_file_has_content test2-meta "CUTE"
|
||||||
$OSTREE show --print-metadata-key=SOMENUM test2 > test2-meta
|
$OSTREE show --print-metadata-key=SOMENUM test2 > test2-meta
|
||||||
assert_file_has_content test2-meta "uint64 3026418949592973312"
|
assert_file_has_content test2-meta "uint64 3026418949592973312"
|
||||||
|
$OSTREE show -B --print-metadata-key=SOMENUM test2 > test2-meta
|
||||||
|
assert_file_has_content test2-meta "uint64 42"
|
||||||
$OSTREE show --print-detached-metadata-key=SIGNATURE test2 > test2-meta
|
$OSTREE show --print-detached-metadata-key=SIGNATURE test2 > test2-meta
|
||||||
assert_file_has_content test2-meta "HANCOCK"
|
assert_file_has_content test2-meta "HANCOCK"
|
||||||
echo "ok metadata commit with strings"
|
echo "ok metadata commit with strings"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue