aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/mail/blessmail.el58
1 files changed, 58 insertions, 0 deletions
diff --git a/lisp/mail/blessmail.el b/lisp/mail/blessmail.el
new file mode 100644
index 00000000000..0218ec74981
--- /dev/null
+++ b/lisp/mail/blessmail.el
@@ -0,0 +1,58 @@
1;;; blessmail.el --- Decide whether movemail needs special privileges.
2
3;;; Copyright (C) 1994 Free Software Foundation, Inc.
4
5;; Maintainer: FSF
6;; Keywords: internal
7
8;; This file is part of GNU Emacs.
9
10;; GNU Emacs is free software; you can redistribute it and/or modify
11;; it under the terms of the GNU General Public License as published by
12;; the Free Software Foundation; either version 2, or (at your option)
13;; any later version.
14
15;; GNU Emacs is distributed in the hope that it will be useful,
16;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;; GNU General Public License for more details.
19
20;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs; see the file COPYING. If not, write to
22;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
23
24;;; Commentary:
25
26;; This is loaded into a bare Emacs to create the blessmail script,
27;; which (on systems that need it) is used during installation
28;; to give appropriate permissions to movemail.
29;;
30;; It has to be done from lisp in order to be sure of getting the
31;; correct value of rmail-spool-directory.
32
33;;; Code:
34
35(message "Using load-path %s" load-path)
36(load "paths.el")
37(load "site-init" t)
38
39(let ((attr (file-attributes rmail-spool-directory))
40 modes)
41 (or (eq t (car attr))
42 (error "%s is not a directory" rmail-spool-directory))
43 (setq modes (nth 8 attr))
44 (cond
45 ((= ?w (aref modes 8))
46 nil)
47 ((= ?w (aref modes 5))
48 (insert "chgrp " (number-to-string (nth 3 attr))
49 " $* && chmod g+s $*\n"))
50 ((= ?w (aref modes 2))
51 (insert "chown " (number-to-string (nth 2 attr))
52 " $* && chmod u+s $*\n"))
53 (t
54 (insert "chown root $* && chmod u+s $*\n"))))
55(write-region (point-min) (point-max) "blessmail")
56(kill-emacs)
57
58;;; blessmail.el ends here