Gentoo Archives: gentoo-commits

From: "Markos Chandras (hwoarang)" <hwoarang@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-admin/webmin: webmin-1.680.ebuild ChangeLog webmin-1.630.ebuild webmin-1.660.ebuild webmin-1.620.ebuild
Date: Thu, 01 May 2014 16:30:16
Message-Id: 20140501163010.30E232004C@flycatcher.gentoo.org
1 hwoarang 14/05/01 16:30:10
2
3 Modified: ChangeLog
4 Added: webmin-1.680.ebuild
5 Removed: webmin-1.630.ebuild webmin-1.660.ebuild
6 webmin-1.620.ebuild
7 Log:
8 Version bump. Remove old versions. Bug #504782 by PhobosK <phobosk@××××××××.fm>
9
10 (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 09BF4F54C2BA7F3C!)
11
12 Revision Changes Path
13 1.206 app-admin/webmin/ChangeLog
14
15 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/webmin/ChangeLog?rev=1.206&view=markup
16 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/webmin/ChangeLog?rev=1.206&content-type=text/plain
17 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/webmin/ChangeLog?r1=1.205&r2=1.206
18
19 Index: ChangeLog
20 ===================================================================
21 RCS file: /var/cvsroot/gentoo-x86/app-admin/webmin/ChangeLog,v
22 retrieving revision 1.205
23 retrieving revision 1.206
24 diff -u -r1.205 -r1.206
25 --- ChangeLog 21 Nov 2013 07:24:43 -0000 1.205
26 +++ ChangeLog 1 May 2014 16:30:09 -0000 1.206
27 @@ -1,6 +1,13 @@
28 # ChangeLog for app-admin/webmin
29 -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
30 -# $Header: /var/cvsroot/gentoo-x86/app-admin/webmin/ChangeLog,v 1.205 2013/11/21 07:24:43 patrick Exp $
31 +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
32 +# $Header: /var/cvsroot/gentoo-x86/app-admin/webmin/ChangeLog,v 1.206 2014/05/01 16:30:09 hwoarang Exp $
33 +
34 +*webmin-1.680 (01 May 2014)
35 +
36 + 01 May 2014; Markos Chandras <hwoarang@g.o> +webmin-1.680.ebuild,
37 + -webmin-1.620.ebuild, -webmin-1.630.ebuild, -webmin-1.660.ebuild:
38 + Version bump. Remove old versions. Bug #504782 by PhobosK
39 + <phobosk@××××××××.fm>
40
41 *webmin-1.660 (21 Nov 2013)
42
43
44
45
46 1.1 app-admin/webmin/webmin-1.680.ebuild
47
48 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/webmin/webmin-1.680.ebuild?rev=1.1&view=markup
49 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/webmin/webmin-1.680.ebuild?rev=1.1&content-type=text/plain
50
51 Index: webmin-1.680.ebuild
52 ===================================================================
53 # Copyright 1999-2014 Gentoo Foundation
54 # Distributed under the terms of the GNU General Public License v2
55 # $Header: /var/cvsroot/gentoo-x86/app-admin/webmin/webmin-1.680.ebuild,v 1.1 2014/05/01 16:30:09 hwoarang Exp $
56
57 EAPI="3"
58
59 inherit eutils pam ssl-cert
60
61 DESCRIPTION="A web-based Unix systems administration interface"
62 HOMEPAGE="http://www.webmin.com/"
63 SRC_URI="minimal? ( mirror://sourceforge/webadmin/${P}-minimal.tar.gz )
64 !minimal? ( mirror://sourceforge/webadmin/${P}.tar.gz )"
65
66 LICENSE="BSD GPL-2"
67 SLOT="0"
68
69 KEYWORDS="~amd64 ~x86"
70
71 # NOTE: The ssl flag auto added by ssl-cert eclass is not used actually
72 # because openssl is forced by dev-perl/Net-SSLeay
73 IUSE="minimal +ssl mysql postgres ldap"
74
75 # All the required perl modules can be found easily using (in Webmin's root src dir):
76 # find . -name cpan_modules.pl -exec grep "::" {} \;
77 # NOTE: If Webmin doesn't find the required perl modules, it offers(runtime) the user
78 # to install them using the in-built cpan module, and this will mess up perl on the system
79 # That's why some modules are forced without a use flag
80 # NOTE: pam, ssl and dnssec-tools deps are forced for security and Gentoo compliance installation reasons
81 DEPEND="virtual/perl-Sys-Syslog
82 virtual/perl-Time-HiRes
83 virtual/perl-Time-Local
84 dev-perl/Authen-Libwrap
85 dev-perl/IO-Tty
86 dev-perl/MD5
87 dev-perl/Net-SSLeay
88 dev-perl/Authen-PAM
89 dev-perl/Sys-Hostname-Long
90 >=net-dns/dnssec-tools-1.13
91 !minimal? (
92 mysql? ( dev-perl/DBD-mysql )
93 postgres? ( dev-perl/DBD-Pg )
94 ldap? ( dev-perl/perl-ldap )
95 dev-perl/XML-Generator
96 dev-perl/XML-Parser
97 )"
98 RDEPEND="${DEPEND}"
99
100 src_prepare() {
101 local perl="$( which perl )"
102
103 # Remove the unnecessary and incompatible files
104 rm -rf acl/Authen-SolarisRBAC-0.1*
105 if ! use minimal ; then
106 rm -rf {format,{bsd,hpux,sgi}exports,zones,rbac}
107 rm -f mount/{free,net,open}bsd-mounts*
108 rm -f mount/macos-mounts*
109 fi
110
111 # For security reasons remove the SSL certificate that comes with Webmin
112 # We will create our own later
113 rm -f miniserv.pem
114
115 # Remove the Webmin setup scripts to avoid Webmin in runtime to mess up config
116 # We will use our own later
117 rm -f setup.{sh,pl}
118
119 # Set the installation type/mode to Gentoo
120 echo "gentoo" > install-type
121
122 # Fix the permissions of the install files
123 chmod -R og-w "${S}"
124
125 # Since we should not modify any files after install
126 # we set the perl path in all cgi and pl files here using Webmin's routines
127 # The pl file is Prefix safe and works only on provided input, no other filesystem files
128 ebegin "Fixing perl path in source files"
129 (find "${S}" -name '*.cgi' -print ; find "${S}" -name '*.pl' -print) | $perl "${S}"/perlpath.pl $perl -
130 eend $?
131 }
132
133 src_install() {
134 # Create config dir and keep
135 diropts -m0755
136 dodir /etc/webmin
137 keepdir /etc/webmin
138
139 # Create install dir
140 # Third party modules installed through Webmin go here too, so keep
141 dodir /usr/libexec/webmin
142 keepdir /usr/libexec/webmin
143
144 # Copy our own setup script to installation folder
145 insinto /usr/libexec/webmin
146 newins "${FILESDIR}"/gentoo-setup gentoo-setup.sh
147 fperms 0744 /usr/libexec/webmin/gentoo-setup.sh
148
149 # This is here if we ever want in future ebuilds to add some specific
150 # config values in the /etc/webmin/miniserv.conf
151 # The format of this file should be the same as the one of miniserv.conf:
152 # var=value
153 #
154 # Uncomment it if you use such file. Before that check if upstream
155 # has this file in root dir too.
156 #newins "${FILESDIR}/miniserv-conf" miniserv-conf
157
158 # Create the log dir and keep
159 diropts -m0700
160 dodir /var/log/webmin
161 keepdir /var/log/webmin
162
163 # Create the init.d file and put the neccessary variables there
164 newinitd "${FILESDIR}"/init.d.webmin webmin
165 sed -i \
166 -e "s:%exe%:${EROOT}usr/libexec/webmin/miniserv.pl:" \
167 -e "s:%pid%:${EROOT}var/run/webmin.pid:" \
168 -e "s:%conf%:${EROOT}etc/webmin/miniserv.conf:" \
169 -e "s:%perllib%:${EROOT}usr/libexec/webmin:" \
170 "${ED}etc/init.d/webmin" \
171 || die "Failed to patch the webmin init file"
172
173 # Setup pam
174 pamd_mimic system-auth webmin auth account session
175
176 # Copy files to installation folder
177 ebegin "Copying install files to destination"
178 cp -pPR "${S}"/* "${ED}usr/libexec/webmin"
179 eend $?
180 }
181
182 pkg_preinst() {
183 # First stop service if running so Webmin to not messup our config
184 ebegin "Stopping any running Webmin instance prior merging"
185 rc-service --ifexists -- webmin --ifstarted stop
186 eend $?
187 }
188
189 pkg_postinst() {
190 # Run pkg_config phase first - non interactively
191 export INTERACTIVE="no"
192 pkg_config
193 # Every next time pkg_config should be interactive
194 INTERACTIVE="yes"
195
196 ewarn
197 ewarn "Bare in mind that not all Webmin modules are Gentoo tweaked and may have some issues."
198 ewarn "Always be careful when using modules that modify init entries, do update of webmin, install CPAN modules etc."
199 ewarn "To avoid problems, please before using any module, look at its configuration options first."
200 ewarn "(Usually there is a link at top in the right pane of Webmin for configuring the module.)"
201 ewarn
202 elog "- To make Webmin start at boot time, run: 'rc-update add webmin default'"
203 elog "- The default URL to connect to Webmin is: https://localhost:10000"
204 elog "- The default user that can login is: root"
205 elog "- To reconfigure Webmin in case of problems run 'emerge --config app-admin/webmin'"
206 }
207
208 pkg_prerm() {
209 # First stop service if running - we do not want Webmin to mess up config
210 ebegin "Stopping any running Webmin instance prior unmerging"
211 rc-service --ifexists -- webmin --ifstarted stop
212 eend $?
213 }
214
215 pkg_postrm() {
216 ewarn
217 ewarn "You have uninstalled Webmin, so have in mind that all cron jobs scheduled"
218 ewarn "by Webmin for its own modules, are left active and they will fail when Webmin is missing."
219 ewarn "To fix this just disable them if you intend to use Webmin again,"
220 ewarn "OR delete them if not."
221 ewarn
222 }
223
224 pkg_config(){
225 # First stop service if running
226 ebegin "Stopping any running Webmin instance"
227 rc-service --ifexists -- webmin --ifstarted stop
228 eend $?
229
230 # Next set the default reset variable to 'none'
231 # reset/_reset can be:
232 # 'none' - does not reset anything, just upgrades if a conf is present
233 # OR installs new conf if a conf is missing
234 # 'soft' - deletes only $config_dir/config file and thus resetting most
235 # conf values to their defaults. Keeps the specific Webmin cron jobs
236 # 'hard' - deletes all files in $config_dir (keeping the .keep_* Gentoo file)
237 # and thus resetting all Webmin. Deletes the specific Webmin cron jobs too.
238 local _reset="none"
239
240 # If in interactive mode ask user what should we do
241 if [[ "${INTERACTIVE}" = "yes" ]]; then
242 einfo
243 einfo "Please enter the number of the action you would like to perform?"
244 einfo
245 einfo "1. Update configuration"
246 einfo " (keeps old config options and adds the new ones)"
247 einfo "2. Soft reset configuration"
248 einfo " (keeps some old config options, the other options are set to default)"
249 ewarn " All Webmin users will be reset"
250 einfo "3. Hard reset configuration"
251 einfo " (all options including module options are set to default)"
252 ewarn " You will lose all Webmin configuration options you have done till now"
253 einfo "4. Exit this configuration utility (default)"
254 while [ "$correct" != "true" ] ; do
255 read answer
256 if [[ "$answer" = "1" ]] ; then
257 _reset="none"
258 correct="true"
259 elif [[ "$answer" = "2" ]] ; then
260 _reset="soft"
261 correct="true"
262 elif [[ "$answer" = "3" ]] ; then
263 _reset="hard"
264 correct="true"
265 elif [ "$answer" = "4" -o "$answer" = "" ] ; then
266 die "User aborted configuration."
267 else
268 echo "Answer not recognized. Enter a number from 1 to 4"
269 fi
270 done
271
272 if [[ "$_reset" = "hard" ]]; then
273 while [ "$sure" != "true" ] ; do
274 ewarn "You will lose all Webmin configuration options you have done till now."
275 ewarn "Are you sure you want to do this? (y/n)"
276 read answer
277 if [[ $answer =~ ^[Yy]([Ee][Ss])?$ ]] ; then
278 sure="true"
279 elif [[ $answer =~ ^[Nn]([Oo])?$ ]] ; then
280 die "User aborted configuration."
281 else
282 echo "Answer not recognized. Enter 'y' or 'n'"
283 fi
284 done
285 fi
286 fi
287
288 export reset=$_reset
289
290 # Create ssl certificate for Webmin if there is not one in the proper place
291 if [[ ! -e "${EROOT}etc/ssl/webmin/server.pem" ]]; then
292 SSL_ORGANIZATION="${SSL_ORGANIZATION:-Webmin Server}"
293 SSL_COMMONNAME="${SSL_COMMONNAME:-*}"
294 install_cert "${EROOT}/etc/ssl/webmin/server"
295 fi
296
297 # Ensure all paths passed to the setup script use EROOT
298 export wadir="${EROOT}usr/libexec/webmin"
299 export config_dir="${EROOT}etc/webmin"
300 export var_dir="${EROOT}var/log/webmin"
301 export tempdir="${T}"
302 export pidfile="${EROOT}var/run/webmin.pid"
303 export perl="$( which perl )"
304 export os_type='gentoo-linux'
305 export os_version='*'
306 export real_os_type='Gentoo Linux'
307 export real_os_version='Any version'
308 # Forcing 'ssl', 'ssl_redirect' and 'no_sslcompression' for tightening security
309 export ssl=1
310 export ssl_redirect=1
311 export no_sslcompression=1
312 export keyfile="${EROOT}etc/ssl/webmin/server.pem"
313 export port=10000
314
315 export atboot=0
316
317 einfo "Executing Webmin's configure script"
318 $wadir/gentoo-setup.sh
319
320 einfo "Configuration of Webmin done"
321 }