1
0
mirror of https://github.com/systemd/systemd synced 2026-02-26 17:24:47 +01:00

Compare commits

..

No commits in common. "774e8059590fac45614a135161dee4669945e342" and "c871afd311349cec99a75a39e719f5a476bb8b20" have entirely different histories.

7 changed files with 46 additions and 71 deletions

View File

@ -216,13 +216,6 @@ sensor:modalias:acpi:KIOX010A:*:dmi:*:svnAMI:*:skuH8Y6:* # MaxBook Y14
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, 1 ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, 1
ACCEL_LOCATION=display ACCEL_LOCATION=display
#########################################
# BNCF
#########################################
sensor:modalias:acpi:NSA2513:NSA2513*:dmi:*svnBNCF:pnNewBook11* # NewBook 11 2-in-1
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, -1
######################################### #########################################
# BUSH # BUSH
######################################### #########################################

View File

@ -50,7 +50,7 @@
them to standard output. Optionally takes one or more match expressions for filtering the metrics to them to standard output. Optionally takes one or more match expressions for filtering the metrics to
show. The expression either may be a literal metric family name to search for, or a prefix of one show. The expression either may be a literal metric family name to search for, or a prefix of one
(which will be matched only at dot boundaries). If multiple matches are specified as multiple (which will be matched only at dot boundaries). If multiple matches are specified as multiple
parameters, any metric matching <emphasis>any</emphasis> of the specified matches are shown.</para> paramaters, any metric matching <emphasis>any</emphasis> of the specified matches are shown.</para>
<xi:include href="version-info.xml" xpointer="v260"/></listitem> <xi:include href="version-info.xml" xpointer="v260"/></listitem>
</varlistentry> </varlistentry>

View File

@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-26 01:17+0000\n" "POT-Creation-Date: 2025-11-26 01:17+0000\n"
"PO-Revision-Date: 2026-02-20 12:58+0000\n" "PO-Revision-Date: 2026-02-01 15:58+0000\n"
"Last-Translator: Jim Spentzos <jimspentzos2000@gmail.com>\n" "Last-Translator: Jim Spentzos <jimspentzos2000@gmail.com>\n"
"Language-Team: Greek <https://translate.fedoraproject.org/projects/systemd/" "Language-Team: Greek <https://translate.fedoraproject.org/projects/systemd/"
"main/el/>\n" "main/el/>\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.16\n" "X-Generator: Weblate 5.15.2\n"
#: src/core/org.freedesktop.systemd1.policy.in:22 #: src/core/org.freedesktop.systemd1.policy.in:22
msgid "Send passphrase back to system" msgid "Send passphrase back to system"
@ -163,10 +163,11 @@ msgid "Manage Home Directory Signing Keys"
msgstr "" msgstr ""
#: src/home/org.freedesktop.home1.policy:94 #: src/home/org.freedesktop.home1.policy:94
#, fuzzy
msgid "Authentication is required to manage signing keys for home directories." msgid "Authentication is required to manage signing keys for home directories."
msgstr "" msgstr ""
"Απαιτείται ταυτοποίηση για τη διαχείριση της υπογραφής κλειδιών για " "Απαιτείται ταυτοποίηση για τη διαχείριση υπηρεσιών συστήματος ή άλλων "
"προσωπικούς καταλόγους." "μονάδων."
#: src/home/pam_systemd_home.c:333 #: src/home/pam_systemd_home.c:333
#, c-format #, c-format
@ -371,8 +372,9 @@ msgid "Get system description"
msgstr "Λήψη περιγραφής συστήματος" msgstr "Λήψη περιγραφής συστήματος"
#: src/hostname/org.freedesktop.hostname1.policy:72 #: src/hostname/org.freedesktop.hostname1.policy:72
#, fuzzy
msgid "Authentication is required to get system description." msgid "Authentication is required to get system description."
msgstr "Απαιτείται ταυτοποίηση για τη λήψη της περιγραφής συστήματος." msgstr "Απαιτείται πιστοποίηση για να ορίσετε την ώρα ζώνης του συστήματος."
#: src/import/org.freedesktop.import1.policy:22 #: src/import/org.freedesktop.import1.policy:22
msgid "Import a disk image" msgid "Import a disk image"

