Patch from Paul Hampson to clean up Debian packaging
authorwichert <wichert>
Wed, 30 Apr 2003 11:37:16 +0000 (11:37 +0000)
committerwichert <wichert>
Wed, 30 Apr 2003 11:37:16 +0000 (11:37 +0000)
16 files changed:
debian/control
debian/initscript
debian/radius-ldap.postinst [moved from debian/radiusd-freeradius-ldap.postinst with 100% similarity]
debian/radius-ldap.prerm [moved from debian/radiusd-freeradius-postgresql.prerm with 100% similarity]
debian/radius-mysql.postinst [moved from debian/radiusd-freeradius-postgresql.postinst with 100% similarity]
debian/radius-mysql.prerm [moved from debian/radiusd-freeradius-mysql.prerm with 100% similarity]
debian/radius-postgresql.postinst [moved from debian/radiusd-freeradius-mysql.postinst with 100% similarity]
debian/radius-postgresql.prerm [moved from debian/radiusd-freeradius-ldap.prerm with 100% similarity]
debian/radius.dirs [moved from debian/radiusd-freeradius.dirs with 64% similarity]
debian/radius.postinst [new file with mode: 0755]
debian/radius.postrm [moved from debian/radiusd-freeradius.postrm with 77% similarity]
debian/radius.prerm [moved from debian/radiusd-freeradius.prerm with 62% similarity]
debian/radius.undocumented [moved from debian/radiusd-freeradius.undocumented with 100% similarity]
debian/radiusd-freeradius.conffiles [deleted file]
debian/radiusd-freeradius.postinst [deleted file]
debian/rules

index fdad29c..ff5904d 100644 (file)
@@ -1,16 +1,16 @@
-Source: radiusd-freeradius
+Source: freeradius
 Build-Depends: debhelper, libltdl3-dev | libltdl0-dev, libpam0g-dev, postgresql-dev, libmysqlclient10-dev, libgdbmg1-dev, libldap2-dev, libsasl-dev, libsnmp4.2-dev, libiodbc2-dev, libkrb5-dev, libssl-dev, libtool, snmp, autoconf
 Section: net
 Priority: optional
 Maintainer: Chad Miller <cmiller@debian.org>
 Standards-Version: 3.5.7
 
-Package: radiusd-freeradius
+Package: freeradius
 Architecture: any
 Depends: ${shlibs:Depends}
 Recommends: logrotate
 Provides: radius-server
-Suggests: radiusd-freeradius-ldap, radiusd-freeradius-postgresql, radiusd-freeradius-mysql, radiusd-freeradius-krb5
+Suggests: freeradius-ldap, freeradius-postgresql, freeradius-mysql, freeradius-krb5
 Description: A high-performance and highly configurable RADIUS server
  A high-performance RADIUS server derived from Cistron's server, and
  generally similar to Livingston's 2.0 server, with support for...
@@ -21,30 +21,30 @@ Description: A high-performance and highly configurable RADIUS server
   - regexp matching in string attributes
  and lots more.
 
-Package: radiusd-freeradius-krb5
+Package: freeradius-krb5
 Architecture: any
-Depends: radiusd-freeradius, ${shlibs:Depends}
+Depends: freeradius, ${shlibs:Depends}
 Description: Kerberos module for FreeRADIUS server.
  The FreeRADIUS server can use Kerberos to authenticate users, and this module
  is necessary for that.
 
-Package: radiusd-freeradius-ldap
+Package: freeradius-ldap
 Architecture: any
-Depends: radiusd-freeradius, ${shlibs:Depends}
+Depends: freeradius, ${shlibs:Depends}
 Description: LDAP module for FreeRADIUS server.
  The FreeRADIUS server can use LDAP to authenticate users, and this module
  is necessary for that.
 
-Package: radiusd-freeradius-postgresql
+Package: freeradius-postgresql
 Architecture: any
-Depends: radiusd-freeradius, ${shlibs:Depends}
+Depends: freeradius, ${shlibs:Depends}
 Description: PostgreSQL module for FreeRADIUS server.
  The FreeRADIUS server can use PostgreSQL to authenticate users and do
  accounting, and this module is necessary for that.
 
