--- moin-1.5.8.orig/debian/cdbs/1/rules/copyright-check.mk +++ moin-1.5.8/debian/cdbs/1/rules/copyright-check.mk @@ -0,0 +1,69 @@ +# -*- mode: makefile; coding: utf-8 -*- +# Copyright © 2005-2007 Jonas Smedegaard +# Description: Check for changes to copyright notices in source +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +# 02111-1307 USA. + +# TODO: Save scan as "file: match" (needs rewrite of main loop in perl) + +# TODO: Save scan as "file (license): match" (needs /usr/bin/licensecheck from kdesdk-scripts) + +_cdbs_scripts_path ?= /usr/lib/cdbs +_cdbs_rules_path ?= /usr/share/cdbs/1/rules +_cdbs_class_path ?= /usr/share/cdbs/1/class + +ifndef _cdbs_rules_copyright-check +_cdbs_rules_copyright-check := 1 + +include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix) + +cdbs_copyright-check_find_opts := -not -regex 'debian/.*' -not -regex '\(.*/\)?config\.\(guess\|sub\|rpath\)\(\..*\)?' +cdbs_copyright-check_egrep_opts := --text -rih '(copyright|\(c\) ).*[0-9]{4}' + +pre-build:: debian/stamp-copyright-check + +debian/stamp-copyright-check: + @echo 'Scanning upstream source for new/changed copyright notices (except debian subdir!)...' + find * -type f $(cdbs_copyright-check_find_opts) -exec cat '{}' ';' \ + | tr '\r' '\n' \ + | LC_ALL=C sed -e 's/[^[:print:]]//g' \ + | egrep $(cdbs_copyright-check_egrep_opts) \ + | sed -e 's/^[[:space:]*#]*//' -e 's/[[:space:]]*$$//' \ + | LC_ALL=C sort -u \ + > debian/copyright_newhints + @if [ ! -f debian/copyright_hints ]; then touch debian/copyright_hints; fi + @newstrings=`diff -u debian/copyright_hints debian/copyright_newhints | sed '1,2d' | egrep '^\+' | sed 's/^\+//'`; \ + if [ -n "$$newstrings" ]; then \ + echo "Error: The following new or changed copyright notices discovered:"; \ + echo "$$newstrings"; \ + echo "Trying to locate the files containing the new/changed copyright notices..."; \ + echo "(Strings part of binary data you need to resolve yourself)"; \ + find * -type f $(cdbs_copyright-check_find_opts) -exec grep -F -l -e "$$newstrings" '{}' ';'; \ + echo; \ + echo "To fix the situation please do the following:"; \ + echo " 1) Investigate the above changes and update debian/copyright as needed"; \ + echo " 2) Replace debian/copyright_hints with debian/copyright_newhints"; \ + exit 1; \ + fi + + @echo 'No new copyright notices found - assuming no news is good news...' + rm -f debian/copyright_newhints + touch $@ + +clean:: + rm -f debian/stamp-copyright-check + +endif --- moin-1.5.8.orig/debian/cdbs/1/rules/upstream-tarball.mk +++ moin-1.5.8/debian/cdbs/1/rules/upstream-tarball.mk @@ -0,0 +1,116 @@ +# -*- mode: makefile; coding: utf-8 -*- +# Copyright © 2007 Jonas Smedegaard +# Description: Convenience rules for dealing with upstream tarballs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +# 02111-1307 USA. + +_cdbs_scripts_path ?= /usr/lib/cdbs +_cdbs_rules_path ?= /usr/share/cdbs/1/rules +_cdbs_class_path ?= /usr/share/cdbs/1/class + +ifndef _cdbs_rules_upstream_tarball +_cdbs_rules_upstream_tarball := 1 + +include $(_cdbs_rules_path)/buildvars.mk$(_cdbs_makefile_suffix) + +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), cdbs (>= 0.4.39) + +# Prefix for upstream location of all upstream tarballs (mandatory!) +#DEB_UPSTREAM_URL = +DEB_UPSTREAM_PACKAGE = $(DEB_SOURCE_PACKAGE) +DEB_UPSTREAM_TARBALL_VERSION = $(if $(strip $(DEB_UPSTREAM_REPACKAGE_EXCLUDE)),$(DEB_UPSTREAM_VERSION:$(DEB_UPSTREAM_REPACKAGE_DELIMITER)$(DEB_UPSTREAM_REPACKAGE_TAG)=),$(DEB_UPSTREAM_VERSION)) +DEB_UPSTREAM_TARBALL_BASENAME = $(DEB_UPSTREAM_PACKAGE)-$(DEB_UPSTREAM_TARBALL_VERSION) +DEB_UPSTREAM_TARBALL_EXTENSION = tar.gz +# Checksum to ensure integrity of downloadeds using get-orig-source (optional) +#DEB_UPSTREAM_TARBALL_MD5 = + +DEB_UPSTREAM_WORKDIR = ../tarballs + +# Base directory within tarball +DEB_UPSTREAM_TARBALL_SRCDIR = $(DEB_UPSTREAM_PACKAGE)-$(DEB_UPSTREAM_TARBALL_VERSION) + +# Space-delimited list of directories and files to strip (optional) +#DEB_UPSTREAM_REPACKAGE_EXCLUDE = CVS .cvsignore doc/rfc*.txt doc/draft*.txt +DEB_UPSTREAM_REPACKAGE_TAG = dfsg +DEB_UPSTREAM_REPACKAGE_DELIMITER = . + +cdbs_upstream_tarball = $(DEB_UPSTREAM_TARBALL_BASENAME).$(DEB_UPSTREAM_TARBALL_EXTENSION) +cdbs_upstream_local_tarball = $(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_TARBALL_VERSION).orig.$(if $(findstring $(DEB_UPSTREAM_TARBALL_EXTENSION),tgz),tar.gz,$(DEB_UPSTREAM_TARBALL_EXTENSION)) +cdbs_upstream_repackaged_tarball = $(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_TARBALL_VERSION)$(DEB_UPSTREAM_REPACKAGE_DELIMITER)$(DEB_UPSTREAM_REPACKAGE_TAG).orig.tar.gz +cdbs_upstream_uncompressed_tarball = $(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_TARBALL_VERSION).orig.tar + +# # These variables are deprecated +_cdbs_deprecated_vars += DEB_UPSTREAM_TARBALL DEB_UPSTREAM_LOCAL_TARBALL DEB_UPSTREAM_REPACKAGE_TARBALL +_cdbs_deprecated_vars += DEB_UPSTREAM_REPACKAGE_EXCLUDES +DEB_UPSTREAM_REPACKAGE_EXCLUDE += $(DEB_UPSTREAM_REPACKAGE_EXCLUDES) + +print-version: + @@echo "Debian version: $(DEB_VERSION)" + @@echo "Upstream version: $(DEB_UPSTREAM_TARBALL_VERSION)" + +get-orig-source: + @@dh_testdir + @@mkdir -p "$(DEB_UPSTREAM_WORKDIR)" + + @if [ ! -s "$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_local_tarball)" ] ; then \ + if [ -f "$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_local_tarball)" ] ; then \ + rm "$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_local_tarball)" ; \ + fi ; \ + echo "Downloading $(cdbs_upstream_local_tarball) from $(DEB_UPSTREAM_URL)/$(cdbs_upstream_tarball) ..." ; \ + wget -N -nv -T10 -t3 -O "$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_local_tarball)" "$(DEB_UPSTREAM_URL)/$(cdbs_upstream_tarball)" ; \ + else \ + echo "Upstream source tarball have been already downloaded: $(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_local_tarball)" ; \ + fi + + @md5current=`md5sum "$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_local_tarball)" | sed -e 's/ .*//'`; \ + if [ -n "$(DEB_UPSTREAM_TARBALL_MD5)" ] ; then \ + if [ "$$md5current" != "$(DEB_UPSTREAM_TARBALL_MD5)" ] ; then \ + echo "Expecting upstream tarball md5sum $(DEB_UPSTREAM_TARBALL_MD5), but $$md5current found" ; \ + echo "Upstream tarball md5sum is NOT trusted! Possible upstream tarball forge!" ; \ + echo "Purging downloaded file. Try new download." ; \ + rm -f "$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_local_tarball)" ; \ + false ; \ + else \ + echo "Upstream tarball is trusted!" ; \ + fi; \ + else \ + echo "Upstream tarball NOT trusted (current md5sum is $$md5current)!" ; \ + fi + + @case "$(cdbs_upstream_local_tarball)" in \ + *.tar.gz) unpack="gunzip -c";; \ + *.tar.bz2) unpack="bunzip2 -c"; uncompress="bunzip2";; \ + *.tar.Z) unpack="uncompress -c"; uncompress="uncompress";; \ + *.tar) unpack="cat"; uncompress="true";; \ + *) echo "Unknown extension for upstream tarball $(cdbs_upstream_local_tarball)"; false;; \ + esac && \ + if [ -n "$(strip $(DEB_UPSTREAM_REPACKAGE_EXCLUDE))" ]; then \ + echo "Repackaging tarball ..." && \ + mkdir -p "$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)" && \ + $$unpack "$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_local_tarball)" \ + | tar -x -C "$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)" $(patsubst %,--exclude='%',$(DEB_UPSTREAM_REPACKAGE_EXCLUDE)) && \ + GZIP=-9 tar -b1 -czf "$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_repackaged_tarball)" -C "$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)" $(DEB_UPSTREAM_TARBALL_SRCDIR) && \ + echo "Cleaning up" && \ + rm -rf "$(DEB_UPSTREAM_WORKDIR)/$(DEB_UPSTREAM_REPACKAGE_TAG)"; \ + elif [ -n "$$uncompress" ]; then \ + echo "Recompressing tarball ..." && \ + $$uncompress "$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_local_tarball)"; \ + bzip -9 "$(DEB_UPSTREAM_WORKDIR)/$(cdbs_upstream_uncompressed_tarball)"; \ + fi + +DEB_PHONY_RULES += print-version get-orig-source + +endif --- moin-1.5.8.orig/debian/cdbs/1/rules/buildinfo.mk +++ moin-1.5.8/debian/cdbs/1/rules/buildinfo.mk @@ -0,0 +1,40 @@ +# -*- mode: makefile; coding: utf-8 -*- +# Copyright © 2004-2006 Jonas Smedegaard +# Description: Generate and include build information +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +# 02111-1307 USA. + +_cdbs_scripts_path ?= /usr/lib/cdbs +_cdbs_rules_path ?= /usr/share/cdbs/1/rules +_cdbs_class_path ?= /usr/share/cdbs/1/class + +ifndef _cdbs_rules_buildinfo +_cdbs_rules_buildinfo = 1 + +include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix) + +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), dh-buildinfo + +common-install-arch common-install-indep:: debian/stamp-buildinfo + +debian/stamp-buildinfo: + dh_buildinfo + touch debian/stamp-buildinfo + +clean:: + rm -f debian/stamp-buildinfo + +endif --- moin-1.5.8.orig/debian/cdbs/1/rules/buildcore.mk +++ moin-1.5.8/debian/cdbs/1/rules/buildcore.mk @@ -0,0 +1,30 @@ +# -*- mode: makefile; coding: utf-8 -*- +# Copyright © 2006 Jonas Smedegaard +# Description: Check for cdbs-autoupdate in DEB_BUILD_OPTIONS +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +# 02111-1307 USA. + +_cdbs_scripts_path ?= /usr/lib/cdbs +_cdbs_rules_path ?= /usr/share/cdbs/1/rules +_cdbs_class_path ?= /usr/share/cdbs/1/class + +include $(_cdbs_rules_path)/buildvars.mk$(_cdbs_makefile_suffix) + +ifneq (,$(findstring cdbs-autoupdate,$(DEB_BUILD_OPTIONS))) +DEB_AUTO_UPDATE_DEBIAN_CONTROL = yes +endif + +include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix) --- moin-1.5.8.orig/debian/cdbs/1/class/python-distutils.mk +++ moin-1.5.8/debian/cdbs/1/class/python-distutils.mk @@ -0,0 +1,299 @@ +# -*- mode: makefile; coding: utf-8 -*- +# Copyright © 2003 Colin Walters +# Copyright © 2006 Marc Dequènes (Duck) +# Copyright © 2006,2007 Jonas Smedegaard +# Description: manage Python modules using the 'distutils' build system +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02111-1307 USA. +# + +# This class provides rules for old and new Python policy. Leaving +# DEB_PYTHON_SYSTEM unset selects the old behavior. The pysupport and +# pycentral methods are available to comply with new policy. Don't forget +# to update your 'debian/control'. (Build-Depends are correctly generated +# if you are using the auto control generation feature.) + + +_cdbs_scripts_path ?= /usr/lib/cdbs +_cdbs_rules_path ?= /usr/share/cdbs/1/rules +_cdbs_class_path ?= /usr/share/cdbs/1/class + +ifndef _cdbs_class_python_distutils +_cdbs_class_python_distutils = 1 + +include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix) +include $(_cdbs_class_path)/langcore.mk$(_cdbs_makefile_suffix) + + +# common variables +DEB_PYTHON_SETUP_CMD = setup.py +DEB_PYTHON_CLEAN_ARGS = -a +DEB_PYTHON_BUILD_ARGS = --build-base="$(CURDIR)/$(DEB_BUILDDIR)/build" +DEB_PYTHON_INSTALL_ARGS_ALL = --no-compile -O0 + +# We always install into target package, unlike DEB_DESTDIR +ifndef DEB_PYTHON_SYSTEM +DEB_PYTHON_DESTDIR = $(CURDIR)/debian/$(cdbs_curpkg) +else +# Arrrrgh - except for new python policy that broke the promise! :-( +DEB_PYTHON_DESTDIR = $(DEB_DESTDIR) +endif + + +ifndef DEB_PYTHON_SYSTEM +########################### old policy method ########################### + +$(warning ########################################################) +$(warning Your package does not conform to the new Python policy.) +$(warning Please consider updating. Here is some documentation:) +$(warning http://wiki.debian.org/DebianPython/NewPolicy) +$(warning http://wiki.debian.org/DebianPythonFAQ) +$(warning ########################################################) + +DEB_PYTHON_COMPILE_VERSION = +DEB_PYTHON_VERSIONS = 2.1 2.2 2.3 2.4 2.5 + +cdbs_python_current_version := $(shell /usr/bin/python -V 2>&1 | sed 's/^[^0-9]*\([0-9]\+.[0-9]\+\)[^0-9].*/\1/') +cdbs_python_next_version := $(shell expr '$(cdbs_python_current_version)' : '[^0-9]*\([0-9]\+\).').$(shell expr '(' '$(cdbs_python_current_version)' : '[^0-9]*[0-9]\+.\([0-9]\+\)' ')' + 1) + +# This variable is deprecated. +DEB_PYTHON_REAL_LIB_PACKAGES = $(strip $(filter $(patsubst %,python%%,$(DEB_PYTHON_VERSIONS)),$(filter-out $(DEB_PYTHON_PACKAGES_EXCLUDE),$(DEB_ALL_PACKAGES)))) +_cdbs_deprecated_vars += DEB_PYTHON_REAL_LIB_PACKAGES +_cdbs_deprecated_DEB_PYTHON_REAL_LIB_PACKAGES_default := $(DEB_PYTHON_REAL_LIB_PACKAGES) +# New in 0.x.y. +DEB_PYTHON_MODULE_PACKAGES = $(DEB_PYTHON_REAL_LIB_PACKAGES) + +DEB_PYTHON_MODULE_ARCH_PACKAGES = $(filter $(DEB_PYTHON_MODULE_PACKAGES), $(DEB_ARCH_PACKAGES)) +DEB_PYTHON_MODULE_INDEP_PACKAGES = $(filter $(DEB_PYTHON_MODULE_PACKAGES), $(DEB_INDEP_PACKAGES)) + +# If no versioned python library packages found, grab all simpler ones +ifeq (,$(DEB_PYTHON_MODULE_ARCH_PACKAGES)) +# This variable is deprecated. +DEB_PYTHON_SIMPLE_PACKAGES = $(strip $(filter python-%,$(filter-out $(DEB_PYTHON_PACKAGES_EXCLUDE),$(DEB_ALL_PACKAGES)))) +_cdbs_deprecated_vars += DEB_PYTHON_SIMPLE_PACKAGES +_cdbs_deprecated_DEB_PYTHON_SIMPLE_PACKAGES_default := $(DEB_PYTHON_SIMPLE_PACKAGES) +# New in 0.x.y. +DEB_PYTHON_MODULE_PACKAGES = $(DEB_PYTHON_SIMPLE_PACKAGES) +endif + +ifeq (,$(DEB_PYTHON_MODULE_ARCH_PACKAGES)) +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-dev (>= $(cdbs_python_current_version)), python-dev (<< $(cdbs_python_next_version)) +else +cdbs_python_build_versions := $(filter-out -%,$(subst -, -,$(patsubst python%,%,$(DEB_PYTHON_MODULE_ARCH_PACKAGES)))) +comma := , +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), $(patsubst %,python%-dev$(comma),$(cdbs_python_build_versions)) python +endif + +cdbs_python_compile_version = $(DEB_PYTHON_COMPILE_VERSION) +cdbs_python_curpkg_build_versions = $(filter-out -%,$(subst -, -,$(patsubst python%,%,$(cdbs_curpkg)))) + +# This class can optionally utilize debhelper's "dh_python" command. Just +# be sure you include debhelper.mk before including this file. +ifdef _cdbs_rules_debhelper +ifneq (,$(strip $(filter 2.4,$(cdbs_python_build_versions)))) +# Python 2.4 support +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), debhelper (>= 4.2.28) +else +# Python 2.3 support +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), debhelper (>= 4.1.60) +endif + +DEB_DH_PYTHON_ARGS = $(addprefix -V ,$(cdbs_python_compile_version)) $(DEB_DH_PYTHON_ARGS_ALL) $(DEB_DH_PYTHON_ARGS_$(cdbs_curpkg)) +endif + + +else +########################## new policy methods ########################### + +# This variable is deprecated. +DEB_PYTHON_MODULE_PACKAGE = $(firstword $(filter-out %-doc %-dev %-common, $(DEB_PACKAGES))) +_cdbs_deprecated_vars += DEB_PYTHON_MODULE_PACKAGE +_cdbs_deprecated_DEB_PYTHON_MODULE_PACKAGE_default := $(DEB_PYTHON_MODULE_PACKAGE) +# New in 0.x.y. +# TODO: Use DEB_PYTHON_MODU*LE_PACKAGE but without firstword function (requires abi bump!) +DEB_PYTHON_MODULE_PACKAGES = $(DEB_PYTHON_MODULE_PACKAGE) + +DEB_PYTHON_MODULE_ARCH_PACKAGES = $(filter $(DEB_PYTHON_MODULE_PACKAGES), $(DEB_ARCH_PACKAGES)) +DEB_PYTHON_MODULE_INDEP_PACKAGES = $(filter $(DEB_PYTHON_MODULE_PACKAGES), $(DEB_INDEP_PACKAGES)) + +# This variable is deprecated +## FIXME: Die if used together with pycentral, that does not support it! +## FIXME: Warn if used without debhelper: is applied with dh_pysupport. +## TODO: Check if usable also with old python policy: was added to deprecated dh_python too. +DEB_PYTHON_PRIVATE_MODULES_DIRS = +_cdbs_deprecated_vars += DEB_PYTHON_PRIVATE_MODULES_DIRS + +# check python system +cdbs_use_xs_field := $(shell grep -q "^XS-Python-Version:" debian/control && echo yes) +cdbs_selected_pycompat := $(shell if [ -e debian/pycompat ]; then cat debian/pycompat; fi) +cdbs_pycompat = $(cdbs_selected_pycompat) +ifeq (pysupport, $(DEB_PYTHON_SYSTEM)) +## FIXME: Arrrrgh - new policy works only with a single python module per source package! + cdbs_python_support_path = usr/share/python-support/$(DEB_PYTHON_MODULE_PACKAGES) + ifeq (, $(cdbs_selected_pycompat)) + cdbs_pycompat = 2 + endif # use pycompat + # warning pysupport compatibility mode + ifneq (, $(cdbs_use_xs_field)) + $(warning Use of XS-Python-Version and XB-Python-Version fields in 'debian/control' is deprecated with pysupport method, use 'debian/pyversions' if you need to specify specific versions) + endif # use XS field (compat) +else + ifeq (pycentral, $(DEB_PYTHON_SYSTEM)) + ifeq (, $(cdbs_selected_pycompat)) + cdbs_pycompat = 2 + endif # use pycompat + else + ifneq (, $(DEB_PYTHON_SYSTEM)) + $(error unsupported Python system: $(DEB_PYTHON_SYSTEM) (select either pysupport or pycentral)) + else + ifneq (, $(cdbs_use_xs_field)) + $(error Your package uses the new Python policy; you must set DEB_PYTHON_SYSTEM to "pysupport" or "pycentral".) + endif + ifneq (, $(cdbs_selected_pycompat)) + ifeq (yes, $(shell expr $(cdbs_selected_pycompat) \> 1 >/dev/null && echo yes)) + $(error Your package uses the new Python policy; you must set DEB_PYTHON_SYSTEM to "pysupport" or "pycentral".) + endif + endif # use pycompat + endif # unknown method + endif # pycentral +endif # pysupport + +# Calculate cdbs_python_build_versions +## FIXME: Arrrrgh - new policy works only with a single python module per source package! +cdbs_python_current_version := $(shell pyversions -vd) +ifeq (,$(DEB_PYTHON_MODULE_ARCH_PACKAGES)) + # check if current is in build versions + ifneq ($(cdbs_python_current_version), $(filter $(cdbs_python_current_version), $(shell pyversions -vr))) + cdbs_python_compile_version := $(firstword $(strip $(sort $(shell pyversions -vr)))) + cdbs_python_build_versions := $(cdbs_python_compile_version) + else + cdbs_python_build_versions := $(cdbs_python_current_version) + endif +else +cdbs_python_build_versions := $(shell pyversions -vr) +endif # archall + +# check if build is possible +ifeq (, $(cdbs_python_build_versions)) +ifeq (pysupport, $(DEB_PYTHON_SYSTEM)) +$(error invalid setting in 'debian/pyversions') +else +$(error invalid setting for XS-Python-Version) +endif # system selected +endif # build versions empty + + +# Declare Build-Deps for packages using this file +# This class can optionally utilize debhelper's "dh_python" command. Just +# be sure you include debhelper.mk before including this file. +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), cdbs (>= 0.4.43) +ifdef _cdbs_rules_debhelper +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), debhelper (>= 5.0.37.2) +endif +ifeq (,$(DEB_PYTHON_MODULE_ARCH_PACKAGES)) + ifneq (, $(cdbs_python_compile_version)) + CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python$(cdbs_python_compile_version)-dev, python (>= 2.3.5-11) + else + CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-dev (>= 2.3.5-11) + endif +else +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-all-dev (>= 2.3.5-11) +endif +ifeq (pysupport, $(DEB_PYTHON_SYSTEM)) +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-support (>= 0.3.2) +else +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), python-central (>= 0.5.0) +endif + +# TODO: Support multiple python modules built for different python versions +cdbs_python_curpkg_build_versions = $(cdbs_python_build_versions) + +DEB_DH_PYTHON_ARGS = $(DEB_DH_PYTHON_ARGS_ALL) $(DEB_DH_PYTHON_ARGS_$(cdbs_curpkg)) $(DEB_PYTHON_PRIVATE_MODULES_DIRS) $(DEB_PYTHON_PRIVATE_MODULES_DIRS_$(cdbs_curpkg)) + +endif + + +########################## all policy methods ########################### + +pre-build:: + mkdir -p python-module-stamp + + +# build stage +$(patsubst %,build/%,$(DEB_PYTHON_MODULE_INDEP_PACKAGES) $(DEB_PYTHON_MODULE_ARCH_PACKAGES)) :: build/% : python-module-stamp/% + +$(patsubst %,python-module-stamp/%,$(DEB_PYTHON_MODULE_INDEP_PACKAGES)) :: python-module-stamp/%: + cd $(DEB_SRCDIR) && /usr/bin/python$(cdbs_python_compile_version) $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS) + touch $@ + +$(patsubst %,python-module-stamp/%,$(DEB_PYTHON_MODULE_ARCH_PACKAGES)) :: python-module-stamp/%: + for buildver in $(cdbs_python_curpkg_build_versions); do \ + cd $(DEB_SRCDIR) && /usr/bin/python$$buildver $(DEB_PYTHON_SETUP_CMD) build $(DEB_PYTHON_BUILD_ARGS); \ + done + touch $@ + + +# install stage +$(patsubst %,install/%,$(DEB_PYTHON_MODULE_INDEP_PACKAGES)) :: install/%: + cd $(DEB_SRCDIR) && /usr/bin/python$(cdbs_python_compile_version) $(DEB_PYTHON_SETUP_CMD) install --root="$(DEB_PYTHON_DESTDIR)" $(DEB_PYTHON_INSTALL_ARGS_ALL) $(DEB_PYTHON_INSTALL_ARGS_$(cdbs_curpkg)) + +$(patsubst %,install/%,$(DEB_PYTHON_MODULE_ARCH_PACKAGES)) :: install/%: + for buildver in $(cdbs_python_curpkg_build_versions); do \ + cd $(DEB_SRCDIR) && /usr/bin/python$$buildver $(DEB_PYTHON_SETUP_CMD) install --root="$(DEB_PYTHON_DESTDIR)" $(DEB_PYTHON_INSTALL_ARGS_ALL) $(DEB_PYTHON_INSTALL_ARGS_$(cdbs_curpkg)); \ + done + + +# This class can optionally use debhelper's commands. Just +# be sure you include debhelper.mk before including this file. +ifdef _cdbs_rules_debhelper + +$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%: +ifdef DEB_PYTHON_SYSTEM +ifeq (pysupport, $(DEB_PYTHON_SYSTEM)) + dh_pysupport -p$(cdbs_curpkg) $(DEB_PYTHON_PRIVATE_MODULES_DIRS) $(DEB_PYTHON_PRIVATE_MODULES_DIRS_$(cdbs_curpkg)) +else + dh_pycentral -p$(cdbs_curpkg) +endif +endif + dh_python -p$(cdbs_curpkg) $(DEB_DH_PYTHON_ARGS) +endif + + +# clean stage +clean:: $(patsubst %,python-module-clean/%,$(DEB_PYTHON_MODULE_INDEP_PACKAGES) $(DEB_PYTHON_MODULE_ARCH_PACKAGES)) + +$(patsubst %,python-module-clean/%,$(DEB_PYTHON_MODULE_INDEP_PACKAGES)) :: python-module-clean/%: + -cd $(DEB_SRCDIR) && /usr/bin/python$(cdbs_python_compile_version) $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS) + +$(patsubst %,python-module-clean/%,$(DEB_PYTHON_MODULE_ARCH_PACKAGES)) :: python-module-clean/%: + -for buildver in $(cdbs_python_curpkg_build_versions); do \ + cd $(DEB_SRCDIR) && /usr/bin/python$$buildver $(DEB_PYTHON_SETUP_CMD) clean $(DEB_PYTHON_CLEAN_ARGS); \ + done + +clean:: +ifdef DEB_PYTHON_SYSTEM +ifeq (, $(cdbs_selected_pycompat)) + echo "$(cdbs_pycompat)" >debian/pycompat +endif # use pycompat +endif + rm -rf python-build-stamp + +# Calling setup.py clean may create .pyc files, so we need a final cleanup +# pass here. +clean:: + find . -name '*.pyc' -exec rm '{}' ';' + +endif --- moin-1.5.8.orig/debian/control +++ moin-1.5.8/debian/control @@ -0,0 +1,41 @@ +Source: moin +Section: net +Priority: optional +Maintainer: Ubuntu Core developers +XSBC-Original-Maintainer: Jonas Smedegaard +Standards-Version: 3.7.2 +Build-Depends: cdbs (>= 0.4.43), debhelper (>= 5.0.37.2), python-dev (>= 2.3.5-11), python-support (>= 0.3.2), quilt, patchutils (>= 0.2.25), dh-buildinfo +Vcs-Svn: svn://svn.debian.org/collab-maint/deb-maint/moin/trunk +Vcs-Browser: http://svn.debian.org/wsvn/collab-maint/deb-maint/moin/trunk +Homepage: http://moinmoin.wikiwikiweb.de/ + +Package: moinmoin-common +Architecture: all +Depends: ${python:Depends} +Recommends: python-moinmoin +Conflicts: moin +Replaces: moin +Description: Python clone of WikiWiki - common data + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package contains MoinMoin system pages and other data common for + all flavors of MoinMoin. For a complete installation of MoinMoin you + want python-moinmoin installed too. + +Package: python-moinmoin +Architecture: all +Section: python +Depends: ${python:Depends}, moinmoin-common (= ${source:Version}) +Provides: ${python:Provides} +Replaces: python2.3-moinmoin (<< 1.5.3-1.1), python2.4-moinmoin (<< 1.5.3-1.1) +Conflicts: moin, python2.3-moinmoin (<< 1.5.3-1.1), python2.4-moinmoin (<< 1.5.3-1.1) +Recommends: exim4 | mail-transport-agent +Suggests: apache | httpd-cgi | libapache2-mod-python | libapache-mod-python | python-twisted | libapache-mod-fastcgi, miscfiles | wordlist, python-4suite-xml, python-gdchart, python-docutils (>= 0.3.10) +Description: Python clone of WikiWiki - library + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. --- moin-1.5.8.orig/debian/README.Debian.in +++ moin-1.5.8/debian/README.Debian.in @@ -0,0 +1,98 @@ +moin for Debian +--------------- + +This Debian package has been tested mostly as CGI script with Apache 1.3. + +It should work with any web server supporting either of these: + + * CGI + * FastCGI + * Apache Python module + * Twisted + + +Example: A single wiki as CGI with Apache 1.3 +--------------------------------------------- + + 1) Create and populate /var/www/mywiki + # mkdir /var/www/mywiki + # cp -r /usr/share/moin/server/moin.cgi /var/www/mywiki + # mkdir /var/lib/mywiki + # cp -r /usr/share/moin/data /usr/share/moin/underlay /var/lib/mywiki + + 2) Pass on the wiki to Apache: + # chown -R www-data: /var/www/mywiki /var/lib/mywiki + + 3) Configure Apache 1.3: + Add the following lines to /etc/apache/httpd.conf: + + Alias /wiki/ "/usr/share/moin/htdocs/" + ScriptAlias /MyWiki "/var/www/mywiki/moin.cgi" + + and reload apache + + 4) Configure MoinMoin: + Edit /etc/moin/farmconfig.py to include mywiki like this: + + wikis = [ + ("mywiki", r"^your.site/mywiki/.*$"), + ] + + Also, in /etc/moin/farmconfig.py comment out data_dir and + data_underlay_dir (we need those defined separately for each wiki) + + # cp /etc/moin/moinmaster.py /etc/moin/mywiki.py + Edit /etc/moin/mywiki.py to include these lines: + + sitename = u'MyWiki' # [Unicode] + data_dir = '/var/lib/mywiki/data' + data_underlay_dir = '/var/lib/mywiki/underlay' + + 5) Enjoy your new wiki at http://your.site/MyWiki/ + + +For more complex setups for apache 1.3 and 2.0, you may find inspiration +in *.conf files below /usr/share/doc/moinmoin-common/examples/*.conf . + +For more info, both related to above example and other setups like +Twisted or standalone, read the upstream file +/usr/share/doc/moinmoin-common/INSTALL.html . + + +Migrating from earlier version of moin +-------------------------------------- + +Please follow the upgrade description in +/usr/share/doc/moinmoin-common/README.migration(.gz). beware that the +document was written upstream so some info may not apply to this Debian +package. + +No prerelease of MoinMoin has been packaged officially for Debian, so if +upgrading from an earlier testing or unstable Debian package, you +probably want to run (one after the other) all of +/usr/lib/python2.3/site-packages/MoinMoin/scripts/migration/*mig*.py . + +TIP: If you use mc (Midnight commander) then tag all migration scripts +and run the following while in the opposite window outside of the data +directory: + + for f in %T; do %D/$f; done + + +See also these links for additional cleanup after migration: + + http://moinmoin.wikiwikiweb.de/RemovingUnwantedLanguages + http://moinmoin.wikiwikiweb.de/RemovingSystemPages + + +Always use farmconfig +--------------------- + +The Debian packaging of MoinMoin has farmconfig enabled by default, and +it is recommended to always use farmconfig instead of wikiconfig.py. + +Some upgrades of MoinMoin require migration of data (as was the case +from 1.2.4 to 1.3.4). Future Debian packaging routines may offer to do +the migration automatically, but only for farmconfig wikis! + + --- moin-1.5.8.orig/debian/README.Debian.tail +++ moin-1.5.8/debian/README.Debian.tail @@ -0,0 +1,21 @@ +Additional notes +---------------- + +If you want to customize the visual layout of the wiki, copy the htdoc +directory as well, change the Alias line, and (optionally) change the +url_prefix option in moin_config.py. + +The dictionary can be improved by adding (symlinks to) wordlists to the +data/dict. If one of the wordlist packages (eg. wenglish, wdutch, +miscfiles) is installed you can link to /usr/share/dict/words or the +file(s) directly. Alternatively (or in addition) you can put other +wordlists into the moin dict folder. One place to look for wordlists is +here: http://wetelephant.cotse.com/wordlists/ + +Beware if copying /usr/share/moin to a different location: The symlink +/usr/share/moin/data/dict/word may need to be adjusted to properly point +to /usr/share/dict/words - or replaced as described above. + +Read more about the options on the wiki page HelpOnConfiguration. + + -- Jonas Smedegaard Tue, 22 Mar 2005 03:05:47 +0100 --- moin-1.5.8.orig/debian/moinmoin-common.postinst.tail.oldpython +++ moin-1.5.8/debian/moinmoin-common.postinst.tail.oldpython @@ -0,0 +1,3 @@ + +# Remove byte-compiled configfile generated by dh_python +find /usr/share/moin/server -name *.pyc -o -name *.pyo | xargs -r rm -f --- moin-1.5.8.orig/debian/moinmaster.py +++ moin-1.5.8/debian/moinmaster.py @@ -0,0 +1,36 @@ +# -*- coding: iso-8859-1 -*- +# IMPORTANT! This encoding (charset) setting MUST be correct! If you live in a +# western country and you don't know that you use utf-8, you probably want to +# use iso-8859-1 (or some other iso charset). If you use utf-8 (a Unicode +# encoding) you MUST use: coding: utf-8 +# That setting must match the encoding your editor uses when you modify the +# settings below. If it does not, special non-ASCII chars will be wrong. + +""" +This is a sample config for a wiki that is part of a wiki farm and uses +farmconfig for common stuff. Here we define what has to be different from +the farm's common settings. +""" + +# we import the FarmConfig class for common defaults of our wikis: +from farmconfig import FarmConfig + +# now we subclass that config (inherit from it) and change what's different: +class Config(FarmConfig): + + show_timings = 1 + + # basic options (you normally need to change these) + sitename = u'MoinMaster' # [Unicode] + interwikiname = 'MoinMaster' + + # name of entry page / front page [Unicode], choose one of those: + + # a) if most wiki content is in a single language + #page_front_page = u"MyStartingPage" + + # b) if wiki content is maintained in many languages + page_front_page = u"FrontPage" + + data_dir = '/org/de.wikiwikiweb.moinmaster/data/' + --- moin-1.5.8.orig/debian/control.in +++ moin-1.5.8/debian/control.in @@ -0,0 +1,41 @@ +Source: moin +Section: net +Priority: optional +Maintainer: Ubuntu Core developers +XSBC-Original-Maintainer: Jonas Smedegaard +Standards-Version: 3.7.2 +Build-Depends: @cdbs@ +Vcs-Svn: svn://svn.debian.org/collab-maint/deb-maint/moin/trunk +Vcs-Browser: http://svn.debian.org/wsvn/collab-maint/deb-maint/moin/trunk +Homepage: http://moinmoin.wikiwikiweb.de/ + +Package: moinmoin-common +Architecture: all +Depends: ${python:Depends} +Recommends: python-moinmoin +Conflicts: moin +Replaces: moin +Description: Python clone of WikiWiki - common data + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package contains MoinMoin system pages and other data common for + all flavors of MoinMoin. For a complete installation of MoinMoin you + want python-moinmoin installed too. + +Package: python-moinmoin +Architecture: all +Section: python +Depends: ${python:Depends}, moinmoin-common (= ${source:Version}) +Provides: ${python:Provides} +Replaces: python2.3-moinmoin (<< 1.5.3-1.1), python2.4-moinmoin (<< 1.5.3-1.1) +Conflicts: moin, python2.3-moinmoin (<< 1.5.3-1.1), python2.4-moinmoin (<< 1.5.3-1.1) +Recommends: exim4 | mail-transport-agent +Suggests: apache | httpd-cgi | libapache2-mod-python | libapache-mod-python | python-twisted | libapache-mod-fastcgi, miscfiles | wordlist, python-4suite-xml, python-gdchart, python-docutils (>= 0.3.10) +Description: Python clone of WikiWiki - library + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. --- moin-1.5.8.orig/debian/README.packaging +++ moin-1.5.8/debian/README.packaging @@ -0,0 +1,3 @@ + * List of latest changesets: http://hg.thinkmo.de/moin/1.5 + * Fetch changesets from upstream Hg: + (hash=69f39c1607c5;cset=434;no=00$cset;wget -O ${no}_cset${cset}.patch "http://hg.thinkmo.de/moin/1.5?cs=${hash};style=raw") --- moin-1.5.8.orig/debian/moinmoin-common.postinst.in +++ moin-1.5.8/debian/moinmoin-common.postinst.in @@ -0,0 +1,32 @@ +#!/bin/sh + +set -e + +rename_conffile_commit () { +# syntax: rename_conffile_commit filename +# +# Complete the renaming of a conffile "filename" that has been renamed. +# +# Call this function from a postinst script after having used +# rename_conffile_prepare() in the preinst. + + #local conffile + + # validate arguments + if [ $# -ne 1 ]; then + echo "$0: usage error: rename_conffile_commit() called with wrong number of arguments (expected 1, got $#)." >&2 + exit 2 + fi + + _conffile="$1" + + # If the temporary file created by rename_conffile_prepare() exists, remove + # it. + if [ -e "$_conffile.moinmoin-common.moved" ]; then + rm "$_conffile.moinmoin-common.moved" + fi +} + +#DEBHELPER# + +rename_conffile_commit /etc/moin/moinmaster.py --- moin-1.5.8.orig/debian/pycompat +++ moin-1.5.8/debian/pycompat @@ -0,0 +1 @@ +2 --- moin-1.5.8.orig/debian/rules +++ moin-1.5.8/debian/rules @@ -0,0 +1,220 @@ +#!/usr/bin/make -f +# -*- mode: makefile; coding: utf-8 -*- +# Copyright © 2003-2007 Jonas Smedegaard + +# We cheat and don't actually enable new python system with cdbs. +# Instead we use the old system, and just manually execute dh_pysupport +ifneq (,$(wildcard debian/pyversions)) +DEB_PYTHON_SYSTEM = pysupport +endif + +# NB! Local cdbs tweaks are used: See debian/README.cdbs-tweaks + +include debian/cdbs/1/rules/upstream-tarball.mk +include debian/cdbs/1/rules/buildcore.mk + +## FIXME: Double-check that it works with tweaked cdbs snippet moved further down +## python-distutils first is intentional so that we can use dh_pysupport ourselves. +#include /usr/share/cdbs/1/class/python-distutils.mk + +include /usr/share/cdbs/1/rules/debhelper.mk + +# This one must load after debhelper.mk to enable use of dh_python +include debian/cdbs/1/class/python-distutils.mk + +include /usr/share/cdbs/1/rules/patchsys-quilt.mk +include debian/cdbs/1/rules/buildinfo.mk + +# This one must load after python-distutils.mk to not choke on byte-compiled files +include debian/cdbs/1/rules/copyright-check.mk + +DEB_UPSTREAM_URL = http://downloads.sourceforge.net/moin +DEB_UPSTREAM_TARBALL_MD5 = 79625eaeb65907bfaf8b3036d81c82a5 + +ifneq (,$(DEB_PYTHON_SYSTEM)) +pkg_data = moinmoin-common +pkg_lib = python-moinmoin +pkg_lib_alternatives = +DEB_INSTALL_EXAMPLES_$(pkg_data) = build/scripts-*/* +libdir = /usr/share/python-support/$(cdbs_curpkg) +pyversions = 2.3- +DEB_PYTHON_PRIVATE_MODULES_DIRS_$(pkg_data) = /usr/share/moin/data/plugin /usr/share/moin/server +# Grrr - this is needed thanks to broken defaults with new python policy! +DEB_PYTHON_DESTDIR = $(CURDIR)/debian/$(cdbs_curpkg) +else +pkg_data = moinmoin-common +pkg_lib = python$(cdbs_python_current_version)-moinmoin +pkg_lib_alternatives = $(filter-out $(patsubst %,python%%,$(cdbs_python_current_version)),$(DEB_PYTHON_MODULE_ARCH_PACKAGES)) +DEB_INSTALL_EXAMPLES_$(pkg_data) = build/scripts-$(cdbs_python_current_version)/* +libdir = /usr/lib/python$(cdbs_python_curpkg_build_versions)/site-packages/MoinMoin +endif + +DEB_MAKE_CHECK_TARGET = test +DEB_COMPRESS_EXCLUDE = .py +DEB_INSTALL_EXAMPLES_$(pkg_data) += wiki/underlay/pages/LocalSpellingWords contrib/phpwiki_migration wiki/config debian/examples/* +DEB_INSTALL_DOCS_ALL += debian/README.Debian +DEB_INSTALL_DOCS_$(pkg_data) += docs/README.migration docs/INSTALL.html docs/HACKS +DEB_INSTALL_CHANGELOGS_ALL = docs/CHANGES + +# just being lazy... +datadir = /usr/share/moin +spelldir= $(datadir)/underlay/pages/LocalSpellingWords + +# Force strip python binary hardcoding for files moved to data package +# - or force apply it if requested (needed for woody) +## FIXME: do it before debhelper install if forcing binary, to avoid dh_python creating wrong dependencies +#ifeq (,$(strip $(cdbs_python_compile_version))) +#common-install-prehook-indep:: +#else +binary-fixup/$(pkg_data):: +#endif + egrep -r -l -Z '^#! ?/usr/bin/(env )?python[[:print:]]*$$' debian/$(cdbs_curpkg)$(datadir)/server/* debian/$(cdbs_curpkg)/usr/share/doc/* \ + | xargs -r -0 perl -pi -e 's,^#! ?/usr/bin/(env )?python[[:print:]]*$$,#!/usr/bin/python$(cdbs_python_compile_version),' + +ifeq (,$(DEB_PYTHON_SYSTEM)) +# Always use hardcoded python version within version-specific packages +$(patsubst %,binary-fixup/%,$(filter-out $(pkg_data),$(DEB_PYTHON_MODULE_ARCH_PACKAGES))) :: + egrep -r -l -Z '^#! ?/usr/bin/(env )?python[[:print:]]*$$' debian/$(cdbs_curpkg)$(libdir)/* debian/$(cdbs_curpkg)$(datadir)/server/* debian/$(cdbs_curpkg)/usr/share/doc/* \ + | xargs -r -0 perl -pi -e 's,^#! ?/usr/bin/(env )?python[[:print:]]*$$,#!/usr/bin/python$(cdbs_python_ver),' +endif + +# Strip these notes in underlay about editing only on moinmaster: +## Please edit system and help pages ONLY in the moinmaster wiki! For more +## information, please see MoinMaster:MoinPagesEditorGroup. +## Please edit (or translate) system/help pages on the moinmaster wiki ONLY. +## For more information, please see MoinMaster:MoinPagesEditorGroup. +binary-fixup/$(pkg_data):: + egrep -r -l -Z '^## ' debian/$(cdbs_curpkg)$(datadir)/underlay/pages/*/revisions/* \ + | xargs -r -0 perl -pi -e 's;^## (Please edit system|information, please see|Please edit |For more information).*\n;;' + +# Make sure scripts are executable +$(patsubst %,binary-fixup/%,$(pkg_lib) $(pkg_lib_alternatives)) :: + egrep -r -l -Z '^#! ?/usr/bin/(env )?python[[:print:]]*$$' debian/$(cdbs_curpkg)$(libdir) \ + | xargs -r -0 chmod a+x + +# Make sure translations are up-to-date +common-build-indep:: debian/stamp-update-translations + +debian/stamp-update-translations: + cd MoinMoin/i18n && make + touch debian/stamp-update-translations + +clean:: + cd MoinMoin/i18n && make clean + rm -f MoinMoin/i18n/meta.py + rm -f debian/stamp-update-translations + +# Move common files off of default lib package +# (and drop files already provided as example files) +common-binary-post-install-indep:: + rm -rf debian/$(pkg_lib)/usr/bin + rm -rf debian/$(pkg_lib)$(spelldir) + mkdir -p debian/$(pkg_data)$(datadir) + mv debian/$(pkg_lib)$(datadir)/* debian/$(pkg_data)$(datadir) + rm -rf debian/$(pkg_lib)$(datadir) + +ifeq (,$(DEB_PYTHON_SYSTEM)) +# Strip common and example files from non-default library packages +# (Ignored with new python policy: pkg_lib_alternatives is undefined) +$(patsubst %,binary-post-install/%,$(pkg_lib_alternatives)) :: + rm -rf debian/$(cdbs_curpkg)$(datadir) + rm -rf debian/$(cdbs_curpkg)/usr/bin +endif + +# Create virtually empty local dictionary +# (default german words already provided as example files) +binary-fixup/$(pkg_data):: + mkdir -p debian/$(cdbs_curpkg)$(spelldir)/revisions + echo "00000001" \ + > debian/$(cdbs_curpkg)$(spelldir)/current + echo "Jürgen Hermann Python MoinMoin moin" \ + > debian/$(cdbs_curpkg)$(spelldir)/revisions/00000001 + echo "Debian GNU" \ + >> debian/$(cdbs_curpkg)$(spelldir)/revisions/00000001 + +# Use sitewide word file as main dictionary +binary-fixup/$(pkg_data):: + mkdir -p debian/$(cdbs_curpkg)$(datadir)/data/dict + ln -s ../../../dict/words debian/$(cdbs_curpkg)$(datadir)/data/dict/words + +# Setup system wide farmconfig. +binary-fixup/$(pkg_data):: + mkdir -p debian/$(cdbs_curpkg)/etc/moin + for file in `find debian/$(cdbs_curpkg)$(datadir)/config/wikifarm -type f -print`; do \ + sed -f debian/configtweaks.sed $$file > debian/$(cdbs_curpkg)/etc/moin/$${file##*/}; \ + done + for file in `find debian/$(cdbs_curpkg)$(datadir)/server -type f -printf '%f\n'`; do \ + cat debian/$(cdbs_curpkg)$(datadir)/server/$$file | sed -f debian/servertweaks.sed > debian/$(cdbs_curpkg)$(datadir)/server/$$file.new; \ + chmod --reference=debian/$(cdbs_curpkg)$(datadir)/server/$$file debian/$(cdbs_curpkg)$(datadir)/server/$$file.new; \ + mv -f debian/$(cdbs_curpkg)$(datadir)/server/$$file.new debian/$(cdbs_curpkg)$(datadir)/server/$$file; \ + done + +# Strip TwikiDrawPlugin as we need to compile from source +binary-fixup/$(pkg_data):: + rm -f debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/TWikiDrawPlugin/twikidraw.jar + echo "This applet has not yet been packaged for Debian. for now it is available at http://debian.jones.dk/auryn/pool-all/official/moin/twikidraw/" > debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/TWikiDrawPlugin/README + +# Move documentation parts of FCKeditor below /usr/share/doc/.../FCKeditor/ +binary-fixup/$(pkg_data):: + mkdir -p debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/FCKeditor + for file in README _documentation.html _whatsnew.html htaccess.txt; do \ + mv "debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/$$file" "debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/FCKeditor"; \ + done + +# Strip irrelevant parts of FCKeditor +binary-fixup/$(pkg_data):: +# Non-python server-side code + rm -rf debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts + rm -rf debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors + rm -rf debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/editor/filemanager/upload + rm -f debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/fckeditor.afp + rm -f debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/fckeditor.asp + rm -f debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/fckeditor.cfc + rm -f debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/fckeditor.cfm + rm -f debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/fckeditor.lasso + rm -f debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/fckeditor.php + rm -f debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/fckeditor.pl +# Seems like sample code for web development + rm -rf debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/_samples + rm -rf debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/_testcases + rm -rf debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/editor/_source +# The LGPL license is included once below /usr/share/common-licenses/ + rm -f debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/license.txt + +pre-build:: + cp -f debian/README.Debian.in debian/README.Debian + cp -f debian/moinmoin-common.postinst.in debian/moinmoin-common.postinst +ifeq (,$(DEB_PYTHON_SYSTEM)) + cat debian/README.Debian.addon.oldpython >> debian/README.Debian + cat debian/moinmoin-common.postinst.tail.oldpython >> debian/moinmoin-common.postinst +endif + cat debian/README.Debian.tail >> debian/README.Debian + +clean:: + rm -f debian/README.Debian + rm -f debian/moinmoin-common.postinst + +# Custom targets for switching between very different distributions + +# We really should use their release name here, but I forgot what it was... +ubuntu: + cp -f debian/control.in.ubuntu debian/control.in + echo "ubuntu" > debian/dist + rm -f debian/pyversions + rm -f debian/pycompat + +sarge: + cp -f debian/control.in.sarge debian/control.in + echo "sarge" > debian/dist + rm -f debian/pyversions + rm -f debian/pycompat + +etch: + cp -f debian/control.in.etch debian/control.in + echo "etch" > debian/dist + echo "$(pyversions)" > debian/pyversions +# rm -f debian/pycompat + +# Fix double cdbs build-dependencies +CDBS_BUILD_DEPENDS := $(shell echo '$(CDBS_BUILD_DEPENDS)' | sed -e '/\bcdbs (>= 0.4.43)/ s/ *,* *\bcdbs (>= \(0.4.23-1.1\|0.4.27-1\|0.4.39\)) *,* */, /g' -e 's/^ *, *//' -e 's/ *, *$$//') +CDBS_BUILD_DEPENDS := $(shell echo '$(CDBS_BUILD_DEPENDS)' | sed -e '/\bdebhelper (>= 5.0.37.2)/ s/ *,* *\bdebhelper (>= \(4.2.0\|5\)) *,* */, /g' -e 's/^ *, *//' -e 's/ *, *$$//') --- moin-1.5.8.orig/debian/lintian/moinmoin-common +++ moin-1.5.8/debian/lintian/moinmoin-common @@ -0,0 +1,5 @@ +moinmoin-common: package-contains-upstream-install-documentation usr/share/doc/moinmoin-common/INSTALL.html +moinmoin-common: script-not-executable ./usr/share/moin/underlay/pages/HelpOnInstalling(2f)TroubleShooting/attachments/is_python_here.sh +moinmoin-common: script-not-executable ./usr/share/moin/underlay/pages/HelpOnInstalling(2f)WikiInstanceCreation/attachments/createinstance.sh +moinmoin-common: script-not-executable ./usr/share/moin/underlay/pages/HelpOnInstalling(2f)BasicInstallation/attachments/pythontest.cgi +moinmoin-common: script-not-executable ./usr/share/moin/underlay/pages/HelpOnInstalling(2f)ApacheOnLinuxFtp/attachments/explore.py --- moin-1.5.8.orig/debian/examples/remove-if-ok-underlay-from-data.sh +++ moin-1.5.8/debian/examples/remove-if-ok-underlay-from-data.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# THIS CODE PROVIDES NO WARRANTY bla bla... +# Cleanup the datadir +# cleanupdatadir.sh /path/to/underlaydir /path/to/datadir + +for i in `find "$1"/pages -type d -mindepth 1 -maxdepth 1 -printf "%f\n"`; do + find "$2"/pages/"$i" -type d -maxdepth 0 -ok rm -rf '{}' ';' +done --- moin-1.5.8.orig/debian/examples/remove-from-underlay-en.py +++ moin-1.5.8/debian/examples/remove-from-underlay-en.py @@ -0,0 +1,32 @@ +#!/usr/bin/python +from glob import glob +from os import renames +from os.path import join, dirname, basename, normpath, abspath + +def pages_by_lang(pagesdir): + """Returns a dictionary of #language to page path.""" + pages = {} + for path in glob(join(pagesdir,'*','revisions', '00000001')): + pages.setdefault(scan_for_lang(path), + []).append(basename(dirname(dirname(normpath(path))))) + return pages + +def scan_for_lang(path): + """Returns #language from path or 'None' if #language not found.""" + for line in file(path): + # We assume no language declaration can occur after a blank line + if line[0] != '#': + break + if line.startswith('#language '): + return line.split()[1] + return None + +def move_unwanted(pagesdir, unwanteddir, wantedlangs=[None, 'en']): + pages = pages_by_lang(pagesdir) + for lang, paths in pages.iteritems(): + if lang not in wantedlangs: + for pagedir in paths: + renames(join(pagesdir, pagedir), join(unwanteddir, pagedir)) + +if __name__ == '__main__': + move_unwanted(abspath('./underlay_en/pages'), abspath('./unwanted_en/pages')) --- moin-1.5.8.orig/debian/examples/apache20.conf +++ moin-1.5.8/debian/examples/apache20.conf @@ -0,0 +1,31 @@ + + ServerName wiki.site.com + DocumentRoot /var/www/wiki.site.com + SuexecUserGroup jonas jonas + + + Options +ExecCGI + + + # Use default themes + Alias /wiki/ /usr/share/moin/htdocs/ + + AcceptPathInfo On + + RewriteEngine On + + RewriteRule ^/moin(/(.*))? /$2 [last,R] + + RewriteRule ^/wiki/ - [last] + RewriteRule ^/robots.txt - [last] + RewriteRule ^/favicon.ico - [last] + RewriteRule ^/?(.*) /var/www/wiki.site.com/moin.cgi/$1 [last,type=application/x-httpd-cgi] + + + + ServerName www.wiki.site.com + ServerAlias *.wiki.site.com + RewriteEngine On + RewriteRule / http://wiki.site.com/ [R] + TransferLog /dev/null + --- moin-1.5.8.orig/debian/examples/apache13.conf +++ moin-1.5.8/debian/examples/apache13.conf @@ -0,0 +1,28 @@ + + ServerName wiki.site.com + DocumentRoot /var/www/wiki.site.com + + + Options +ExecCGI + + + # Use default themes + Alias /wiki/ /usr/share/moin/htdocs/ + + RewriteEngine On + + RewriteRule ^/moin(/(.*))? /$2 [last,R] + + RewriteRule ^/wiki/ - [last] + RewriteRule ^/robots.txt - [last] + RewriteRule ^/favicon.ico - [last] + RewriteRule ^/?(.*) /var/www/wiki.site.com/moin.cgi/$1 [last,type=application/x-httpd-cgi] + + + + ServerName www.wiki.site.com + ServerAlias *.wiki.site.com + RewriteEngine On + RewriteRule / http://wiki.site.com/ [R] + TransferLog /dev/null + --- moin-1.5.8.orig/debian/control.in.sarge +++ moin-1.5.8/debian/control.in.sarge @@ -0,0 +1,71 @@ +Source: moin +Section: net +Priority: optional +Maintainer: Jonas Smedegaard +Standards-Version: 3.7.2 +Build-Depends: @cdbs@ + +Package: moinmoin-common +Architecture: all +Recommends: python-moinmoin +Conflicts: moin +Replaces: moin +Description: Python clone of WikiWiki - common data + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package contains MoinMoin system pages and other data common for + all flavors of MoinMoin. For a complete installation of MoinMoin you + want python-moinmoin (or pythonXX-moinmoin) installed too. + . + Homepage: http://moinmoin.wikiwikiweb.de/ + +Package: python-moinmoin +Architecture: all +Section: python +Depends: ${python:Depends} +Description: Python clone of WikiWiki - dummy library package + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package is an empty dummy package that always depends on + a package built for Debian's default Python version. + . + Homepage: http://moinmoin.wikiwikiweb.de/ + +Package: python2.3-moinmoin +Architecture: all +Section: python +Depends: python2.3, moinmoin-common (= ${Source-Version}) +Recommends: exim4 | mail-transport-agent +Conflicts: moin +Suggests: apache | httpd | libapache-mod-python2.3 | libapache2-mod-python2.3 | python2.3-twisted | libapache-mod-fastcgi, miscfiles | wordlist, python2.3-4suite, python2.3-gdchart | python-gdchart, python2.3-docutils (>= 0.3.10) +Description: Python clone of WikiWiki - library + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package contains the libraries for Python 2.3. + . + Homepage: http://moinmoin.wikiwikiweb.de/ + +Package: python2.4-moinmoin +Architecture: all +Section: python +Depends: python2.4, moinmoin-common (= ${Source-Version}) +Recommends: exim4 | mail-transport-agent +Suggests: apache | httpd | libapache-mod-python2.4 | libapache2-mod-python2.4 | python2.4-twisted | libapache-mod-fastcgi, miscfiles | wordlist, python2.4-4suite, python2.4-gdchart, python2.4-docutils (>= 0.3.10) +Description: Python clone of WikiWiki - library + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package contains the libraries for Python 2.4. + . + Homepage: http://moinmoin.wikiwikiweb.de/ --- moin-1.5.8.orig/debian/moinmoin-common.prerm +++ moin-1.5.8/debian/moinmoin-common.prerm @@ -0,0 +1,38 @@ +#!/bin/sh + +set -e + +rename_conffile_rollback () { +# syntax: rename_conffile_rollback old_name new_name +# +# Roll back the renaming of a conffile from "old_name" to "new_name". +# +# Call this function from a postrm script in the event $1 is "abort-upgrade" +# or "abort-install" is after having used rename_conffile_prepare() in the +# preinst. + + # local conffile + + # Validate arguments. + if [ $# -ne 1 ]; then + echo "$0: usage error: rename_conffile_rollback() called with wrong number of arguments (expected 1, got $#)." + exit 2 + fi + + _old_conffile="$1" + _new_conffile="$2" + + # If the temporary file created by rename_conffile_prepare() exists, + # rename _new_conffile to _old_conffile. + if [ -e "$_old_conffile.moinmoin-common.moved" ]; then + echo "Rolling back renaming of conffile $_old_conffile to $_new_conffile." >&2 + mv "$_new_conffile" "$_old_conffile" + rm "$_old_conffile.moinmoin-common.moved" + fi +} + +#DEBHELPER# + +if [ "$1" = "abort-install" ] || [ "$1" = "abort-upgrade" ]; then + rename_conffile_rollback /etc/moin/moinmaster.py /etc/moin/mywiki.py +fi --- moin-1.5.8.orig/debian/control.in.etch +++ moin-1.5.8/debian/control.in.etch @@ -0,0 +1,43 @@ +Source: moin +Section: net +Priority: optional +Maintainer: Jonas Smedegaard +Standards-Version: 3.7.2 +Build-Depends: @cdbs@ +Vcs-Svn: svn://svn.debian.org/collab-maint/deb-maint/moin/trunk +Vcs-Browser: http://svn.debian.org/wsvn/collab-maint/deb-maint/moin/trunk + +Package: moinmoin-common +Architecture: all +Depends: ${python:Depends} +Recommends: python-moinmoin +Conflicts: moin +Replaces: moin +Description: Python clone of WikiWiki - common data + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package contains MoinMoin system pages and other data common for + all flavors of MoinMoin. For a complete installation of MoinMoin you + want python-moinmoin installed too. + . + Homepage: http://moinmoin.wikiwikiweb.de/ + +Package: python-moinmoin +Architecture: all +Section: python +Depends: ${python:Depends}, moinmoin-common (= ${source:Version}) +Provides: ${python:Provides} +Replaces: python2.3-moinmoin (<< 1.5.3-1.1), python2.4-moinmoin (<< 1.5.3-1.1) +Conflicts: moin, python2.3-moinmoin (<< 1.5.3-1.1), python2.4-moinmoin (<< 1.5.3-1.1) +Recommends: exim4 | mail-transport-agent +Suggests: apache | httpd-cgi | libapache2-mod-python | libapache-mod-python | python-twisted | libapache-mod-fastcgi, miscfiles | wordlist, python-4suite, python-gdchart, python-docutils (>= 0.3.10) +Description: Python clone of WikiWiki - library + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + Homepage: http://moinmoin.wikiwikiweb.de/ --- moin-1.5.8.orig/debian/copyright_hints +++ moin-1.5.8/debian/copyright_hints @@ -0,0 +1,163 @@ +'Copyright 2000-2006 by Juergen Hermann') % (version.release, version.revision, ) +(C) 1999 Philipp Esselbach (ple@gmx.net) +(c) 2004 by Oliver Graf +// Bubblehelp infoboxes, (C) 2002 Klaus Knopper +// Copyright (C) 1996 by Jef Poskanzer . All rights reserved. +// Copyright (C) 2001 Motorola - All rights reserved +// Copyright (C)1996,1998 by Jef Poskanzer . All rights reserved. +

Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite +@copyright: (c) 2001 by Jrgen Hermann +@copyright: (c) 2001 by Richard Jones +@copyright: 2000 - 2004 by Jrgen Hermann +@copyright: 2000 by Jrgen Hermann +@copyright: 2000, 2001, 2002 by Jrgen Hermann +@copyright: 2000, 2001, 2002 by Jrgen Hermann , +@copyright: 2000-2001 by Richard Jones +@copyright: 2000-2004 by Jrgen Hermann +@copyright: 2000-2005 by Jrgen Hermann +@copyright: 2000-2006 by Jrgen Hermann +@copyright: 2001 by Jeff Kunce, +@copyright: 2001 by Jrgen Hermann +@copyright: 2001 by Ken Sugino (sugino@mediaone.net) +@copyright: 2001 by Richard Jones +@copyright: 2001 by Steve Howell +@copyright: 2001, 2002 by Jrgen Hermann +@copyright: 2001, 2003 by Jrgen Hermann +@copyright: 2001-2003 by Jrgen Hermann +@copyright: 2001-2004 MoinMoin:JrgenHermann +@copyright: 2001-2004 by Jrgen Hermann +@copyright: 2001-2004 by Jrgen Hermann , +@copyright: 2001-2005 by Jrgen Hermann +@copyright: 2002 by Florian Festi +@copyright: 2002 by Jrgen Hermann +@copyright: 2002 by Scott Moonen +@copyright: 2002 by Taesu Pyo +@copyright: 2002-2004 Michael Reinsch , +@copyright: 2002-2004 by Jrgen Hermann +@copyright: 2002-2004 by Jrgen Hermann , +@copyright: 2002-2005 by Thomas Waldmann +@copyright: 2003 Florian Festi, Nir Soffer, Thomas Waldmann +@copyright: 2003 by Gustavo Niemeyer, http://moin.conectiva.com.br/GustavoNiemeyer +@copyright: 2003 by Jrgen Hermann +@copyright: 2003 by Thomas Waldmann, http://linuxwiki.de/ThomasWaldmann +@copyright: 2003 by ThomasWaldmann (LinuxWiki:ThomasWaldmann) +@copyright: 2003-2004 by Jrgen Hermann +@copyright: 2003-2004 by Nir Soffer +@copyright: 2003-2004 by Thomas Waldmann +@copyright: 2003-2005 by Nir Soffer, Thomas Waldmann +@copyright: 2003-2005 by Thomas Waldmann +@copyright: 2003-2005 by Thomas Waldmann (MoinMoin:ThomasWaldmann) +@copyright: 2003-2006 by MoinMoin:ThomasWaldmann +@copyright: 2003-2006 by Thomas Waldmann +@copyright: 2004 Alexander Schremmer +@copyright: 2004 Jacob Cohen, Nigel Metheringham +@copyright: 2004 Juergen Hermann, Thomas Waldmann +@copyright: 2004 Nir Soffer +@copyright: 2004 Nir Soffer +@copyright: 2004 Nir Soffer +@copyright: 2004 Thomas Waldmann +@copyright: 2004 Vito Miliano (vito_moinnewpagewithtemplate@perilith.com) +@copyright: 2004 by Florian Festi +@copyright: 2004 by Johannes Berg +@copyright: 2004 by Jrgen Hermann +@copyright: 2004 by Matthew Gilbert +@copyright: 2004 by Nir Soffer +@copyright: 2004 by Nir Soffer +@copyright: 2004 by Oliver Graf , Alexander Schremmer +@copyright: 2004 by Thomas Waldmann +@copyright: 2004 by Thomas Waldmann, Oliver Graf, Nir Soffer +@copyright: 2004, 2005 by Nir Soffer +@copyright: 2004-2005 Thomas Waldmann, Nir Soffer +@copyright: 2004-2005 Thomas Waldmann, Oliver Graf, Nir Soffer +@copyright: 2004-2005 ThomasWaldmann (MoinMoin:ThomasWaldmann) +@copyright: 2004-2005 by Johannes Berg +@copyright: 2004-2005 by Oliver Graf +@copyright: 2004-2006 by MoinMoin:ThomasWaldmann +@copyright: 2005 MoinMoin:AlexanderSchremmer +@copyright: 2005 MoinMoin:NirSoffer +@copyright: 2005 DiegoOngaro at ETSZONE (diego@etszone.com) +@copyright: 2005 MoinMoin:AlexanderSchremmer +@copyright: 2005 MoinMoin:FlorianFesti +@copyright: 2005 MoinMoin:NirSoffer +@copyright: 2005 MoinMoin:ReimarBauer +@copyright: 2005 Nir Soffer +@copyright: 2005 Thomas Waldmann +@copyright: 2005 by ???, Thomas Waldmann +@copyright: 2005 by Alexander Schremmer, +@copyright: 2005 by Anakim Border +@copyright: 2005 by Florian Festi +@copyright: 2005 by Florian Festi, Nir Soffer +@copyright: 2005 by Florian Festi, Nir Soffer, +@copyright: 2005 by Florian Festi, Nir Soffer, Thomas Waldmann +@copyright: 2005 by Henry Ho +@copyright: 2005 by Henry Ho +@copyright: 2005 by Mikko Virkkil +@copyright: 2005 by MoinMoin:AlexanderSchremmer +@copyright: 2005 by MoinMoin:AlexanderSchremmer (small modifications) +@copyright: 2005 by MoinMoin:Petr Pytelka (small modifications) +@copyright: 2005 by MoinMoin:ThomasWaldmann +@copyright: 2005 by Nir Soffer +@copyright: 2005 by Nir Soffer +@copyright: 2005 by Thomas Waldmann +@copyright: 2005 by Thomas Waldmann (MoinMoin:ThomasWaldmann) +@copyright: 2005-2006 Bastian Blank, Florian Festi, Thomas Waldmann +@copyright: 2005-2006 MoinMoin:AlexanderSchremmer +@copyright: 2005-2006 by MoinMoin:ThomasWaldmann +@copyright: 2005-2006 by Radomirs Cirskis +@copyright: 2006 Alexander Schremmer +@copyright: 2006 MoinMoin:ReimarBauer +@copyright: 2006 MoinMoin:ThomasWaldmann +@copyright: 2006 Reimar Bauer +@copyright: 2006 Thomas Waldmann +@copyright: 2006 by MoinMoin:AlexanderSchremmer +@copyright: 2006 by MoinMoin:ThomasWaldmann +@copyright: 2006 by MoinMoin:YourNameHere +@copyright: 2006 by Radomir Dopieralski +@copyright: 2006 by Reimar Bauer (R.Bauer@fz-juelich.de) +@copyright: 2006 by Thomas Waldmann +@copyright: 2006 by Thomas Waldmann (idea: Bastian Blank) +@copyright: 2006 by Thomas Waldmann, MoinMoin:ThomasWaldmann +@copyright: 2006 by ThomasWaldmann MoinMoin:ThomasWaldmann +@copyright: Daniela Nicklas , 2003 +Copyright © 2003-2005 Frederico Caldeira +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +Copyright (C) 1991, 1999 Free Software Foundation, Inc. +Copyright (C) 1999, 2000 Martin Pool +Copyright (C) 2000, 2001 Eazel, Inc +Copyright (C) 2000, 2003 Free Software Foundation. +Copyright (C) 2001 Motorola - All rights reserved +Copyright (C) 2003-2004 Frederico Caldeira Knabben +Copyright (C) 2003-2005 Frederico Caldeira Knabben +Copyright (C) 2004 Bastian Blank +Copyright (C) 2004 The Anarcat +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +Copyright (c) 1996, 1997 Erich Gamma +Copyright (c) 1999-2000 FourThought, http://4suite.com/4DOM +Copyright (c) 2000-2006 by Juergen Hermann +Copyright (c) 2001 by Jrgen Hermann +Copyright (c) 2001, 2002 by Jrgen Hermann +Copyright (c) 2001, 2002, 2003 by Juergen Hermann +Copyright (c) 2001-2004 Twisted Matrix Laboratories. +Copyright (c) 2003 by Juergen Hermann +Copyright (c) 2003 by WEB.DE AG, Karlsruhe, Germany. +Copyright (c) 2005 Nir Soffer +Copyright (c) 2006 The MoinMoin development team, see +Copyright 2000 by Peter Thoeny, Peter@Thoeny.com. +Copyright 2002 Gene Cash All rights reserved. +Copyright Peter strand 2001 +Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) +IHDR@@iqbKGD3pHYstIME81eTtEXtCommentCreated by Heather Stern, copyright 2005 (using The GIMP, it's great stuff.)pIDATx{kp@$`cp1q#|RSgNzvf&3=I{Rb'Zblcq0HBwi}n{ #;^<:!uR Hj!jr[ERq!'HGV cFi +IHDR@@iqbKGD}pHYstIME3aTtEXtCommentCreated by Heather Stern, copyright 2005 (using The GIMP, it's great stuff.)p$IDATxwu? +Modifications Copyright (C) 2001 Motorola. All Rights Reserved. +Portions (C) International Organization for Standardization 1986 +Portions Copyright (C) 2001 Motorola - All Rights Reserved +Portions Copyright (C) 2001 Motorola - All rights reserved +Portions Copyright 2000 by Peter Thoeny, Peter@Thoeny.com. +TWikiDraw: Copyright 2000 by Peter Thoeny, Peter@ThoenySPAMBLOCK.com. It +This module is part of the Lupy project and is Copyright 2003 Amir +This module is part of the Lupy project and is Copyright 2005 Florian +file format. (GifEncoder is Copyright (C)1996,1998 by Jef Poskanzer, +h$Q!-Z&90tEXtcomment(c) 1996 Leo Doerr @ www.silverpoint.com+ http://img.web.de/web/img/v4/mypage/global_images/logo_webde.gif || Dieser Vortrag wurde von der [http://www.webde-ag.de/ WEB.DE AG] entwickelt und freundlicherweise zur Nutzung unter den Vorgaben der [http://www.ifross.de/ifross_html/ifl.html IFL-Text v1.0] allen Anwendern von MoinMoin zur Verfgung gestellt. [[BR]][[BR]]Copyright © 2003 by WEB.DE AG, Karlsruhe, Germany. || --- moin-1.5.8.orig/debian/patches/00848_getval_macro_needs_read_access_changelog_entry.patch +++ moin-1.5.8/debian/patches/00848_getval_macro_needs_read_access_changelog_entry.patch @@ -0,0 +1,19 @@ + +# HG changeset patch +# User Reimar Bauer +# Date 1189528296 -7200 +# Node ID c99dd42f2c666bc794640a0d69de259e19ac72cc +# Parent e74d8f2f0d9b04c58851a585d5abe3f2281609e3 +CHANGES: added missing entry about GetVal fix + +--- a/docs/CHANGES Tue Sep 11 18:17:08 2007 +0200 ++++ b/docs/CHANGES Tue Sep 11 18:31:36 2007 +0200 +@@ -35,6 +35,7 @@ Version 1.5.current: + delete rights before overwriting a file. + * Fixed potential XSS issues related to feeding of gui editor. + * Fixed XSS issue in RenamePage/DeletePage action. ++ * GetVal respects now ACLs on the Dict page + + Version 1.5.8: + New features: + --- moin-1.5.8.orig/debian/patches/00854_login_XSS.patch +++ moin-1.5.8/debian/patches/00854_login_XSS.patch @@ -0,0 +1,36 @@ +# HG changeset patch +# User Thomas Waldmann +# Date 1200847002 -3600 +# Node ID 2f952fa361c7bc6ed127ec0618038272385186cd +# Parent dbe95b27954adcb135e392ff1f9c883d0cfb7dc6 +XSS fix for login action, thanks to Fernando Quintero for reporting this + +diff -r dbe95b27954a -r 2f952fa361c7 MoinMoin/action/login.py +--- a/MoinMoin/action/login.py Fri Jan 18 21:40:23 2008 +0100 ++++ b/MoinMoin/action/login.py Sun Jan 20 17:36:42 2008 +0100 +@@ -40,12 +40,12 @@ class LoginHandler: + if not user.isValidName(request, name): + error = _("""Invalid user name {{{'%s'}}}. + Name may contain any Unicode alpha numeric character, with optional one +-space between words. Group page name is not allowed.""") % name ++space between words. Group page name is not allowed.""") % wikiutil.escape(name) + + # Check that user exists + elif not user.getUserId(request, name): + error = _('Unknown user name: {{{"%s"}}}. Please enter' +- ' user name and password.') % name ++ ' user name and password.') % wikiutil.escape(name) + + # Require password + else: +diff -r dbe95b27954a -r 2f952fa361c7 docs/CHANGES +--- a/docs/CHANGES Fri Jan 18 21:40:23 2008 +0100 ++++ b/docs/CHANGES Sun Jan 20 17:36:42 2008 +0100 +@@ -43,6 +43,7 @@ Version 1.5.current: + * added missing data/plugin/converter package + * Fixed Despam action (same editor grouping was broken), now looking for + spam edits in the last 30 days. ++ * Fixed XSS issue in login action. + + Version 1.5.8: + New features: --- moin-1.5.8.orig/debian/patches/00844_fix_gui_editor_formatter_XSS_issues.patch +++ moin-1.5.8/debian/patches/00844_fix_gui_editor_formatter_XSS_issues.patch @@ -0,0 +1,39 @@ + +# HG changeset patch +# User Thomas Waldmann +# Date 1188305310 -7200 +# Node ID d0152eeb4499264758c33d320e73db478515ba44 +# Parent 9880e04b1be245861730631896cec4f7003229ec +fix gui editor formatter XSS issues + +--- a/MoinMoin/formatter/text_gedit.py Mon Jul 30 17:52:20 2007 +0200 ++++ b/MoinMoin/formatter/text_gedit.py Tue Aug 28 14:48:30 2007 +0200 +@@ -58,6 +58,8 @@ class Formatter(text_html.Formatter): + return self.url(1, href, title=title, do_escape=1, css=html_class) # interwiki links with pages with umlauts + + def attachment_inlined(self, url, text, **kw): ++ url = wikiutil.escape(url) ++ text = wikiutil.escape(text) + if url == text: + return 'inline:%s' % url + else: +@@ -98,7 +100,7 @@ class Formatter(text_html.Formatter): + result = "[[%s(%s)]]" % (name, args) + else: + result = "[[%s]]" % name +- return '%s' % result ++ return '%s' % wikiutil.escape(result) + + def processor(self, processor_name, lines, is_parser=0): + """ processor_name MUST be valid! +--- a/docs/CHANGES Mon Jul 30 17:52:20 2007 +0200 ++++ b/docs/CHANGES Tue Aug 28 14:48:30 2007 +0200 +@@ -33,6 +33,7 @@ Version 1.5.current: + * AttachFile overwrite mode (introduced in 1.5.7) did not check delete + rights, but only write rights. Now it checks that the user has write AND + delete rights before overwriting a file. ++ * Fixed potential XSS issues related to feeding of gui editor. + + Version 1.5.8: + New features: + --- moin-1.5.8.orig/debian/patches/30004_CVE-2008-0781.patch +++ moin-1.5.8/debian/patches/30004_CVE-2008-0781.patch @@ -0,0 +1,54 @@ +# +# Patch: http://hg.moinmo.in/moin/1.5/rev/db212dfc58ef +# Description: fix XSS issues in AttachFile action +# +diff -Nur moin-1.5.8/MoinMoin/action/AttachFile.py moin-1.5.8.new/MoinMoin/action/AttachFile.py +--- moin-1.5.8/MoinMoin/action/AttachFile.py 2009-01-29 17:39:12.000000000 -0600 ++++ moin-1.5.8.new/MoinMoin/action/AttachFile.py 2009-01-29 17:39:22.000000000 -0600 +@@ -543,6 +543,8 @@ + + + def upload_form(pagename, request, msg=''): ++ if msg: ++ msg = wikiutil.escape(msg) + _ = request.getText + + request.http_headers() +@@ -734,7 +736,7 @@ + d = {'action': 'AttachFile', + 'do': 'attachment_move', + 'ticket': wikiutil.createTicket(request), +- 'pagename': pagename, ++ 'pagename': wikiutil.escape(pagename, 1), + 'attachment_name': filename, + 'move': _('Move'), + 'cancel': _('Cancel'), +@@ -821,13 +823,13 @@ + + if package.isPackage(): + if package.installPackage(): +- msg=_("Attachment '%(filename)s' installed.") % {'filename': wikiutil.escape(target)} ++ msg=_("Attachment '%(filename)s' installed.") % {'filename': target} + else: +- msg=_("Installation of '%(filename)s' failed.") % {'filename': wikiutil.escape(target)} ++ msg=_("Installation of '%(filename)s' failed.") % {'filename': target} + if package.msg != "": + msg += "

