Просмотр исходного кода

Command to remove a mailing list folder

Bob Mottram 10 лет назад
Родитель
Сommit
11d451742f
15 измененных файлов: 79 добавлений и 5 удалений
  1. 4
    0
      Makefile
  2. 1
    0
      debian/source/include-binaries
  3. Двоичные данные
      man/freedombone-addcert.1.gz
  4. Двоичные данные
      man/freedombone-addemail.1.gz
  5. Двоичные данные
      man/freedombone-addlist.1.gz
  6. Двоичные данные
      man/freedombone-client.1.gz
  7. Двоичные данные
      man/freedombone-config.1.gz
  8. Двоичные данные
      man/freedombone-prep.1.gz
  9. Двоичные данные
      man/freedombone-remote.1.gz
  10. Двоичные данные
      man/freedombone-renew-cert.1.gz
  11. Двоичные данные
      man/freedombone-rmlist.1.gz
  12. Двоичные данные
      man/freedombone-sec.1.gz
  13. Двоичные данные
      man/freedombone.1.gz
  14. 7
    5
      src/freedombone-addlist
  15. 67
    0
      src/freedombone-rmlist

+ 4
- 0
Makefile Просмотреть файл

@@ -20,6 +20,7 @@ install:
20 20
 	install -m 755 src/${APP}-addlist ${DESTDIR}${PREFIX}/bin
21 21
 	install -m 755 src/${APP}-addemail ${DESTDIR}${PREFIX}/bin
22 22
 	install -m 755 src/${APP}-renew-cert ${DESTDIR}${PREFIX}/bin
23
+	install -m 755 src/${APP}-rmlist ${DESTDIR}${PREFIX}/bin
23 24
 	mkdir -m 755 -p ${DESTDIR}${PREFIX}/share/man/man1
24 25
 	install -m 644 man/${APP}.1.gz ${DESTDIR}${PREFIX}/share/man/man1
25 26
 	install -m 644 man/${APP}-prep.1.gz ${DESTDIR}${PREFIX}/share/man/man1
@@ -31,6 +32,7 @@ install:
31 32
 	install -m 644 man/${APP}-addlist.1.gz ${DESTDIR}${PREFIX}/share/man/man1
32 33
 	install -m 644 man/${APP}-addemail.1.gz ${DESTDIR}${PREFIX}/share/man/man1
33 34
 	install -m 644 man/${APP}-renew-cert.1.gz ${DESTDIR}${PREFIX}/share/man/man1
35
+	install -m 644 man/${APP}-rmlist.1.gz ${DESTDIR}${PREFIX}/share/man/man1
34 36
 uninstall:
35 37
 	rm -f ${PREFIX}/share/man/man1/${APP}.1.gz
36 38
 	rm -f ${PREFIX}/share/man/man1/${APP}-prep.1.gz
@@ -42,6 +44,7 @@ uninstall:
42 44
 	rm -f ${PREFIX}/share/man/man1/${APP}-addlist.1.gz
43 45
 	rm -f ${PREFIX}/share/man/man1/${APP}-addemail.1.gz
44 46
 	rm -f ${PREFIX}/share/man/man1/${APP}-renew-cert.1.gz
47
+	rm -f ${PREFIX}/share/man/man1/${APP}-rmlist.1.gz
45 48
 	rm -rf ${PREFIX}/share/${APP}
46 49
 	rm -f ${PREFIX}/bin/${APP}
47 50
 	rm -f ${PREFIX}/bin/${APP}-prep
@@ -53,6 +56,7 @@ uninstall:
53 56
 	rm -f ${PREFIX}/bin/${APP}-addlist
54 57
 	rm -f ${PREFIX}/bin/${APP}-addemail
55 58
 	rm -f ${PREFIX}/bin/${APP}-renew-cert
59
+	rm -f ${PREFIX}/bin/${APP}-rmlist
56 60
 clean:
57 61
 	rm -f \#* \.#* debian/*.substvars debian/*.log
58 62
 	rm -fr deb.* debian/${APP}

+ 1
- 0
debian/source/include-binaries Просмотреть файл

