Gentoo Archives: gentoo-commits

From: "Amadeusz Piotr Żołnowski" <aidecoe@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-im/ejabberd/
Date: Sun, 28 May 2017 18:06:34
Message-Id: 1495994786.0912204c84b553560a7a48ad1393b7906cccf351.aidecoe@gentoo
1 commit: 0912204c84b553560a7a48ad1393b7906cccf351
2 Author: Amadeusz Żołnowski <aidecoe <AT> gentoo <DOT> org>
3 AuthorDate: Sun May 28 18:06:04 2017 +0000
4 Commit: Amadeusz Piotr Żołnowski <aidecoe <AT> gentoo <DOT> org>
5 CommitDate: Sun May 28 18:06:26 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0912204c
7
8 net-im/ejabberd: Disable mod_irc if nls USE flag is disbled
9
10 mod_irc is only required for mod_irc. If nls support is disabled,
11 disable mod_irc in example configuration file and warn user if he/she
12 has mod_irc enabled in configuration. Otherwise ejabberd will fail to
13 start.
14
15 Gentoo-Bug: 603822
16 Package-Manager: Portage-2.3.5, Repoman-2.3.2
17
18 net-im/ejabberd/ejabberd-16.09.ebuild | 21 +++++++++++++++++++++
19 net-im/ejabberd/ejabberd-17.01-r1.ebuild | 21 +++++++++++++++++++++
20 net-im/ejabberd/ejabberd-17.01.ebuild | 21 +++++++++++++++++++++
21 net-im/ejabberd/ejabberd-17.04.ebuild | 21 +++++++++++++++++++++
22 4 files changed, 84 insertions(+)
23
24 diff --git a/net-im/ejabberd/ejabberd-16.09.ebuild b/net-im/ejabberd/ejabberd-16.09.ebuild
25 index 5621156189e..99e4a3aabcc 100644
26 --- a/net-im/ejabberd/ejabberd-16.09.ebuild
27 +++ b/net-im/ejabberd/ejabberd-16.09.ebuild
28 @@ -107,6 +107,15 @@ customize_epam_wrapper() {
29 || die 'failed to install epam-wrapper'
30 }
31
32 +# Disable mod_irc in example configuration file.
33 +disable_mod_irc() {
34 + local needs_iconv='needs dev-erlang/iconv (+nls USE flag)'
35 + sed -r \
36 + -e "s@^(\s*)(mod_irc\s*:.*$)@\1## \2 # ${needs_iconv}@" \
37 + -i "${S}/ejabberd.yml.example" \
38 + || die 'failed to modify example config'
39 +}
40 +
41 # Check if there already exists a certificate.
42 ejabberd_cert_exists() {
43 local cert
44 @@ -138,6 +147,12 @@ get_ejabberd_path() {
45 echo "/usr/$(get_libdir)/${P}"
46 }
47
48 +# Check whether mod_irc is enabled in ejabberd configuration on target system.
49 +is_mod_irc_enabled() {
50 + egrep '^(\s*)(mod_irc\s*:.*$)' \
51 + "${EROOT%/}${JABBER_ETC}/ejabberd.yml"
52 +}
53 +
54 # Make ejabberd.service for systemd from upstream provided template.
55 make_ejabberd_service() {
56 sed -r \
57 @@ -184,6 +199,7 @@ src_prepare() {
58 make_ejabberd_service
59 skip_docs
60 adjust_config
61 + use nls || disable_mod_irc
62 customize_epam_wrapper "${FILESDIR}/epam-wrapper"
63
64 # Fix bug #591862. ERL_LIBS should point directly to ejabberd directory
65 @@ -294,4 +310,9 @@ pkg_postinst() {
66 chmod g+r "${EROOT%/}${epam_path}" \
67 || die "failed to correct ${epam_path} permissions"
68 fi
69 +
70 + if ! use nls && is_mod_irc_enabled; then
71 + ewarn "nls support (dev-erlang/iconv) is required by mod_irc. Either rebuild ejabberd"
72 + ewarn "with nls enabled or disable mod_irc in ${EROOT%/}${JABBER_ETC}/ejabberd.yml."
73 + fi
74 }
75
76 diff --git a/net-im/ejabberd/ejabberd-17.01-r1.ebuild b/net-im/ejabberd/ejabberd-17.01-r1.ebuild
77 index 6ee9e157db6..7c2e9586ebd 100644
78 --- a/net-im/ejabberd/ejabberd-17.01-r1.ebuild
79 +++ b/net-im/ejabberd/ejabberd-17.01-r1.ebuild
80 @@ -108,6 +108,15 @@ customize_epam_wrapper() {
81 || die 'failed to install epam-wrapper'
82 }
83
84 +# Disable mod_irc in example configuration file.
85 +disable_mod_irc() {
86 + local needs_iconv='needs dev-erlang/iconv (+nls USE flag)'
87 + sed -r \
88 + -e "s@^(\s*)(mod_irc\s*:.*$)@\1## \2 # ${needs_iconv}@" \
89 + -i "${S}/ejabberd.yml.example" \
90 + || die 'failed to modify example config'
91 +}
92 +
93 # Check if there already exists a certificate.
94 ejabberd_cert_exists() {
95 local cert
96 @@ -139,6 +148,12 @@ get_ejabberd_path() {
97 echo "/usr/$(get_libdir)/${P}"
98 }
99
100 +# Check whether mod_irc is enabled in ejabberd configuration on target system.
101 +is_mod_irc_enabled() {
102 + egrep '^(\s*)(mod_irc\s*:.*$)' \
103 + "${EROOT%/}${JABBER_ETC}/ejabberd.yml"
104 +}
105 +
106 # Make ejabberd.service for systemd from upstream provided template.
107 make_ejabberd_service() {
108 sed -r \
109 @@ -198,6 +213,7 @@ src_prepare() {
110 make_ejabberd_service
111 skip_docs
112 adjust_config
113 + use nls || disable_mod_irc
114 customize_epam_wrapper "${FILESDIR}/epam-wrapper"
115
116 rebar_fix_include_path fast_xml
117 @@ -299,4 +315,9 @@ pkg_postinst() {
118 if ! ejabberd_cert_exists; then
119 ejabberd_cert_install
120 fi
121 +
122 + if ! use nls && is_mod_irc_enabled; then
123 + ewarn "nls support (dev-erlang/iconv) is required by mod_irc. Either rebuild ejabberd"
124 + ewarn "with nls enabled or disable mod_irc in ${EROOT%/}${JABBER_ETC}/ejabberd.yml."
125 + fi
126 }
127
128 diff --git a/net-im/ejabberd/ejabberd-17.01.ebuild b/net-im/ejabberd/ejabberd-17.01.ebuild
129 index a55828a551e..061059b6183 100644
130 --- a/net-im/ejabberd/ejabberd-17.01.ebuild
131 +++ b/net-im/ejabberd/ejabberd-17.01.ebuild
132 @@ -108,6 +108,15 @@ customize_epam_wrapper() {
133 || die 'failed to install epam-wrapper'
134 }
135
136 +# Disable mod_irc in example configuration file.
137 +disable_mod_irc() {
138 + local needs_iconv='needs dev-erlang/iconv (+nls USE flag)'
139 + sed -r \
140 + -e "s@^(\s*)(mod_irc\s*:.*$)@\1## \2 # ${needs_iconv}@" \
141 + -i "${S}/ejabberd.yml.example" \
142 + || die 'failed to modify example config'
143 +}
144 +
145 # Check if there already exists a certificate.
146 ejabberd_cert_exists() {
147 local cert
148 @@ -139,6 +148,12 @@ get_ejabberd_path() {
149 echo "/usr/$(get_libdir)/${P}"
150 }
151
152 +# Check whether mod_irc is enabled in ejabberd configuration on target system.
153 +is_mod_irc_enabled() {
154 + egrep '^(\s*)(mod_irc\s*:.*$)' \
155 + "${EROOT%/}${JABBER_ETC}/ejabberd.yml"
156 +}
157 +
158 # Make ejabberd.service for systemd from upstream provided template.
159 make_ejabberd_service() {
160 sed -r \
161 @@ -185,6 +200,7 @@ src_prepare() {
162 make_ejabberd_service
163 skip_docs
164 adjust_config
165 + use nls || disable_mod_irc
166 customize_epam_wrapper "${FILESDIR}/epam-wrapper"
167
168 rebar_fix_include_path fast_xml
169 @@ -298,4 +314,9 @@ pkg_postinst() {
170 chmod g+r "${EROOT%/}${epam_path}" \
171 || die "failed to correct ${epam_path} permissions"
172 fi
173 +
174 + if ! use nls && is_mod_irc_enabled; then
175 + ewarn "nls support (dev-erlang/iconv) is required by mod_irc. Either rebuild ejabberd"
176 + ewarn "with nls enabled or disable mod_irc in ${EROOT%/}${JABBER_ETC}/ejabberd.yml."
177 + fi
178 }
179
180 diff --git a/net-im/ejabberd/ejabberd-17.04.ebuild b/net-im/ejabberd/ejabberd-17.04.ebuild
181 index 8b82f975af8..1cec62f2eba 100644
182 --- a/net-im/ejabberd/ejabberd-17.04.ebuild
183 +++ b/net-im/ejabberd/ejabberd-17.04.ebuild
184 @@ -108,6 +108,15 @@ customize_epam_wrapper() {
185 || die 'failed to install epam-wrapper'
186 }
187
188 +# Disable mod_irc in example configuration file.
189 +disable_mod_irc() {
190 + local needs_iconv='needs dev-erlang/iconv (+nls USE flag)'
191 + sed -r \
192 + -e "s@^(\s*)(mod_irc\s*:.*$)@\1## \2 # ${needs_iconv}@" \
193 + -i "${S}/ejabberd.yml.example" \
194 + || die 'failed to modify example config'
195 +}
196 +
197 # Check if there already exists a certificate.
198 ejabberd_cert_exists() {
199 local cert
200 @@ -139,6 +148,12 @@ get_ejabberd_path() {
201 echo "/usr/$(get_libdir)/${P}"
202 }
203
204 +# Check whether mod_irc is enabled in ejabberd configuration on target system.
205 +is_mod_irc_enabled() {
206 + egrep '^(\s*)(mod_irc\s*:.*$)' \
207 + "${EROOT%/}${JABBER_ETC}/ejabberd.yml"
208 +}
209 +
210 # Make ejabberd.service for systemd from upstream provided template.
211 make_ejabberd_service() {
212 sed -r \
213 @@ -198,6 +213,7 @@ src_prepare() {
214 make_ejabberd_service
215 skip_docs
216 adjust_config
217 + use nls || disable_mod_irc
218 customize_epam_wrapper "${FILESDIR}/epam-wrapper"
219
220 rebar_fix_include_path fast_xml
221 @@ -300,4 +316,9 @@ pkg_postinst() {
222 if ! ejabberd_cert_exists; then
223 ejabberd_cert_install
224 fi
225 +
226 + if ! use nls && is_mod_irc_enabled; then
227 + ewarn "nls support (dev-erlang/iconv) is required by mod_irc. Either rebuild ejabberd"
228 + ewarn "with nls enabled or disable mod_irc in ${EROOT%/}${JABBER_ETC}/ejabberd.yml."
229 + fi
230 }