Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions changelog.d/26076_rpm_environment_file.fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Use the conventional `/etc/sysconfig/vector` environment file path in RPM packages.

authors: inflatador
9 changes: 5 additions & 4 deletions distribution/rpm/vector.spec
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ rm -rf %{buildroot}
mkdir -p %{buildroot}
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_sysconfdir}/%{_name}
mkdir -p %{buildroot}%{_sysconfdir}/default
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
mkdir -p %{buildroot}%{_sharedstatedir}/%{_name}
mkdir -p %{buildroot}%{_datadir}/%{_name}
mkdir -p %{buildroot}%{_unitdir}
Expand All @@ -59,8 +59,9 @@ cp -a %{_builddir}/bin/vector %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/%{_name}/examples
cp -a %{_builddir}/config/vector.yaml %{buildroot}%{_datadir}/%{_name}/examples/vector.yaml
cp -a %{_builddir}/config/examples/. %{buildroot}%{_sysconfdir}/%{_name}/examples
cp -a %{_builddir}/systemd/vector.service %{buildroot}%{_unitdir}/vector.service
cp -a %{_builddir}/systemd/vector.default %{buildroot}%{_sysconfdir}/default/vector
sed 's|EnvironmentFile=-/etc/default/vector|EnvironmentFile=-/etc/sysconfig/vector|' \
%{_builddir}/systemd/vector.service > %{buildroot}%{_unitdir}/vector.service
Comment thread
inflatador marked this conversation as resolved.
cp -a %{_builddir}/systemd/vector.default %{buildroot}%{_sysconfdir}/sysconfig/vector
cp -a %{_builddir}/licenses/. %{buildroot}%{_datadir}/%{_name}/licenses
cp -a %{_builddir}/NOTICE %{buildroot}%{_datadir}/%{_name}/NOTICE
cp -a %{_builddir}/LICENSE-3rdparty.csv %{buildroot}%{_datadir}/%{_name}/LICENSE-3rdparty.csv
Expand All @@ -80,7 +81,7 @@ rm -rf %{buildroot}
%defattr(-,root,root,-)
%{_bindir}/*
%{_unitdir}/vector.service
%config(noreplace) %{_sysconfdir}/default/vector
%config(noreplace) %{_sysconfdir}/sysconfig/vector
Comment thread
inflatador marked this conversation as resolved.
# Older versions installed a demo config at this path; mark it as %ghost so
# rpm preserves any existing on-disk file during upgrade instead of removing
# it as orphaned.
Expand Down
2 changes: 1 addition & 1 deletion distribution/systemd/vector.default
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# /etc/default/vector
# Environment variables for Vector.
# This file can theoretically contain a bunch of environment variables
# for Vector. See https://vector.dev/docs/setup/configuration/#environment-variables
# for details.
15 changes: 12 additions & 3 deletions scripts/verify-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,34 @@ install_package () {
esac
}

case "$package" in
*.deb)
environment_file=/etc/default/vector
;;
*.rpm)
environment_file=/etc/sysconfig/vector
;;
esac

install_package "$package"

getent passwd vector || (echo "vector user missing" && exit 1)
getent group vector || (echo "vector group missing" && exit 1)
vector --version || (echo "vector --version failed" && exit 1)
test -f /etc/default/vector || (echo "/etc/default/vector doesn't exist" && exit 1)
test -f "$environment_file" || (echo "$environment_file doesn't exist" && exit 1)
test ! -e /etc/vector/vector.yaml || (echo "/etc/vector/vector.yaml should not be installed by default" && exit 1)
test -f /usr/share/vector/examples/vector.yaml || (echo "/usr/share/vector/examples/vector.yaml doesn't exist" && exit 1)

mkdir -p /etc/vector
echo "FOO=bar" > /etc/default/vector
echo "FOO=bar" > "$environment_file"
echo "foo: bar" > /etc/vector/vector.yaml

install_package "$package"

getent passwd vector || (echo "vector user missing" && exit 1)
getent group vector || (echo "vector group missing" && exit 1)
vector --version || (echo "vector --version failed" && exit 1)
grep -q "FOO=bar" "/etc/default/vector" || (echo "/etc/default/vector has incorrect contents" && exit 1)
grep -q "FOO=bar" "$environment_file" || (echo "$environment_file has incorrect contents" && exit 1)
grep -q "foo: bar" "/etc/vector/vector.yaml" || (echo "user-provided /etc/vector/vector.yaml was not preserved on reinstall" && exit 1)

dd-pkg lint "$package"
Loading