Invalidate id cache after script execution
It's common for a pre-install script to do something like addgroup -S group 2>/dev/null When apk installs files after this, it sets the owner/group based on id cache but currently the id cache is stale and doesn't contain the new group at that point: instead the file will be installed with gid that the build host happened to have for that group -- on target this might mean a non-existing group or a completely different group. We can't know if the script really did modify id cache contents so make sure to reset the id cache on every script execution.cute-signatures
parent
5c4b90dfd4
commit
d609ef3c6c
|
@ -1032,6 +1032,10 @@ void apk_ipkg_run_script(struct apk_installed_package *ipkg,
|
||||||
|
|
||||||
if (apk_db_run_script(db, fn, argv) < 0)
|
if (apk_db_run_script(db, fn, argv) < 0)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
|
/* Script may have done something that changes id cache contents */
|
||||||
|
apk_id_cache_reset(&db->id_cache);
|
||||||
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
err_log:
|
err_log:
|
||||||
|
|
Loading…
Reference in New Issue