amazon-efs-utils.spec 4.88 KB
Newer Older
Max Beckett's avatar
Max Beckett committed
1
2
3
4
5
6
7
8
9
10
#
# Copyright 2017-2018 Amazon.com, Inc. and its affiliates. All Rights Reserved.
#
# Licensed under the MIT License. See the LICENSE accompanying this file
# for the specific language governing permissions and limitations under
# the License.
#

%if 0%{?amzn1}
%global python_requires system-python
Ian Patel's avatar
Ian Patel committed
11

12
13
14
15
%else

%if 0%{?fedora} || 0%{?el8}
%global python_requires python3
Max Beckett's avatar
Max Beckett committed
16
17
%else
%global python_requires python2
Ian Patel's avatar
Ian Patel committed
18
19
%endif

20
21
%endif

Ian Patel's avatar
Ian Patel committed
22
23
24
%if 0%{?amzn1} || 0%{?rhel} == 6
%global with_systemd 0
%else
Max Beckett's avatar
Max Beckett committed
25
26
27
28
%global with_systemd 1
%endif

Name      : amazon-efs-utils
29
30
Version   : 1.26
Release   : 2%{?dist}
Max Beckett's avatar
Max Beckett committed
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Summary   : This package provides utilities for simplifying the use of EFS file systems

Group     : Amazon/Tools
License   : MIT
URL       : https://aws.amazon.com/efs

Packager  : Amazon.com, Inc. <http://aws.amazon.com>
Vendor    : Amazon.com

BuildArch : noarch

Requires  : nfs-utils
Requires  : stunnel >= 4.56
Requires  : %{python_requires}
45
46
Requires  : openssl >= 1.0.2
Requires  : util-linux
47
Requires  : which
Max Beckett's avatar
Max Beckett committed
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78

%if %{with_systemd}
BuildRequires    : systemd
%{?systemd_requires}
%else
Requires(post)   : /sbin/chkconfig
Requires(preun)  : /sbin/service /sbin/chkconfig
Requires(postun) : /sbin/service
%endif

Source    : %{name}.tar.gz

%description
This package provides utilities for simplifying the use of EFS file systems

%prep
%setup -n %{name}

%install
mkdir -p %{buildroot}%{_sysconfdir}/amazon/efs
%if %{with_systemd}
mkdir -p %{buildroot}%{_unitdir}
install -p -m 644 %{_builddir}/%{name}/dist/amazon-efs-mount-watchdog.service %{buildroot}%{_unitdir}
%else
mkdir -p %{buildroot}%{_sysconfdir}/init
install -p -m 644 %{_builddir}/%{name}/dist/amazon-efs-mount-watchdog.conf %{buildroot}%{_sysconfdir}/init
%endif

mkdir -p %{buildroot}/sbin
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_localstatedir}/log/amazon/efs
79
mkdir -p  %{buildroot}%{_mandir}/man8
Max Beckett's avatar
Max Beckett committed
80
81

install -p -m 644 %{_builddir}/%{name}/dist/efs-utils.conf %{buildroot}%{_sysconfdir}/amazon/efs
Ian Patel's avatar
Ian Patel committed
82
install -p -m 444 %{_builddir}/%{name}/dist/efs-utils.crt %{buildroot}%{_sysconfdir}/amazon/efs
Max Beckett's avatar
Max Beckett committed
83
84
install -p -m 755 %{_builddir}/%{name}/src/mount_efs/__init__.py %{buildroot}/sbin/mount.efs
install -p -m 755 %{_builddir}/%{name}/src/watchdog/__init__.py %{buildroot}%{_bindir}/amazon-efs-mount-watchdog
85
install -p -m 644 %{_builddir}/%{name}/man/mount.efs.8 %{buildroot}%{_mandir}/man8
Max Beckett's avatar
Max Beckett committed
86
87
88
89
90
91
92
93

%files
%defattr(-,root,root,-)
%if %{with_systemd}
%{_unitdir}/amazon-efs-mount-watchdog.service
%else
%config(noreplace) %{_sysconfdir}/init/amazon-efs-mount-watchdog.conf
%endif
Ian Patel's avatar
Ian Patel committed
94
%{_sysconfdir}/amazon/efs/efs-utils.crt
Max Beckett's avatar
Max Beckett committed
95
96
97
/sbin/mount.efs
%{_bindir}/amazon-efs-mount-watchdog
/var/log/amazon
98
%{_mandir}/man8/mount.efs.8.gz
Max Beckett's avatar
Max Beckett committed
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126

%config(noreplace) %{_sysconfdir}/amazon/efs/efs-utils.conf

%if %{with_systemd}
%post
%systemd_post amazon-efs-mount-watchdog.service

%preun
%systemd_preun amazon-efs-mount-watchdog.service

%postun
%systemd_postun_with_restart amazon-efs-mount-watchdog.service

%else

%preun
if [ $1 -eq 0 ]; then
   /sbin/stop amazon-efs-mount-watchdog &> /dev/null || true
fi

%postun
if [ $1 -eq 1 ]; then
    /sbin/restart amazon-efs-mount-watchdog &> /dev/null || true
fi

%endif

%clean
127
128

%changelog
129
130
131
132
133
* Tue Jun 16 2020 Karthik Basavaraj <kbbasav@amazon.com> - 1.26.2
- Clean up stunnel PIDs in state files persisted by previous efs-csi-driver to ensure watchdog spawns a new stunnel after driver restarts.
- Fix an issue where fs cannot be mounted with tls using systemd.automount-units due to mountpoint check

* Tue May 26 2020 Yuan Gao <ygaochn@amazon.com> - 1.25.3
134
135
136
- Fix an issue where subprocess was not killed successfully
- Stop emitting unrecognized init system supervisord if the watchdog daemon has already been launched by supervisor
- Support Fedora
137
- Check if mountpoint is already mounted beforehand for tls mount
138

139
* Tue May 05 2020 Yuan Gao <ygaochn@amazon.com> - 1.25.2
140
141
142
- Fix the issue that IAM role name format is not correctly encoded in python3
- Add optional override for stunnel debug log output location

143
* Mon Apr 20 2020 Yuan Gao <ygaochn@amazon.com> - 1.25.1
144
145
- Create self-signed certificate for tls-only mount

146
* Tue Apr 7 2020 Yuan Gao <ygaochn@amazon.com> - 1.24.4
Yuan Gao's avatar
Yuan Gao committed
147
148
- Fix the malformed certificate info

149
* Fri Mar 27 2020 Yuan Gao <ygaochn@amazon.com> - 1.24.3
150
151
- Use IMDSv1 by default, and use IMDSv2 where required

152
* Tue Mar 10 2020 Yuan Gao <ygaochn@amazon.com> - 1.24.2
153
154
- List which as dependency

155
* Tue Mar 10 2020 Yuan Gao <ygaochn@amazon.com> - 1.24.1
156
157
158
- Enable efs-utils to source region from config file for sigv4 auth
- Fix the issue that stunnel bin exec cannot be found in certain linux distributions

159
* Tue Mar 03 2020 Yuan Gao <ygaochn@amazon.com> - 1.23.2
160
161
162
- Support new option: netns, enable file system to mount in given network namespace
- Support new option: awscredsuri, enable sourcing iam authorization from aws credentials relative uri
- List openssl and util-linux as package dependency for IAM/AP authorization and command nsenter to mount file system to given network namespace