Install ceo daemon
authorMichael Spang <mspang@csclub.uwaterloo.ca>
Wed, 29 Jul 2009 15:25:13 +0000 (11:25 -0400)
committerMichael Spang <mspang@csclub.uwaterloo.ca>
Wed, 29 Jul 2009 15:35:32 +0000 (11:35 -0400)
We need to split into different packages for the daemon and clients.

20 files changed:
debian/.gitignore
debian/ceo-clients.manpages [new file with mode: 0644]
debian/ceo-common.dirs [new file with mode: 0644]
debian/ceo-common.install [new file with mode: 0644]
debian/ceo-daemon.dirs [new file with mode: 0644]
debian/ceo-daemon.install [new file with mode: 0644]
debian/ceo-gui.manpages [new file with mode: 0644]
debian/control
debian/dirs [deleted file]
debian/docs [deleted file]
debian/install [deleted file]
debian/manpages [deleted file]
debian/rules
etc/accounts.cf [new file with mode: 0644]
etc/accounts.cf.example [deleted file]
etc/kerberos.cf [new file with mode: 0644]
etc/kerberos.cf.example [deleted file]
etc/ldap.cf [new file with mode: 0644]
etc/ldap.cf.example [deleted file]
src/Makefile

index 5e861a7..ae1abc1 100644 (file)
@@ -1,5 +1,9 @@
 /ceo.substvars
