mirror of
https://github.com/quamotion/dotnet-packaging.git
synced 2026-02-14 21:32:52 +00:00
Are RPM configuration files supported? #41
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @daniel-sherwood on GitHub (Sep 6, 2018).
I notice that config files are always replaced when installing a new package version even in Update is used instead of Include. Looking at the code I can see that RPMFILE_CONFIG and RPMFILE_NOREPLACE are defined in IndexTag but don't appear to be used anywhere.
I'd be interested in implementing this if you could give me a pointer.
@qmfrederik commented on GitHub (Sep 6, 2018):
You are right, at the moment there's a fairly straightforward system which marks all files in
/usr/share/docasRPMFILE_DOC, and everything else asNone.Like you suggest, we can classify files as
RPMFILE_NOREPLACEto avoid configuration files being overwritten in upgrades. https://docs.fedoraproject.org/ro/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s05s03.html describes it in a bit more detail.There are a couple of things we need to figure out:
cfc1ea5a9c). We could do something along the the lines of:So one way to go at this would be
ArchiveBuilderto configure theArchiveEntry.TypetoConfigurationRpm/FileAnalyzer.csto return the correctRpmFileFlagsDeb/DebPackageCreator.csto include aWriteControlEntrycommand forconffilesI would really appreciate it if we can also get unit tests for this. Something along the lines of updating the Dockerfile for the various Linux distro's so that we do an install, change the config file, then upgrade and make sure the changes in the config file have been preserved.
Makes sense?
@yamaritta commented on GitHub (Jan 31, 2020):
@daniel-sherwood How did you dealt with it?
@DustyRah commented on GitHub (Feb 18, 2025):
Was the tag implemented? I am trying to avoid the configuration file (appsettings.json) from getting overwritten.