core: Skip (and warn on) rpmfi overrides outside of /{usr,etc,var}
I still need to query whether Fedora has anything like this; maybe `/boot`? But things are not likely to work right now if we do, so let's ignore it. Closes: #677 Approved by: jlebon
This commit is contained in:
parent
ab7431c458
commit
77fa10cfbe
@ -2222,6 +2222,7 @@ apply_rpmfi_overrides (int tmp_metadata_dfd,
|
||||
{
|
||||
int i;
|
||||
_cleanup_rpmfi_ rpmfi fi = NULL;
|
||||
gboolean emitted_nonusr_warning = FALSE;
|
||||
g_autofree char *path = get_package_relpath (pkg);
|
||||
|
||||
if (!get_package_metainfo (tmp_metadata_dfd, path, NULL, &fi, error))
|
||||
@ -2261,6 +2262,16 @@ apply_rpmfi_overrides (int tmp_metadata_dfd,
|
||||
/* The tree uses usr/etc */
|
||||
fn = modified_fn = g_strconcat ("usr/", fn, NULL);
|
||||
}
|
||||
else if (!g_str_has_prefix (fn, "usr/"))
|
||||
{
|
||||
/* TODO: query whether Fedora has anything in this category we care about */
|
||||
if (!emitted_nonusr_warning)
|
||||
{
|
||||
sd_journal_print (LOG_WARNING, "Ignoring rpm mode for non-/usr content: %s", fn);
|
||||
emitted_nonusr_warning = TRUE;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (fstatat (tmprootfs_dfd, fn, &stbuf, AT_SYMLINK_NOFOLLOW) != 0)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user