* calendar/todo-mode.el: Fix two bugs.
[bpt/emacs.git] / lisp / mail / blessmail.el
CommitLineData
0a10297a 1;;; blessmail.el --- decide whether movemail needs special privileges -*- no-byte-compile: t -*-
9a8efe67 2
ba318903 3;; Copyright (C) 1994, 2001-2014 Free Software Foundation, Inc.
9a8efe67 4
34dc21db 5;; Maintainer: emacs-devel@gnu.org
9a8efe67 6;; Keywords: internal
bd78fa1d 7;; Package: emacs
9a8efe67
KH
8
9;; This file is part of GNU Emacs.
10
b1fc2b50 11;; GNU Emacs is free software: you can redistribute it and/or modify
9a8efe67 12;; it under the terms of the GNU General Public License as published by
b1fc2b50
GM
13;; the Free Software Foundation, either version 3 of the License, or
14;; (at your option) any later version.
9a8efe67
KH
15
16;; GNU Emacs is distributed in the hope that it will be useful,
17;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19;; GNU General Public License for more details.
20
21;; You should have received a copy of the GNU General Public License
b1fc2b50 22;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
9a8efe67
KH
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
df8af8a8
RS
35;; These are no longer needed because we run this in emacs instead of temacs.
36;; (message "Using load-path %s" load-path)
37;; (load "paths.el")
38;; It is not safe to load site-init.el here, because it might have things in it
39;; that won't load properly unless all the rest of Emacs is loaded.
9a8efe67 40
b207d6b3
KH
41(let ((dirname (directory-file-name rmail-spool-directory))
42 linkname attr modes)
8f3016f5
KH
43 ;; Check for symbolic link
44 (while (setq linkname (file-symlink-p dirname))
45 (setq dirname (if (file-name-absolute-p linkname)
46 linkname
47 (concat (file-name-directory dirname) linkname))))
a6115fe2 48 (insert "#!/bin/sh\n")
dd033991
RS
49 (setq attr (file-attributes dirname))
50 (if (not (eq t (car attr)))
51 (insert (format "echo %s is not a directory\n" rmail-spool-directory))
52 (setq modes (nth 8 attr))
53 (cond ((= ?w (aref modes 8))
54 ;; Nothing needs to be done.
55 )
56 ((= ?w (aref modes 5))
57 (insert "chgrp " (number-to-string (nth 3 attr))
58 " $* && chmod g+s $*\n"))
59 ((= ?w (aref modes 2))
60 (insert "chown " (number-to-string (nth 2 attr))
61 " $* && chmod u+s $*\n"))
62 (t
63 (insert "chown root $* && chmod u+s $*\n"))))
df8af8a8 64 (insert "echo mail directory = " dirname "\n"))
9a8efe67
KH
65(write-region (point-min) (point-max) "blessmail")
66(kill-emacs)
67
68;;; blessmail.el ends here