From 701c3422681d6b59b0da7bca90a22135f35a4c60 Mon Sep 17 00:00:00 2001 From: Xavier Guimard Date: Tue, 11 Nov 2008 19:06:46 +0000 Subject: [PATCH] LEMONLDAP::NG : Debian installation update since Makefile changes --- build/lemonldap-ng/Makefile | 6 +-- build/lemonldap-ng/changelog | 8 +++- build/lemonldap-ng/debian/changelog | 4 +- build/lemonldap-ng/debian/control | 4 +- .../lemonldap-ng/debian/lemonldap-ng.examples | 5 +-- .../debian/liblemonldap-ng-conf-perl.examples | 6 +-- .../liblemonldap-ng-handler-perl.install | 1 + .../liblemonldap-ng-handler-perl.postinst | 3 -- .../liblemonldap-ng-manager-perl.examples | 5 ++- .../liblemonldap-ng-manager-perl.install | 2 + .../liblemonldap-ng-portal-perl.examples | 3 +- .../liblemonldap-ng-portal-perl.install | 6 +-- build/lemonldap-ng/debian/rules | 37 ++++++++++-------- .../example/images/Thumbs.db | Bin 18944 -> 0 bytes 14 files changed, 48 insertions(+), 42 deletions(-) delete mode 100644 modules/lemonldap-ng-manager/example/images/Thumbs.db diff --git a/build/lemonldap-ng/Makefile b/build/lemonldap-ng/Makefile index 1a5865c8c..e00fed683 100644 --- a/build/lemonldap-ng/Makefile +++ b/build/lemonldap-ng/Makefile @@ -49,15 +49,15 @@ manager: manager_conf configure: handler_conf portal_conf manager_conf handler_conf: - @cd ${SRCHANDLERDIR}; perl Makefile.PL + @cd ${SRCHANDLERDIR}; perl Makefile.PL INSTALLDIRS=$(INSTALLDIRS) @touch handler_conf portal_conf: - @cd ${SRCPORTALDIR}; perl Makefile.PL + @cd ${SRCPORTALDIR}; perl Makefile.PL INSTALLDIRS=$(INSTALLDIRS) @touch portal_conf manager_conf: - @cd ${SRCMANAGERDIR}; perl Makefile.PL + @cd ${SRCMANAGERDIR}; perl Makefile.PL INSTALLDIRS=$(INSTALLDIRS) @touch manager_conf test: manager handler portal manager_test handler_test portal_test diff --git a/build/lemonldap-ng/changelog b/build/lemonldap-ng/changelog index f4450d4a4..c5eac31b5 100644 --- a/build/lemonldap-ng/changelog +++ b/build/lemonldap-ng/changelog @@ -1,9 +1,13 @@ lemonldap-ng (0.9.3) unstable; urgency=low + [ Clement Oudot ] * New menu and skin (pastel) - * Authentication and UserDB separation - -- Clement Oudot Mon, 13 Oct 2008 18:00:00 +0200 + [ Xavier Guimard ] + * Authentication and UserDB separation + * New session explorer system + + -- Xavier Guimard Tue, 11 Nov 2008 16:23:19 +0100 lemonldap-ng (0.9.2.2) unstable; urgency=low diff --git a/build/lemonldap-ng/debian/changelog b/build/lemonldap-ng/debian/changelog index dd210be12..e93313d6b 100644 --- a/build/lemonldap-ng/debian/changelog +++ b/build/lemonldap-ng/debian/changelog @@ -1,5 +1,5 @@ -lemonldap-ng (0.9.2.2-0) unstable; urgency=low +lemonldap-ng (0.9.3-0) unstable; urgency=low * Local build - -- Xavier Guimard Mon, 25 Aug 2008 22:10:19 +0200 + -- Xavier Guimard Tue, 11 Nov 2008 16:24:00 +0100 diff --git a/build/lemonldap-ng/debian/control b/build/lemonldap-ng/debian/control index a0fc1484d..dcb8e3f63 100644 --- a/build/lemonldap-ng/debian/control +++ b/build/lemonldap-ng/debian/control @@ -49,7 +49,7 @@ Description: Lemonldap::NG apache administration interface part Package: liblemonldap-ng-manager-perl Architecture: all -Depends: libxml-simple-perl, liblemonldap-ng-conf-perl (>=0.8.2.3) +Depends: libxml-simple-perl, liblemonldap-ng-conf-perl (>=0.8.2.3), libjs-jquery Recommends: libcache-cache-perl, libapache-session-perl, libsoap-lite-perl Description: Lemonldap::NG apache manager part Lemonldap::NG is a complete Web-SSO system that can run with reverse-proxies @@ -59,7 +59,7 @@ Description: Lemonldap::NG apache manager part Package: liblemonldap-ng-portal-perl Architecture: all -Depends: libapache-session-perl, libnet-ldap-perl, liblemonldap-ng-conf-perl (>=0.8.2.3), libhtml-template-perl +Depends: libapache-session-perl, libnet-ldap-perl, liblemonldap-ng-conf-perl (>=0.8.2.3), libhtml-template-perl, libjs-jquery Suggests: liblasso-perl, libcgi-session-perl, slapd Description: Lemonldap::NG apache authentication portal part Lemonldap::NG is a complete Web-SSO system that can run with reverse-proxies diff --git a/build/lemonldap-ng/debian/lemonldap-ng.examples b/build/lemonldap-ng/debian/lemonldap-ng.examples index e9909d630..ee2895a3e 100644 --- a/build/lemonldap-ng/debian/lemonldap-ng.examples +++ b/build/lemonldap-ng/debian/lemonldap-ng.examples @@ -1,3 +1,2 @@ -debian/tmp/var/lib/lemonldap-ng/test.pl -debian/tmp/var/lib/lemonldap-ng/apache-protected-area.conf -debian/tmp/var/lib/lemonldap-ng/apache2-protected-area.conf +debian/tmp/var/lib/lemonldap-ng/test/index.pl +debian/tmp/etc/lemonldap-ng/handler-apache* diff --git a/build/lemonldap-ng/debian/liblemonldap-ng-conf-perl.examples b/build/lemonldap-ng/debian/liblemonldap-ng-conf-perl.examples index 44a07d148..9505e3c1c 100644 --- a/build/lemonldap-ng/debian/liblemonldap-ng-conf-perl.examples +++ b/build/lemonldap-ng/debian/liblemonldap-ng-conf-perl.examples @@ -1,3 +1,3 @@ -debian/tmp/var/lib/lemonldap-ng/apache-session-mysql.sql -debian/tmp/var/lib/lemonldap-ng/lmConfig.mysql -debian/tmp/var/lib/lemonldap-ng/conf +debian/tmp/etc/lemonldap-ng/apache-session-mysql.sql +debian/tmp/etc/lemonldap-ng/lmConfig.mysql +debian/tmp/var/lib/lemonldap-ng/conf/* diff --git a/build/lemonldap-ng/debian/liblemonldap-ng-handler-perl.install b/build/lemonldap-ng/debian/liblemonldap-ng-handler-perl.install index 5ee546772..b99093a84 100644 --- a/build/lemonldap-ng/debian/liblemonldap-ng-handler-perl.install +++ b/build/lemonldap-ng/debian/liblemonldap-ng-handler-perl.install @@ -1,2 +1,3 @@ debian/tmp/usr/share/perl5/Lemonldap/NG/Handler* debian/tmp/usr/share/man/man3/Lemonldap::NG::Handler* +debian/tmp/etc/lemonldap-ng/MyHandler.pm diff --git a/build/lemonldap-ng/debian/liblemonldap-ng-handler-perl.postinst b/build/lemonldap-ng/debian/liblemonldap-ng-handler-perl.postinst index ab180bb20..dcfe7f747 100755 --- a/build/lemonldap-ng/debian/liblemonldap-ng-handler-perl.postinst +++ b/build/lemonldap-ng/debian/liblemonldap-ng-handler-perl.postinst @@ -5,13 +5,10 @@ set -e . /usr/share/debconf/confmodule -EXAMPLEHANDLERFILE=/usr/share/doc/liblemonldap-ng-handler-perl/examples/MyHandler-Debian.pm -HANDLERFILE=/var/lib/lemonldap-ng/handler/MyHandler.pm SESSIONSDIR=/var/lib/lemonldap-ng/sessions if [ "$1" == "configure" ] then - [ -e $HANDLERFILE ] || cp $EXAMPLEHANDLERFILE $HANDLERFILE chmod 770 $SESSIONSDIR chmod 770 $SESSIONSDIR/lock chown -R www-data:www-data $SESSIONSDIR diff --git a/build/lemonldap-ng/debian/liblemonldap-ng-manager-perl.examples b/build/lemonldap-ng/debian/liblemonldap-ng-manager-perl.examples index ca41f1ed2..60bbf1c81 100644 --- a/build/lemonldap-ng/debian/liblemonldap-ng-manager-perl.examples +++ b/build/lemonldap-ng/debian/liblemonldap-ng-manager-perl.examples @@ -1 +1,4 @@ -debian/tmp/var/lib/lemonldap-ng/manager/* +debian/tmp/var/lib/lemonldap-ng/manager/index* +debian/tmp/var/lib/lemonldap-ng/manager/mrtg +debian/tmp/var/lib/lemonldap-ng/manager/sessions.pl +debian/tmp/var/lib/lemonldap-ng/manager/soapserver.pl diff --git a/build/lemonldap-ng/debian/liblemonldap-ng-manager-perl.install b/build/lemonldap-ng/debian/liblemonldap-ng-manager-perl.install index 7d29e2065..5c01b736e 100644 --- a/build/lemonldap-ng/debian/liblemonldap-ng-manager-perl.install +++ b/build/lemonldap-ng/debian/liblemonldap-ng-manager-perl.install @@ -4,6 +4,7 @@ debian/tmp/usr/share/perl5/Lemonldap/NG/Manager/Help.pm debian/tmp/usr/share/perl5/Lemonldap/NG/Manager/Base.pm debian/tmp/usr/share/perl5/Lemonldap/NG/Manager/_HTML.pm debian/tmp/usr/share/perl5/Lemonldap/NG/Manager/_Response.pm +debian/tmp/usr/share/perl5/Lemonldap/NG/Manager/Sessions.pm debian/tmp/usr/share/perl5/Lemonldap/NG/Manager/SOAPServer.pm debian/tmp/usr/share/perl5/Lemonldap/NG/Manager/Restricted.pm debian/tmp/usr/share/perl5/auto/Lemonldap/NG/Manager @@ -15,6 +16,7 @@ debian/tmp/usr/share/man/man3/Lemonldap::NG::Manager::Restricted.3pm debian/tmp/var/lib/lemonldap-ng/manager/apply.conf /etc/lemonldap-ng debian/manager-apache*.conf /etc/lemonldap-ng debian/tmp/var/lib/lemonldap-ng/manager/imgs +debian/tmp/var/lib/lemonldap-ng/manager/images debian/tmp/var/lib/lemonldap-ng/manager/theme debian/tmp/var/lib/lemonldap-ng/manager/lemonldap-ng-manager.js debian/tmp/var/lib/lemonldap-ng/manager/scripts/lmConfigEditor /usr/share/lemonldap-ng/bin diff --git a/build/lemonldap-ng/debian/liblemonldap-ng-portal-perl.examples b/build/lemonldap-ng/debian/liblemonldap-ng-portal-perl.examples index 9d9f4481b..5edbf6c4f 100644 --- a/build/lemonldap-ng/debian/liblemonldap-ng-portal-perl.examples +++ b/build/lemonldap-ng/debian/liblemonldap-ng-portal-perl.examples @@ -1,2 +1 @@ -debian/tmp/var/lib/lemonldap-ng/portal/* -debian/tmp/var/lib/lemonldap-ng/liberty-alliance-sp-portal/ +debian/tmp/var/lib/lemonldap-ng/portal/*.pl diff --git a/build/lemonldap-ng/debian/liblemonldap-ng-portal-perl.install b/build/lemonldap-ng/debian/liblemonldap-ng-portal-perl.install index de93d5afc..d4c762e65 100644 --- a/build/lemonldap-ng/debian/liblemonldap-ng-portal-perl.install +++ b/build/lemonldap-ng/debian/liblemonldap-ng-portal-perl.install @@ -4,8 +4,4 @@ debian/tmp/usr/share/man/man3/Lemonldap::NG::Portal* debian/portal-apache*.conf /etc/lemonldap-ng debian/tmp/var/lib/lemonldap-ng/portal/skins debian/tmp/var/lib/lemonldap-ng/portal/scripts/purgeCentralCache /usr/share/lemonldap-ng/bin -debian/tmp/var/lib/lemonldap-ng/liberty-alliance-sp-portal/error403.pl -debian/tmp/var/lib/lemonldap-ng/liberty-alliance-sp-portal/idps.xml -debian/tmp/var/lib/lemonldap-ng/liberty-alliance-sp-portal/liberty -debian/tmp/var/lib/lemonldap-ng/liberty-alliance-sp-portal/ressources -debian/tmp/var/lib/lemonldap-ng/liberty-alliance-sp-portal/tpl +debian/tmp/var/lib/lemonldap-ng/liberty-alliance-sp-portal/ diff --git a/build/lemonldap-ng/debian/rules b/build/lemonldap-ng/debian/rules index e72178361..bccff23cb 100755 --- a/build/lemonldap-ng/debian/rules +++ b/build/lemonldap-ng/debian/rules @@ -13,6 +13,8 @@ export PERL_MM_USE_DEFAULT=1 LM_ROOT=/var/lib/lemonldap-ng/ DEB_TMP_LM_ROOT=debian/tmp$(LM_ROOT) +LM_CONF_ROOT=/etc/lemonldap-ng/ +DEB_TMP_LM_CONF_ROOT=debian/tmp$(LM_CONF_ROOT) configure: configure-stamp configure-stamp: @@ -50,26 +52,25 @@ install: build dh_installdirs # Add here commands to install the package into debian/lemonldap-ng. - $(MAKE) test + #$(MAKE) test $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp PREFIX=/usr $(MAKE) example \ - EXAMPLEDIRBUILD=$(DEB_TMP_LM_ROOT) \ - EXAMPLEDIR=$(LM_ROOT) \ - EXAMPLECONFDIR=$(LM_ROOT)conf/ \ - EXAMPLELASPDIRBUILD=$(DEB_TMP_LM_ROOT)liberty-alliance-sp-portal/ \ - EXAMPLELASPDIR=$(LM_ROOT)liberty-alliance-sp-portal/ + EXAMPLEROOT=debian/tmp/ \ + DESTDOCSDIR=debian/tmp/docs/ \ + REALDESTFILECONFDIR=$(LM_ROOT)conf/ \ + DESTFILECONFDIR=$(LM_ROOT)conf/ # Debian example files + mv $(DEB_TMP_LM_CONF_ROOT)conf $(DEB_TMP_LM_ROOT) + cp $(DEB_TMP_LM_ROOT)handler/MyHandler.pm $(DEB_TMP_LM_CONF_ROOT)MyHandler.pm cp $(DEB_TMP_LM_ROOT)handler/MyHandler.pm $(DEB_TMP_LM_ROOT)handler/MyHandler-Debian.pm cp $(DEB_TMP_LM_ROOT)portal/index.pl $(DEB_TMP_LM_ROOT)portal/index-Debian.pl cp $(DEB_TMP_LM_ROOT)portal/index_skin.pl $(DEB_TMP_LM_ROOT)portal/index_skin-Debian.pl cp $(DEB_TMP_LM_ROOT)liberty-alliance-sp-portal/index.pl $(DEB_TMP_LM_ROOT)liberty-alliance-sp-portal/index-Debian.pl cp $(DEB_TMP_LM_ROOT)manager/index.pl $(DEB_TMP_LM_ROOT)manager/index-Debian.pl - mv $(DEB_TMP_LM_ROOT)index.pl $(DEB_TMP_LM_ROOT)test.pl - mv $(DEB_TMP_LM_ROOT)handler/lmH-apache.conf $(DEB_TMP_LM_ROOT)apache-protected-area.conf - mv $(DEB_TMP_LM_ROOT)handler/lmH-apache2.conf $(DEB_TMP_LM_ROOT)apache2-protected-area.conf - perl -i -pe 's#__DIR__/?#'/var/lib/lemonldap-ng'#g;s#__CONFDIR__/?#'$(LM_ROOT)conf'#g;' \ - $(DEB_TMP_LM_ROOT)apache*-protected-area.conf + #perl -i -pe 's#__DIR__/?#'/var/lib/lemonldap-ng'#g;s#__CONFDIR__/?#'$(LM_ROOT)conf'#g;' \ + # $(DEB_TMP_LM_ROOT)apache*-protected-area.conf + cp debian/handler-apache* $(DEB_TMP_LM_CONF_ROOT) # System to use /etc/lemonldap-ng/storage.conf instead of setting # manually the configStorage parameter @@ -78,13 +79,17 @@ install: build $(DEB_TMP_LM_ROOT)portal/scripts/purgeCentralCache perl -000 -i -pe 's/(configStorage\s*=>\s*){[^}]+}/$$1\$$Lemonldap::NG::Conf::configStorage/; s#^use#\nrequire "/usr/share/lemonldap-ng/configStorage.pm";\nuse#m;' \ - $(DEB_TMP_LM_ROOT)handler/MyHandler-Debian.pm \ - $(DEB_TMP_LM_ROOT)manager/index-Debian.pl \ - $(DEB_TMP_LM_ROOT)portal/index-Debian.pl \ - $(DEB_TMP_LM_ROOT)portal/index_skin-Debian.pl \ + $(DEB_TMP_LM_CONF_ROOT)MyHandler.pm \ + $(DEB_TMP_LM_ROOT)manager/*.pl \ + $(DEB_TMP_LM_ROOT)portal/*.pl \ $(DEB_TMP_LM_ROOT)liberty-alliance-sp-portal/index-Debian.pl perl -i -pe 's#(applyConfFile\s+=>\s+.*?)/\S*(apply\.conf)#$$1/etc/lemonldap-ng/$$2#' \ - $(DEB_TMP_LM_ROOT)manager/index-Debian.pl \ + $(DEB_TMP_LM_ROOT)manager/*.pl \ + $(DEB_TMP_LM_ROOT)handler/MyHandler-Debian.pm + rm -f $(DEB_TMP_LM_ROOT)portal/skins/pastel/jquery.js $(DEB_TMP_LM_ROOT)manager/jquery.js + perl -i -pe 's#(["'"'"'])[\w-\./]*jquery.js#$$1/javascript/jquery/jquery.js#' \ + $(DEB_TMP_LM_ROOT)manager/sessions.pl \ + $(DEB_TMP_LM_ROOT)portal/skins/pastel/header.tpl # Build architecture-independent files here. binary-indep: build install dh_testdir diff --git a/modules/lemonldap-ng-manager/example/images/Thumbs.db b/modules/lemonldap-ng-manager/example/images/Thumbs.db deleted file mode 100644 index 27137dce4dcae815013b60f9f40432c872f53e4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18944 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 s`A0K%dwcJ>PQ7&q+TXzc0b0ovTL1t6