" + wikiutil.escape(package.msg) + "
" + else: +- msg = _('The file %s is not a MoinMoin package file.' % wikiutil.escape(target)) ++ msg = _('The file %s is not a MoinMoin package file.' % target) + + upload_form(pagename, request, msg=msg) + +@@ -911,9 +913,9 @@ + "files are too big, .zip files only, exist already or " + "reside in folders.") % {'filename': filename} + else: +- msg = _('The file %(target)s is not a .zip file.' % target) ++ msg = _('The file %(target)s is not a .zip file.' % {'target': filename}) + +- upload_form(pagename, request, msg=wikiutil.escape(msg)) ++ upload_form(pagename, request, msg=msg) + + def send_viewfile(pagename, request): + _ = request.getText --- moin-1.5.8.orig/debian/patches/30005_CVE-2008-0782.patch +++ moin-1.5.8/debian/patches/30005_CVE-2008-0782.patch @@ -0,0 +1,62 @@ +# +# Patch: http://hg.moinmo.in/moin/1.5/rev/e69a16b6e630 +# Description: Security fix: only accept valid user IDs from the cookie +# +diff -Nur moin-1.5.8/MoinMoin/user.py moin-1.5.8.new/MoinMoin/user.py +--- moin-1.5.8/MoinMoin/user.py 2006-10-08 08:06:37.000000000 -0500 ++++ moin-1.5.8.new/MoinMoin/user.py 2009-01-29 17:31:07.000000000 -0600 +@@ -6,7 +6,7 @@ + @license: GNU GPL, see COPYING for details. + """ + +-import os, time, sha, codecs ++import os, time, sha, codecs, re + + try: + import cPickle as pickle +@@ -19,6 +19,7 @@ + from MoinMoin import config, caching, wikiutil + from MoinMoin.util import filesys, timefuncs + ++USERID_re = re.compile(r'^\d+\.\d+(\.\d+)?$') + + def getUserList(request): + """ Get a list of all (numerical) user IDs. +@@ -27,10 +28,9 @@ + @rtype: list + @return: all user IDs + """ +- import re, dircache +- user_re = re.compile(r'^\d+\.\d+(\.\d+)?$') ++ import dircache + files = dircache.listdir(request.cfg.user_dir) +- userlist = [f for f in files if user_re.match(f)] ++ userlist = [f for f in files if USERID_re.match(f)] + return userlist + + +@@ -210,7 +210,7 @@ + self._cfg = request.cfg + self.valid = 0 + self.trusted = 0 +- self.id = id ++ self.id = self.id_sanitycheck(id) + self.auth_username = auth_username + self.auth_method = kw.get('auth_method', 'internal') + self.auth_attribs = kw.get('auth_attribs', ()) +@@ -299,6 +299,15 @@ + from random import randint + return "%s.%d" % (str(time.time()), randint(0,65535)) + ++ def id_sanitycheck(self, id): ++ """ only return valid user IDs, avoid someone faking his cookie to ++ contain '../../../somefile', breaking out of the data/user/ directory! ++ """ ++ if id and USERID_re.match(id): ++ return id ++ else: ++ return None ++ + def create_or_update(self, changed=False): + """ Create or update a user profile + --- moin-1.5.8.orig/debian/patches/00853_despam_editor_grouping.patch +++ moin-1.5.8/debian/patches/00853_despam_editor_grouping.patch @@ -0,0 +1,131 @@ +# HG changeset patch +# User Thomas Waldmann +# Date 1200688823 -3600 +# Node ID dbe95b27954adcb135e392ff1f9c883d0cfb7dc6 +# Parent ca98a59c590262c1a7cad51be6af1dfa40e605fe +fixed Despam action: editor grouping was broken, increase time interval to 30d + +diff -r ca98a59c5902 -r dbe95b27954a MoinMoin/action/Despam.py +--- a/MoinMoin/action/Despam.py Fri Oct 26 09:15:18 2007 +0200 ++++ b/MoinMoin/action/Despam.py Fri Jan 18 21:40:23 2008 +0100 +@@ -8,6 +8,8 @@ + @license: GNU GPL, see COPYING for details. + """ + ++DAYS = 30 # we look for spam edits in the last x days ++ + import time + + from MoinMoin.logfile import editlog +@@ -16,6 +18,20 @@ from MoinMoin import wikiutil, Page, Pag + from MoinMoin import wikiutil, Page, PageEditor + from MoinMoin.macro import RecentChanges + from MoinMoin.formatter.text_html import Formatter ++ ++def render(editor_tuple): ++ etype, evalue = editor_tuple ++ if etype == 'ip': ++ ret = evalue ++ elif etype == 'interwiki': ++ ewiki, euser = evalue ++ if ewiki == 'Self': ++ ret = euser ++ else: ++ ret = '%s:%s' % evalue ++ else: ++ ret = repr(editor_tuple) ++ return ret + + def show_editors(request, pagename, timestamp): + _ = request.getText +@@ -31,13 +47,14 @@ def show_editors(request, pagename, time + if not request.user.may.read(line.pagename): + continue + +- editor = line.getEditor(request) ++ editor = line.getInterwikiEditorData(request) + if not line.pagename in pages: + pages[line.pagename] = 1 + editors[editor] = editors.get(editor, 0) + 1 + +- editors = [(nr, editor) for editor, nr in editors.iteritems()] ++ editors = [(nr, editor) for editor, nr in editors.items()] + editors.sort() ++ editors.reverse() + + pg = Page.Page(request, pagename) + +@@ -46,7 +63,7 @@ def show_editors(request, pagename, time + Column('pages', label=_("Pages"), align='right'), + Column('link', label='', align='left')] + for nr, editor in editors: +- dataset.addRow((editor, unicode(nr), pg.link_to(request, text=_("Select Author"), querystr="action=Despam&editor=%s" % wikiutil.url_quote_plus(editor)))) ++ dataset.addRow((render(editor), unicode(nr), pg.link_to(request, text=_("Select Author"), querystr="action=Despam&editor=%s" % wikiutil.url_quote_plus(repr(editor))))) + + table = DataBrowserWidget(request) + table.setData(dataset) +@@ -77,7 +94,7 @@ def show_pages(request, pagename, editor + + if not line.pagename in pages: + pages[line.pagename] = 1 +- if line.getEditor(request) == editor: ++ if repr(line.getInterwikiEditorData(request)) == editor: + line.time_tuple = request.user.getTime(wikiutil.version2timestamp(line.ed_time_usecs)) + request.write(RecentChanges.format_page_edits(macro, [line], timestamp)) + +@@ -104,10 +121,10 @@ def revert_page(request, pagename, edito + for line in log.reverse(): + if first: + first = False +- if line.getEditor(request) != editor: ++ if repr(line.getInterwikiEditorData(request)) != editor: + return + else: +- if line.getEditor(request) != editor: ++ if repr(line.getInterwikiEditorData(request)) != editor: + rev = line.rev + break + +@@ -144,17 +161,17 @@ def revert_pages(request, editor, timest + + if not line.pagename in pages: + pages[line.pagename] = 1 +- if line.getEditor(request) == editor: ++ if repr(line.getInterwikiEditorData(request)) == editor: + revertpages.append(line.pagename) + +- request.write("Debug: Pages to revert:
%s" % "
".join(revertpages)) ++ request.write("Pages to revert:
%s" % "
".join(revertpages)) + for pagename in revertpages: +- request.write("Debug: Begin reverting %s ...
" % pagename) ++ request.write("Begin reverting %s ...
" % pagename) + msg = revert_page(request, pagename, editor) + if msg: + request.write("