-Package: radiusd-freeradius-mysql
+Package: freeradius-mysql
 Architecture: any
-Depends: radiusd-freeradius, ${shlibs:Depends}
+Depends: freeradius, ${shlibs:Depends}
 Description: MySQL module for FreeRADIUS server.
  The FreeRADIUS server can use MySQL to authenticate users and do accounting,
  and this module is necessary for that.
index ce14137..51fd4a4 100755 (executable)
@@ -3,9 +3,9 @@
 
 set -u
 
-prog="radiusd"
-program="/usr/sbin/freeradiusd"
-pidfile="/var/run/radiusd-freeradius/radiusd.pid"
+prog="freeradius"
+program="/usr/sbin/freeradius"
+pidfile="/var/run/freeradius/freeradius.pid"
 descr="FreeRADIUS daemon"
 
 test -f $program || exit 0
@@ -30,10 +30,10 @@ restart) echo -n "Restarting $descr: "
         ;;
 reload|force-reload) 
                echo -n "Reloading configuration files for $descr"
-               killall -HUP radiusd
+               killall -HUP $prog
         echo "."
         ;;
-*)     echo "Usage: /etc/init.d/radiusd start|stop|restart|reload|force-reload"
+*)     echo "Usage: /etc/init.d/freeradius start|stop|restart|reload|force-reload"
         exit 1 
         ;;
 esac
similarity index 64%
rename from debian/radiusd-freeradius.dirs
rename to debian/radius.dirs
index 55bfabb..10b3702 100644 (file)
@@ -1,20 +1,21 @@
 etc/
-etc/raddb
-etc/cron.daily
-etc/cron.monthly
+etc/freeradius
 etc/init.d
 usr/
+usr/bin
+usr/lib
+usr/lib/freeradius
 usr/share
+usr/share/doc
+usr/share/doc/freeradius
 usr/share/man/
 usr/share/man/man1
 usr/share/man/man5
 usr/share/man/man8
-usr/share/doc
-usr/share/doc/radiusd-freeradius
+usr/share/freeradius
 usr/sbin
-usr/bin
-usr/lib
-usr/lib/freeradius
 var/
 var/log
+var/log/freeradius
 var/run
+var/run/freeradius
diff --git a/debian/radius.postinst b/debian/radius.postinst
new file mode 100755 (executable)
index 0000000..d134cb6
--- /dev/null
@@ -0,0 +1,53 @@
+#! /bin/sh
+
+set -e
+
+case "$1" in
+  configure)
+
+       addgroup --system freerad || true
+       groups freerad 2>/dev/null || adduser --system --no-create-home --home /etc/freeradius --ingroup freerad --disabled-password freerad
+
+       # make sure there is a user and group 'freerad'
+       groups freerad |grep freerad >/dev/null
+
+       # put user freerad in group shadow, so the daemon can auth locally
+       usermod -G shadow freerad
+
+       update-rc.d freeradius defaults 50 >/dev/null
+
+       if [ ! -d /var/log/freeradius ]; then
+               mkdir -p /var/log/freeradius
+       fi
+
+       if [ ! -f /var/log/freeradius/radius.log ]; then
+               touch /var/log/freeradius/radius.log
+       fi
+
+       if [ ! -f /var/log/freeradius/radwtmp ]; then
+               touch /var/log/freeradius/radwtmp
+       fi
+
+       if [ ! -d /var/run/freeradius ]; then
+               mkdir /var/run/freeradius
+       fi
+
+       chown freerad:freerad /var/run/freeradius
+
+       find /etc/freeradius -type f -exec chgrp freerad {} \; -exec chmod 660 {} \;
+       find /etc/freeradius -type d -exec chgrp freerad {} \; -exec chmod 2770 {} \;
+       find /var/log/freeradius -exec chown freerad {} \; -exec chgrp freerad {} \;
+
+       /etc/init.d/freeradius start
+       ;;
+  abort-upgrade)
+       ;;
+  abort-remove)
+       ;;
+  abort-deconfigure)
+       ;;
+esac
+
+#DEBHELPER#
+
+exit 0
similarity index 77%
rename from debian/radiusd-freeradius.postrm
rename to debian/radius.postrm
index dbd6d8c..546ae91 100755 (executable)
@@ -12,18 +12,18 @@ case "$1" in
        remove)
                ;;
        purge)