@@ -8,3 +8,4 @@ man/freedombone-addcert.1.gz
8 8
 man/freedombone-addlist.1.gz
9 9
 man/freedombone-addemail.1.gz
10 10
 man/freedombone-renew-cert.1.gz
11
+man/freedombone-rmlist.1.gz

Двоичные данные
man/freedombone-addcert.1.gz Просмотреть файл


Двоичные данные
man/freedombone-addemail.1.gz Просмотреть файл


Двоичные данные
man/freedombone-addlist.1.gz Просмотреть файл


Двоичные данные
man/freedombone-client.1.gz Просмотреть файл


Двоичные данные
man/freedombone-config.1.gz Просмотреть файл


Двоичные данные
man/freedombone-prep.1.gz Просмотреть файл


Двоичные данные
man/freedombone-remote.1.gz Просмотреть файл


Двоичные данные
man/freedombone-renew-cert.1.gz Просмотреть файл


Двоичные данные
man/freedombone-rmlist.1.gz Просмотреть файл


Двоичные данные
man/freedombone-sec.1.gz Просмотреть файл


Двоичные данные
man/freedombone.1.gz Просмотреть файл


+ 7
- 5
src/freedombone-addlist Просмотреть файл

@@ -79,11 +79,13 @@ if [ ! -d "$LISTDIR" ]; then
79 79
 fi
80 80
 
81 81
 chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR
82
-echo "" >> $PM
83
-echo ":0" >> $PM
84
-echo "  * ^Subject:.*()\[$SUBJECTTAG\]" >> $PM
85
-echo "$LISTDIR/new" >> $PM
86
-chown $MYUSERNAME:$MYUSERNAME $PM
82
+if ! grep -q "$LISTDIR/new" $PM; then
83
+    echo "" >> $PM
84
+    echo ":0" >> $PM
85
+    echo "  * ^Subject:.*()\[$SUBJECTTAG\]" >> $PM
86
+    echo "$LISTDIR/new" >> $PM
87
+    chown $MYUSERNAME:$MYUSERNAME $PM
88
+fi
87 89
 
88 90
 if [ ! -f "$MUTTRC" ]; then
89 91
     cp /etc/Muttrc $MUTTRC

+ 67
- 0
src/freedombone-rmlist Просмотреть файл

@@ -0,0 +1,67 @@
1
+#!/bin/bash
2
+
3
+# Removes a mailing list to the email configuration
4
+
5
+# License
6
+# =======
7
+#
8
+# Copyright (C) 2015 Bob Mottram <bob@robotics.uk.to>
9
+#
10
+# This program 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 3 of the License, or
13
+# (at your option) any later version.
14
+#
15
+# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+MYUSERNAME=$USER
24
+MAILINGLIST=
25
+
26
+function show_help {
27
+    echo ''
28
+    echo 'freedombone-rmlist -u [username] -l [mailing list name]'
29
+    echo ''
30
+    exit 0
31
+}
32
+
33
+while [[ $# > 1 ]]
34
+do
35
+key="$1"
36
+
37
+case $key in
38
+    -h|--help)
39
+    show_help
40
+    ;;
41
+    -u|--user)
42
+    shift
43
+    MYUSERNAME="$1"
44
+    ;;
45
+    -l|--list)
46
+    shift
47
+    MAILINGLIST="$1"
48
+    ;;
49
+    *)
50
+    # unknown option
51
+    ;;
52
+esac
53
+shift
54
+done
55
+
56
+if ! [[ $MYUSERNAME && $MAILINGLIST ]]; then
57
+    show_help
58
+fi
59
+
60
+MUTTRC=/home/$MYUSERNAME/.muttrc
61
+MUTT_MAILBOXES=$(grep "mailboxes =" $MUTTRC)
62
+if [[ $MUTT_MAILBOXES == *$MAILINGLIST* ]]; then
63
+    sed -i "s| =$MAILINGLIST||g" $MUTTRC
64
+    chown $MYUSERNAME:$MYUSERNAME $MUTTRC
65
+fi
66
+
67
+exit 0