%s: %s

" % ( + Page.Page(request, pagename).link_to(request), msg)) +- request.write("Debug: Finished reverting %s.
" % pagename) ++ request.write("Finished reverting %s.
" % pagename) + + def execute(pagename, request): + _ = request.getText +@@ -166,7 +183,7 @@ def execute(pagename, request): + msg = _('You are not allowed to use this action.')) + + editor = request.form.get('editor', [None])[0] +- timestamp = time.time() - 24 * 3600 ++ timestamp = time.time() - DAYS * 24 * 3600 + # request.form.get('timestamp', [None])[0] + ok = request.form.get('ok', [0])[0] + +diff -r ca98a59c5902 -r dbe95b27954a docs/CHANGES +--- a/docs/CHANGES Fri Oct 26 09:15:18 2007 +0200 ++++ b/docs/CHANGES Fri Jan 18 21:40:23 2008 +0100 +@@ -41,6 +41,8 @@ Version 1.5.current: + * Fix "Toggle line numbers" link in code areas, so it gets translated + for the current user's language. + * added missing data/plugin/converter package ++ * Fixed Despam action (same editor grouping was broken), now looking for ++ spam edits in the last 30 days. + + Version 1.5.8: + New features: --- moin-1.5.8.orig/debian/patches/30001_CVE-2009-0260.patch +++ moin-1.5.8/debian/patches/30001_CVE-2009-0260.patch @@ -0,0 +1,25 @@ +# +# Patch: http://hg.moinmo.in/moin/1.7/rev/8cb4d34ccbc1 +# Description: fix AttachFile XSS issues +# +diff -Nur moin-1.5.8/MoinMoin/action/AttachFile.py moin-1.5.8.new/MoinMoin/action/AttachFile.py +--- moin-1.5.8/MoinMoin/action/AttachFile.py 2009-01-27 15:58:32.000000000 -0600 ++++ moin-1.5.8.new/MoinMoin/action/AttachFile.py 2009-01-27 15:58:50.000000000 -0600 +@@ -389,7 +389,7 @@ + 'pngpath': pngpath, 'timestamp': timestamp, + 'pubpath': pubpath, 'drawpath': drawpath, + 'savelink': savelink, 'pagelink': pagelink, 'helplink': helplink, +- 'basename': basename ++ 'basename': wikiutil.escape(basename), + }) + + +@@ -440,7 +440,7 @@ + 'action_name': action_name, + 'upload_label_file': _('File to upload'), + 'upload_label_rename': _('Rename to'), +- 'rename': request.form.get('rename', [''])[0], ++ 'rename': wikiutil.escape(request.form.get('rename', [''])[0], 1), + 'upload_label_overwrite': _('Overwrite existing attachment of same name'), + 'overwrite_checked': ('', 'checked')[request.form.get('overwrite', ['0'])[0] == '1'], + 'upload_button': _('Upload'), --- moin-1.5.8.orig/debian/patches/00856_attach_file_XSS.patch +++ moin-1.5.8/debian/patches/00856_attach_file_XSS.patch @@ -0,0 +1,78 @@ +# HG changeset patch +# User Thomas Waldmann +# Date 1201046099 -3600 +# Node ID db212dfc58eff3ff7d1c9860d5fe79933217dc6e +# Parent e69a16b6e63020ac615e74b3184d6e89597352e0 +fix XSS issues in AttachFile action + +diff -r e69a16b6e630 -r db212dfc58ef MoinMoin/action/AttachFile.py +--- a/MoinMoin/action/AttachFile.py Sun Jan 20 23:27:48 2008 +0100 ++++ b/MoinMoin/action/AttachFile.py Wed Jan 23 00:54:59 2008 +0100 +@@ -440,7 +440,7 @@ Otherwise, if "Rename to" is left blank, + 'action_name': action_name, + 'upload_label_file': _('File to upload'), + 'upload_label_rename': _('Rename to'), +- 'rename': request.form.get('rename', [''])[0], ++ 'rename': wikiutil.escape(request.form.get('rename', [''])[0], 1), + 'upload_label_overwrite': _('Overwrite existing attachment of same name'), + 'overwrite_checked': ('', 'checked')[request.form.get('overwrite', ['0'])[0] == '1'], + 'upload_button': _('Upload'), +@@ -543,6 +543,8 @@ def execute(pagename, request): + + + def upload_form(pagename, request, msg=''): ++ if msg: ++ msg = wikiutil.escape(msg) + _ = request.getText + + request.http_headers() +@@ -734,7 +736,7 @@ def send_moveform(pagename, request): + d = {'action': 'AttachFile', + 'do': 'attachment_move', + 'ticket': wikiutil.createTicket(request), +- 'pagename': pagename, ++ 'pagename': wikiutil.escape(pagename, 1), + 'attachment_name': filename, + 'move': _('Move'), + 'cancel': _('Cancel'), +@@ -821,13 +823,13 @@ def install_package(pagename, request): + + if package.isPackage(): + if package.installPackage(): +- msg=_("Attachment '%(filename)s' installed.") % {'filename': wikiutil.escape(target)} ++ msg=_("Attachment '%(filename)s' installed.") % {'filename': target} + else: +- msg=_("Installation of '%(filename)s' failed.") % {'filename': wikiutil.escape(target)} ++ msg=_("Installation of '%(filename)s' failed.") % {'filename': target} + if package.msg != "": + msg += "
" + wikiutil.escape(package.msg) + "
" + else: +- msg = _('The file %s is not a MoinMoin package file.' % wikiutil.escape(target)) ++ msg = _('The file %s is not a MoinMoin package file.' % target) + + upload_form(pagename, request, msg=msg) + +@@ -911,9 +913,9 @@ def unzip_file(pagename, request): + "files are too big, .zip files only, exist already or " + "reside in folders.") % {'filename': filename} + else: +- msg = _('The file %(target)s is not a .zip file.' % target) ++ msg = _('The file %(target)s is not a .zip file.' % {'target': filename}) + +- upload_form(pagename, request, msg=wikiutil.escape(msg)) ++ upload_form(pagename, request, msg=msg) + + def send_viewfile(pagename, request): + _ = request.getText +diff -r e69a16b6e630 -r db212dfc58ef docs/CHANGES +--- a/docs/CHANGES Sun Jan 20 23:27:48 2008 +0100 ++++ b/docs/CHANGES Wed Jan 23 00:54:59 2008 +0100 +@@ -43,7 +43,7 @@ Version 1.5.current: + * added missing data/plugin/converter package + * Fixed Despam action (same editor grouping was broken), now looking for + spam edits in the last 30 days. +- * Fixed XSS issue in login action. ++ * Fixed XSS issues in login and AttachFile action. + * Security fix: only accept valid user IDs from the cookie. + + Version 1.5.8: --- moin-1.5.8.orig/debian/patches/README +++ moin-1.5.8/debian/patches/README @@ -0,0 +1,3 @@ +0xxxx: Backports from newer upstream Hg. +1xxxx: Possibly relevant for upstream adoption. +2xxxx: Only relevant for official Debian release. --- moin-1.5.8.orig/debian/patches/00846_fix_XSS_with_RenamePage_and_DeletePage.patch +++ moin-1.5.8/debian/patches/00846_fix_XSS_with_RenamePage_and_DeletePage.patch @@ -0,0 +1,39 @@ + +# HG changeset patch +# User Thomas Waldmann +# Date 1189526320 -7200 +# Node ID 4ede07e792dd6c093f262ae79231fb5ba1f35102 +# Parent d0152eeb4499264758c33d320e73db478515ba44 +Fixed XSS issue in RenamePage/DeletePage action + +--- a/MoinMoin/PageEditor.py Tue Aug 28 14:48:30 2007 +0200 ++++ b/MoinMoin/PageEditor.py Tue Sep 11 17:58:40 2007 +0200 +@@ -467,7 +467,7 @@ If you don't want that, hit '''%(cancel_ + + pageexists_error = _("""'''A page with the name {{{'%s'}}} already exists.''' + +-Try a different name.""") % (newpagename,) ++Try a different name.""") % (wikiutil.escape(newpagename), ) + + # Check whether a page with the new name already exists + if newpage.exists(includeDeleted=1): +@@ -518,7 +518,7 @@ Try a different name.""") % (newpagename + msg = self.saveText(u"deleted\n", 0, comment=comment or u'') + msg = msg.replace( + _("Thank you for your changes. Your attention to detail is appreciated."), +- _('Page "%s" was successfully deleted!') % (self.page_name,)) ++ _('Page "%s" was successfully deleted!') % (wikiutil.escape(self.page_name), )) + # Then really delete it + try: + os.remove(self._text_filename()) +--- a/docs/CHANGES Tue Aug 28 14:48:30 2007 +0200 ++++ b/docs/CHANGES Tue Sep 11 17:58:40 2007 +0200 +@@ -34,6 +34,7 @@ Version 1.5.current: + rights, but only write rights. Now it checks that the user has write AND + delete rights before overwriting a file. + * Fixed potential XSS issues related to feeding of gui editor. ++ * Fixed XSS issue in RenamePage/DeletePage action. + + Version 1.5.8: + New features: + --- moin-1.5.8.orig/debian/patches/00855_userid_cookie_directory_traversal.patch +++ moin-1.5.8/debian/patches/00855_userid_cookie_directory_traversal.patch @@ -0,0 +1,76 @@ +# HG changeset patch +# User Thomas Waldmann +# Date 1200868068 -3600 +# Node ID e69a16b6e63020ac615e74b3184d6e89597352e0 +# Parent 2f952fa361c7bc6ed127ec0618038272385186cd +Security fix: only accept valid user IDs from the cookie + +diff -r 2f952fa361c7 -r e69a16b6e630 MoinMoin/user.py +--- a/MoinMoin/user.py Sun Jan 20 17:36:42 2008 +0100 ++++ b/MoinMoin/user.py Sun Jan 20 23:27:48 2008 +0100 +@@ -6,7 +6,7 @@ + @license: GNU GPL, see COPYING for details. + """ + +-import os, time, sha, codecs ++import os, time, sha, codecs, re + + try: + import cPickle as pickle +@@ -19,6 +19,7 @@ from MoinMoin import config, caching, wi + from MoinMoin import config, caching, wikiutil + from MoinMoin.util import filesys, timefuncs + ++USERID_re = re.compile(r'^\d+\.\d+(\.\d+)?$') + + def getUserList(request): + """ Get a list of all (numerical) user IDs. +@@ -27,10 +28,9 @@ def getUserList(request): + @rtype: list + @return: all user IDs + """ +- import re, dircache +- user_re = re.compile(r'^\d+\.\d+(\.\d+)?$') ++ import dircache + files = dircache.listdir(request.cfg.user_dir) +- userlist = [f for f in files if user_re.match(f)] ++ userlist = [f for f in files if USERID_re.match(f)] + return userlist + + +@@ -210,7 +210,7 @@ class User: + self._cfg = request.cfg + self.valid = 0 + self.trusted = 0 +- self.id = id ++ self.id = self.id_sanitycheck(id) + self.auth_username = auth_username + self.auth_method = kw.get('auth_method', 'internal') + self.auth_attribs = kw.get('auth_attribs', ()) +@@ -298,6 +298,15 @@ class User: + # use it reliably in edit locking + from random import randint + return "%s.%d" % (str(time.time()), randint(0,65535)) ++ ++ def id_sanitycheck(self, id): ++ """ only return valid user IDs, avoid someone faking his cookie to ++ contain '../../../somefile', breaking out of the data/user/ directory! ++ """ ++ if id and USERID_re.match(id): ++ return id ++ else: ++ return None + + def create_or_update(self, changed=False): + """ Create or update a user profile +diff -r 2f952fa361c7 -r e69a16b6e630 docs/CHANGES +--- a/docs/CHANGES Sun Jan 20 17:36:42 2008 +0100 ++++ b/docs/CHANGES Sun Jan 20 23:27:48 2008 +0100 +@@ -44,6 +44,7 @@ Version 1.5.current: + * Fixed Despam action (same editor grouping was broken), now looking for + spam edits in the last 30 days. + * Fixed XSS issue in login action. ++ * Security fix: only accept valid user IDs from the cookie. + + Version 1.5.8: + New features: --- moin-1.5.8.orig/debian/patches/10010_CVE-2007-0857.patch +++ moin-1.5.8/debian/patches/10010_CVE-2007-0857.patch @@ -0,0 +1,41 @@ +diff -Nur moin-1.5.3/MoinMoin/action/LikePages.py moin-1.5.3.new/MoinMoin/action/LikePages.py +--- moin-1.5.3/MoinMoin/action/LikePages.py 2006-03-22 01:25:59.000000000 -0800 ++++ moin-1.5.3.new/MoinMoin/action/LikePages.py 2007-02-09 13:55:30.283298168 -0800 +@@ -28,14 +28,14 @@ + # No matches + if not matches: + Page(request, pagename).send_page(request, +- msg = _('No pages like "%s"!') % (pagename,)) ++ msg = _('No pages like "%s"!') % (wikiutil.escape(pagename),)) + return + + # One match - display it + if len(matches) == 1: + Page(request, matches.keys()[0]).send_page(request, + msg = _('Exactly one page like "%s" found, redirecting to page.') % ( +- pagename,)) ++ wikiutil.escape(pagename),)) + return + + # more than one match, list 'em +@@ -44,7 +44,7 @@ + # This action generate data using the user language + request.setContentLanguage(request.lang) + +- wikiutil.send_title(request, _('Pages like "%s"') % (pagename), ++ wikiutil.send_title(request, _('Pages like "%s"') % (wikiutil.escape(pagename)), + pagename=pagename) + + # Start content - IMPORTANT - without content div, there is no +diff -Nur moin-1.5.3/MoinMoin/theme/__init__.py moin-1.5.3.new/MoinMoin/theme/__init__.py +--- moin-1.5.3/MoinMoin/theme/__init__.py 2006-04-15 12:09:38.000000000 -0700 ++++ moin-1.5.3.new/MoinMoin/theme/__init__.py 2007-02-09 13:55:30.287298372 -0800 +@@ -628,7 +628,7 @@ + info = _("last edited %(time)s by %(editor)s") % info + else: + info = _("last modified %(time)s") % info +- pagename = page.page_name ++ pagename = wikiutil.escape(page.page_name) + if self.request.cfg.show_interwiki: + pagename = "%s: %s" % (self.request.cfg.interwikiname, pagename) + info = "%s (%s)" % (pagename, info) --- moin-1.5.8.orig/debian/patches/00842_fix_stats_useragents_indexerror.patch +++ moin-1.5.8/debian/patches/00842_fix_stats_useragents_indexerror.patch @@ -0,0 +1,33 @@ + +# HG changeset patch +# User Thomas Waldmann +# Date 1183235130 -7200 +# Node ID 286ed231b5e4144578a76eb6cac5375e6e2d6d11 +# Parent 82684ab6afcd1b8429b94a6afe9dace34d0f0a7a +stats: useragents: fix IndexError + +--- a/MoinMoin/stats/useragents.py Sat Jun 30 18:49:39 2007 +0200 ++++ b/MoinMoin/stats/useragents.py Sat Jun 30 22:25:30 2007 +0200 +@@ -70,12 +70,16 @@ def get_data(request): + if ua: + pos = ua.find(" (compatible; ") + if pos >= 0: +- ua = ua[pos:].split(';')[1].strip() ++ ua = ua[pos:].split(';')[1] + else: +- ua = ua.split()[0] +- #ua = ua.replace(';', '\n') +- data[ua] = data.get(ua, 0) + 1 +- ++ try: ++ ua = ua.split()[0] ++ except IndexError: ++ ua = '' ++ ua = ua.strip() ++ if ua: ++ data[ua] = data.get(ua, 0) + 1 ++ + # write results to cache + cache.update("(%r, %r)" % (new_date, data)) + + --- moin-1.5.8.orig/debian/patches/series +++ moin-1.5.8/debian/patches/series @@ -0,0 +1,20 @@ +00838_updated_interwiki_map.patch +00839_fixed_epydoc_makefile.patch +00840_avoid_UnicodeErrors_in_verbose_log.patch +00841_fix_sitemap_non-root_URLs.patch +00842_fix_stats_useragents_indexerror.patch +00843_overwrite_attachment_needs_delete_access.patch +00844_fix_gui_editor_formatter_XSS_issues.patch +00845_getval_macro_needs_read_access.patch +00846_fix_XSS_with_RenamePage_and_DeletePage.patch +00848_getval_macro_needs_read_access_changelog_entry.patch +00849_attachment_appendix_needs_read_access.patch +00850_avoid_out-of-space_file_corruption.patch +00851_fix_tranlating_Toggle-line-numbers_link.patch +10010_CVE-2007-0857.patch +10011_FCKeditor_whitelist_instead_of_blacklist.patch +30001_CVE-2009-0260.patch +30002_antispam_xss_fix.patch +30003_CVE-2008-0780.patch +30004_CVE-2008-0781.patch +30005_CVE-2008-0782.patch --- moin-1.5.8.orig/debian/patches/00845_getval_macro_needs_read_access.patch +++ moin-1.5.8/debian/patches/00845_getval_macro_needs_read_access.patch @@ -0,0 +1,20 @@ + +# HG changeset patch +# User Reimar Bauer +# Date 1188470628 -7200 +# Node ID 4a7de0173734c3951a2f47d72df6793b218f530c +# Parent d0152eeb4499264758c33d320e73db478515ba44 +wikimacro._macro_GetVal: bug fix respect ACLs on page + +--- a/MoinMoin/wikimacro.py Tue Aug 28 14:48:30 2007 +0200 ++++ b/MoinMoin/wikimacro.py Thu Aug 30 12:43:48 2007 +0200 +@@ -617,6 +617,8 @@ class Macro: + + def _macro_GetVal(self, args): + page,key = args.split(',') ++ if not self.request.user.may.read(page): ++ return "" + d = self.request.dicts.dict(page) + result = d.get(key,'') + return self.formatter.text(result) + --- moin-1.5.8.orig/debian/patches/00852_add_missing_converter.patch +++ moin-1.5.8/debian/patches/00852_add_missing_converter.patch @@ -0,0 +1,27 @@ +# HG changeset patch +# User Thomas Waldmann +# Date 1193382918 -7200 +# Node ID ca98a59c590262c1a7cad51be6af1dfa40e605fe +# Parent cb0593b6fc0599e4bb5b206d46f0ee8d12232bcf +added missing data/plugin/converter package + +diff -r cb0593b6fc05 -r ca98a59c5902 docs/CHANGES +--- a/docs/CHANGES Wed Sep 26 06:51:37 2007 +0200 ++++ b/docs/CHANGES Fri Oct 26 09:15:18 2007 +0200 +@@ -40,6 +40,7 @@ Version 1.5.current: + * Avoid 'current' file corruption in out-of-space conditions. + * Fix "Toggle line numbers" link in code areas, so it gets translated + for the current user's language. ++ * added missing data/plugin/converter package + + Version 1.5.8: + New features: +diff -r cb0593b6fc05 -r ca98a59c5902 wiki/data/plugin/converter/__init__.py +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ b/wiki/data/plugin/converter/__init__.py Fri Oct 26 09:15:18 2007 +0200 +@@ -0,0 +1,5 @@ ++# -*- coding: iso-8859-1 -*- ++ ++from MoinMoin.util import pysupport ++ ++modules = pysupport.getPackageModules(__file__) --- moin-1.5.8.orig/debian/patches/00838_updated_interwiki_map.patch +++ moin-1.5.8/debian/patches/00838_updated_interwiki_map.patch @@ -0,0 +1,44 @@ + +# HG changeset patch +# User Thomas Waldmann +# Date 1181502129 -7200 +# Node ID 48e37539338399c60274cd6603ddc40e9e72b5a5 +# Parent e735777190481eabd961446489619647abea9345 +updated interwiki map + +--- a/wiki/data/intermap.txt Sun May 13 19:51:51 2007 +0200 ++++ b/wiki/data/intermap.txt Sun Jun 10 21:02:09 2007 +0200 +@@ -11,10 +11,10 @@ + # if you do not want to modify the file directly. + + # MoinMoin additions +-MoinMaster http://moinmaster.wikiwikiweb.de/ +-MoinCVS http://hg.thinkmo.de/moin/1.6?f=-1;file= +-MoinSrc http://hg.thinkmo.de/moin/1.6?f=-1;file= +-MoinDoc http://hg.thinkmo.de/doc/moin/1.6/ ++MoinMaster http://master.moinmo.in/ ++MoinCVS http://hg.moinmo.in/moin/1.6?f=-1;file= ++MoinSrc http://hg.moinmo.in/moin/1.6?f=-1;file= ++MoinDoc http://hg.moinmo.in/moin/1.6/ + + # for Germany: bookzilla.de instead of amazon == supporting GNU/Linux and 5% for FSF Europe + # ISBN http://bookzilla.de/shop/action/advancedSearch?action=search&isbn= +@@ -35,7 +35,7 @@ CAKE http://www.cakem.net/mywiki/ + CAKE http://www.cakem.net/mywiki/ + TrustixWiki http://doc.trustix.org/cgi-bin/trustixdoc.cgi? + WLUG http://www.wlug.org.nz/ +-OpenOfficeWiki http://ooowiki.de/ ++OpenOfficeWiki http://www.ooowiki.de/ + Parawiki http://parawiki.plm.eecs.uni-kassel.de/ + CPAN http://search.cpan.org/perldoc? + NemWiki http://nematologists.org.au/nemwiki +@@ -91,7 +91,7 @@ MeatBall http://www.usemod.com/cgi-bin/m + MeatBall http://www.usemod.com/cgi-bin/mb.pl? + MetaWiki http://sunir.org/apps/meta.pl? + MetaWikiPedia http://meta.wikipedia.org/wiki/ +-MoinMoin http://moinmoin.wikiwikiweb.de/ ++MoinMoin http://moinmo.in/ + OddMuse http://www.oddmuse.org/ + OPAG http://opag.ca/wiki? + OpenMind http://www2.iro.umontreal.ca/~paquetse/cgi-bin/om.cgi? + --- moin-1.5.8.orig/debian/patches/30002_antispam_xss_fix.patch +++ moin-1.5.8/debian/patches/30002_antispam_xss_fix.patch @@ -0,0 +1,16 @@ +# +# Patch: http://hg.moinmo.in/moin/1.7/rev/89b91bf87dad +# Description: Fixed XSS issue in antispam +# +diff -Nur moin-1.5.8/MoinMoin/util/antispam.py moin-1.5.8.new/MoinMoin/util/antispam.py +--- moin-1.5.8/MoinMoin/util/antispam.py 2007-05-06 09:43:31.000000000 -0500 ++++ moin-1.5.8.new/MoinMoin/util/antispam.py 2009-01-27 16:01:47.000000000 -0600 +@@ -209,7 +209,7 @@ + _ = editor.request.getText + msg = _('Sorry, can not save page because "%(content)s"' + ' is not allowed in this wiki.') % { +- 'content': match.group() ++ 'content': wikiutil.escape(match.group()) + } + dprint(msg) + raise editor.SaveError(msg) --- moin-1.5.8.orig/debian/patches/00851_fix_tranlating_Toggle-line-numbers_link.patch +++ moin-1.5.8/debian/patches/00851_fix_tranlating_Toggle-line-numbers_link.patch @@ -0,0 +1,93 @@ + +# HG changeset patch +# User Thomas Waldmann +# Date 1190782297 -7200 +# Node ID cb0593b6fc0599e4bb5b206d46f0ee8d12232bcf +# Parent f06665e39f32ef516fb9eaab76122067d57dfc26 +Fix 'Toggle line numbers' link in code areas, so it gets translated for the current user's language. + +--- a/MoinMoin/parser/cplusplus.py Wed Sep 19 22:15:49 2007 +0200 ++++ b/MoinMoin/parser/cplusplus.py Wed Sep 26 06:51:37 2007 +0200 +@@ -25,13 +25,13 @@ pre.cpparea span.Preprc { color: #8040 + + from MoinMoin.util.ParserBase import ParserBase + +-Dependencies = [] ++Dependencies = ['user'] # the "Toggle line numbers link" depends on user's language + + class Parser(ParserBase): + + parsername = "ColorizedCPlusPlus" + extensions = ['.c', '.h', '.cpp', '.c++'] +- Dependencies = [] ++ Dependencies = Dependencies + + def setupRules(self): + ParserBase.setupRules(self) +--- a/MoinMoin/parser/java.py Wed Sep 19 22:15:49 2007 +0200 ++++ b/MoinMoin/parser/java.py Wed Sep 26 06:51:37 2007 +0200 +@@ -9,13 +9,13 @@ + + from MoinMoin.util.ParserBase import ParserBase + +-Dependencies = [] ++Dependencies = ['user'] # the "Toggle line numbers link" depends on user's language + + class Parser(ParserBase): + + parsername = "ColorizedJava" + extensions = ['.java'] +- Dependencies = [] ++ Dependencies = Dependencies + + def setupRules(self): + ParserBase.setupRules(self) +--- a/MoinMoin/parser/pascal.py Wed Sep 19 22:15:49 2007 +0200 ++++ b/MoinMoin/parser/pascal.py Wed Sep 26 06:51:37 2007 +0200 +@@ -8,13 +8,13 @@ + + from MoinMoin.util.ParserBase import ParserBase + +-Dependencies = [] ++Dependencies = ['user'] # the "Toggle line numbers link" depends on user's language + + class Parser(ParserBase): + + parsername = 'ColorizedPascal' + extensions = ['.pas'] +- Dependencies = [] ++ Dependencies = Dependencies + + def __init__(self, raw, request, **kw): + ParserBase.__init__(self,raw,request,**kw) +--- a/MoinMoin/parser/python.py Wed Sep 19 22:15:49 2007 +0200 ++++ b/MoinMoin/parser/python.py Wed Sep 26 06:51:37 2007 +0200 +@@ -25,14 +25,14 @@ _tokens = { + _TEXT: 'Text', + } + +-Dependencies = [] ++Dependencies = ['user'] # the "Toggle line numbers link" depends on user's language + + class Parser: + """ Send colored python source. + """ + + extensions = ['.py'] +- Dependencies = [] ++ Dependencies = Dependencies + + def __init__(self, raw, request, **kw): + """ Store the source text. +--- a/docs/CHANGES Wed Sep 19 22:15:49 2007 +0200 ++++ b/docs/CHANGES Wed Sep 26 06:51:37 2007 +0200 +@@ -38,6 +38,8 @@ Version 1.5.current: + * Fixed potential XSS issues related to feeding of gui editor. + * Fixed XSS issue in RenamePage/DeletePage action. + * Avoid 'current' file corruption in out-of-space conditions. ++ * Fix "Toggle line numbers" link in code areas, so it gets translated ++ for the current user's language. + + Version 1.5.8: + New features: + --- moin-1.5.8.orig/debian/patches/00849_attachment_appendix_needs_read_access.patch +++ moin-1.5.8/debian/patches/00849_attachment_appendix_needs_read_access.patch @@ -0,0 +1,36 @@ + +# HG changeset patch +# User Thomas Waldmann +# Date 1189529365 -7200 +# Node ID c8a7086b20c3d523a4331693713515c1dd85d928 +# Parent c99dd42f2c666bc794640a0d69de259e19ac72cc +respect ACLs when sending for attachments + +--- a/MoinMoin/wikiutil.py Tue Sep 11 18:31:36 2007 +0200 ++++ b/MoinMoin/wikiutil.py Tue Sep 11 18:49:25 2007 +0200 +@@ -1360,7 +1360,9 @@ def send_title(request, text, **keywords + request.write(''.join(output)) + output = [] + +- if pagename: ++ # XXX maybe this should be removed completely. moin emits all attachments as ++ # and it is at least questionable if this fits into the original intent of rel="Appendix". ++ if pagename and request.user.may.read(pagename): + from MoinMoin.action import AttachFile + AttachFile.send_link_rel(request, pagename) + +--- a/docs/CHANGES Tue Sep 11 18:31:36 2007 +0200 ++++ b/docs/CHANGES Tue Sep 11 18:49:25 2007 +0200 +@@ -33,9 +33,10 @@ Version 1.5.current: + * AttachFile overwrite mode (introduced in 1.5.7) did not check delete + rights, but only write rights. Now it checks that the user has write AND + delete rights before overwriting a file. ++ * GetVal respects now ACLs on the Dict page ++ * Respect ACLs when sending for attachments. + * Fixed potential XSS issues related to feeding of gui editor. + * Fixed XSS issue in RenamePage/DeletePage action. +- * GetVal respects now ACLs on the Dict page + + Version 1.5.8: + New features: + --- moin-1.5.8.orig/debian/patches/30003_CVE-2008-0780.patch +++ moin-1.5.8/debian/patches/30003_CVE-2008-0780.patch @@ -0,0 +1,22 @@ +# +# Patch: http://hg.moinmo.in/moin/1.5/rev/2f952fa361c7 +# Description: XSS fix for login action +# +diff -Nur moin-1.5.8/MoinMoin/action/login.py moin-1.5.8.new/MoinMoin/action/login.py +--- moin-1.5.8/MoinMoin/action/login.py 2006-05-11 11:24:00.000000000 -0500 ++++ moin-1.5.8.new/MoinMoin/action/login.py 2009-01-29 17:29:20.000000000 -0600 +@@ -40,12 +40,12 @@ + if not user.isValidName(request, name): + error = _("""Invalid user name {{{'%s'}}}. + Name may contain any Unicode alpha numeric character, with optional one +-space between words. Group page name is not allowed.""") % name ++space between words. Group page name is not allowed.""") % wikiutil.escape(name) + + # Check that user exists + elif not user.getUserId(request, name): + error = _('Unknown user name: {{{"%s"}}}. Please enter' +- ' user name and password.') % name ++ ' user name and password.') % wikiutil.escape(name) + + # Require password + else: --- moin-1.5.8.orig/debian/patches/00840_avoid_UnicodeErrors_in_verbose_log.patch +++ moin-1.5.8/debian/patches/00840_avoid_UnicodeErrors_in_verbose_log.patch @@ -0,0 +1,134 @@ + +# HG changeset patch +# User Thomas Waldmann +# Date 1181907407 -7200 +# Node ID e0bd0f4ba9afdfeaeedcdfe6c3fba68cb6f2e8eb +# Parent 99615881d40544588c88d669e6917ee77df1aaf0 +auth: avoid UnicodeErrors in verbose logging calls + +--- a/MoinMoin/auth.py Mon Jun 11 00:00:16 2007 +0200 ++++ b/MoinMoin/auth.py Fri Jun 15 13:36:47 2007 +0200 +@@ -19,7 +19,7 @@ + password = kw.get('password') or '' + login = kw.get('login') + logout = kw.get('logout') +- request.log("got name=%s len(password)=%d login=%r logout=%r" % (name, len(password), login, logout)) ++ request.log("got name=%r len(password)=%d login=%r logout=%r" % (name, len(password), login, logout)) + + The called auth method then must return a tuple (user_obj, continue_flag). + user_obj can be one of: +@@ -50,7 +50,7 @@ def log(request, **kw): + login = kw.get('login') + logout = kw.get('logout') + user_obj = kw.get('user_obj') +- request.log("auth.log: name=%s login=%r logout=%r user_obj=%r" % (username, login, logout, user_obj)) ++ request.log("auth.log: name=%r login=%r logout=%r user_obj=%r" % (username, login, logout, user_obj)) + return user_obj, True + + # some cookie functions used by moin_cookie auth +@@ -132,7 +132,7 @@ def moin_cookie(request, **kw): + login = kw.get('login') + logout = kw.get('logout') + user_obj = kw.get('user_obj') +- #request.log("auth.moin_cookie: name=%s login=%r logout=%r user_obj=%r" % (username, login, logout, user_obj)) ++ #request.log("auth.moin_cookie: name=%r login=%r logout=%r user_obj=%r" % (username, login, logout, user_obj)) + if login: + u = user.User(request, name=username, password=password, + auth_method='login_userpassword') +@@ -275,7 +275,7 @@ def smb_mount(request, **kw): + user_obj = kw.get('user_obj') + cfg = request.cfg + verbose = cfg.smb_verbose +- if verbose: request.log("got name=%s login=%r logout=%r" % (username, login, logout)) ++ if verbose: request.log("got name=%r login=%r logout=%r" % (username, login, logout)) + + # we just intercept login to mount and logout to umount the smb share + if login or logout: +@@ -336,7 +336,7 @@ def ldap_login(request, **kw): + cfg = request.cfg + verbose = cfg.ldap_verbose + +- if verbose: request.log("got name=%s login=%r logout=%r" % (username, login, logout)) ++ if verbose: request.log("got name=%r login=%r logout=%r" % (username, login, logout)) + + # we just intercept login for ldap, other requests have to be + # handled by another auth handler +@@ -376,28 +376,28 @@ def ldap_login(request, **kw): + ldap.set_option(option, value) + + server = cfg.ldap_uri +- if verbose: request.log("LDAP: Trying to initialize %s." % server) ++ if verbose: request.log("LDAP: Trying to initialize %r." % server) + l = ldap.initialize(server) +- if verbose: request.log("LDAP: Connected to LDAP server %s." % server) ++ if verbose: request.log("LDAP: Connected to LDAP server %r." % server) + + if starttls and server.startswith('ldap:'): +- if verbose: request.log("LDAP: Trying to start TLS to %s." % server) ++ if verbose: request.log("LDAP: Trying to start TLS to %r." % server) + try: + l.start_tls_s() +- if verbose: request.log("LDAP: Using TLS to %s." % server) ++ if verbose: request.log("LDAP: Using TLS to %r." % server) + except (ldap.SERVER_DOWN, ldap.CONNECT_ERROR), err: +- if verbose: request.log("LDAP: Couldn't establish TLS to %s (err: %s)." % (server, str(err))) ++ if verbose: request.log("LDAP: Couldn't establish TLS to %r (err: %s)." % (server, str(err))) + raise + + # you can use %(username)s and %(password)s here to get the stuff entered in the form: + ldap_binddn = cfg.ldap_binddn % locals() + ldap_bindpw = cfg.ldap_bindpw % locals() + l.simple_bind_s(ldap_binddn.encode(coding), ldap_bindpw.encode(coding)) +- if verbose: request.log("LDAP: Bound with binddn %s" % ldap_binddn) ++ if verbose: request.log("LDAP: Bound with binddn %r" % ldap_binddn) + + # you can use %(username)s here to get the stuff entered in the form: + filterstr = cfg.ldap_filter % locals() +- if verbose: request.log("LDAP: Searching %s" % filterstr) ++ if verbose: request.log("LDAP: Searching %r" % filterstr) + lusers = l.search_st(cfg.ldap_base, cfg.ldap_scope, filterstr.encode(coding), + attrlist=[cfg.ldap_email_attribute, + cfg.ldap_aliasname_attribute, +@@ -408,22 +408,22 @@ def ldap_login(request, **kw): + lusers = [(dn, ldap_dict) for dn, ldap_dict in lusers if dn is not None] + if verbose: + for dn, ldap_dict in lusers: +- request.log("LDAP: dn:%s" % dn) ++ request.log("LDAP: dn:%r" % dn) + for key, val in ldap_dict.items(): +- request.log(" %s: %s" % (key, val)) ++ request.log(" %r: %r" % (key, val)) + + result_length = len(lusers) + if result_length != 1: + if result_length > 1: +- request.log("LDAP: Search found more than one (%d) matches for %s." % (result_length, filterstr)) ++ request.log("LDAP: Search found more than one (%d) matches for %r." % (result_length, filterstr)) + if result_length == 0: +- if verbose: request.log("LDAP: Search found no matches for %s." % (filterstr, )) ++ if verbose: request.log("LDAP: Search found no matches for %r." % (filterstr, )) + return None, False # if ldap returns unusable results, we veto the user and don't let him in + + dn, ldap_dict = lusers[0] +- if verbose: request.log("LDAP: DN found is %s, trying to bind with pw" % dn) ++ if verbose: request.log("LDAP: DN found is %r, trying to bind with pw" % dn) + l.simple_bind_s(dn, password.encode(coding)) +- if verbose: request.log("LDAP: Bound with dn %s (username: %s)" % (dn, username)) ++ if verbose: request.log("LDAP: Bound with dn %r (username: %r)" % (dn, username)) + + email = ldap_dict.get(cfg.ldap_email_attribute, [''])[0] + email = email.decode(coding) +@@ -447,10 +447,10 @@ def ldap_login(request, **kw): + u.aliasname = aliasname + u.email = email + u.remember_me = 0 # 0 enforces cookie_lifetime config param +- if verbose: request.log("LDAP: creating userprefs with name %s email %s alias %s" % (username, email, aliasname)) ++ if verbose: request.log("LDAP: creating userprefs with name %r email %r alias %r" % (username, email, aliasname)) + + except ldap.INVALID_CREDENTIALS, err: +- request.log("LDAP: invalid credentials (wrong password?) for dn %s (username: %s)" % (dn, username)) ++ request.log("LDAP: invalid credentials (wrong password?) for dn %r (username: %r)" % (dn, username)) + return None, False # if ldap says no, we veto the user and don't let him in + + if u: + --- moin-1.5.8.orig/debian/patches/00839_fixed_epydoc_makefile.patch +++ moin-1.5.8/debian/patches/00839_fixed_epydoc_makefile.patch @@ -0,0 +1,32 @@ + +# HG changeset patch +# User Thomas Waldmann +# Date 1181512816 -7200 +# Node ID 99615881d40544588c88d669e6917ee77df1aaf0 +# Parent 48e37539338399c60274cd6603ddc40e9e72b5a5 +fixed Makefile for epydoc 3.0 + +# Comment out missing Makefile + +#--- a/Makefile Sun Jun 10 21:02:09 2007 +0200 +#+++ b/Makefile Mon Jun 11 00:00:16 2007 +0200 +#@@ -34,7 +34,7 @@ check-tabs: +# # Create documentation +# epydoc: patchlevel +# @MoinMoin/version.py update +#- @epydoc -o ../html-1.5 -n MoinMoin -u http://moinmoin.wikiwikiweb.de MoinMoin +#+ @epydoc -o ../html-1.5 --name=MoinMoin --url=http://moinmo.in/ --graph=all --graph-font=Arial MoinMoin +# +# # Create new underlay directory from MoinMaster +# # Should be used only on TW machine +--- a/MoinMoin/__init__.py Sun Jun 10 21:02:09 2007 +0200 ++++ b/MoinMoin/__init__.py Mon Jun 11 00:00:16 2007 +0200 +@@ -1,6 +1,6 @@ + # -*- coding: iso-8859-1 -*- + """ +-MoinMoin Version 1.5.6 96706051ff4e+ tip ++MoinMoin Version 1.5.8 48e375393383+ tip + + @copyright: 2000-2006 by Jürgen Hermann + @license: GNU GPL, see COPYING for details. + --- moin-1.5.8.orig/debian/patches/00841_fix_sitemap_non-root_URLs.patch +++ moin-1.5.8/debian/patches/00841_fix_sitemap_non-root_URLs.patch @@ -0,0 +1,79 @@ + +# HG changeset patch +# User Thomas Waldmann +# Date 1183222179 -7200 +# Node ID 82684ab6afcd1b8429b94a6afe9dace34d0f0a7a +# Parent e0bd0f4ba9afdfeaeedcdfe6c3fba68cb6f2e8eb +fixing urls given by sitemap action, if the wiki does not run in the root url of the site + +--- a/MoinMoin/action/sitemap.py Fri Jun 15 13:36:47 2007 +0200 ++++ b/MoinMoin/action/sitemap.py Sat Jun 30 18:49:39 2007 +0200 +@@ -16,18 +16,20 @@ def now(): + def now(): + return time.strftime(datetime_fmt, time.gmtime()) + +-def make_url_xml(vars): ++def make_url_xml(request, vars): + """ assemble a single xml fragment """ ++ # add protocol:server - url must be complete path starting with/from / ++ vars['url'] = request.getQualifiedURL(vars['url']) + return """\ + +- %(base)s%(url)s ++ %(url)s + %(lastmod)s + %(changefreq)s + %(priority)s + + """ % vars +- +-def sitemap_url(request, base, page): ++ ++def sitemap_url(request, page): + """ return a sitemap .. fragment for page object """ + url = page.url(request) + pagename = page.page_name +@@ -57,13 +59,12 @@ def sitemap_url(request, base, page): + changefreq = "daily" + priority = "0.5" + +- return make_url_xml(locals()) ++ return make_url_xml(request, locals()) + + def execute(pagename, request): + _ = request.getText + form = request.form + request.user.datetime_fmt = datetime_fmt +- base = request.getBaseURL() + + request.http_headers(["Content-Type: text/xml; charset=UTF-8"]) + +@@ -72,11 +73,13 @@ def execute(pagename, request): + + result = [] + result.append("""\n""") +- +- # we include the / url as an important and often changed URL +- result.append(make_url_xml({ +- 'base': base, +- 'url': '/', ++ ++ # we include the root url as an important and often changed URL ++ rooturl = request.getScriptname() ++ if not rooturl.endswith('/'): ++ rooturl += '/' ++ result.append(make_url_xml(request, { ++ 'url': rooturl, + 'lastmod': now(), # fake + 'changefreq': 'hourly', + 'priority': '1.0', +@@ -87,7 +90,7 @@ def execute(pagename, request): + pagelist = pages.keys() + pagelist.sort() + for name in pagelist: +- result.append(sitemap_url(request, base, pages[name])) ++ result.append(sitemap_url(request, pages[name])) + + result.append("""\n""") + + --- moin-1.5.8.orig/debian/patches/00843_overwrite_attachment_needs_delete_access.patch +++ moin-1.5.8/debian/patches/00843_overwrite_attachment_needs_delete_access.patch @@ -0,0 +1,67 @@ + +# HG changeset patch +# User Thomas Waldmann +# Date 1185810740 -7200 +# Node ID 9880e04b1be245861730631896cec4f7003229ec +# Parent 286ed231b5e4144578a76eb6cac5375e6e2d6d11 +if attachment upload uses overwrite mode, we have to check for delete rights, not only for write rights + +--- a/MoinMoin/action/AttachFile.py Sat Jun 30 22:25:30 2007 +0200 ++++ b/MoinMoin/action/AttachFile.py Mon Jul 30 17:52:20 2007 +0200 +@@ -476,9 +476,16 @@ def execute(pagename, request): + elif do is None: + upload_form(pagename, request) + elif do == 'upload': +- if request.user.may.write(pagename): ++ overwrite = 0 ++ if request.form.has_key('overwrite'): ++ try: ++ overwrite = int(request.form['overwrite'][0]) ++ except: ++ pass ++ if (not overwrite and request.user.may.write(pagename)) or \ ++ (overwrite and request.user.may.write(pagename) and request.user.may.delete(pagename)): + if request.form.has_key('file'): +- do_upload(pagename, request) ++ do_upload(pagename, request, overwrite) + else: + # This might happen when trying to upload file names + # with non-ascii characters on Safari. +@@ -548,7 +555,7 @@ def upload_form(pagename, request, msg=' + wikiutil.send_footer(request, pagename) + + +-def do_upload(pagename, request): ++def do_upload(pagename, request, overwrite): + _ = request.getText + + # make filename +@@ -558,12 +565,6 @@ def do_upload(pagename, request): + rename = None + if request.form.has_key('rename'): + rename = request.form['rename'][0].strip() +- overwrite = 0 +- if request.form.has_key('overwrite'): +- try: +- overwrite = int(request.form['overwrite'][0]) +- except: +- pass + + # if we use twisted, "rename" field is NOT optional, because we + # can't access the client filename +--- a/docs/CHANGES Sat Jun 30 22:25:30 2007 +0200 ++++ b/docs/CHANGES Mon Jul 30 17:52:20 2007 +0200 +@@ -27,6 +27,12 @@ Known main issues: + issues, so please DON'T USE THEM except if you want to help debugging + and improving it and after having made a backup with some other, proven + method. USE BOTH ON YOUR OWN RISK! ++ ++Version 1.5.current: ++ Bugfixes: ++ * AttachFile overwrite mode (introduced in 1.5.7) did not check delete ++ rights, but only write rights. Now it checks that the user has write AND ++ delete rights before overwriting a file. + + Version 1.5.8: + New features: + --- moin-1.5.8.orig/debian/patches/00850_avoid_out-of-space_file_corruption.patch +++ moin-1.5.8/debian/patches/00850_avoid_out-of-space_file_corruption.patch @@ -0,0 +1,67 @@ + +# HG changeset patch +# User Thomas Waldmann +# Date 1190232949 -7200 +# Node ID f06665e39f32ef516fb9eaab76122067d57dfc26 +# Parent c8a7086b20c3d523a4331693713515c1dd85d928 +handle out-of-space errors in PageEditor, avoid 'current' corruption (thanks to TheAnarcat) + +--- a/MoinMoin/PageEditor.py Tue Sep 11 18:49:25 2007 +0200 ++++ b/MoinMoin/PageEditor.py Wed Sep 19 22:15:49 2007 +0200 +@@ -795,6 +795,7 @@ Try a different name.""") % (wikiutil.es + revdir = os.path.join(pagedir, 'revisions') + cfn = os.path.join(pagedir,'current') + clfn = os.path.join(pagedir,'current-locked') ++ cltfn = os.path.join(pagedir, 'current-locked.tmp') + + # !!! these log objects MUST be created outside the locked area !!! + +@@ -837,14 +838,33 @@ Try a different name.""") % (wikiutil.es + f = open(clfn) + revstr = f.read() + f.close() +- rev = int(revstr) ++ try: ++ rev = int(revstr) ++ except ValueError, err: ++ raise self.SaveError, _("Unable to determine current page revision from the 'current' file. The page %s is damaged and cannot be edited right now.") % self.page_name ++ + if not was_deprecated: + if self.do_revision_backup or rev == 0: + rev += 1 + revstr = '%08d' % rev +- f = open(clfn, 'w') +- f.write(revstr+'\n') +- f.close() ++ # write the current page revision to a temporary file ++ try: ++ f = file(cltfn, 'w') ++ f.write(revstr+'\n') ++ f.close() ++ except IOError, err: ++ try: ++ os.remove(cltfn) ++ except: ++ pass # we don't care for errors in the os.remove ++ # throw a nicer exception ++ if err.errno == errno.ENOSPC: ++ raise self.SaveError, _("Cannot save page %s, no storage space left.") % self.page_name ++ else: ++ raise self.SaveError, _("An I/O error occurred while saving page %s (errno=%d)") % (self.page_name, err.errno) ++ # atomically put it in place (except on windows) ++ else: ++ filesys.rename(cltfn, clfn) + + # save to page file + pagefile = os.path.join(revdir, revstr) +--- a/docs/CHANGES Tue Sep 11 18:49:25 2007 +0200 ++++ b/docs/CHANGES Wed Sep 19 22:15:49 2007 +0200 +@@ -37,6 +37,7 @@ Version 1.5.current: + * Respect ACLs when sending for attachments. + * Fixed potential XSS issues related to feeding of gui editor. + * Fixed XSS issue in RenamePage/DeletePage action. ++ * Avoid 'current' file corruption in out-of-space conditions. + + Version 1.5.8: + New features: + --- moin-1.5.8.orig/debian/patches/10011_FCKeditor_whitelist_instead_of_blacklist.patch +++ moin-1.5.8/debian/patches/10011_FCKeditor_whitelist_instead_of_blacklist.patch @@ -0,0 +1,63 @@ +diff -ruNp moin-1.5.8.orig/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/config.php moin-1.5.8/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/config.php +--- moin-1.5.8.orig/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/config.php 2006-05-11 18:24:01.000000000 +0200 ++++ moin-1.5.8/wiki/htdocs/applets/FCKeditor/editor/filemanager/browser/default/connectors/php/config.php 2007-10-21 17:43:01.000000000 +0200 +@@ -32,8 +32,8 @@ $Config['UserFilesPath'] = '/UserFiles/' + // Attention: The above 'UserFilesPath' must point to the same directory. + $Config['UserFilesAbsolutePath'] = '' ; + +-$Config['AllowedExtensions']['File'] = array() ; +-$Config['DeniedExtensions']['File'] = array('php','php3','php5','phtml','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg','cgi') ; ++$Config['AllowedExtensions']['File'] = array('7z', 'aiff', 'asf', 'avi', 'bmp', 'csv', 'doc', 'flv', 'gif', 'gz', 'gzip', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'ods', 'odt', 'pdf', 'png', 'ppt', 'pxd', 'qt', 'ram', 'rar', 'rm', 'rmi', 'rmvb', 'rtf', 'sdc', 'sitd', 'swf', 'sxc', 'sxw', 'tar', 'tgz', 'tif', 'tiff', 'txt', 'vsd', 'wav', 'wma', 'wmv', 'xls', 'xml', 'zip') ; ++$Config['DeniedExtensions']['File'] = array() ; + + $Config['AllowedExtensions']['Image'] = array('jpg','gif','jpeg','png') ; + $Config['DeniedExtensions']['Image'] = array() ; +@@ -44,4 +44,4 @@ $Config['DeniedExtensions']['Flash'] = a + $Config['AllowedExtensions']['Media'] = array('swf','fla','jpg','gif','jpeg','png','avi','mpg','mpeg') ; + $Config['DeniedExtensions']['Media'] = array() ; + +-?> +\ Intet linjeskift ved filafslutning ++?> +diff -ruNp moin-1.5.8.orig/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/php/config.php moin-1.5.8/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/php/config.php +--- moin-1.5.8.orig/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/php/config.php 2006-05-11 18:24:01.000000000 +0200 ++++ moin-1.5.8/wiki/htdocs/applets/FCKeditor/editor/filemanager/upload/php/config.php 2007-10-21 17:43:01.000000000 +0200 +@@ -26,8 +26,8 @@ $Config['Enabled'] = false ; + // Path to uploaded files relative to the document root. + $Config['UserFilesPath'] = '/UserFiles/' ; + +-$Config['AllowedExtensions']['File'] = array() ; +-$Config['DeniedExtensions']['File'] = array('php','php3','php5','phtml','asp','aspx','ascx','jsp','cfm','cfc','pl','bat','exe','dll','reg','cgi') ; ++$Config['AllowedExtensions']['File'] = array('7z', 'aiff', 'asf', 'avi', 'bmp', 'csv', 'doc', 'flv', 'gif', 'gz', 'gzip', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'ods', 'odt', 'pdf', 'png', 'ppt', 'pxd', 'qt', 'ram', 'rar', 'rm', 'rmi', 'rmvb', 'rtf', 'sdc', 'sitd', 'swf', 'sxc', 'sxw', 'tar', 'tgz', 'tif', 'tiff', 'txt', 'vsd', 'wav', 'wma', 'wmv', 'xls', 'xml', 'zip') ; ++$Config['DeniedExtensions']['File'] = array() ; + + $Config['AllowedExtensions']['Image'] = array('jpg','gif','jpeg','png') ; + $Config['DeniedExtensions']['Image'] = array() ; +@@ -35,4 +35,4 @@ $Config['DeniedExtensions']['Image'] = a + $Config['AllowedExtensions']['Flash'] = array('swf','fla') ; + $Config['DeniedExtensions']['Flash'] = array() ; + +-?> +\ Intet linjeskift ved filafslutning ++?> +diff -ruNp moin-1.5.8.orig/wiki/htdocs/applets/FCKeditor/fckconfig.js moin-1.5.8/wiki/htdocs/applets/FCKeditor/fckconfig.js +--- moin-1.5.8.orig/wiki/htdocs/applets/FCKeditor/fckconfig.js 2006-05-11 18:24:01.000000000 +0200 ++++ moin-1.5.8/wiki/htdocs/applets/FCKeditor/fckconfig.js 2007-10-21 17:43:01.000000000 +0200 +@@ -153,8 +153,8 @@ FCKConfig.FlashBrowserWindowHeight = FCK + + FCKConfig.LinkUpload = true ; + FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/' + FCKConfig.QuickUploadLanguage + '/upload.' + _QuickUploadLanguage ; +-FCKConfig.LinkUploadAllowedExtensions = "" ; // empty for all +-FCKConfig.LinkUploadDeniedExtensions = ".(php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi)$" ; // empty for no one ++FCKConfig.LinkUploadAllowedExtensions = ".('7z', 'aiff', 'asf', 'avi', 'bmp', 'csv', 'doc', 'flv', 'gif', 'gz', 'gzip', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'ods', 'odt', 'pdf', 'png', 'ppt', 'pxd', 'qt', 'ram', 'rar', 'rm', 'rmi', 'rmvb', 'rtf', 'sdc', 'sitd', 'swf', 'sxc', 'sxw', 'tar', 'tgz', 'tif', 'tiff', 'txt', 'vsd', 'wav', 'wma', 'wmv', 'xls', 'xml', 'zip')$" ; // empty for all ++FCKConfig.LinkUploadDeniedExtensions = "" ; // empty for no one + + FCKConfig.ImageUpload = true ; + FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/' + FCKConfig.QuickUploadLanguage + '/upload.' + _QuickUploadLanguage + '?Type=Image' ; +@@ -172,4 +172,4 @@ FCKConfig.SmileyColumns = 8 ; + FCKConfig.SmileyWindowWidth = 320 ; + FCKConfig.SmileyWindowHeight = 240 ; + +-if( window.console ) window.console.log( 'Config is loaded!' ) ; // @Packager.Compactor.RemoveLine +\ Intet linjeskift ved filafslutning ++if( window.console ) window.console.log( 'Config is loaded!' ) ; // @Packager.Compactor.RemoveLine --- moin-1.5.8.orig/debian/control.in.master +++ moin-1.5.8/debian/control.in.master @@ -0,0 +1,78 @@ +Source: moin +Section: net +Priority: optional +Maintainer: Jonas Smedegaard +Standards-Version: 3.7.2 +Build-Depends: @cdbs@ +Homepage: http://moinmoin.wikiwikiweb.de/ + +Package: moinmoin-common +Architecture: all +Recommends: python-moinmoin, moinmoin-i18n +Conflicts: moin +Replaces: moin +Description: Python clone of WikiWiki - common data + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package contains MoinMoin system pages and other data common for + all flavors of MoinMoin. For a complete installation of MoinMoin you + want python-moinmoin (or pythonXX-moinmoin) installed too. + +Package: moinmoin-i18n +Architecture: all +Depends: moinmoin-common +Description: Python clone of WikiWiki - non-english data + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package contains MoinMoin system pages and other data common for + all flavors of MoinMoin - in languages other than english. For a + complete installation of MoinMoin you want python-moinmoin (or + pythonXX-moinmoin) installed too. + +Package: python-moinmoin +Architecture: all +Section: python +Depends: ${python:Depends} +Description: Python clone of WikiWiki - dummy library package + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package is an empty dummy package that always depends on + a package built for Debian's default Python version. + +Package: python2.3-moinmoin +Architecture: all +Section: python +Depends: ${shlibs:Depends}, ${python:Depends}, moinmoin-common (= ${source:Version}) +Recommends: moinmoin-i18n, exim4 | mail-transport-agent +Suggests: apache | httpd | libapache-mod-python2.3 | libapache2-mod-python2.3 | python2.3-twisted | libapache-mod-fastcgi, miscfiles | wordlist, python2.3--4suite, python2.3-gdchart, python2.3-docutils (>= 0.3.10) +Conflicts: moin +Description: Python clone of WikiWiki - library + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package contains the libraries for Python 2.3. + +Package: python2.4-moinmoin +Architecture: all +Section: python +Depends: ${shlibs:Depends}, ${python:Depends}, moinmoin-common (= ${source:Version}) +Recommends: moinmoin-i18n, exim4 | mail-transport-agent +Suggests: apache | httpd | libapache-mod-python2.4 | libapache2-mod-python2.4 | python2.4-twisted | libapache-mod-fastcgi, miscfiles | wordlist, python2.4-4suite, python2.4-gdchart, python2.4-docutils (>= 0.3.10) +Description: Python clone of WikiWiki - library + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package contains the libraries for Python 2.4. --- moin-1.5.8.orig/debian/servertweaks.sed +++ moin-1.5.8/debian/servertweaks.sed @@ -0,0 +1,8 @@ +### This is sed code: "s" lines must end with a tab! ### +# Also beware of leading spaces in some text strings... + +# This file is used for all server scripts + +# Enable system-wide farmconfig, and avoid wikiconfig +s ^\([[:space:]\#]*\)\(sys.path.insert([[:digit:]]\+,[[:space:]]\+\)'/path/to/wikiconfig'\().*\) #\2'/etc/moin'\3 +s ^\([[:space:]\#]*\)\(sys.path.insert([[:digit:]]\+,[[:space:]]\+\)'/path/to/farmconfig'\().*\) \2'/etc/moin'\3 --- moin-1.5.8.orig/debian/changelog +++ moin-1.5.8/debian/changelog @@ -0,0 +1,1281 @@ +moin (1.5.8-5.1ubuntu2.2) hardy-security; urgency=low + + * SECURITY UPDATE: cross-site scripting via rename parameter and + basename variable + - debian/patches/30001_CVE-2009-0260.patch: use wikiutil.escape() in + MoinMoin/action/AttachFile.py + - CVE-2009-0260 + * SECURITY UPDATE: cross-site scripting via content variable + - debian/pathes/30002_antispam_xss_fix.patch: use wikiutil.escape() + in MoinMoin/util/antispam.py + - CVE-2009-XXXX + * SECURITY UPDATE: cross-site scripting in login + - debian/patches/30003_CVE-2008-0780.patch: update action/login.py to use + wikiutil.escape() for name + - CVE-2008-0780 + - LP: #200897 + * SECURITY UPDATE: cross-site scripting in AttachFile + - debian/patches/30004_CVE-2008-0781.patch: use wikiutil.escape() for + msg, pagename and target filenames in MoinMoin/action/AttachFile.py + - CVE-2008-0781 + * SECURITY UPDATE: directory traversal vulnerability via MOIN_ID in userform + cookie action + - debian/patches/30005_CVE-2008-0782.patch: update MoinMoin/user.py to + check USERID via the new id_sanitycheck() function + - CVE-2008-0782 + + -- Jamie Strandboge Thu, 29 Jan 2009 17:37:53 -0600 + +moin (1.5.8-5.1ubuntu2) hardy; urgency=low + + * Do not suggest python-xml, but python-4suite-xml. + + -- Matthias Klose Wed, 27 Feb 2008 16:06:05 +0000 + +moin (1.5.8-5.1ubuntu1) hardy; urgency=low + + * Merge with Debian (LP: #193869); remaining changes: + - Suggest python-xml (needed for DocBook rendering). LP: #31728. + + -- Emanuele Gentili Thu, 21 Feb 2008 02:22:30 +0100 + +moin (1.5.8-5.1) unstable; urgency=high + + * NMU with maintainer consent, urgency for security updates + * update upstream patches to moin-1.5 branch revision 856 to fix bugs + + cross-site scripting vulnerabilities using AttachFile, + CVE-2008-0781 + + directory traversal in MOIN_ID cookie vulnerability, + CVE-2008-0782 (Closes: #462984) + + XSS problem in login, CVE-2008-780 + + -- Thomas Viehmann Tue, 19 Feb 2008 22:38:10 +0100 + +moin (1.5.8-5ubuntu1) hardy; urgency=low + + * Merge with Debian; remaining changes: + - Suggest python-xml (needed for DocBook rendering). LP: #31728. + + -- Matthias Klose Thu, 06 Dec 2007 17:44:41 +0000 + +moin (1.5.8-5) unstable; urgency=high + + * Acknowledge NMU. + + Rename patch to 10011 (to match documented naming scheme). + + Unfuzz patch. + * Use Vcs-* fields (not XS-Vcs-* fields) in debian/control. + + -- Jonas Smedegaard Sun, 21 Oct 2007 17:39:47 +0200 + +moin (1.5.8-4.1) unstable; urgency=high + + * Non-maintainer upload by the testing-security team + * Include upstream patch to enable whitelisting, instead of + insufficient blacklisting for file uploads (Closes: #429205) + Fixes: CVE-2007-5156, CVE-2007-3163, CVE-2007-2630, CVE-2006-0658 + + -- Steffen Joeris Sun, 21 Oct 2007 14:43:37 +0000 + +moin (1.5.8-4) unstable; urgency=low + + * Sync with upstream HG development source as of today (patchset 851): + + Avoid out-of-space file corruption of "current" page. + + Fix translation of "Toggle line numbers" link. + * Move Homepage to own field (from pseudo-field in long description). + + -- Jonas Smedegaard Sat, 29 Sep 2007 19:16:43 +0200 + +moin (1.5.8-3) unstable; urgency=high + + * Acutally apply the added patch in 1.5.8-2. + * Raise to urgency=high as these are only security-related bugfixes. + + -- Jonas Smedegaard Sun, 16 Sep 2007 21:57:48 +0200 + +moin (1.5.8-2) unstable; urgency=low + + * Sync with upstream HG development source as of today (patchset 849): + + XSS fix with RenamePage and and DeletePage + + ACL fix: only send Sun, 16 Sep 2007 20:05:00 +0200 + +moin (1.5.8-1) unstable; urgency=low + + * New upstream release. + * Drop all earlier patches from upstream Mercurial: applied upstream. + * Sync with upstream HG development source as of today (patchset 845). + * Add XS-Vcs-Svn and XS-Vcs-Browser fields to debian/control. + * Update cdbs tweaks: + + Various improvements to update-tarball. + * Better duplicate build-dependency cleanup in debian/rules, and semi- + auto-update debian/control: + DEB_BUILD_OPTIONS=cdbs-autoupdate fakeroot debian/rules pre-build + * Replace deprecated ${Source-Version} with Use binNMU-safe + ${source:Version} in debian/control. Thanks to Lintian. + * Remove MoinMoin/i18n/meta.py in clean target. + + -- Jonas Smedegaard Mon, 03 Sep 2007 02:31:41 +0200 + +moin (1.5.7-3ubuntu2) gutsy; urgency=low + + * Suggest python-xml (needed for DocBook rendering). LP: #31728. + + -- Matthias Klose Sun, 09 Sep 2007 01:36:23 +0200 + +moin (1.5.7-3ubuntu1) gutsy; urgency=low + + * Merge from debian unstable, remaining changes: + - 11000_show_traceback_toggle.patch: allow for 'show_traceback=0' in + Moin configurations. + + -- Kees Cook Mon, 14 May 2007 15:55:15 -0700 + +moin (1.5.7-3) unstable; urgency=high + + * Sync with upstream HG development source, including a security fix: + + XSS fix for AttachFile 'do' parameter. + CVE-2007-2423. Closes: bug#422408, thanks to EN Douli for discovery + and to Florian Weimer for reporting to Debian BTS. + * Update local cdbs tweaks: + + Improved upstream-tarball handling. + + Minor updates to debain/README.cdbs-tweaks. + * Cleanup duplicate build-dependencies. + * Set urgency=high due to the upstream security fix. + + -- Jonas Smedegaard Sun, 06 May 2007 10:01:44 +0200 + +moin (1.5.7-2) unstable; urgency=high + + * Sync with upstream HG development source, including a security fix: + + Respect ACLs in MonthCalendar macro. + * Update local cdbs tweaks: + + Check for copyrights at pre-build (at clean we might run before + actual cleanup has finished). + + Add new upstream-tarball.mk: get-orig-source target and more. + + Update debain/README.cdbs-tweaks. + * Set urgency=high due to the upstream security fix. + + -- Jonas Smedegaard Wed, 04 Apr 2007 10:48:07 +0200 + +moin (1.5.7-1) unstable; urgency=low + + * New upstream release. Closes: Bug#384349. + Highlights: + + XSS Fixes (already fixed in Debian NMU). + + Improved LDAP authentication. + + Various GUI editor improvements (but still buggy!). + + Attachments can be overwritten, moved to a different page, and + referenced. + + Various performance improvements. + + Rendering fixes (especially workarounds for IE6 bugs). + + Simplified migration routine. Please read + /usr/share/doc/moinmoin-common/README.Migration(.gz). + + Fix for forgotten password email login URL. + + Google sitemap support: ?action=sitemap. + + Updated translations: i18n strings, system and help pages. + + Hyphens are now allowed in usernames. Closes: Bug#383909. + + Improved docutils and ReST support. + * Acknowledge NMUs. Closes: Bug#373464, #383841, #410338, thanks to + Josselin Mouette, Pierre Habouzit, Martin Zobel-Helas and Toni + Mueller. + * Reorganize patches. + + Extend patches to 5 digits to make room for Hg changesets. + + Adjust debian/patches/README to mention Hg (not Arch). + + Use quilt (not the simple cdbs-internal patch system). + * Add patches to bring in sync with upstream Hg (patchset 822). + * Remove parts of CVE-2007-0857 applied upstream (changesets 805-806). + Rename patch to follow new 5-digit scheme. + * Rewrite README.packaging to describe getting changesets from Hg (not + Arch). + * Update CDBS tweaks: + + Update copyright-check.mk: Look for "(c)" too, avoid non-printable + characters, verbose error report. + + Update buildinfo.mk: Fix touchfile to run only once. + + Major overhaul of python-distutils.mk: Syncronize with main cdbs, + which adds support for new Python policy, and massive rewrite to + bring back functionality broken in the default implementation of + that new policy. + + Replace auto-update.mk with (overload of) buildcore.mk. + + Add README.cdbs-tweaks documenting the added tweaks. + + Advertise README.cdbs-tweaks in debian/rules. + * Enable new Python policy, except when DEB_BUILD_OPTIONS contains + "sarge". Closes: Bug#373464 (thanks to Pierre Habouzit and ). + * Bump up Standards-Version to 3.7.2 for non-default distros. + * Adjust long description to not mention dropped pythonXX-moinmoin. + * As stated in README.Debian, CGI interface has had most testing: + + Revert to suggesting apache in favor of libapache(2)-python. + + Suggest httpd-cgi (not httpd) as fallback. + * Cleanup and improve debian/rules: + + Use (newly improved!) tweaked cdbs again, to also support + distributions using the old python policy. + + Restore rules aaplying only to old python policy. + + Add switch to declare variables varying between python policies. + + Stitch together README.Debian from parts, referring to build- + dependent default python version, and leaving out section on + multiple packages when using new python policy. + + Stitch together README.Debian and moinmoin-common.postinst in + pre-build, and remove in clean. This avoids distributing changes + and then loosing it again automatically at next build. + + Add more comments. + + Move build targets to switch distribution down to the bottom. + * Update debian/copyright: + + Add new copyright for Bubblehelp infoboxes (license: GPLv2). + + Add new copyright for EXIF filter (license: BSD-like). + + Fix non-unicode Character (copyright-holder Peter Ã…strand). + * No longer install docs/CHANGES.config dropped upstream. + * Add note to README.Debian about risk of dict symlink breaking if + copying and using the data from a different location. This relates + only to the recent NMU changing (without documentaing!!!) from + static to shared symlink. + * Use Build-depends (not Build-depends-Indep) for non-default + distributions. + * Tightened pyversions to only include 2.3 and higher. + * Suppress lintian warnings about INSTALL.html in docs (contains + valuable info on further steps than automated in this packaging) and + non-executable scripts in underlay (they should never be executed + from there). + + -- Jonas Smedegaard Fri, 16 Mar 2007 18:07:48 +0100 + +moin (1.5.3-1.2) unstable; urgency=low + + * Non-maintainer upload. + * Adding patch from BTS to fix CVE-2007-0857 (Closes: #410338) + + -- Martin Zobel-Helas Tue, 27 Feb 2007 10:00:39 +0100 + +moin (1.5.3-1.1ubuntu3) feisty; urgency=low + + * debian/patches/091_show-traceback-option.patch: allow for + 'show_traceback=0' in Moin configurations. + * References + CVE-2007-0902 + + -- Kees Cook Thu, 15 Feb 2007 13:20:58 -0800 + +moin (1.5.3-1.1ubuntu2) feisty; urgency=low + + * debian/patches/090_fix-pagename-xss.patch: updated to include additional + fixes for RenamePage. + + -- Kees Cook Fri, 9 Feb 2007 14:08:21 -0800 + +moin (1.5.3-1.1ubuntu1) feisty; urgency=low + + * SECURITY UPDATE: fix XSS in pagename displays. + * Add 'debian/patches/090_fix-pagename-xss.patch': based on patches from + upstream. Added fixes for "LikePages". + * References + http://hg.thinkmo.de/moin/1.5?fl=28eb59256911;file=docs/CHANGES + CVE-2007-0857 + + -- Kees Cook Fri, 9 Feb 2007 13:15:39 -0800 + +moin (1.5.3-1.1) unstable; urgency=low + + [ Pierre Habouzit ] + * Non-maintainer upload. + * Update package to the last python policy (Closes: #373464). + * Bump Standards-Version to 3.7.2. + + [ Josselin Mouette ] + * Update Suggests now that mod_python packages were rebuilt. + * Build-depend on python-dev, python-all-dev is too much. + * python-moinmoin needs python-support for a few private modules. + + -- Josselin Mouette Sat, 30 Sep 2006 11:28:58 +0200 + +moin (1.5.3-1) unstable; urgency=medium + + * New upstream release. Closes: bug#363354 (thanks to Bob Tanner + ). + * Drop all patches: they are all included upstream now. + * Raise to urgency=medium due to XSS fix. + + -- Jonas Smedegaard Wed, 19 Apr 2006 13:40:13 +0200 + +moin (1.5.2-7) never-really-released; urgency=low + + * Add patches to match upstream changeset 473. + * Mention source of upstream patches in debian/copyright. + + -- Jonas Smedegaard Mon, 13 Mar 2006 11:59:40 +0100 + +moin (1.5.2-6) unstable; urgency=medium + + * Add patches to match upstream changeset 457. + + Fixes mild security issue when SuperUser is wrongly configured. + * Raise to urgency=medium due to the above mild security issue. + * Improve wording of renaming in preinst, and emit only a single long + line on error. + * Update TODO with a bunch of entries. + * Add README.packaging to source, with hints about, well, packaging. + + -- Jonas Smedegaard Thu, 23 Feb 2006 00:02:28 +0100 + +moin (1.5.2-5) unstable; urgency=low + + * Fix parsing options within preinst. + * While at it, improve preinst to include a package version next to + each md5sum. + * Fix a few typos (missing "echo" and line continuation) in preinst + and postinst, and change their indentation. + + -- Jonas Smedegaard Sat, 18 Feb 2006 14:16:58 +0100 + +moin (1.5.2-4) unstable; urgency=low + + * Whoops: Fix line-continuation in preinst. + + -- Jonas Smedegaard Fri, 17 Feb 2006 20:21:55 +0100 + +moin (1.5.2-3) unstable; urgency=low + + * Add patches to match upstream changeset 450. + * Add md5sum of 1.4.99+1.5.0rc1 configfile to preinst rename routine. + * ReST parser is again included by default: + + Suggest recent python2.3-docutils. + + Drop TODO item about packaging rst separately. + * Semi-auto-update debian/control. + + -- Jonas Smedegaard Fri, 17 Feb 2006 02:02:11 +0100 + +moin (1.5.2-2) unstable; urgency=low + + * Add patches to match upstream cset 446. + + -- Jonas Smedegaard Thu, 16 Feb 2006 17:38:25 +0100 + +moin (1.5.2-1) unstable; urgency=low + + * Official packaging of new upstream release, incorporating the work + documented in the below two changelog entries (thanks to Overfiend). + + Fixes running as python handler in apache 1.x. Closes: bug#339543 + (thanks to Nick Phillips ). + + Favor quoted-printable for email notifications over base64. This + closes: bug#343621 (thanks to "Brian T. Sniffen" + ). + * Move cdbs auto-update enabling into local snippet. + * Correct namespace of cdbs snippet buildinfo.mk + * Correct namespace and improve cdbs snippet copyright-check.mk. + * Use Homepage instead of Website in debian/control, per DDR 6.2.4. + * Improve watch file: Use special sf-syntax, and simplify regex. + * Semi-auto-update debian/control. + * Add hint about python-moinmoin to moinmoin-common long description + (thanks to Alexander Schremmer ). + * Improve wording of README.Debian: + + Recommend reading upstream INSTALL.html not only for other kinds + of setup but also for more info on the one with example provided. + + Mention in section about farmconfig that this is enabled in Debian + by default. + Both thanks to Alexander Schremmer . + * Relax conflict/replacement of moin, and tighten dependencies on + moinmoin-common. This closes: bug#347450 (thanks to Raphael Bossek + ). + + -- Jonas Smedegaard Sat, 11 Feb 2006 00:55:30 +0100 + +moin (1.5.2-0.branden.1) unstable; urgency=low + + * Local NMU to package latest upstream release, 1.5.2. + + * debian/configtweaks.sed: Normalize whitespace so upstream changes to it + don't provoke changed-conffile prompts. + * debian/rules: Clean up the logic for munging the upstream wikifarm config + files a little. Remove a useless use of cat. + + * Upstream has renamed the moinmaster.py wikifarm example script to + mywiki.py; add logic to moinmoin-common's maintainer scripts to rename the + conffile likewise on package upgrades. + + debian/moinmoin-common.preinst: (new) Perform renaming, if applicable. + + debian/moinmoin-common.postinst: Finalize renaming. + + debian/moinmoin-common.prerm: (new) Roll back renaming if package + upgrade or install is aborted, and if renaming took place in the preinst. + + -- Branden Robinson Wed, 8 Feb 2006 00:37:35 -0500 + +moin (1.5.1+1.5.2rc1-0.branden.1) unstable; urgency=low + + * Local NMU to package latest upstream release candidate, 1.5.2rc1. + + * debian/rules: UPDATE.html vanished upstream; stop trying to ship it. + * debian/rules: Search for farmconfig files in config/wikifarm, since they + have moved upstream. Also remove the -and -not -name wikiconfig.py test + from the corresponding find command, since the single-site wikiconfig.py + is stored in the parent directory, where it won't be found. + + -- Branden Robinson Sat, 4 Feb 2006 15:31:24 -0500 + +moin (1.4.99+1.5.0rc1-1) unstable; urgency=low + + * New upstream prerelease. Closes: bug#339363 (thanks to Saku Ytti + ). + * Add note to NEWS about non-english underlay pages now distributed as + packages attached to SystemPagesSetup. Add TODO item about packaging + non-english underlay pages as Debian packages instead (or as well?). + + -- Jonas Smedegaard Wed, 21 Dec 2005 12:52:05 +0100 + +moin (1.4.99+1.5.0beta6-1) experimental; urgency=low + + * New upstream prerelease. + * Drop quoting more than just copyright and licensing of GPL texts in + debian/copyright, to avoid lintian complaining about wrong address. + + -- Jonas Smedegaard Fri, 16 Dec 2005 23:57:38 +0100 + +moin (1.4.99+1.5.0beta5-1) experimental; urgency=low + + * New upstream prerelease. + + Fixes mod_python adaptor failing to handle Location correctly. + Closes: bug#339543 (thanks to Nick Phillips ). + + Licensing issues fixed for cplusplus and java parser modules. + + -- Jonas Smedegaard Tue, 13 Dec 2005 01:54:19 +0100 + +moin (1.4.99+1.5.0beta4-1) experimental; urgency=low + + * Improve wording of use of non-default Python versions in + README.Debian (thanks to Michael Schmitt ). + * Refer to specific further reading beyond the simple exaple setup + in README.Debian. + * Drop python2.2-moinmoin - it might still work but too little tested + for upstream to support it. + * Drop support for woody backports. + * Include new doc files docs/CHANGES.config and docs/HACKS. + * Improve debian/copyright: + + Added ReStructured Text Parser: GPL. + + Added FCKeditor: LGPL. + + Added daemon.py: BSD-like. + + Added thfcgi.py: GPL. + + Added NetRube_Upload: Free use. + + Added wz_jsgraphics: GPL. + + Added IE7: LGPL. + + Added phpwiki2moinmoin: GPL. + * Strip Mega Upload and other unused parts of FCKeditor from source, + as suggested by upstream of FCKeditor. + * Strip cplusplus and java parser modules from source, as licensing + info is simply "all rights reserved". + * Add new cdbs snippet to check at build time for changed copyright + notices. + * Strip irrelevant parts of FCKeditor, and move documentation parts + below below /usr/share/doc/.../FCKeditor/ . + * Add note to NEWS about loads of config changes requiring manual + adjustments after examining upstream changelog. + * Add notes to TODO about things I should do before final release but + haven't found time to do yet... + * Drop a TODO note about fixing a cache bug: Can't even reproduce it + myself anymore, so probably fixed upstream already without my + reporting it :-P . + + -- Jonas Smedegaard Thu, 24 Nov 2005 21:02:12 +0100 + +moin (1.4.99+1.5.0beta3-1) experimental; urgency=low + + * New upstream prerelease. Closes: bug#339363 (thanks to Nick Phillips + ). + * Drop all patches: They are all included upstream now. + * Update danish l12n. + + -- Jonas Smedegaard Tue, 15 Nov 2005 00:05:29 +0100 + +moin (1.3.5-1) unstable; urgency=low + + * New upstream release. Closes: bug#331222 (thanks to Steffen Joeris + ). + * Drop patches now included upstream: + - 001_patch-867 + - 002_patch-868 + - 003_patch-869 + * Add upstream post-release patches, and manually add patch version: + + 001_patches-883-935.patch + + 202_make_patchlevel-visible.patch + * Add note to debian/TODO about ant command to compile TWikiDrawPlugin + using gcj (still not included as build.xml is broken: requires + internet access in the build environment :-P ). + * Bump up standards-version to 3.6.2. + * Improve notes on simple sample setup in README.Debian: + + Store data below outside webroot to avoid leaking private info. + Closes: bug#308764 (thanks to Olivier Sessink + ). + + Setup underlay. + + Mention (briefly) non-Apache setups. + + Comment out variables in farmconfig defined locally in each wiki. + Closes: bug#326172 (thanks to Branden Robinson + ). + + -- Jonas Smedegaard Fri, 4 Nov 2005 16:21:57 +0100 + +moin (1.3.4.really.1.3.5rc1-1) unstable; urgency=low + + * New upstream prerelease. + * Use pristine source again (I believe it is ok to distribute the java + binary with source when its source is included too - a fresh compile + for inclusion in a binary package is still on the TODO). + * Add small note pointing an unofficial home of TwikiDrawPlugin at + http://debian.jones.dk/auryn/pool-all/official/moin/twikidraw/ + * Drop prepatch now included upstream: + - 11_failsafe_i18_clean + * Drop patches included upstream: + - 22_danish_locale_update + - 25_allow_singlequote_in_acounts + - 27_xslt_fix + * Add upstream post-rc patches and drop older patches they supercede: + + 001_patch-867 + + 002_patch-868 + + 003_patch-869 + - 22_german_locale_update + - 24_twikidraw_strip_cr + - 26_fallback_to_iso8859-1_dicts + * Renumber remaining patch, and add README about numbering scheme: + - 02_dict_is_local + + 201_dict_is_local + * Adjust path in source to changelog and docs. + * Added copyright and licensing info of pikipiki, twikidraw and lupy + to debian/copyright. + * UTF-encode debian/copyright. + * Bump up watch file to version 3. + * Move examples to subdir debian/examples. + * Add a couple of example scripts for maintaining underlay dirs. + + -- Jonas Smedegaard Sun, 31 Jul 2005 13:26:40 +0200 + +moin (1.3.4-6) unstable; urgency=low + + * Patch user.py to allow account names containing single-quotes. + Closes: bug#317514 (thanks to Marco d'Itri ). + * Small update to german (de) locale. Closes: bug#313952 (thanks to + Jens Seidel ). + * Update local python cdbs snippet (and manually strip spurious build- + dependency build-essential due to bug#316034). + * Only do cdbs debian/rules auto-update when DEB_BUILD_OPTIONS=update. + * Patch action/SpellCheck.py to fallback to iso8859-1 encoded dicts. + * Tweak paths in all patches to apply in first attempt by cdbs. + * Fix XSLT brokennes (using info found here: + http://moinmoin.wikiwikiweb.de/MoinMoinBugs/XsltParserOnDebian ). + Actually - it is still broken to me, but at least the error is now a + different one (and may only relate to the XsltVersion test page)... + * Strip comments in underlay about only editing on masterwiki + (especially for templates they are confusing). + + -- Jonas Smedegaard Sat, 9 Jul 2005 14:19:53 +0200 + +moin (1.3.4-5) unstable; urgency=medium + + * Run dh-python a bit earlier (bug#172283 resurfacing) to get python + code optimized at install time. (this breaks woody backport support + but that was already broken anyway). + * Include unversioned python-gdchart suggestion only for + python2.3-moinmoin package. + * Set urgency=medium as the changes are small but the gain is high. + + -- Jonas Smedegaard Fri, 6 May 2005 22:42:40 +0200 + +moin (1.3.4-4) unstable; urgency=low + + * Use prdownloads.sourceforge.net for upstream source in copyright. + * Make suggestions Python-versioned. + * Add hint to README.Debian on easing migration with mc. + * Add pointers to additional cleanup code on moinmoin..de wiki. + * Install README.Debian with all packages. Closes: bug#304540. + * Include example configs for apache 1.3 and 2.0. Closes: bug#284424. + * . + + -- Jonas Smedegaard Thu, 5 May 2005 00:25:14 +0200 + +moin (1.3.4-3) unstable; urgency=high + + * Drop transitional binary package "moin", as it is only relevant for + users of testing and unstable, and there it causes unpleasant + surprises more(?) than it helps. Closes: bug#304054, #303957 (thanks + to Toni Mueller and others). + * Improve migration section of README.Debian and refer NEWS item to + that instead of directly to README.migration. Closes: bug#204146 + (thanks to Markku Tavasti and Aaron + Bentley ). + * Remove TODO item related to the above. + * Force using/aoviding specific python version also for scripts + installed as part of the library. + * Set urgency=high as these changes (together with removing the old + "moin" package from the archive) "fixes" breakage of existing + unstable and testing moin installs. + + -- Jonas Smedegaard Mon, 11 Apr 2005 13:55:57 +0200 + +moin (1.3.4-2) unstable; urgency=low + + * Official release. + * README.Debian updated and improved. Closes: bug#201580 (thanks to + Hanspeter Kunz and others). + * LocalSpellingWords is now utf-8 encoded. Closes: bug#302602 thanks + to Martin F. Krafft and others for reporting + this). + * INSTALL.html is included now. Closes: bug#302339 (thanks to Paul + ). + + -- Jonas Smedegaard Fri, 8 Apr 2005 04:44:24 +0200 + +moin (1.3.4-1.0.jones.3) unstable; urgency=low + + * Have cdbs snippet get python version from 'python -V' like dh_python + does it. + * Simply have a rule for each of woody, sarge and ubuntu, untied to + the standard build to force switch distro and then stay with it. + * Hardcode dependencies for library packages (dh_python is broken: + adds dependency always on default python). + * Make scripts executable. + + -- Jonas Smedegaard Fri, 8 Apr 2005 03:08:30 +0200 + +moin (1.3.4-1.0.jones.2) unstable; urgency=low + + * Handle ubuntu and woody builds as DEB_BUILD_OPTIONS. + * Make source of ubuntu build be moin1.3 (they have old moin released + already and want both distributed concurrently). + * Correct hashbang-line in example files of library packages. + * Improve python cdbs snippet, and setup variables in separate one. + + -- Jonas Smedegaard Thu, 31 Mar 2005 00:20:22 +0200 + +moin (1.3.4-1.0.jones.1) unstable; urgency=low + + * Split into several binary packages: moinmoin-common with data and + and python2.x-moinmoin with libraries built for each version of + Python. + * Suggest 4suite non-python-versioned. + * Fix encoding of handcrafted LocalSpellingWords wikipage. + * Update and improve README.Debian. Closes: bug#201580 (thanks to + Hanspeter Kunz and others). + * Include INSTALL.html. + * Conflict with old moin. + + * Prerelease...! + + -- Jonas Smedegaard Wed, 30 Mar 2005 04:56:07 +0200 + +moin (1.3.4-1) unstable; urgency=low + + * New upstream release. Closes: bug#287006, #291527 (thanks for the + patience, everyone). + + XMLRPC fixed. Closes: bug#285555, #285672 (thanks to Kai Weber + and Christian Grigis ). + * Extend dependency on http daemons to include libapache2-mod-python. + * Drop some patches (for arguments on remaining patches see + http://moinmoin.wikiwikiweb.de/DebianPatches ): + + Adopted upstream: + - 06_interwiki_update.diff + - 07_avoid_hardcoded_pythonversion.patch + - 21_danish_locale_fixup.diff + - 22_danish_locale_update.diff + + Possibly too tight for some (preserved in source tarball): + - 01avoid_world_write_access.diff + + Implemented differently upstream: + - 03_enable_farm_config.diff + + Obsolete: + - 05ftversion_is_revision.diff + * Add patch 22_danish_locale_update.diff. + * Rebuild MoinMoin/i18n/ after patching to make sure all is in sync. + * Suggest 4suite non-python-versioned. + * Drop obsolete example config. + * Disable (but keep) bad-permission-check rule (world-write patch + dropped - see above). + * Use local cdbs snippet to invoke dh_buildinfo. + * Rename NEWS.Debian to NEWS to get properly installed. + * Patch MoinMoin/i18n to not fail if cleaned files doesn't exist (and + include the patch in source below debian/prepatches). + * Fix cdbs hint to not compress example Python scripts. + * Use CHANGES (not the more verbose Changelog) as upstream changelog. + * Add patch 24_twikidraw_strip_cr.diff. Closes: bug#297960 (thanks to + Pedro Zorzenon Neto ). + * Include pristine config files as example files. + * Update and correct README.Debian. + * Use cdbs debian/control auto-update (and enhance local cdbs snippets + to use it). + + -- Jonas Smedegaard Tue, 22 Mar 2005 03:05:47 +0100 + +moin (1.2.4-1) unstable; urgency=high + + * New upstream release. + Fixes: + + fixed "None" pagename bug in fullsearch/titlesearch. + + fixed projection CSS usage. + + the compiled page is removed when a page is deleted, so no ghost + page appears after deletion. + + fixed AbandonedPages day-break problem. + + fixed [[GetVal(WikiDict,key)]]. + + the msg box is now outside content div on PageEditor, too. + + privacy fix for email notifications: you don't see other email + addresses in To: any more. mail_from is now also used for To: + header field, but we don't really send email to that address. + + privacy fix for /MoinEditorBackup pages that were made on previews + of pages that were not saved in the end. + + fix double content div on PageEditor preview. + Other changes: + + workaround for broken Microsoft Internet Explorer, the page editor + now stops expanding to the right (e.g. with rightsidebar theme). + Nevertheless it is a very good idea to use a non-broken and more + secure browser like Mozilla, Firefox or Opera! + + from MoinMoin.util.antispam import SecurityPolicy in your + moin_config.py will protect your wiki from at least the known + spammers. See MoinMoin:AntiSpamGlobalSolution for details. + + xmlrpc plugin for usage logging, currently used for antispam + accesses. + + (re-)added some configurable meta tags. + + i18n updates/fixes, new: nb. + + New UserPreferences switch: + you may subscribe to trivial changes (when you want to be notified + about ALL changes to pages, even if the author deselected to send + notifications). This closes: bug#269456 (thanks to Laurent Fousse + for the - slightly different - patch). + + New AttachList and AttachInfo macros - thanks to Nigel + Metheringham and Jacob Cohen. + * Update TODO (one wish solved in the new upstream release). + * Update danish locale. + * Add (commented out) new antispam setting to farm_config.py. + * Patch to avoid hardcoded python version (thanks to my own clever + build targets :-) ). + * Set urgency=high to hopefully get this bugfix release into sarge. + + -- Jonas Smedegaard Fri, 29 Oct 2004 13:35:35 +0200 + +moin (1.2.3-1) unstable; urgency=high + + * New upstream release. Closes: Bug#265376, #263564 (thanks to Douglas F. + Calvert and Kai Weber ): + + fixed NameError "UnpicklingError" in user.py + + Security-related bugfix: reverts done by bots or leechers... + There was a bad, old bug that triggered if you did not use ACLs. In that + case, moin used some simple (but wrong and incomplete) function to + determine what a user (or bot) may do or may not do. The function is now + fixed to allow only read and write to anon users, and only delete and + revert to known users additionally - and disallow everything else. + + avoid creation of unneccessary pages/* directories + + removed double content divs in general info and history info pages + + fixed wiki xmlrpc getPageHTML + + fixed rightsidebar logout URL, also fixed top banner to link to FrontPage + + use config.page_front_page and .page_title_index for robots meta tag + (whether it uses index,follow or index,nofollow), not hardcoded english + page names + + ACL security fix for PageEditor, thanks to Dr. Pleger for reporting + + default options for new users are same as for anon users + + do not show excluded actions at bottom of page + + i18n updated: ja, de, zh + + editor: removed the columns size setting, just using 100% of browser + window width (it didn't work because of that anyway). Also removed that + "reduce editor size" link at top of editor as you would lose your + changes when using it. + * Remember to strip twikidraw.jar from source tarball. + * Set urgency=high due to the above security-related bugfixes, and due + to twikidraw.jar erronously provided with the earlier release. + * Drop patch included upstream: 11_UnpicklingError.diff. + * Drop cleaning debian/dh-buildinfo (never created - must've been from + a manual test run). + * Added danish localisation for newly added reject string. + * Added note in README.Debian about the need for CGI support. Closes: + Bug#260861 (thanks to , although not using the + provided diff). + * Udate watch file: + + Use generic sourceforge "prdownload" host, which seems to be the + only option currently - although working only for checking, not + for automated downloads. + + Add comment about usage of the file. + + Add comment about brokenness of sourceforge URL. + + Make URL as generic as possible. + * Update TODO (add note on *.py optimizing below /usr/share/moin). + + -- Jonas Smedegaard Fri, 20 Aug 2004 17:17:42 +0200 + +moin (1.2.2-1) unstable; urgency=low + + * New upstream release. Closes: Bug#254756 (thanks to Ben + ): + + Improved diff generation (python 2.3 difflib used and local copy + dropped). + + Scripts changed to use #!/usr/bin/env python. + + Users now _must_ specify a password when creating a new account. + + User accounts matching config.page_group_regex are now illegal. + Note: existing accounts must be manually checked (read upstream + changelog for more info). + + subscription email sending now honours ACLs correctly. + + Several markup / rendering / user interface fixes/improvements. + + RSS fixes: non-ASCII characters; UTC timestamps; RecentChanges ok. + + Better email generation: Message-ID header; standards compliant + subject; use config.mail_from with "lost my password" emails. + + Improved file attachments handling. + + Themes improvements, and new theme "rightsidebar" added. + + Crashing bugs fixed: diffs for deleted pages; xml footnotes; + SystemInfo with empty editlog. + + Improved robots hints. + + Translation updates / fixes, and russian i18n added. + + TitleIndex now sorts case-insensitively. + + New macro: PageHits.py. + * Include patch for UnpicklingError bug (thanks again to Ben + ). + * Drop hashbang patches: fixed upstream now. + * Improve woody backport-ability: + + Set DEB_PYTHON_COMPILE_VERSION immediately (use := instead of =). + + Add newline when changing hashbang (bug in perl 5.6?). + + Include difflib from python 2.2.3. + * Update InterWiki.txt. + * Small but important fix to danish localisation: + s/BrugerIndstillinger/BrugerProfil/g . + * Standards-version 3.6.1 (no changes needed). + + -- Jonas Smedegaard Thu, 17 Jun 2004 07:27:16 +0200 + +moin (1.2.1-1) unstable; urgency=low + + * New upstream release. + + wiki/data/plugin/__init__.py added (closes: Bug#235225) + + plugin processors work now, too + + fixed displaying non-existant translations of SiteNavigation in + footer + + fixed zh-tw iso name (wrong zh_tw -> correct zh-tw) + + fixed reversed diffs in RecentChanges RSS + + fixed "last change" info in footer (wasn't updated) + + fixed event.log missing pagename (and other) information + + fixed horizontal line thickness >1 + + fixed setup.py running from CVS workdir + + fixed crash when doing action=info on first revision of a page + + fixed hostname truncation in footer + + minor css fixes + + fixed clear msg links (they missed quoting, leading to strange page + names when you click on some of them) + + fixed python colorizer processor + + fixed quoting of stats cache filenames + + catched "bad marshal data" error when switching python versions + + updated danish, japanese, serbian and chinese i18n, and + maintainance scripts now included with source (closes: Bug#220913) + + new "viewonly" theme + + New scripts for xmlrpc-tools and account checking added + * Include as separate file the patch to enable farm_config by default. + * Remove debian/buildinfo in clean target. + * Make CGI script executable. + * Improved python version handling in debian/rules: + + Current python version hardcoded only once (to ease upgrading to + next major release) + + Patch hashbang of all scripts to use unversioned python (closes: + bug#236254) + + Check in clean target that no new versioned python scripts slips + through + + Support explicit using python2.2 (needed for backport to woody) + simply by setting "DEB_BUILD_OPTIONS=python22" at build time. + + Tighten build-dependency on cdbs to support the above + * Add note to debian/copyright about java applet stripped from source. + * Unfuzz patches, and update 11_danish_l10n_updates (all earlier + changes adopted upstream, minor new corrections added). + * Replace patch 06_wikipedia_url_update with a larger and more general + 06_interwiki_update (matching update done upstream on MoinMaster). + * Minor tweaks to farm_config.py. + * Update example config with more ACL stuff and update l12n. + * Move some files from cgi-bin dir out as example scripts. + * Add some items to TODO. + + -- Jonas Smedegaard Sun, 21 Mar 2004 14:15:15 +0100 + +moin (1.2-1) unstable; urgency=low + + * New upstream release. Closes: Bug#229759. + + Support for persistent environments twisted-web, standalone, + mod_python and FastCGI (none of them tested with Debian) in + addition to plain CGI. + + Caching of rendered pages. + + Improved, internal diff handling. + + Support for http basic auth. + + Configurable timezone offset. + + Configurable cookie lifetime. + + Theme support. + + Improved logfile access. Closes: Bug#224218. + + Support for automatic page refreshing. + + Improved UserPreferences layout (most options suppressed until + user has logged in). + + Support for dictionary definitions. + + Improved UTF8 support (but still ISO-8859-1 by default). + + Improved "wiki groups" handling. + + Mostly HTML 4.01 Strict compliant HTML, and use of CSS for visual + markup. + + Updated (and further improved to handle imagemaps) TWikiDrawPlugin + (not included with this Debian package). + + Fixed email headers and encoding. + * Updated debian/copyright: + + Drop info included in debian/changelog + + Update copyright and licensing info (only cosmetic changes, and + years covered updated) + * Add NEWS.Debian suggesting to read HelpOnUpdating for needed local + updates. + * Update patches. + + Unfuzz. + + Drop outdated 04german_locale_update.diff + + New danish l18n update. + * Remove obsolete (and temporarily disabled) simplified login patch. + * Tighten access rights to 0750/0640 (giving world read access doesn't + make sense with ACLs - as pointed out in upstream comment). Also, no + longer "shout" at upstream default (no longer world write, only + group write - which is still unnecessary in most situations). + * Ignore PNG files in compile time access rights check. + * Update farm_config.py and sample config.py to match upstream + changes. + * Enable farm_config by default. + * Avoid installing as Debian native package. + * Recommend mail-transport-agent. + * Suggest httpd, libapache-mod-python, twisted or + libapache-mod-fastcgi. + + -- Jonas Smedegaard Fri, 27 Feb 2004 01:34:24 +0100 + +moin (1.1.cvs20031026-1) unstable; urgency=low + + * New CVS snapshot. + * Shrink l10n patch to only include da.py file (translated text files + are included upstream). + * Change suggestion to python2.3-4suite (not in Debian yet, but + hopefully one day...). + * Disable patch 21_simplify_new_login.diff (it wad buggy, and upstream + has changed userform design). + * Add symlink from /usr/share/dict/words to + /usr/share/moin/data/dict/words. + * Add new /etc/moin/farm_config.py, and update example moin_config.py + to use it. + * Correct make target so dh_buildinfo is actually used (closes: + Bug#211416). + * The scripts in site-packages are not meant to be executed, so strip + hashbang altogether (closes: Bug#206395). The actual scripts are + provided at /usr/share/doc/moin/examples, because they need tweaking + to include local config of each installed wiki (closes: Bug#210451). + + -- Jonas Smedegaard Mon, 27 Oct 2003 03:09:51 +0100 + +moin (1.1.cvs20030814-1) unstable; urgency=low + + * New CVS snapshot. + * Update to python2.3 (closes: Bug#205143). + * Add a couple of wishlist items to TODO. + + -- Jonas Smedegaard Thu, 14 Aug 2003 02:39:27 +0200 + +moin (1.1.cvs20030802-3) unstable; urgency=low + + * Even more updates to danish l10n. + + -- Jonas Smedegaard Sat, 9 Aug 2003 16:48:56 +0200 + +moin (1.1.cvs20030802-2) unstable; urgency=low + + * Update danish l10n. + * Patch userform.py to simply login for first time users. + * Update example config to use new security scheme, and include l10n + of both template, category and form pages. + * Add watch file. + + -- Jonas Smedegaard Thu, 7 Aug 2003 13:07:18 +0200 + +moin (1.1.cvs20030802-1) unstable; urgency=low + + * New CVS snapshot. + + Added Croatian + + added ACL support, written by Gustavo Niemeyer of Conectiva and + Thomas Waldmann. See HelpOnAccessControlLists for more infos. + * Switch to cdbs. + * Standards-version 3.6.0. + * Re-include wikiext.py (still unfinished, but at least compiles + without error now). + * Use (and build-depend on) dh-buildinfo. + + -- Jonas Smedegaard Sun, 3 Aug 2003 21:47:21 +0200 + +moin (1.1.cvs20030430-1) unstable; urgency=medium + + * New CVS snapshot. + Security fixes: + + [ 522246 ] Transparently recode localized messages + + [ 685003 ] Using "preview" button when editing can lose data + + use gmtime() for time handling + + [[Include]] accepts relative page names + New features: + + if a fancy link starts with '^' (i.e. if it has the form + "[^http:... ...]"), it's opened in a new window + + moin-dump: New option "--page" + + list items set apart by empty lines are now also set apart + visually (by adding the CSS class "gap" to
  • ) + + selection to add categories to a page in the editor (use preview + button to add more than one category) + + `MailTo` macro for adding spam-safe email links to a page + + added "revert" link to PageInfo view (which makes DeletePage more + safe in public wikis, since you can easily revive deleted pages + via revert) + + `config.mail_login` can be set to "user pwd", if you need to + use SMTP AUTH + + replaced `config.page_template_ending` by a more flexible setting + named `config.page_template_regex` + + `config.edit_locking` can be set to None (old behaviour, no + locking), 'warn ' (warn about concurrent edits, but + do not enforce anything), or 'lock ' (strict locking) + + if user has a homepage, a backup of save/preview text is saved as + an attachment named `moin-editor-backup.txt` + + `[[Navigation]]` macro for slides and subpage navigation + + ../SubPageOfParent links + + Selection for logged in users (i.e. no bots) to extend the listing + of recent changes beyond the default limits + + `config.shared_intermap` can be a list of filenames (instead of a + single string) + + [[ShowSmileys]] displays ALL smileys, including user-defined ones + + Updated the XSLT parser to work with 4Suite 1.0a1 + + "save" check for security.Permissions + + editor returns to including page when editing an included page + + the Include macro has new parameters (from, to, sort, items) and + is able to include more than one page (via a regex pattern) + Unfinished or experimental features: + + SystemAdmin macro + * Remove Debian-specific danish pages (they where all adopted + upstream). + * Roll back danish translation a few days to avoid newest unwanted + changes. + * Urgency medium because of the security issues. + * Update to latest version of CBS (Colin's Build System). + * Declare compliance with Debian Policy 3.5.9 (no changes needed). + * Update license info (added the year 2003) and add license of + PikiPiki. + * Update example config to include switching to MoinMoinMannen (thanks + to Jonas Furberg ) on authorized access. + * Update patches. + + Fix yet another bad permission setting. + + Remove danish translation updates included upstream now. + + Drop restructuring of configuration page (too lazy to maintain + them). + + -- Jonas Smedegaard Wed, 30 Apr 2003 22:04:29 +0200 + +moin (1.1.cvs20021222-1) unstable; urgency=low + + * New CVS snapshot. + + Make sure (again!) that twikidraw.jar is stripped from source. + Bugfixes also in 1.0 branch: + + correct handling of spaces in attachment filenames and URLs + Bugfixes: + + Create unique anchors for repeated titles + New features: + + "#pragma section-numbers 2" only displays section numbers for + headings of level 2 and up (similarly for 3 to 6) + + reciprocal footnote linking (definition refers back to reference) + + "Ex-/Include system pages" link for title index + + `config.smileys` for user-defined smileys + + new fancy diffs + + `config.hosts_deny` to forbid access based on IP address + Content updates: + + New language: it + + New language: sv (conflicting with da, grrr!) + + CSS improved + + Locale hint added on all pages + + Misc corrections and improvements + + Section "Arbitrary Page Names" moved from HelpForBeginners to + HelpOnLinking + + HelpOnConfiguration: Updated + + HelpOnInstalling_2fBasicInstallation: Add link to download site + + HelpOnMacros: Updated + + HelpOnSmileys: Line up example smileys in two rows + + SystemInfo: SystemAdmin macro removed + + RecentChanges: RandomQuote added + + WikiSandBox: Sample image and drawing added + * Remove CHANGELOG.old from CVS snapshot (my mess - not from + upstream). + * Switch to using Colin's Build System + + Invoke dh_python before dh_installdep (see BUG#172283) + + Get rid of bash dependency + + Isolate and update source patches. + * Scan at build time for evil chmod 777 and fail if found (found yet + another one in filesys.py). + * Remove byte-compiled configfile in postinst. + * Move (instead of patch and duplicate) german LocalSpellingWords. + * Enable all options in example config, and put all examples in same + folder. + * Add locale hint to danish pages. + * Update danish translated pages (only Hj_e6lpForBegyndere affected). + * Run a 'make test' at build time. + + -- Jonas Smedegaard Sun, 22 Dec 2002 22:32:26 +0100 + +moin (1.1.cvs20021129-1) unstable; urgency=low + + * New CVS snapshot. + + config.title1, config.title2, config.page_footer1, + config.page_footer2 can now be callables and will be called with + the "request" object as a single argument (note that you should + accept any keyword arguments in order to be compatible to future + changes) + + "config.html_pagetitle" allows you to set a specific HTML page + title (if not set, it defaults to "config.sitename") + + if a quick link starts with '^', it opens in a new window; help + now opens in a new window also + + last edit action is stored into "last-edited" file, and + displayed in the page footer + + Bugfix for wrong mail notifications + * Use new dh_python to calculate dependencies and handle compilation + at install-time, and depend on debhelper at least version 4.1.25 + that introduced the script. + * Change to use debhelper V4 now that it is needed anyway. + * Update TODO: Remove gdchart suggestion is done. + * Look for revision instead of version in optional 4suite module + (since current 4suite does that). This closes: Bug#171304 thanks to + Michael Schuerig . + + -- Jonas Smedegaard Sun, 1 Dec 2002 04:04:29 +0100 + +moin (1.1.cvs20021008-1) unstable; urgency=low + + * New CVS snapshot. + + handle corrupt cookies gracefully. + + Remove obsolete SecurityPolicy code from moin_config.py. + * Correct path to local dict directory (thanks to Dave Carrigan + for not giving up). This closes (for real) + Bug#163441. + + -- Jonas Smedegaard Tue, 8 Oct 2002 06:12:19 +0200 + +moin (1.1.cvs20020909-4) unstable; urgency=low + + * Remove badly coded and unused file wikiext.py (closes: bug#162246). + + -- Jonas Smedegaard Wed, 25 Sep 2002 12:47:04 +0200 + +moin (1.1.cvs20020909-3) unstable; urgency=low + + * Add postinst and prerm scripts found in python-optik. + + -- Jonas Smedegaard Tue, 24 Sep 2002 00:46:48 +0200 + +moin (1.1.cvs20020909-2) unstable; urgency=low + + * Suggest python-gdchart, and enable gdchart test. + + -- Jonas Smedegaard Mon, 23 Sep 2002 06:08:18 +0200 + +moin (1.1.cvs20020909-1) unstable; urgency=low + + * New CVS snapshot. + + -- Jonas Smedegaard Thu, 12 Sep 2002 20:18:17 +0200 + +moin (1.1.cvs20020805-2) unstable; urgency=low + + * Update danish config script to reflect new policy setup. + + -- Jonas Smedegaard Thu, 29 Aug 2002 03:42:20 +0200 + +moin (1.1.cvs20020805-1) unstable; urgency=low + + * New CVS snapshot. + * Build against python 2.2. Update (build-)dependencies respectively. + + -- Jonas Smedegaard Thu, 29 Aug 2002 03:06:58 +0200 + +moin (1.1.cvs20020715-2) unstable; urgency=low + + * Danish locale updates. + + -- Jonas Smedegaard Wed, 17 Jul 2002 02:13:51 +0200 + +moin (1.1.cvs20020715-1) unstable; urgency=low + + * New CVS Snapshot (nothing changed, actually, but needed a new source + for the next item...). + * Remove TwikiDrawApplet.jar from source. Will probably package it + seperately, but needs to go in non-free, because use of AWT makes it + require jre2. + * A few corrections to danish locale. + + -- Jonas Smedegaard Tue, 16 Jul 2002 06:26:34 +0200 + +moin (1.1.cvs20020711-4) unstable; urgency=low + + * Update WikiPedia InterWiki URL. + * Updates to danish locale, and a few additions to german locale. + * Added some danish help pages. + + -- Jonas Smedegaard Tue, 16 Jul 2002 05:28:19 +0200 + +moin (1.1.cvs20020711-3) unstable; urgency=low + + * Add some danish translated pages (and pass them upstream as well). + * Empty LocalSpellingWords (it was all german), except for a few + universal entries. Add the original file as example. + * Add my own danish localized config as example. + * Change default dir and file umask to 0755 and 0644. World writable + stuff is BAD! + * Suggest python2.1-4suite for xslt support (which is disabled by + default). + * Minor updates to danish locale. + * Use Makefile, and add a 'make test' (disabled for now...). + * Move intro text below the form in UserPreferences, to help type- + without-reading kind of new users. + + -- Jonas Smedegaard Sun, 14 Jul 2002 19:33:33 +0200 + +moin (1.1.cvs20020711-2) unstable; urgency=low + + * Remove wordlist link. Debian policy (and LFS?) says it to be a + relative link which (obviously) fails when moved somewhere else. + * Rewrite README.Debian and lower wordlist from Recommends to + Suggests, to reflect the above. + + -- Jonas Smedegaard Fri, 12 Jul 2002 19:22:02 +0200 + +moin (1.1.cvs20020711-1) unstable; urgency=high + + * New upstream CVS snapshot. + * Urgency high: Acouple of XSS vulnerabilities fixed today. + * My danish translation is adopted upstream now, Thanks :-) + * Remove MoinMoin/i18n/__init__.py.orig i left there when translating. + * Add dict folder with a link to site-wide words, and make a comment + about it in README.Debian. + * Recommend wordlist to support the above. + + -- Jonas Smedegaard Thu, 11 Jul 2002 21:59:15 +0200 + +moin (1.1.cvs20020623-6) unstable; urgency=low + + * Minor updates to danish locale. + * Add to danish locale a hint about logging in when denied access - as + suggested in documentaion at HelpOnConfiguration/SecurityPolicy + (wanted to do english as well, but that is not a locale :-( !!!). + + -- Jonas Smedegaard Sat, 29 Jun 2002 02:28:42 +0200 + +moin (1.1.cvs20020623-5) unstable; urgency=low + + * Explicitly note upstream author (apart from being mentioned in + License). + * Update danish l10n. + + -- Jonas Smedegaard Tue, 25 Jun 2002 18:56:46 +0200 + +moin (1.1.cvs20020623-4) unstable; urgency=low + + * Correct fatal quoting errors in danish locale. + + -- Jonas Smedegaard Tue, 25 Jun 2002 05:21:21 +0200 + +moin (1.1.cvs20020623-3) unstable; urgency=low + + * Add danish translation. + * Mention MoinMoin in short description (thanks to Luca De Vitis). + + -- Jonas Smedegaard Tue, 25 Jun 2002 04:46:31 +0200 + +moin (1.1.cvs20020623-2) unstable; urgency=low + + * Move scripts from /usr/bin to examples (not really sure if they are + useful out-of-the-box on Debian). + * The package is real (Closes: #150761). + + -- Jonas Smedegaard Sun, 23 Jun 2002 16:23:56 +0200 + +moin (1.1.cvs20020623-1) unstable; urgency=low + + * First unofficial release. + * Uncomment gdchart import attempt from moin_config.py for a small + speed gain. + + -- Jonas Smedegaard Sun, 23 Jun 2002 14:44:21 +0200 + --- moin-1.5.8.orig/debian/README.cdbs-tweaks +++ moin-1.5.8/debian/README.cdbs-tweaks @@ -0,0 +1,113 @@ +CDBS tweak +========== + +CDBS is great. In some corner cases, however, some parts of CDBS +sometimes needs a few tweaks to work optimally. + +This is a collection of such tweaks. The goal is for these tweaks to be +absorbed into upstream CDBS. We just haven't found time yet to discuss +them at the CDBS developers' mailinglist. And possible we do not all +agree that the tweaks are so great - therefore this "staging area". + +If you found this file below debian/ subdir in a source package, most +probably only a subset of the below mentioned tweaks are relevant and +have been shipped with the package. The repository of all these tweaks +is here: svn://svn.debian.org/build-common/people/js/overlay/ + +Web access: http://svn.debian.org/wsvn/build-common/people/js/overlay/ + + + +Improved support for cdbs-autoupdate +------------------------------------ + +CDBS invented a cool way to help keep build-dependencies up-to-date. + +It is disabled by default, as messing with debian/rules at build time +violates Debian Policy: A build must not change conditions for building. + +Some consider this CDBS feature evil. + +Some enable the feature within a package, and gets smacked by ftp-master +or others (there's even a lintian check to complain about it now). + +This tweak enables the feature when the build environment contains the +non-default hint "cdbs-autoupdate" in the DEB_BUILD_OPTIONS variable. + + + +New buildinfo rule +------------------ + +See package description for "buildinfo" for more info. + + + +Improved support for multiple compilations +------------------------------------------ + +Create and clean builddir _after_ resolving per-package DEB_BUILDDIR. + +Honour per-package DEB_BUILDDIR in makefile class. + + + +Various improvements to python-distutils class +---------------------------------------------- + +Use full path to python interpreter (Python Policy section 1.3.2). + +Add CDBS_BUILD_DEPENDS to old policy method. + +Fix CDBS_BUILD_DEPENDS in new policy methods to only depend on debhelper +when actually used. + +Fix DEB_PYTHON_SIMPLE_PACKAGES sometimes installed twice (and only one +of them honouring DEB_PYTHON_COMPILE_VERSION). + +Unify install path using new DEB_PYTHON_DESTDIR. + +Quote install path. + + + +New copyright-check rule +------------------------ + +Refuse to build if the source is found to contain different copyright +info than earlier builds. + + + +New kernelpatches rule +---------------------- + +Small wrapper around dh-kpatches, taking care of build-dependencies too. + + + +New routines for handling upstream tarball +------------------------------------------ + +Rules and variables to help downloading, validating and repackaging +upstream tarball. + +Implements the rules print-version and get-orig-source commonly used +for group-maintained packages with Debian-specific patches maintained in +SVN or some other VCS, and automated fetching virgin upstream tarball +(possibly massaged after download e.g. to strip non-DFSG material). + + + +Support for custom BTS info +--------------------------- + +Include BTS control info found in debian/*.bts files, or alternatively +redirect bug reports to the email address defined in DEB_BTS_EMAIL. + + + +New dict class +-------------- + +Rules for packaging ispell, aspell, myspell and wordlist dictionaries. --- moin-1.5.8.orig/debian/patches.off/01avoid_world_write_access.diff +++ moin-1.5.8/debian/patches.off/01avoid_world_write_access.diff @@ -0,0 +1,209 @@ +diff -ruN moin-1.2.2.orig/MoinMoin/action/AttachFile.py moin-1.2.2/MoinMoin/action/AttachFile.py +--- moin-1.2.2.orig/MoinMoin/action/AttachFile.py 2004-06-06 01:58:36.000000000 +0200 ++++ moin-1.2.2/MoinMoin/action/AttachFile.py 2004-06-17 06:45:32.052919832 +0200 +@@ -454,7 +454,7 @@ + stream.write(filecontent) + finally: + stream.close() +- os.chmod(fpath, 0666 & config.umask) ++ os.chmod(fpath, 0640 & config.umask) + + bytes = len(filecontent) + msg = _("Attachment '%(target)s' (remote name '%(filename)s')" +diff -ruN moin-1.2.2.orig/MoinMoin/action/SpellCheck.py moin-1.2.2/MoinMoin/action/SpellCheck.py +--- moin-1.2.2.orig/MoinMoin/action/SpellCheck.py 2004-06-06 01:58:39.000000000 +0200 ++++ moin-1.2.2/MoinMoin/action/SpellCheck.py 2004-06-17 06:45:32.053919805 +0200 +@@ -80,7 +80,7 @@ + request.clock.start('dict.cache') + wordsfiles = _getWordsFiles() + if dbhash: +- wordsdict = dbhash.open(cachename, 'n', 0666 & config.umask) ++ wordsdict = dbhash.open(cachename, 'n', 0640 & config.umask) + else: + wordsdict = {} + +diff -ruN moin-1.2.2.orig/MoinMoin/caching.py moin-1.2.2/MoinMoin/caching.py +--- moin-1.2.2.orig/MoinMoin/caching.py 2004-06-06 01:58:16.000000000 +0200 ++++ moin-1.2.2/MoinMoin/caching.py 2004-06-17 06:45:32.055919751 +0200 +@@ -18,14 +18,14 @@ + + # create cache if necessary + if not os.path.isdir(config.cache_dir): +- os.mkdir(config.cache_dir, 0777 & config.umask) +- os.chmod(config.cache_dir, 0777 & config.umask) ++ os.mkdir(config.cache_dir, 0750 & config.umask) ++ os.chmod(config.cache_dir, 0750 & config.umask) + + # create arena if necessary + arena_dir = os.path.join(config.cache_dir, arena) + if not os.path.isdir(arena_dir): +- os.mkdir(arena_dir, 0777 & config.umask) +- os.chmod(arena_dir, 0777 & config.umask) ++ os.mkdir(arena_dir, 0750 & config.umask) ++ os.chmod(arena_dir, 0750 & config.umask) + + def _filename(self): + return os.path.join(config.cache_dir, self.arena, self.key) +@@ -64,7 +64,7 @@ + shutil.copyfile(filename, self._filename()) + + try: +- os.chmod(self._filename(), 0666 & config.umask) ++ os.chmod(self._filename(), 0640 & config.umask) + except OSError: + pass + +@@ -72,7 +72,7 @@ + open(self._filename(), 'wb').write(content) + + try: +- os.chmod(self._filename(), 0666 & config.umask) ++ os.chmod(self._filename(), 0640 & config.umask) + except OSError: + pass + +diff -ruN moin-1.2.2.orig/MoinMoin/config.py moin-1.2.2/MoinMoin/config.py +--- moin-1.2.2.orig/MoinMoin/config.py 2004-06-06 01:58:23.000000000 +0200 ++++ moin-1.2.2/MoinMoin/config.py 2004-06-17 06:45:32.057919697 +0200 +@@ -154,7 +154,7 @@ + # and receive a FORBIDDEN for anything except viewing a page + 'ua_spiders': 'archiver|crawler|google|htdig|httrack|jeeves|larbin|leech|linkbot' + + '|linkmap|linkwalk|mercator|mirror|robot|scooter|search|sitecheck|spider|wget', +- 'umask': 0770, # with 0777 ACLs are rather pointless! ++ 'umask': 0750, # with access from all ACLs are rather pointless! + # XXX UNICODE fix + 'upperletters': 'A-Z\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd2\xd3\xd4\xd5\xd6\xd8\xd9\xda\xdb\xdc\xdd\xc7\xd0\xd1\xde', + 'url_prefix': '/wiki', +diff -ruN moin-1.2.2.orig/MoinMoin/logfile/logfile.py moin-1.2.2/MoinMoin/logfile/logfile.py +--- moin-1.2.2.orig/MoinMoin/logfile/logfile.py 2004-06-06 01:58:31.000000000 +0200 ++++ moin-1.2.2/MoinMoin/logfile/logfile.py 2004-06-17 06:45:32.059919643 +0200 +@@ -117,7 +117,7 @@ + elif name == "_output": + self._output = open(self.__filename, 'a') + try: +- os.chmod(self.__filename, 0666 & config.umask) ++ os.chmod(self.__filename, 0640 & config.umask) + except OSError: + pass + return self._output +diff -ruN moin-1.2.2.orig/MoinMoin/PageEditor.py moin-1.2.2/MoinMoin/PageEditor.py +--- moin-1.2.2.orig/MoinMoin/PageEditor.py 2004-06-06 01:58:36.000000000 +0200 ++++ moin-1.2.2/MoinMoin/PageEditor.py 2004-06-17 06:46:24.217507393 +0200 +@@ -682,8 +682,8 @@ + page_filename = self._text_filename() + + if not os.path.isdir(config.backup_dir): +- os.mkdir(config.backup_dir, 0777 & config.umask) +- os.chmod(config.backup_dir, 0777 & config.umask) ++ os.mkdir(config.backup_dir, 0750 & config.umask) ++ os.chmod(config.backup_dir, 0750 & config.umask) + + if os.path.isfile(page_filename) and not is_deprecated and self.do_revision_backup: + filesys.rename(page_filename, os.path.join(config.backup_dir, +@@ -693,7 +693,7 @@ + self.set_raw_body(text) + + # replace old page by tmpfile +- os.chmod(tmp_filename, 0666 & config.umask) ++ os.chmod(tmp_filename, 0640 & config.umask) + filesys.rename(tmp_filename, page_filename) + return os.path.getmtime(page_filename) + +diff -ruN moin-1.2.2.orig/MoinMoin/user.py moin-1.2.2/MoinMoin/user.py +--- moin-1.2.2.orig/MoinMoin/user.py 2004-06-17 06:01:18.000000000 +0200 ++++ moin-1.2.2/MoinMoin/user.py 2004-06-17 06:45:32.069919372 +0200 +@@ -56,7 +56,7 @@ + userdictpickle = os.path.join(config.user_dir, "userdict.pickle") + pickle.dump(_name2id, open(userdictpickle,'w')) + try: +- os.chmod(userdictpickle, 0666 & config.umask) ++ os.chmod(userdictpickle, 0640 & config.umask) + except OSError: + pass + id = _name2id.get(searchName, None) +@@ -315,8 +315,8 @@ + if not self.id: return + + if not os.path.isdir(config.user_dir): +- os.mkdir(config.user_dir, 0777 & config.umask) +- os.chmod(config.user_dir, 0777 & config.umask) ++ os.mkdir(config.user_dir, 0750 & config.umask) ++ os.chmod(config.user_dir, 0750 & config.umask) + + self.last_saved = str(time.time()) + +@@ -336,7 +336,7 @@ + data.close() + + try: +- os.chmod(self.__filename(), 0666 & config.umask) ++ os.chmod(self.__filename(), 0640 & config.umask) + except OSError: + pass + +@@ -443,7 +443,7 @@ + bmfile.write(str(tm)+"\n") + bmfile.close() + try: +- os.chmod(self.__filename() + ".bookmark", 0666 & config.umask) ++ os.chmod(self.__filename() + ".bookmark", 0640 & config.umask) + except OSError: + pass + try: +@@ -589,7 +589,7 @@ + trailfile.write('\n'.join(self._trail)) + trailfile.close() + try: +- os.chmod(self.__filename() + ".trail", 0666 & config.umask) ++ os.chmod(self.__filename() + ".trail", 0640 & config.umask) + except OSError: + pass + +diff -ruN moin-1.2.2.orig/MoinMoin/util/filesys.py moin-1.2.2/MoinMoin/util/filesys.py +--- moin-1.2.2.orig/MoinMoin/util/filesys.py 2004-06-06 01:58:23.000000000 +0200 ++++ moin-1.2.2/MoinMoin/util/filesys.py 2004-06-17 06:45:32.071919318 +0200 +@@ -14,7 +14,7 @@ + ### Misc Helpers + ############################################################################# + +-def makeDirs(name, mode=0777): ++def makeDirs(name, mode=0750): + """ Like os.makedirs(), but with explicit chmod() calls. + Fixes some practical permission problems on Linux. + """ +diff -ruN moin-1.2.2.orig/MoinMoin/wikidicts.py moin-1.2.2/MoinMoin/wikidicts.py +--- moin-1.2.2.orig/MoinMoin/wikidicts.py 2004-06-06 01:58:16.000000000 +0200 ++++ moin-1.2.2/MoinMoin/wikidicts.py 2004-06-17 06:45:32.072919291 +0200 +@@ -288,7 +288,7 @@ + + pickle.dump(data, open(picklefile, 'w')) + try: +- os.chmod(picklefile, 0666 & config.umask) ++ os.chmod(picklefile, 0640 & config.umask) + except OSError: + pass + # remember it globally (persistent environments) +diff -ruN moin-1.2.2.orig/wiki/data/text/HelpOnConfiguration moin-1.2.2/wiki/data/text/HelpOnConfiguration +--- moin-1.2.2.orig/wiki/data/text/HelpOnConfiguration 2004-06-06 01:58:16.000000000 +0200 ++++ moin-1.2.2/wiki/data/text/HelpOnConfiguration 2004-06-17 06:45:32.074919237 +0200 +@@ -90,7 +90,7 @@ + || trail_size || 5 || Number of pages in the trail of visited pages || + || tz_offset || 0.0 || default time zone offset in hours from UTC || + || ua_spiders || ...|google|wget|... || A regex of HTTP_USER_AGENTs that should be excluded from logging || +-|| umask || 0770 || umask used on all open(), mkdir() and similar calls || ++|| umask || 0750 || umask used on all open(), mkdir() and similar calls || + || upperletters || ''Latin 1 alphabetic characters'' || Uppercase letters, used to define what is a WikiName || + || url_mappings || {} || lookup table to remap URL prefixes (dict of {{{'prefix': 'replacement'}}}); especially useful in intranets, when whole trees of externally hosted documents move around || + || url_prefix || '/wiki' || Used as the base URL for all public documents served by the wiki, especially the image files for the icons || +diff -ruN moin-1.2.2.orig/wiki/data/text/Hj_e4lpMedAnpassning moin-1.2.2/wiki/data/text/Hj_e4lpMedAnpassning +--- moin-1.2.2.orig/wiki/data/text/Hj_e4lpMedAnpassning 2004-06-06 01:58:16.000000000 +0200 ++++ moin-1.2.2/wiki/data/text/Hj_e4lpMedAnpassning 2004-06-17 06:45:32.076919183 +0200 +@@ -73,7 +73,7 @@ + || title2 || '
    ' || HTML-fragment efter titelarean (se HjälpMedSkal) || + || trail_size || 5 || Antal sidor i sidhistoriken som visas || + || ua_spiders || htdig || Ett reguljärt uttryck med HTTP_USER_AGENT:er som ska uteslutas från loggning || +-|| umask || 0777 || umask som används på alla open(), mkdir() och liknande systemanrop || ++|| umask || 0750 || umask som används på alla open(), mkdir() och liknande systemanrop || + || upperletters || ''Latin 1 alphabetic characters'' || Versala bokstäver. Används för att definiera vad som är ett WikiNamn || + || url_mappings || {} || uppslagstabell som används för att ändra URL-prefix (dict av {{{'prefix': 'replacement'}}}); speciellt användbart på IntraNet, när hela träd av externa dokement flyttas runt || + || url_prefix || '/wiki' || Används som bas-URL för alla allmännt tillgängliga sidor som wikin kan visa, speciellt bildfiler för ikoner || --- moin-1.5.8.orig/debian/moinmoin-common.install +++ moin-1.5.8/debian/moinmoin-common.install @@ -0,0 +1 @@ +debian/lintian/moinmoin-common /usr/share/lintian/overrides/ --- moin-1.5.8.orig/debian/configtweaks.sed +++ moin-1.5.8/debian/configtweaks.sed @@ -0,0 +1,18 @@ +### This is sed code: "s" lines must end with a tab! ### +# Also beware of leading spaces in some text strings... + +# This script is used for all conffiles. + +## Use system-wide config and underlay +# ARRGH - read-only underlay not supported currently :-( +#s ^\([[:space:]]*data_underlay_dir[[:space:]]\+=\).* \1 '/usr/share/moin/underlay' + +# Disable sample sites +s ^\([[:space:]]*\)\(("\(moinmaster\|moinmoin\)",.*\) \1\#\2 + +# Normalize whitespace so upstream changes to it don't provoke +# changed-conffile prompts. +# 1. Convert tabs to four spaces (the indendation used by upstream). +s/ / /g +# 2. Eliminate trailing whitespace at ends of lines. +s/ \+$//g --- moin-1.5.8.orig/debian/README.Debian.addon.oldpython +++ moin-1.5.8/debian/README.Debian.addon.oldpython @@ -0,0 +1,13 @@ +Default Python and hardcoded paths +---------------------------------- + +Debian uses Python2.3 as default Python, and it is recommended to use +the scripts provided with moinmoin-common which is set to use whatever +is the default Python on your system. + +If you would rather use a specific version of Python, then the same +binaries and daemon scripts are provided with hardcoded paths as example +files with each library package. For further details on this, see the +docs in the matching pythonX.X-moinmoin package. + + --- moin-1.5.8.orig/debian/TODO +++ moin-1.5.8/debian/TODO @@ -0,0 +1,31 @@ +TODO list for moin: + + * Package and suggest TWikiDrawPlugin + Building: "ant -Dbuild.compiler=gcj" + * Update and extend danish l12n of system pages. + * Pass on the following wishlist upstream: + + Support in Include() macro for plain grepping (in addition to + "before" and "after" stripping) - needed to include e.g. only list + items + + Macro listing "members of (MembersGroup and (FriendsGroup or + MePersonally/FriendsGroup) except EvilGroup". + * Avoid optimizing .py files below /usr/share/moin (requires update to + CDBS) + * Package non-english underlay pages as Debian packages. + * Consider packaging the flup WSGI server supported from 1.5 and up: + http://www.saddi.com/software/flup/ + * Move global dict dir below /etc/moin (new to Debian-packaged + MoinMoin: we used to patch source to always use local dict dirs). + * Strip scripts/ subdir from library packages (provide them only as + examples: they require manual editing to be of any use). + * Rename config dir below examples to default_config. + * Move /htdocs/common/ie7/README.txt out to docs dir. + * Improved use of interwiki.txt: + * Install below /etc/moin/ (not below /usr/share/moin/ ). + * Include a copy below ...examples/default_config/ . + * Convert to Unix-style line-ends. + * Strip wiki comments at top of the file. + * Hack default farmconfig.py to use initerwiki.txt + * Install moin.cgi below /usr/share/cgi-bin + + -- Jonas Smedegaard Thu Nov 24 21:01:54 CET 2005 --- moin-1.5.8.orig/debian/pyversions +++ moin-1.5.8/debian/pyversions @@ -0,0 +1 @@ +2.3- --- moin-1.5.8.orig/debian/moinmoin-common.preinst +++ moin-1.5.8/debian/moinmoin-common.preinst @@ -0,0 +1,70 @@ +#!/bin/sh + +set -e + +rename_conffile_prepare () { +# syntax: rename_conffile_prepare old_name new_name official_md5sum ... +# +# Check a conffile "old_name" against a list of canonical MD5 checksums. If +# the file's current MD5 checksum matches one of the "official_md5sum" +# operands provided, then rename the conffile to "new_file" and create a +# flag file indicating that we have done so. +# +# We leave the flag file around until the package is configured so that we +# can roll this operation back if package installation fails. +# +# Call this function from a preinst script in the event $1 is "upgrade" or +# "install" and verify $2 to ensure the package is being upgraded from a +# version (or installed over a version removed-but-not-purged) prior to the +# one in which the conffile was renamed. + + #local conffile current_checksum + + # Validate arguments. + if [ $# -lt 3 ]; then + echo "$0: usage error: rename_conffile_prepare() called with wrong number of arguments (expected at least 3, got $#)." >&2 + exit 2 + fi + + _old_conffile="$1" + shift + + _new_conffile="$1" + shift + + # We only have something to do if the _old_conffile exists and the + # _new_conffile doesn't. + if [ -e "$_old_conffile" ] && ! [ -e "$_new_conffile" ]; then + # Calculate _old_conffile's checksum. + _current_checksum=$(md5sum < "$_old_conffile" | sed 's/[[:space:]].*//') + # Compare it to each supplied checksum. + while [ -n "$1" ]; do + + _old_checksum="$1" + shift + + _old_pkgver="$1" + shift + + if [ "$_current_checksum" = "$_old_checksum" ]; then + # We found a match; rename the conffile and stop looking. + echo "Found old conffile (version $_old_pkgver): Renaming from $_old_conffile to $_new_conffile." >&2 + mv "$_old_conffile" "$_new_conffile" \ + > "$_old_conffile.moinmoin-common.moved" + break + fi + done + fi +} + +#DEBHELPER# + +if [ "$1" = "install" ] || [ "$1" = "upgrade" ]; then + if dpkg --compare-versions "$2" lt "1.5.2"; then + rename_conffile_prepare \ + /etc/moin/moinmaster.py /etc/moin/mywiki.py \ + 0691ca2ee1a91d81e6010f92e5eb4e62 1.3.4-3 \ + 53921d5995c4f8f7ee2dc75868837248 'unknown' \ + 342a585c1a0255e8cbfaca607d068276 1.4.99+1.5.0rc1-1 + fi +fi --- moin-1.5.8.orig/debian/NEWS +++ moin-1.5.8/debian/NEWS @@ -0,0 +1,42 @@ +moin (1.5.7) unstable; urgency=low + + * New simplified upstream migration routine. Please read + /usr/share/doc/moinmoin-common/README.Migration(.gz) for more info. + + -- Jonas Smedegaard Fri, 16 Mar 2007 17:30:17 +0100 + +moin (1.5) unstable; urgency=low + + * Many config options have changed. Please read upstream changelog for + details on required adjustments to local setups. + * Non-english underlay pages is now distributed as packages. Make sure + to visit SystemPagesSetup after upgrade of underlay if you use non- + english pages. + + -- Jonas Smedegaard Wed, 21 Dec 2005 12:46:22 +0100 + +moin (1.3) unstable; urgency=low + + * Older MoinMoin data does not work with current MoinMoin library, and + automated upgrade is not possible. Please read the migration section + of /usr/share/doc/moinmoin-common/README.Debian(.gz) for more info. + + -- Jonas Smedegaard Mon, 11 Apr 2005 13:55:57 +0200 + +moin (1.2.2-1) unstable; urgency=low + + * it is not allowed any more to create user accounts with user names + matching config.page_group_regex - please check manually that you do + not already have such users existing (like a user named + "AdminGroup"): + cd data/user ; grep name=.*Group * # there should be no output! + + -- Jonas Smedegaard Thu, 17 Jun 2004 05:12:48 +0200 + +moin (1.2-1) unstable; urgency=low + + * Several changes in this new upstream version - your current MoinMoin + wiki may not work correctly after updating to this version. Please + read /usr/share/moin/data/text/HelpOnUpdating for details. + + -- Jonas Smedegaard Fri, 27 Feb 2004 01:34:24 +0100 --- moin-1.5.8.orig/debian/control.in.ubuntu +++ moin-1.5.8/debian/control.in.ubuntu @@ -0,0 +1,41 @@ +Source: moin +Section: net +Priority: optional +Maintainer: Ubuntu Core developers +XSBC-Original-Maintainer: Jonas Smedegaard +Standards-Version: 3.7.2 +Build-Depends: @cdbs@ +Vcs-Svn: svn://svn.debian.org/collab-maint/deb-maint/moin/trunk +Vcs-Browser: http://svn.debian.org/wsvn/collab-maint/deb-maint/moin/trunk +Homepage: http://moinmoin.wikiwikiweb.de/ + +Package: moinmoin-common +Architecture: all +Depends: ${python:Depends} +Recommends: python-moinmoin +Conflicts: moin +Replaces: moin +Description: Python clone of WikiWiki - common data + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. + . + This package contains MoinMoin system pages and other data common for + all flavors of MoinMoin. For a complete installation of MoinMoin you + want python-moinmoin installed too. + +Package: python-moinmoin +Architecture: all +Section: python +Depends: ${python:Depends}, moinmoin-common (= ${source:Version}) +Provides: ${python:Provides} +Replaces: python2.3-moinmoin (<< 1.5.3-1.1), python2.4-moinmoin (<< 1.5.3-1.1) +Conflicts: moin, python2.3-moinmoin (<< 1.5.3-1.1), python2.4-moinmoin (<< 1.5.3-1.1) +Recommends: exim4 | mail-transport-agent +Suggests: apache | httpd-cgi | libapache2-mod-python | libapache-mod-python | python-twisted | libapache-mod-fastcgi, miscfiles | wordlist, python-4suite-xml, python-gdchart, python-docutils (>= 0.3.10) +Description: Python clone of WikiWiki - library + A WikiWikiWeb is a collaborative hypertext environment, with an + emphasis on easy access to and modification of information. MoinMoin + is a Python WikiClone that allows you to easily set up your own wiki, + only requiring a Web server and a Python installation. --- moin-1.5.8.orig/debian/compat +++ moin-1.5.8/debian/compat @@ -0,0 +1 @@ +4 --- moin-1.5.8.orig/debian/watch +++ moin-1.5.8/debian/watch @@ -0,0 +1,4 @@ +# Run the "uscan" command to check for upstream updates and more. +version=3 +# use qa.debian.org redirector; see man uscan +http://sf.net/moin/moin-([\d+\.]+|\d+)\.tar\.gz debian uupdate --no-pristine --- moin-1.5.8.orig/debian/copyright +++ moin-1.5.8/debian/copyright @@ -0,0 +1,264 @@ +This is MoinMoin packaged for Debian. + +Upstream source: http://prdownloads.sourceforge.net/moin/ + +Upstream patches: +http://arch.thinkmo.de/cgi-bin/archzoom.cgi/arch@arch.thinkmo.de--2003-archives/moin--main--1.5 + + +NB! Binary java applet included in upstream source is excluded from +distribution with debian. + +Upstream author: Jürgen Hermann + + + +Copyright and Licensing info, generally for MoinMoin: + +Copyright (c) 2000 - 2004 by Jürgen Hermann +All rights reserved, see COPYING for details. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + + + +MoinMoin is based on PikiPiki, this is PikiPiki's copyright: + + Copyright (C) 1999, 2000 Martin Pool + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + +The PikiPiki homepage is at http://sourcefrog.net/projects/piki/. + + + +Copyright and Licensing info, TwikiDrawPlugin java applet: + +TWikiDraw is based on Erich Gamma's JHotDraw 5.1. (JHotDraw is copyright +1996, 1997 by IFA Informatik and Erich Gamma, +erich_gamma@acmSPAMBLOCK.org . It is hereby granted that this software +can be used, copied, modified, and distributed without fee provided that +this copyright notice appears in all copies. ) + +TWikiDraw uses ACME Labs' GifEncoder to convert a drawing into a GIF +file format. (GifEncoder is Copyright (C)1996,1998 by Jef Poskanzer, +jef@acmeSPAMBLOCK.com . All rights reserved. THIS SOFTWARE IS PROVIDED +BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN +NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE.) + +TWikiDraw uses some ideas of KmWiki drawing applet. + +TWikiDraw: Copyright 2000 by Peter Thoeny, Peter@ThoenySPAMBLOCK.com. It +is hereby granted that this software can be used, copied, modified, and +distributed without fee provided that this copyright notice appears in +all copies. + +Modifications Copyright (C) 2001 Motorola. All Rights Reserved. + +PeterThoeny created TWikiDraw based on above software + +CrawfordCurrie made a number of improvements. + + + +Copyright and Licensing info, Lupy: + +# This module is part of the Lupy project and is Copyright 2003 Amir +# Bakhtiar (amir@divmod.org). This is free software; you can redistribute +# it and/or modify it under the terms of version 2.1 of the GNU Lesser +# General Public License as published by the Free Software Foundation. + + + +Copyright and Licensing info, rst.py ReStructured Text Parser: + + @copyright: 2004 by Matthew Gilbert + and by Alexander Schremmer + @license: GNU GPL, see COPYING for details. + + + +Copyright and Licensing info, FCKeditor: + + * FCKeditor - The text editor for internet + * Copyright (C) 2003-2004 Frederico Caldeira Knabben + * + * Licensed under the terms of the GNU Lesser General Public License: + * http://www.opensource.org/licenses/lgpl-license.php + * + * For further information visit: + * http://www.fckeditor.net/ + + + +Copyright and Licensing info, daemon.py: + +Copyright (c) 2005 Nir Soffer + +Twisted, the Framework of Your Internet +Copyright (c) 2001-2004 Twisted Matrix Laboratories. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +Copyright and Licensing info, thfcgi.py: + + Copyright Peter Ã…strand 2001 + + Modified for MoinMoin by Oliver Graf 2003 + + Added "external application" support, refactored code + by Alexander Schremmer + + For code base see: + http://cvs.lysator.liu.se/viewcvs/viewcvs.cgi/webkom/thfcgi.py?cvsroot=webkom + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + + +Copyright and Licensing info, NetRube_Upload (part of FCKeditor): + +' File: NetRube_Upload.asp +' Version: NetRube Upload Class Version 2.1 Build 20050228 +' Author: NetRube +' Email: NetRube@126.com +' Date: 02/28/2005 +' Comments: The code for the Upload. +' This can free usage, but please +' not to delete this copyright information. +' If you have a modification version, +' Please send out a duplicate to me. + + + +Copyright and Licensing info, wz_jsgraphics (part of FCKeditor): + +Copyright (c) 2002-2003 Walter Zorn. All rights reserved. +Created 3. 11. 2002 by Walter Zorn +Last modified: 11. 6. 2003 + +High Performance JavaScript Graphics Library. +Provides methods +- to draw lines, rectangles, ellipses, polygons + with specifiable line thickness, +- to fill rectangles and ellipses +- to draw text. +NOTE: Operations, functions and branching have rather been optimized +to efficiency and speed than to shortness of source code. + +This program is free software; +you can redistribute it and/or modify it under the terms of the +GNU General Public License as published by the Free Software Foundation; +either version 2 of the License, or (at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +See the GNU General Public License +at http://www.gnu.org/copyleft/gpl.html for more details. + + + +Copyright and Licensing info, IE7: + + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ + + + +Copyright and Licensing info, phpwiki2moinmoin: + + Copyright (C) 2004 The Anarcat + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +any later version. + + + +Copyright and Licensing info, infobox.js: + +// Bubblehelp infoboxes, (C) 2002 Klaus Knopper +// You can copy/modify and distribute this code under the conditions +// of the GNU GENERAL PUBLIC LICENSE Version 2. + + + +Copyright and Licensing info, MoinMoin/filter/EXIF.py: + +# Contains code from "exifdump.py" originally written by Thierry Bousch +# and released into the public domain. +# +# Updated and turned into general-purpose library by Gene Cash +# +# This copyright license is intended to be similar to the FreeBSD license. +# +# Copyright 2002 Gene Cash All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the +# distribution. +# +# THIS SOFTWARE IS PROVIDED BY GENE CASH ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR +# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# This means you may do anything you want with this code, except claim you +# wrote it. Also, if it breaks you get to keep both pieces. + + + +On Debian GNU systems the both GNU General Public License (GPL) and GNU +Lesser General Public License (LGPL) can be found below +/usr/share/common-licenses.