-               if [ -d /var/log/radiusd-freeradius ] 
+               if [ -d /var/log/freeradius ] 
                then
-                       cd /var/log/radiusd-freeradius
+                       cd /var/log/freeradius
                        rm -f radius.log radius.log.* radius.log.*.gz
                        rm -f radwtmp radwtmp.* radwtmp.*.gz
                        rm -f radutmp radwatch.log
                        test -d radacct && rm -rf radacct
 
                        cd /var/log
-                       rm -rf /var/log/radiusd-freeradius
+                       rm -rf /var/log/freeradius
                fi
-               rm -rf /etc/raddb
+               rm -rf /etc/freeradius
                deluser freerad shadow || true
                deluser freerad || true
                ;;
similarity index 62%
rename from debian/radiusd-freeradius.prerm
rename to debian/radius.prerm
index d9a1168..fc271e4 100755 (executable)
@@ -15,12 +15,7 @@ esac
 
 if [ "$1" = "upgrade" -o  "$1" = "remove" ]
 then
-       if [ -L /usr/doc/radiusd-freeradius ]
-       then
-               rm -f /usr/doc/radiusd-freeradius
-       fi
        /etc/init.d/freeradius stop
-       rm -rf /var/run/radiusd-freeradius
 fi
 
 exit 0
diff --git a/debian/radiusd-freeradius.conffiles b/debian/radiusd-freeradius.conffiles
deleted file mode 100644 (file)
index 9ad6142..0000000
+++ /dev/null
@@ -1 +0,0 @@
-etc/init.d/freeradius
diff --git a/debian/radiusd-freeradius.postinst b/debian/radiusd-freeradius.postinst
deleted file mode 100755 (executable)
index 4f3ebb6..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#! /bin/sh
-
-set -e
-
-case "$1" in
-  configure)
-
-       addgroup --system freerad || true
-       groups freerad 2>/dev/null || adduser --system --no-create-home --home /etc/raddb --ingroup freerad --disabled-password freerad
-
-       # make sure there is a user and group 'freerad'
-       groups freerad |grep freerad >/dev/null
-
-       # put user freerad in group shadow, so the daemon can auth locally
-       usermod -G shadow freerad
-
-       update-rc.d freeradius defaults 50 >/dev/null
-
-       if [ ! -d /var/log/radiusd-freeradius ]; then
-               mkdir -p /var/log/radiusd-freeradius
-       fi
-
-       if [ ! -f /var/log/radiusd-freeradius/radius.log ]; then
-               touch /var/log/radiusd-freeradius/radius.log
-       fi
-
-       if [ ! -f /var/log/radiusd-freeradius/radwtmp ]; then
-               touch /var/log/radiusd-freeradius/radwtmp
-       fi
-
-       if [ ! -d /var/run/radiusd-freeradius ]; then
-               mkdir /var/run/radiusd-freeradius
-               chown freerad:freerad /var/run/radiusd-freeradius
-       fi
-
-       find /etc/raddb -type f -exec chgrp freerad {} \; -exec chmod 660 {} \;
-       find /etc/raddb -type d -exec chgrp freerad {} \; -exec chmod 2770 {} \;
-       find /var/log/radiusd-freeradius -exec chown freerad {} \; -exec chgrp freerad {} \;
-
-       /etc/init.d/freeradius start
-       ;;
-  abort-upgrade)
-       ;;
-  abort-remove)
-       ;;
-  abort-deconfigure)
-       ;;
-esac
-
-#DEBHELPER#
-
-exit 0
index b5f3929..e84fa01 100755 (executable)
@@ -9,13 +9,13 @@ export DH_COMPAT
 
 package                = freeradius
 debiandir      = $(shell pwd)/debian