-/ceo
+/ceo-common
+/ceo-clients
+/ceo-daemon
+/ceo-gui
 /files
 /*.debhelper
 /*.debhelper.log
+/*.substvars
diff --git a/debian/ceo-clients.manpages b/debian/ceo-clients.manpages
new file mode 100644 (file)
index 0000000..58109bc
--- /dev/null
@@ -0,0 +1,2 @@
+docs/addclub.1
+docs/addmember.1
diff --git a/debian/ceo-common.dirs b/debian/ceo-common.dirs
new file mode 100644 (file)
index 0000000..41eb93b
--- /dev/null
@@ -0,0 +1 @@
+etc/csc
diff --git a/debian/ceo-common.install b/debian/ceo-common.install
new file mode 100644 (file)
index 0000000..b17f7ba
--- /dev/null
@@ -0,0 +1 @@
+etc/accounts.cf etc/kerberos.cf etc/ldap.cf etc/csc
diff --git a/debian/ceo-daemon.dirs b/debian/ceo-daemon.dirs
new file mode 100644 (file)
index 0000000..46d4416
--- /dev/null
@@ -0,0 +1 @@
+etc/ldap/schema
diff --git a/debian/ceo-daemon.install b/debian/ceo-daemon.install
new file mode 100644 (file)
index 0000000..106cad9
--- /dev/null
@@ -0,0 +1 @@
+etc/csc.schema etc/ldap/schema
diff --git a/debian/ceo-gui.manpages b/debian/ceo-gui.manpages
new file mode 100644 (file)
index 0000000..cc4400f
--- /dev/null
@@ -0,0 +1 @@
+docs/ceo.1
index 46595da..0cf8410 100644 (file)
@@ -5,10 +5,29 @@ Maintainer: Systems Committee <syscom@csclub.uwaterloo.ca>
 Build-Depends: debhelper (>= 5.0.0), python-dev (>= 2.4), python-support (>= 0.3), libkrb5-dev, libldap2-dev, libsasl2-dev, libsctp-dev, libprotobuf-c0-dev, libacl1-dev
 Standards-Version: 3.8.2
 
-Package: ceo
+Package: ceo-common
+Architecture: all
+Description: Computer Science Club Common Files
+ This package contains the CSC Electronic Office
+ common files.
+
+Package: ceo-gui
+Architecture: all
+Depends: ceo-clients, python-ldap, python-urwid, python-sqlobject, python-psycopg2, ${python:Depends}, ${shlibs:Depends}
+Description: Computer Science Club Administrative GUI
+ This package contains the CSC Electronic Office
+ graphical user interface.
+
+Package: ceo-clients
+Architecture: any
+Depends: ceo-common, ${shlibs:Depends}
+Description: Computer Science Club Administrative Clients
+ This package contains the CSC Electronic Office
+ client programs.
+
+Package: ceo-daemon
 Architecture: any
-Depends: python-ldap, python-urwid, python-sqlobject, python-psycopg2, ${python:Depends}, ${shlibs:Depends}
-Description: Computer Science Club Administrative Utilities
+Depends: ceo-common, ${shlibs:Depends}
+Description: Computer Science Club Administrative Daemon
  This package contains the CSC Electronic Office
- and other Computer Science Club administrative
- programs.
+ daemon.
diff --git a/debian/dirs b/debian/dirs
deleted file mode 100644 (file)
index 281c9b5..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/bin
-etc/csc
-etc/ldap/schema
diff --git a/debian/docs b/debian/docs
deleted file mode 100644 (file)
index a188e06..0000000
+++ /dev/null
@@ -1 +0,0 @@
-docs/*
diff --git a/debian/install b/debian/install
deleted file mode 100644 (file)
index 31aaae0..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-etc/accounts.cf.example etc/kerberos.cf.example etc/ldap.cf.example etc/csc
-etc/csc.schema etc/ldap/schema
diff --git a/debian/manpages b/debian/manpages
deleted file mode 100644 (file)
index afc0dc3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-docs/*.[0-9]
index 2c1caf1..fbd2693 100755 (executable)
@@ -18,13 +18,14 @@ install: build
        dh_testdir
        dh_testroot
        dh_installdirs
-       python setup.py -q install --no-compile -O0 --root=debian/ceo
-       $(MAKE) -C src DESTDIR=$(CURDIR)/debian/ceo PREFIX=/usr install
-       
+       python setup.py -q install --no-compile -O0 --root=debian/ceo-gui
+       $(MAKE) -C src DESTDIR=$(CURDIR)/debian/ceo-clients PREFIX=/usr install_clients
+       $(MAKE) -C src DESTDIR=$(CURDIR)/debian/ceo-daemon PREFIX=/usr install_daemon
+
 binary-arch: build install
        dh_testdir
        dh_testroot
-       dh_installchangelogs 
+       dh_installchangelogs
        dh_installdocs
        dh_installexamples
        dh_install
diff --git a/etc/accounts.cf b/etc/accounts.cf
new file mode 100644 (file)
index 0000000..a9b9819
--- /dev/null
@@ -0,0 +1,46 @@
+# /etc/csc/accounts.cf: CSC Accounts Configuration
+
+include /etc/csc/ldap.cf
+include /etc/csc/kerberos.cf
+
+### Member Account Options ###
+
+member_min_id = 20001
+member_max_id = 29999
+member_shell = "/bin/bash"
+member_home = "/users"
+#member_home_acl = "u::rwx,g::rx,o::rx"
+#member_home_dacl =
+member_home_acl =
+
+### Club Account Options ###
+
+club_min_id = 30001
+club_max_id = 39999
+club_shell = "/bin/bash"
+club_home = "/users"
+club_home_acl = "A+group:%s:rwpRAxaWdDcCs:fd:allow"
+
+### Administrative Account Options
+
+admin_min_id = 10001
+admin_max_id = 19999
+admin_shell = "/bin/bash"
+admin_home = "/users"
+
+### Home Directory Options ###
+
+skeleton_dir = "/users/skel"
+homedir_mode = "0755"
+refquota = "4G"
+
+### Validation Tuning ###
+
+username_regex = "^[a-z][-a-z0-9]*$"
+min_password_length = 4
+shells_file = "/etc/shells"
+privileged_group = "staff"
+notify_hook = "/etc/csc/notify-hook"
+expired_account_email = "/etc/csc/expired-account"
+mathsoc_regex = ".*(mat/|vpa/se|computer science|math).*"
+mathsoc_dont_count = "cpdohert dlgawley dtbartle mbiggs saforres tmyklebu"
diff --git a/etc/accounts.cf.example b/etc/accounts.cf.example
deleted file mode 100644 (file)
index a9b9819..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-# /etc/csc/accounts.cf: CSC Accounts Configuration
-
-include /etc/csc/ldap.cf
-include /etc/csc/kerberos.cf
-
-### Member Account Options ###
-
-member_min_id = 20001
-member_max_id = 29999
-member_shell = "/bin/bash"
-member_home = "/users"
-#member_home_acl = "u::rwx,g::rx,o::rx"
-#member_home_dacl =
-member_home_acl =
-
-### Club Account Options ###
-
-club_min_id = 30001
-club_max_id = 39999
-club_shell = "/bin/bash"
-club_home = "/users"
-club_home_acl = "A+group:%s:rwpRAxaWdDcCs:fd:allow"
-
-### Administrative Account Options
-
-admin_min_id = 10001
-admin_max_id = 19999
-admin_shell = "/bin/bash"
-admin_home = "/users"
-
-### Home Directory Options ###
-
-skeleton_dir = "/users/skel"
-homedir_mode = "0755"
-refquota = "4G"
-
-### Validation Tuning ###
-
-username_regex = "^[a-z][-a-z0-9]*$"
-min_password_length = 4
-shells_file = "/etc/shells"
-privileged_group = "staff"
-notify_hook = "/etc/csc/notify-hook"
-expired_account_email = "/etc/csc/expired-account"
-mathsoc_regex = ".*(mat/|vpa/se|computer science|math).*"
-mathsoc_dont_count = "cpdohert dlgawley dtbartle mbiggs saforres tmyklebu"
diff --git a/etc/kerberos.cf b/etc/kerberos.cf
new file mode 100644 (file)
index 0000000..19ad876
--- /dev/null
@@ -0,0 +1,5 @@
+# /etc/csc/kerberos.cf: CSC Kerberos Administration Configuration
+
+realm = "CSCLUB.UWATERLOO.CA"
+admin_principal = "ceo/admin@CSCLUB.UWATERLOO.CA"
+admin_keytab = "/etc/csc/ceo.keytab"
diff --git a/etc/kerberos.cf.example b/etc/kerberos.cf.example
deleted file mode 100644 (file)
index 19ad876..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# /etc/csc/kerberos.cf: CSC Kerberos Administration Configuration
-
-realm = "CSCLUB.UWATERLOO.CA"
-admin_principal = "ceo/admin@CSCLUB.UWATERLOO.CA"
-admin_keytab = "/etc/csc/ceo.keytab"
diff --git a/etc/ldap.cf b/etc/ldap.cf
new file mode 100644 (file)
index 0000000..29755da
--- /dev/null
@@ -0,0 +1,14 @@
+# /etc/csc/ldap.cf: CSC LDAP Configuration
+
+server_url = "ldaps:///"
+
+users_base  = "ou=People,dc=csclub,dc=uwaterloo,dc=ca"
+groups_base = "ou=Group,dc=csclub,dc=uwaterloo,dc=ca"
+sudo_base = "ou=SUDOers,dc=csclub,dc=uwaterloo,dc=ca"
+
+admin_bind_dn =
+admin_bind_keytab = "/etc/csc/ceo.keytab"
+admin_bind_userid = "ceo"
+
+sasl_mech = "GSSAPI"
+sasl_realm = "CSCLUB.UWATERLOO.CA"
diff --git a/etc/ldap.cf.example b/etc/ldap.cf.example
deleted file mode 100644 (file)
index 29755da..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# /etc/csc/ldap.cf: CSC LDAP Configuration
-
-server_url = "ldaps:///"
-
-users_base  = "ou=People,dc=csclub,dc=uwaterloo,dc=ca"
-groups_base = "ou=Group,dc=csclub,dc=uwaterloo,dc=ca"
-sudo_base = "ou=SUDOers,dc=csclub,dc=uwaterloo,dc=ca"
-
-admin_bind_dn =
-admin_bind_keytab = "/etc/csc/ceo.keytab"
-admin_bind_userid = "ceo"
-
-sasl_mech = "GSSAPI"
-sasl_realm = "CSCLUB.UWATERLOO.CA"
index 08aaa69..7d32aef 100644 (file)
@@ -48,11 +48,17 @@ config-test: config-test.o parser.o
 
 config.o: config.h config-vars.h
 
-install:
-       install -d $(DESTDIR)$(PREFIX)/sbin $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/lib/ceod
-       install ceod $(DESTDIR)$(PREFIX)/sbin
+install_clients:
+       install -d $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/lib/ceod
        install addmember addclub $(DESTDIR)$(PREFIX)/bin
-       install ceoc op-adduser $(DESTDIR)$(PREFIX)/lib/ceod
+       install ceoc $(DESTDIR)$(PREFIX)/lib/ceod
+
+install_daemon:
+       install -d $(DESTDIR)$(PREFIX)/sbin $(DESTDIR)$(PREFIX)/lib/ceod
+       install ceod $(DESTDIR)$(PREFIX)/sbin
+       install op-adduser $(DESTDIR)$(PREFIX)/lib/ceod
+
+install: install_clients install_daemon
 
 $(NET_PROGS):    LDLIBS += $(NET_LIBS)
 $(NET_PROGS):    $(NET_OBJECTS)