amazon-efs-utils.spec 4.57 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
Version   : 1.25
30
Release   : 3%{?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
* Tue May 26 2020 Yuan Gao <ygaochn@amazon.com> - 1.25-3
- 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
133
- Check if mountpoint is already mounted beforehand for tls mount
134

135
136
137
138
* Tue May 05 2020 Yuan Gao <ygaochn@amazon.com> - 1.25-2
- Fix the issue that IAM role name format is not correctly encoded in python3
- Add optional override for stunnel debug log output location

139
140
141
* Mon Apr 20 2020 Yuan Gao <ygaochn@amazon.com> - 1.25-1
- Create self-signed certificate for tls-only mount

Yuan Gao's avatar
Yuan Gao committed
142
143
144
* Tue Apr 7 2020 Yuan Gao <ygaochn@amazon.com> - 1.24-4
- Fix the malformed certificate info

145
146
147
* Fri Mar 27 2020 Yuan Gao <ygaochn@amazon.com> - 1.24-3
- Use IMDSv1 by default, and use IMDSv2 where required

148
149
150
* Tue Mar 10 2020 Yuan Gao <ygaochn@amazon.com> - 1.24-2
- List which as dependency

151
152
153
154
* Tue Mar 10 2020 Yuan Gao <ygaochn@amazon.com> - 1.24-1
- 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

155
* Tue Mar 03 2020 Yuan Gao <ygaochn@amazon.com> - 1.23-2
156
157
158
- 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