-radiusd_freeradius_dir     = $(debiandir)/radiusd-freeradius
+radiusd_freeradius_dir     = $(debiandir)/$(package)
 
 mandir         = /usr/share/man
-libdir         = /usr/lib/freeradius
-logdir         = /var/log/radiusd-freeradius
-pkgdocdir      = /usr/share/doc/radiusd-freeradius
-raddbdir       = /etc/raddb
+libdir         = /usr/lib/$(package)
+logdir         = /var/log/$(package)
+pkgdocdir      = /usr/share/doc/$(package)
+raddbdir       = /etc/$(package)
 
 build:
 # Builds the binary package.
@@ -28,8 +28,21 @@ build:
                --sysconfdir=/etc \
                --libdir=$(libdir) \
                --datadir=/usr/share \
-               --with-logdir=/var/log/radiusd-freeradius \
+               --localstatedir=/var \
+               --with-raddbdir=$(raddbdir) \
+               --with-logdir=/var/log/$(package) \
                --with-thread-pool --with-system-libtool --enable-ltdl-install=no --enable-strict-dependencies
+       
+       # Modify Make.inc for Debian...
+       TEMPFILE=`mktemp /tmp/radmake-XXXXXX`; \
+       cp Make.inc $$TEMPFILE; \
+       cat $$TEMPFILE \
+               | sed -e 's!${localstatedir}/run/radiusd!${localstatedir}/run/freeradius!' \
+                       > Make.inc; \
+       rm $$TEMPFILE
+#              This is currently a NOP
+#              | sed -e 's!$(datadir)/freeradius!$(datadir)/freeradius!' \
+
        make
        touch build
 
@@ -43,41 +56,60 @@ binary-arch: build
        make install R=$(radiusd_freeradius_dir)
 
        # rename radius binary to play nicely with others
-       mv $(radiusd_freeradius_dir)/usr/sbin/radiusd $(radiusd_freeradius_dir)/usr/sbin/freeradiusd 
-       ln -s freeradiusd $(radiusd_freeradius_dir)/usr/sbin/radiusd
+       mv $(radiusd_freeradius_dir)/usr/sbin/radiusd $(radiusd_freeradius_dir)/usr/sbin/$(package)
+#      Surely this should be alternatives, if /usr/sbin/radiusd is needed at all?
+#      ln -s freeradiusd $(radiusd_freeradius_dir)/usr/sbin/radiusd
 
        # clean up install cruft.  $$&@!%
        rm $(radiusd_freeradius_dir)/usr/sbin/rc.radiusd
-       test ! -d $(radiusd_freeradius_dir)/var/run/radiusd || rmdir $(radiusd_freeradius_dir)/var/run/radiusd
+#      test ! -d $(radiusd_freeradius_dir)/var/run/radiusd || rmdir $(radiusd_freeradius_dir)/var/run/radiusd
+#      test ! -d $(radiusd_freeradius_dir)/usr/lib/freeradius || rmdir $(radiusd_freeradius_dir)/usr/lib/freeradius
+       test ! -d $(radiusd_freeradius_dir)/etc/raddb || rmdir $(radiusd_freeradius_dir)/etc/raddb
+       test ! -d $(radiusd_freeradius_dir)/var/log/radius/radacct || rmdir $(radiusd_freeradius_dir)/var/log/radius/radacct
+       test ! -d $(radiusd_freeradius_dir)/var/log/radius || rmdir $(radiusd_freeradius_dir)/var/log/radius
+#      Yuck! the makefile in doc/ does this.
+       rm -rf $(radiusd_freeradius_dir)/usr/share/doc/freeradius-0.9-pre
 
        # split out inconvenient/controversal modules to other places
        for modname in krb5 ldap mysql postgresql; do \
