Skip to content
Commits on Source (2)
# Maintaining the cross-distro Edu Client package #
## Introduction ##
This package provides configuration files and installation scripts for
turning a Debian / Ubuntu / Linux Mint /LMDE workstation into a Debian
Edu network client.
This package provides legacy support for previous Debian/Ubuntu/Linux
Mint/LMDE versions and shall always do so.
However, this makes the maintenance of the Edu Client package a little
bit tricky. This package needs to assume upcoming changes in Debian
derivative distributions and adapt to them before that derivative distro
becomes released. A post-release upload of this package to a Debian
derivative distribution is very unlikely and the package's design tries
to avoid this becoming necessary.
## Package not working on your distribution (version) ##
... for users of this package.
Support distributions are:
* Debian (since Debian 7 aka wheezy)
* Ubuntu (since Ubuntu 12.04 aka precise)
* Linux Mint (since Linux Mint 17.1 aka Rebecca)
* LMDE (since LMDE 2 aka Betsy)
The Edu Client package will _only_ support LTS distributions. Don't even
try this package on non-LTS distributions. You are likely to fail. If you
use a non-LTS Linux distro, please start scratching your head and ask
yourself why you do such silly things.
If this package is broken in your Debian derivative LTS distribution,
please try obtaining this package from Debian unstable directly and (if a
newer version is available in Debian unstable) check if educlient from
Debian unstable fixes observed issues on your system.
If using the package version from Debian unstable does not work either,
please get in touch with us developers.
## The maintenance concept ##
... for package maintainers.
We assume that all derivative Debian distros are derived from Debian
unstable. Thus, if our package works on Debian testing/unstable, it is
very likely that it will work on the Debian derivative distribution.
However, we also want to provide legacy support for older distribution
versions, so package maintainers should follow the below workflow:
1. Adapt this package to changes in Debian unstable via maintaining
configuration files in the etc-debian-unstable/ folder of this
package.
2. If the made change(s) modify any of the configuration files shipped
in the educlient package, provide an old copy of that configuration
file in
´´´
etc-distrib-legacy/<distrib>/<version>
´´´
Provide that legacy configuration file version for all distributions
and all distribution versions that are older than the next upcoming
releases of those distributions. (I.e., provide a copy of that old
file version in all directories under etc-distrib-legacy/.
3. Please use symlinks for referencing the same file version in the
etc-distrib-legacy/ folder.
If files in Linux Mint and Ubuntu match, please place the file in
one of the Ubuntu subfolders and symlink from Linux Mint to Ubuntu.
If files in LMDE and Debian match, please place the file in
one of the Debian subfolders and symlink from LMDE to Debian.
Symlinks in etc-distrib-legacy/ folder: files may be symlinked.
DON'T symlink folders.
4. If there are configuration files that are only specific to one or
several distribution (e.g. upstart configuration files in Ubuntu
and Linux Mint), please place those configuration files into the
etc-distrib-legacy/<distrib>/latest/ subfolder.
## Questions / Feedback ##
If you have any questions, please contact Mike Gabriel / Giorgio Pioda
via the Debian Edu mailinglist: https://lists.debian.org/debian-edu.
If you want to give feedback on this package (i.e., report observed
bugs), please use the Debian bugtracker for package "educlient". Thanks.
......@@ -9,12 +9,14 @@ educlient (0.6-1) UNRELEASED; urgency=low
* Update Vcs-* fields.
[ Mike Gabriel ]
* Move etc/ files to etc-common/.
* Add special idmapd.conf for Debian 7.
* Provide fetch-ldap-cert upstart init script for Ubuntu 14.04 only.
* Move etc/ files to etc-debian-unstable/.
* Provide multi-distro (legacy) support.
* Add special idmapd.conf for Debian 7 and Ubuntu 12.04.
* Provide fetch-ldap-cert upstart init script for Ubuntu and
Linux Mint only.
* Rename debian/install to debian/educlient.install.
* Provide upstream script for Ubuntu 12.04 and 14.04.
* Fix file permissions of exectuable scripts.
* Fix file permissions of executable scripts.
* debian/control:
+ Don't use Pre-Depends, Depends is sufficient.
+ Add myself to Uploaders: field.
......
......@@ -6,38 +6,48 @@ Source: http://anonscm.debian.org/cgit/debian-edu/upstream/educlient.git/
Files: usr/share/perl5/Debian/Edu.pm
usr/bin/ldap-server-getcert
usr/bin/debian-edu-ldapserver
etc-common/network/if-up.d/autofs
etc-common/NetworkManager/dispatcher.d/02debian-edu-config
etc-common/init.d/fetch-ldap-cert
etc-debian-unstable/network/if-up.d/autofs
etc-debian-unstable/NetworkManager/dispatcher.d/02debian-edu-config
etc-debian-unstable/init.d/fetch-ldap-cert
Copyright: 2001-2015, Petter Reinholdtsen <pere@hungry.com>
2012-2015, Giorgio Pioda <gfwp@ticino.com>
2015, Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
License: GPL-2+
Files: etc-common/nsswitch.conf
etc-common/auto.smb
etc-common/ldap/ldap.conf
etc-common/krb5.conf
etc-common/auto.misc
etc-common/default/nfs-common
etc-common/default/autofs
etc-common/NetworkManager/dispatcher.d
etc-common/nslcd.conf
etc-common/idmapd.conf
etc-common/autofs_ldap_auth.conf
etc-common/auto.master
etc-common/auto.net
etc-distrib/Debian/8/.placeholder
etc-distrib/Debian/unstable/.paceholder
etc-distrib/Debian/7/.placeholder
etc-distrib/Debian/7/idmapd.conf
etc-distrib/LinuxMint/17.2/.placeholder
etc-distrib/LinuxMint/17.1/.placeholder
etc-distrib/LinuxMint/17.1/default/autofs
etc-distrib/Ubuntu/14.04/.placeholder
etc-distrib/Ubuntu/14.04/default/autofs
etc-distrib/Ubuntu/12.04/.placeholder
etc-distrib/Ubuntu/12.04/init/fetch-ldap-cert.conf
Files: etc-debian-unstable/nsswitch.conf
etc-debian-unstable/auto.smb
etc-debian-unstable/ldap/ldap.conf
etc-debian-unstable/krb5.conf
etc-debian-unstable/auto.misc
etc-debian-unstable/default/nfs-common
etc-debian-unstable/default/autofs
etc-debian-unstable/NetworkManager/dispatcher.d
etc-debian-unstable/nslcd.conf
etc-debian-unstable/idmapd.conf
etc-debian-unstable/autofs_ldap_auth.conf
etc-debian-unstable/auto.master
etc-debian-unstable/auto.net
etc-distrib-legacy/Debian/9/.paceholder
etc-distrib-legacy/Debian/8/.placeholder
etc-distrib-legacy/Debian/7/.placeholder
etc-distrib-legacy/Debian/7/idmapd.conf
etc-distrib-legacy/LinuxMint/latest/.placeholder
etc-distrib-legacy/LinuxMint/17.2/.placeholder
etc-distrib-legacy/LinuxMint/17.1/.placeholder
etc-distrib-legacy/LinuxMint/17.1/default/autofs
etc-distrib-legacy/Ubuntu/latest/.placeholder
etc-distrib-legacy/Ubuntu/latest/default/autofs
etc-distrib-legacy/Ubuntu/latest/init/fetch-ldap-cert.conf
etc-distrib-legacy/Ubuntu/14.04/.placeholder
etc-distrib-legacy/Ubuntu/14.04/default/autofs
etc-distrib-legacy/Ubuntu/14.04/init/fetch-ldap-cert.conf
etc-distrib-legacy/Ubuntu/12.04/.placeholder
etc-distrib-legacy/Ubuntu/12.04/default/autofs
etc-distrib-legacy/Ubuntu/12.04/idmapd.conf
etc-distrib-legacy/Ubuntu/12.04/init/fetch-ldap-cert.conf
AUTHORS.txt
COPYING
README.md
Copyright: 2001-2015, Petter Reinholdtsen <pere@hungry.com>
2012-2015, Giorgio Pioda <gfwp@ticino.com>
2015, Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
......
......@@ -53,9 +53,9 @@ if [ -n "${USERN}" ]; then
fi
# Divert configuration files
ETC_DISTRIB_VERSION="/etc/educlient/etc-distrib/${DISTRIB_ID}/${DISTRIB_RELEASE}"
ETC_DISTRIB_COMMON="/etc/educlient/etc-distrib/${DISTRIB_ID}/common"
ETC_COMMON="/etc/educlient/etc-common"
ETC_DISTRIB_VERSION="/etc/educlient/etc-distrib-legacy/${DISTRIB_ID}/${DISTRIB_RELEASE}"
ETC_DISTRIB_LATEST="/etc/educlient/etc-distrib-legacy/${DISTRIB_ID}/latest"
ETC_LATEST="/etc/educlient/etc-debian-unstable"
if [ ! -d ${ETC_DISTRIB_VERSION} ]; then
echo "This Linux distribution and/or version (${DISTRIB_ID} ${DISTRIB_RELEASE} is not supported by this package."
......@@ -66,7 +66,7 @@ mkdir -p /etc/debian-edu
echo "" > /etc/debian-edu/educlient.files-diverted
echo "" > /etc/debian-edu/educlient.files-added
for working_dir in ${ETC_DISTRIB_VERSION} ${ETC_DISTRIB_COMMON} ${ETC_COMMON}; do
for working_dir in ${ETC_DISTRIB_VERSION} ${ETC_DISTRIB_LATEST} ${ETC_LATEST}; do
if [ ! -d ${working_dir} ]; then
continue
......
......@@ -7,14 +7,6 @@ set -xe
# Divert back all the stuff
if [ -f /etc/os-release ]; then
. /etc/os-release
fi
if [ -f /etc/lsb-release ]; then
. /etc/lsb-release
fi
if [ ! -f /etc/debian-edu/educlient.files-diverted ] && [ ! -f /etc/debian-edu/educlient.files-added ]; then
exit 0
fi
......@@ -38,7 +30,7 @@ cat /etc/debian-edu/educlient.files-* | while read file;
done
# Drop all of our dpkg-statoverride entries
dpkg-statoverride --list | grep -E "^[a-zA-Z0-9]+\ [a-zA-Z0-9]+\ [0-9]{3,4}\ /etc/educlient/.*$" | while read file; do
dpkg-statoverride --list | grep -E "^[a-zA-Z0-9]+\ [a-zA-Z0-9]+\ [0-9]{3,4}\ /etc/educlient/.*$" | cut -d" " -f4- | while read file; do
dpkg-statoverride --remove "$file"
done
......