Skip to content

Commit fe3b7fb

Browse files
committed
Remove NOREPLACE for /etc/elasticsearch in rpm and deb (#37839)
The /etc/elasticsearch directory is currently configured as a config file with noreplace. However, the directory itself is not config, and can lead to an entire /etc/elasticsearch.rpmsave directory in some situations. This commit fixes the ospackage config to not specify those file bits for the directory itself, but only the files underneath it.
1 parent c91dfe6 commit fe3b7fb

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

distribution/packages/build.gradle

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ void addProcessFilesTask(String type, boolean oss) {
8383
mkdir "${packagingFiles}/var/log/elasticsearch"
8484
mkdir "${packagingFiles}/var/lib/elasticsearch"
8585
mkdir "${packagingFiles}/usr/share/elasticsearch/plugins"
86+
87+
// bare empty dir for /etc/elasticsearch
88+
mkdir "${packagingFiles}/elasticsearch"
8689
}
8790
}
8891
}
@@ -173,14 +176,22 @@ Closure commonPackageConfig(String type, boolean oss) {
173176
configurationFile '/etc/elasticsearch/users'
174177
configurationFile '/etc/elasticsearch/users_roles'
175178
}
176-
into('/etc') {
179+
from("${packagingFiles}") {
180+
dirMode 02750
181+
into('/etc')
182+
permissionGroup 'elasticsearch'
183+
includeEmptyDirs true
184+
createDirectoryEntry true
185+
include("elasticsearch") // empty dir, just to add directory entry
186+
}
187+
from("${packagingFiles}/etc/elasticsearch") {
188+
into('/etc/elasticsearch')
177189
dirMode 02750
178190
fileMode 0660
179191
permissionGroup 'elasticsearch'
180192
includeEmptyDirs true
181193
createDirectoryEntry true
182194
fileType CONFIG | NOREPLACE
183-
from "${packagingFiles}/etc"
184195
}
185196
String envFile = expansionsForDistribution(type, false)['path.env']
186197
configurationFile envFile

0 commit comments

Comments
 (0)