-               mkdir -p $(debiandir)/radiusd-freeradius-$${modname}/$(libdir); \
-               mv $(radiusd_freeradius_dir)/$(libdir)/rlm*_$${modname}* $(debiandir)/radiusd-freeradius-$${modname}/$(libdir)/; \
+               mkdir -p $(debiandir)/$(package)-$${modname}/$(libdir); \
+               mv $(radiusd_freeradius_dir)/$(libdir)/rlm*_$${modname}* $(debiandir)/$(package)-$${modname}/$(libdir)/; \
        done
 
        # man pages & docs
-       dh_undocumented 
+#      Deprecated.. Woody backport _should_ enable this.
+#      dh_undocumented 
        install -g root -m 644 CREDITS $(radiusd_freeradius_dir)/$(pkgdocdir)/credits
-       dh_installdocs `find doc -type f -maxdepth 1 ! -path doc/ChangeLog`
+       dh_installdocs -XChangeLog -X00-OLD -XCVS doc/*
        dh_installdocs `find src/modules/rlm_sql/drivers -type f -name \*.sql`
-       #dh_installchangelogs doc/ChangeLog
+       dh_installchangelogs doc/ChangeLog
        dh_compress
 
        # supporting programs
-       dh_installlogrotate
-       install -g root -m 755 $(debiandir)/initscript $(radiusd_freeradius_dir)/etc/init.d/freeradius
+#      No logrotation setup present...
+#      dh_installlogrotate
+       install -g root -m 755 $(debiandir)/initscript $(radiusd_freeradius_dir)/etc/init.d/$(package)
        TEMPFILE=`mktemp /tmp/radconf-XXXXXX`; \
        cp $(radiusd_freeradius_dir)/$(raddbdir)/radiusd.conf $$TEMPFILE; \
        cat $$TEMPFILE \
                | sed -e 's/        /   /g' \
                | sed -e '/^    example {/,/^   }/s/^/#/' \
                | sed -e 's/#   shadow = /shadow = /' \
-               | sed -e 's/^#?group = nobody/group = freerad/' \
-               | sed -e 's/^#?user = nobody/user = freerad/' \
-               | sed -e 's@/run/radiusd@/run/radiusd-freeradius@' \
+               | sed -e 's/^#\?group = nobody/group = freerad/' \
+               | sed -e 's/^#\?user = nobody/user = freerad/' \
+               | sed -e 's@/run/radiusd@/run/freeradius@' \
                        > $(radiusd_freeradius_dir)/$(raddbdir)/radiusd.conf; \
        rm $$TEMPFILE
+
+# Use /usr/share/$pkgname/ rather than /usr/share/freeradius/
+#      Lucky! /usr/share/$pkgname _is_ /usr/share/freeradius
+#      TEMPFILE=`mktemp /tmp/raddict-XXXXXX`; \
+       cp $(radiusd_freeradius_dir)/$(raddbdir)/dictionary $$TEMPFILE; \
+       cat $$TEMPFILE \
+               | sed -e 's!share/freeradius/dict!share/freeradius/dict!' \
+                       > $(radiusd_freeradius_dir)/$(raddbdir)/dictionary; \
+       rm $$TEMPFILE
+
        # 
        dh_strip
        dh_installchangelogs
@@ -94,7 +126,7 @@ clean:
        rm -f build debian/{files,substvars} debian/*.debhelper
        [ -f Make.inc ] && make distclean || true
        dh_clean
-       rm -rf $(radiusd_freeradius_dir) radiusd-freeradius-{ldap,postgresql,mysql,krb5}{,.substvars}
+       rm -rf $(radiusd_freeradius_dir) $(debiandir)/$(package)-{ldap,postgresql,mysql,krb5}{,.substvars}
 
 binary: binary-indep binary-arch
 
@@ -103,7 +135,7 @@ sanitycheck:
        @echo -n "sanity: checking for overzealous undocumented file... "
        @find man/ -type f |grep \. |sed -e 's%man/man./%%' | { \
                while read manpage; do \
-                       grep $$manpage debian/radiusd-freeradius.undocumented | read filename && echo -n $$filename; \
+                       grep $$manpage debian/$(package).undocumented | read filename && echo -n $$filename; \
                done; \
        } || true
        @test -n $$filename