View File

@ -392,7 +392,6 @@ int vl_method_clean_pool(sd_varlink *link, sd_json_variant *parameters, sd_varli
assert(link); assert(link);
assert(parameters); assert(parameters);
assert(FLAGS_SET(flags, SD_VARLINK_METHOD_MORE));
if (manager->n_operations >= OPERATIONS_MAX) if (manager->n_operations >= OPERATIONS_MAX)
return sd_varlink_error(link, "io.systemd.MachineImage.TooManyOperations", NULL); return sd_varlink_error(link, "io.systemd.MachineImage.TooManyOperations", NULL);
@ -401,6 +400,9 @@ int vl_method_clean_pool(sd_varlink *link, sd_json_variant *parameters, sd_varli
if (r != 0) if (r != 0)
return r; return r;
if (!FLAGS_SET(flags, SD_VARLINK_METHOD_MORE))
return sd_varlink_error(link, SD_VARLINK_ERROR_EXPECTED_MORE, NULL);
if (manager->runtime_scope != RUNTIME_SCOPE_USER) { if (manager->runtime_scope != RUNTIME_SCOPE_USER) {
r = varlink_verify_polkit_async( r = varlink_verify_polkit_async(
link, link,

View File

@ -101,7 +101,6 @@ static int parse_argv(int argc, char *argv[]) {
{ "umount", no_argument, NULL, 'u' }, { "umount", no_argument, NULL, 'u' },
{ "json", required_argument, NULL, ARG_JSON }, { "json", required_argument, NULL, ARG_JSON },
{ "read-only", no_argument, NULL, 'r' }, { "read-only", no_argument, NULL, 'r' },
{ "mkdir", no_argument, NULL, ARG_MKDIR },
{ "rmdir", no_argument, NULL, ARG_RMDIR }, { "rmdir", no_argument, NULL, ARG_RMDIR },
{ "image-policy", required_argument, NULL, ARG_IMAGE_POLICY }, { "image-policy", required_argument, NULL, ARG_IMAGE_POLICY },
{ "image-filter", required_argument, NULL, ARG_IMAGE_FILTER }, { "image-filter", required_argument, NULL, ARG_IMAGE_FILTER },

View File

@ -10208,60 +10208,44 @@ done:
static int determine_auto_size( static int determine_auto_size(
Context *c, Context *c,
int level, int level,
uint64_t *ret_current_size, bool ignore_allocated, /* If true, determines unallocated space needed */
uint64_t *ret_foreign_size, uint64_t *ret) {
uint64_t *ret_minimal_size) {
uint64_t current_size, foreign_size, minimal_size; uint64_t sum;
assert(c); assert(c);
minimal_size = round_up_size(GPT_METADATA_SIZE, 4096); sum = round_up_size(GPT_METADATA_SIZE, 4096);
if (c->from_scratch)
current_size = 0;
else
current_size = round_up_size(GPT_METADATA_SIZE, 4096);
foreign_size = 0;
LIST_FOREACH(partitions, p, c->partitions) { LIST_FOREACH(partitions, p, c->partitions) {
uint64_t m; uint64_t m;
if (PARTITION_IS_FOREIGN(p))
foreign_size += p->current_size;
if (PARTITION_EXISTS(p))
current_size += p->current_size;
if (p->dropped || PARTITION_SUPPRESSED(p)) if (p->dropped || PARTITION_SUPPRESSED(p))
continue; continue;
m = partition_min_size_with_padding(c, p); m = partition_min_size_with_padding(c, p);
if (m > UINT64_MAX - minimal_size) if (m > UINT64_MAX - sum)
return log_error_errno(SYNTHETIC_ERRNO(EOVERFLOW), "Image would grow too large, refusing."); return log_error_errno(SYNTHETIC_ERRNO(EOVERFLOW), "Image would grow too large, refusing.");
minimal_size += m; if (ignore_allocated && PARTITION_EXISTS(p))
m = LESS_BY(m, p->current_size + p->current_padding);
sum += m;
} }
if (current_size != 0) if (c->total != UINT64_MAX)
/* Image already allocated? Then show its size. */ /* Image already allocated? Then show its size. */
log_full(level, log_full(level,
"Automatically determined minimal disk image size as %s, current block device/image size is %s.", "Automatically determined minimal disk image size as %s, current block device/image size is %s.",
FORMAT_BYTES(minimal_size), FORMAT_BYTES(current_size)); FORMAT_BYTES(sum), FORMAT_BYTES(c->total));
else else
/* If the image is being created right now, then it has no previous size, suppress any comment about it hence. */ /* If the image is being created right now, then it has no previous size, suppress any comment about it hence. */
log_full(level, log_full(level,
"Automatically determined minimal disk image size as %s.", "Automatically determined minimal disk image size as %s.",
FORMAT_BYTES(minimal_size)); FORMAT_BYTES(sum));
if (ret_current_size)
*ret_current_size = current_size;
if (ret_foreign_size)
*ret_foreign_size = foreign_size;
if (ret_minimal_size)
*ret_minimal_size = minimal_size;
if (ret)
*ret = sum;
return 0; return 0;
} }
@ -10488,58 +10472,53 @@ static int vl_method_run(
/* If we have no node, just sum up how much space we need */ /* If we have no node, just sum up how much space we need */
if (!context->node) { if (!context->node) {
/* Check if space issue is caused by the whole disk being too small */ /* Check if space issue is caused by the whole disk being too small */
uint64_t minimal_size; uint64_t size;
r = determine_auto_size(context, LOG_DEBUG, /* ret_current_size= */ NULL, /* ret_foreign_size= */ NULL, &minimal_size); r = determine_auto_size(context, LOG_DEBUG, /* ignore_allocated= */ false, &size);
if (r < 0) if (r < 0)
return r; return r;
return sd_varlink_replybo( return sd_varlink_replybo(
link, link,
SD_JSON_BUILD_PAIR_UNSIGNED("minimalSizeBytes", minimal_size)); SD_JSON_BUILD_PAIR_UNSIGNED("minimalSizeBytes", size));
} }
r = context_ponder(context); r = context_ponder(context);
if (r == -ENOSPC) { if (r == -ENOSPC) {
uint64_t current_size, foreign_size, minimal_size;
r = determine_auto_size(context, LOG_DEBUG, &current_size, &foreign_size, &minimal_size);
if (r < 0)
return r;
uint64_t needed_size = LESS_BY(minimal_size, foreign_size);
/* Check if space issue is caused by the whole disk being too small */ /* Check if space issue is caused by the whole disk being too small */
if (needed_size > context->total) uint64_t size = UINT64_MAX;
(void) determine_auto_size(context, LOG_DEBUG, /* ignore_allocated= */ false, &size);
if (size != UINT64_MAX && context->total != UINT64_MAX && size > context->total)
return sd_varlink_errorbo( return sd_varlink_errorbo(
link, link,
"io.systemd.Repart.DiskTooSmall", "io.systemd.Repart.DiskTooSmall",
SD_JSON_BUILD_PAIR_UNSIGNED("currentSizeBytes", current_size), SD_JSON_BUILD_PAIR_UNSIGNED("minimalSizeBytes", size),
SD_JSON_BUILD_PAIR_UNSIGNED("minimalSizeBytes", minimal_size)); SD_JSON_BUILD_PAIR_UNSIGNED("currentSizeBytes", context->total));
/* Or if the disk would fit, but theres's not enough unallocated space */ /* Or if the disk would fit, but theres's not enough unallocated space */
uint64_t need_free = LESS_BY(minimal_size, current_size); uint64_t need_free = UINT64_MAX;
(void) determine_auto_size(context, LOG_DEBUG, /* ignore_allocated= */ true, &need_free);
return sd_varlink_errorbo( return sd_varlink_errorbo(
link, link,
"io.systemd.Repart.InsufficientFreeSpace", "io.systemd.Repart.InsufficientFreeSpace",
SD_JSON_BUILD_PAIR_UNSIGNED("currentSizeBytes", current_size), JSON_BUILD_PAIR_UNSIGNED_NOT_EQUAL("minimalSizeBytes", size, UINT64_MAX),
JSON_BUILD_PAIR_UNSIGNED_NON_ZERO("needFreeBytes", need_free), JSON_BUILD_PAIR_UNSIGNED_NOT_EQUAL("needFreeBytes", need_free, UINT64_MAX),
SD_JSON_BUILD_PAIR_UNSIGNED("minimalSizeBytes", minimal_size)); JSON_BUILD_PAIR_UNSIGNED_NOT_EQUAL("currentSizeBytes", context->total, UINT64_MAX));
} }
if (r < 0) if (r < 0)
return r; return r;
if (p.dry_run) { if (p.dry_run) {
uint64_t current_size, minimal_size; uint64_t size;
/* If we are doing a dry-run, report the minimal size. */ /* If we are doing a dry-run, report the minimal size. */
r = determine_auto_size(context, LOG_DEBUG, &current_size, /* ret_foreign_size= */ NULL, &minimal_size); r = determine_auto_size(context, LOG_DEBUG, /* ignore_allocated= */ false, &size);
if (r < 0) if (r < 0)
return r; return r;
return sd_varlink_replybo( return sd_varlink_replybo(
link, link,
SD_JSON_BUILD_PAIR_UNSIGNED("minimalSizeBytes", minimal_size), SD_JSON_BUILD_PAIR_UNSIGNED("minimalSizeBytes", size),
SD_JSON_BUILD_PAIR_UNSIGNED("currentSizeBytes", current_size)); JSON_BUILD_PAIR_UNSIGNED_NOT_EQUAL("currentSizeBytes", context->total, UINT64_MAX));
} }
r = context_write_partition_table(context); r = context_write_partition_table(context);
@ -10785,12 +10764,12 @@ static int run(int argc, char *argv[]) {
return r; return r;
if (arg_node_none) { if (arg_node_none) {
(void) determine_auto_size(context, LOG_INFO, /* ret_current_size= */ NULL, /* ret_foreign_size= */ NULL, /* ret_minimal_size= */ NULL); (void) determine_auto_size(context, LOG_INFO, /* ignore_allocated= */ false, /* ret= */ NULL);
return 0; return 0;
} }
if (arg_size_auto) { if (arg_size_auto) {
r = determine_auto_size(context, LOG_INFO, /* ret_current_size= */ NULL, /* ret_foreign_size= */ NULL, &arg_size); r = determine_auto_size(context, LOG_INFO, /* ignore_allocated= */ false, &arg_size);
if (r < 0) if (r < 0)
return r; return r;
@ -10815,7 +10794,7 @@ static int run(int argc, char *argv[]) {
r = context_ponder(context); r = context_ponder(context);
if (r == -ENOSPC) { if (r == -ENOSPC) {
/* When we hit space issues, tell the user the minimal size. */ /* When we hit space issues, tell the user the minimal size. */
(void) determine_auto_size(context, LOG_INFO, /* ret_current_size= */ NULL, /* ret_foreign_size= */ NULL, /* ret_minimal_size= */ NULL); (void) determine_auto_size(context, LOG_INFO, /* ignore_allocated= */ false, /* ret= */ NULL);
return r; return r;
} }
if (r < 0) if (r < 0)

View File

@ -95,7 +95,7 @@ static SD_VARLINK_DEFINE_ENUM_TYPE(
static SD_VARLINK_DEFINE_METHOD_FULL( static SD_VARLINK_DEFINE_METHOD_FULL(
CleanPool, CleanPool,
SD_VARLINK_REQUIRES_MORE, SD_VARLINK_SUPPORTS_MORE,
VARLINK_DEFINE_POLKIT_INPUT, VARLINK_DEFINE_POLKIT_INPUT,
SD_VARLINK_FIELD_COMMENT("Allows removing all or only hidden images"), SD_VARLINK_FIELD_COMMENT("Allows removing all or only hidden images"),
SD_VARLINK_DEFINE_INPUT_BY_TYPE(mode, CleanPoolMode, 0), SD_VARLINK_DEFINE_INPUT_BY_TYPE(mode, CleanPoolMode, 0),