--- request-tracker3.8-3.8.2.orig/debian/install +++ request-tracker3.8-3.8.2/debian/install @@ -0,0 +1,6 @@ +debian/bug/* usr/share/bug/request-tracker3.8/ +debian/conf/RT_SiteModules.pm etc/request-tracker3.8/ +etc/upgrade/* usr/share/request-tracker3.8/etc/upgrade/ +debian/conf/RT_SiteConfig.pm.etch.md5sum /usr/share/request-tracker3.8/debian/ +debian/conf/old_etc.md5sum /usr/share/request-tracker3.8/debian/ +debian/conf/40-timezone etc/request-tracker3.8/RT_SiteConfig.d/ --- request-tracker3.8-3.8.2.orig/debian/compat +++ request-tracker3.8-3.8.2/debian/compat @@ -0,0 +1 @@ +5 --- request-tracker3.8-3.8.2.orig/debian/rt3.8-db-sqlite.postinst +++ request-tracker3.8-3.8.2/debian/rt3.8-db-sqlite.postinst @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + + +# source debconf library so that the .config is executed anew +. /usr/share/debconf/confmodule + +#DEBHELPER# --- request-tracker3.8-3.8.2.orig/debian/rules +++ request-tracker3.8-3.8.2/debian/rules @@ -0,0 +1,161 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +include /usr/share/dpatch/dpatch.make + +VER=3.8 + +DEBIAN=$(CURDIR)/debian + +RT3 = request-tracker$(VER) +CLIENTS = rt$(VER)-clients + +RT3_PKG = $(DEBIAN)/$(RT3) +CLIENTS_PKG = $(DEBIAN)/$(CLIENTS) + +RT3_BUGDIR = $(RT3_PKG)/usr/share/bug/$(RT3) +CLIENTS_BUGDIR = $(CLIENTS_PKG)/usr/share/bug/$(CLIENTS) + +build: patch build-stamp + +build-stamp: configure + dh_testdir + + # Update translations + debconf-updatepo + + # Although there's a configure stage, we have no make step. + + chmod u+x ./configure + ./configure \ + --enable-layout=Debian \ + --with-rt-group=root \ + --with-web-user=www-data \ + --with-web-group=www-data \ + --with-libs-group=root \ + --with-db-type=Pg \ + --with-db-dba=postgres \ + --with-speedycgi=/usr/bin/speedy + + mkdir man + perl debian/scripts/fix-whatis < debian/whatis + + touch build-stamp + +clean: unpatch + dh_testdir + dh_testroot + + # Remove automatically generated files shipped in the upstream tarball + # These files are modified by the 'build' target + # dpkg-source will ignore the removed files when generating the .diff.gz + find . -name '*.in' -print | perl -ne 'chomp; s/\.in$$//; unlink' + + $(RM) -r man + dh_clean build-stamp config.log config.status config.pld + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + $(MAKE) install DESTDIR=$(RT3_PKG) + rm -rf $(RT3_PKG)/usr/share/$(RT3)/lib/t/ + rm -rf $(RT3_PKG)/usr/bin/mason_handler.svc + rm -rf $(RT3_PKG)/usr/sbin/rt-test-dependencies + rm -rf $(RT3_PKG)/usr/share/$(RT3)/html/NoAuth/RichText/FCKeditor/license.txt + # We will install a symlink to the separately-packaged javascript + # libraries instead + rm -rf $(RT3_PKG)/usr/share/$(RT3)/html/NoAuth/js/scriptaculous + rm -rf $(RT3_PKG)/usr/share/$(RT3)/html/NoAuth/js/prototype + + for x in webmux.pl mason_handler.fcgi mason_handler.scgi; do \ + mv $(RT3_PKG)/usr/bin/$$x $(RT3_PKG)/usr/share/$(RT3)/libexec/; \ + done + rm $(RT3_PKG)/usr/bin/standalone_httpd + rm $(RT3_PKG)/usr/sbin/rt-server + dh_install + +test: + perl debian/scripts/check-deps + +# Build architecture-dependent files here. +binary-arch: build install +# We have nothing to do by default. + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir + dh_testroot + dh_usrlocal + dh_installchangelogs + # docs/Security is obsolete + dh_installdocs -Xdocs/Security + dh_installexamples bin/mason_handler.svc bin/standalone_httpd + dh_installman man/* + dh_installdebconf + dh_installlogcheck + cd $(RT3_PKG) && perl $(DEBIAN)/scripts/move-alts $(VER) \ + $(DEBIAN)/alts $(DEBIAN)/$(CLIENTS).alts + dh_movefiles --sourcedir=debian/$(RT3) + dh_link + dh_fixperms + find $(RT3_PKG)/usr/share/$(RT3)/etc -type f -print0 | xargs -0 chmod a-x + # Fix permissions for Mason files + find $(RT3_PKG)/usr/share/$(RT3)/html -type f -print0 | xargs -0 --no-run-if-empty chmod 0644 + # Ensure that the stuff in libexec is executable by everyone + find $(RT3_PKG)/usr/share/$(RT3)/libexec -type f -print0 | xargs -0 --no-run-if-empty chmod 0755 + # Remove any leftover .in files + find $(RT3_PKG)/usr/share/$(RT3)/lib -type f -name '*.in' -print0 | xargs -0 --no-run-if-empty rm + # Fix permissions for Perl modules + find $(RT3_PKG)/usr/share/$(RT3)/lib -type f -print0 | xargs -0 --no-run-if-empty chmod 0644 + + chmod +x $(RT3_PKG)/usr/share/$(RT3)/etc/upgrade/$(VER)-branded-queues-extension + chmod +x $(RT3_PKG)/usr/share/$(RT3)/etc/upgrade/$(VER)-ical-extension + chmod +x $(RT3_PKG)/usr/share/$(RT3)/etc/upgrade/upgrade-mysql-schema.pl + chmod +x $(RT3_PKG)/usr/share/$(RT3)/etc/upgrade/shrink_cgm_table.pl + + # This is generated by the maintainer scripts + $(RM) $(RT3_PKG)/usr/share/$(RT3)/etc/RT_SiteConfig.pm + + install -m 644 debian/scripts/siteconfig.template $(RT3_PKG)/usr/share/request-tracker3.8/debian/ + install -m 644 debian/scripts/dbconfig.template $(RT3_PKG)/usr/share/request-tracker3.8/debian/ + install -m 755 debian/scripts/write-siteconfig $(RT3_PKG)/usr/share/request-tracker3.8/debian/ + install -m 755 debian/scripts/fix-website-in-database $(RT3_PKG)/usr/share/request-tracker3.8/debian/ + install -m 755 debian/scripts/update-rt-siteconfig $(RT3_PKG)/usr/sbin/update-rt-siteconfig-3.8 + install -m 644 debian/scripts/update-rt-siteconfig.man $(RT3_PKG)/usr/share/man/man8/update-rt-siteconfig-3.8.8 + + install -m 644 debian/lintian-overrides $(RT3_PKG)/usr/share/lintian/overrides/$(RT3) + + # dh_link already made the pgsql and sqlite links + install -m 755 debian/scripts/dbconfig-install $(RT3_PKG)/usr/share/dbconfig-common/scripts/request-tracker3.8/install/mysql + install -m 755 debian/scripts/dbconfig-upgrade-3.8.2 $(RT3_PKG)/usr/share/dbconfig-common/scripts/request-tracker3.8/upgrade/mysql/3.8.2 + + chmod 755 $(RT3_PKG)/usr/share/bug/$(RT3)/script + + mkdir -p $(RT3_PKG)/var/cache/$(RT3)/data + find $(RT3_PKG)/var/cache/$(RT3)/ -type d -print0 | xargs --null chown www-data:root + find $(RT3_PKG)/var/cache/$(RT3)/ -type d -print0 | xargs --null chmod 2750 + + chown www-data:www-data $(RT3_PKG)/var/log/$(RT3)/ + # special perms for gpg + mkdir $(RT3_PKG)/var/cache/$(RT3)/data/gpg + chown www-data:www-data $(RT3_PKG)/var/cache/$(RT3)/data/gpg + chmod 700 $(RT3_PKG)/var/cache/$(RT3)/data/gpg + + chmod 2755 $(RT3_PKG)/var/log/$(RT3)/ + dh_compress + dh_perl + dh_usrlocal + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install test --- request-tracker3.8-3.8.2.orig/debian/rt3.8-db-mysql.templates +++ request-tracker3.8-3.8.2/debian/rt3.8-db-mysql.templates @@ -0,0 +1,5 @@ +Template: rt3.8-db-mysql/available +Type: boolean +Description: for internal use only + The package stores information about its availability here for the + interval between the config script is run and the package is unpacked. --- request-tracker3.8-3.8.2.orig/debian/logcheck.ignore.server +++ request-tracker3.8-3.8.2/debian/logcheck.ignore.server @@ -0,0 +1 @@ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ RT: .* --- request-tracker3.8-3.8.2.orig/debian/postinst +++ request-tracker3.8-3.8.2/debian/postinst @@ -0,0 +1,122 @@ +#!/bin/sh +set -e + +branch_version=3.8 +branch_priority=250 + +warn() { + fmt -60 | sed 's/^/**WARNING** /' 1>&2 +} + +warn < $tfile + ucf --debconf-ok $tfile /etc/request-tracker3.8/RT_SiteConfig.d/50-debconf + rm $tfile +} + +run_dbconfig () { + dbc_generate_include=template:/etc/request-tracker3.8/RT_SiteConfig.d/51-dbconfig-common + dbc_generate_include_args="-o template_infile=/usr/share/request-tracker3.8/debian/dbconfig.template -C#" + if [ "$HANDLE_PERMISSIONS" = "true" ] + then + # hint the SQLite code for the database file permissions + dbc_dbfile_owner="root:www-data" + dbc_dbfile_perms=0660 + fi + + . /usr/share/dbconfig-common/dpkg/postinst + dbc_go request-tracker3.8 $@ +} + +maybe_handle_permissions () { + if [ "$HANDLE_PERMISSIONS" = "true" ] + then + chown root:www-data /etc/request-tracker3.8/RT_SiteConfig.pm + chmod 640 /etc/request-tracker3.8/RT_SiteConfig.pm + fi +} + +ucf_register () { + # Add the generated files into the ucf registry + if which ucfr >/dev/null 2>&1 + then + ucfr request-tracker3.8 /etc/request-tracker3.8/RT_SiteConfig.d/50-debconf + ucfr request-tracker3.8 /etc/request-tracker3.8/RT_SiteConfig.pm + # this should probably be registered by dbconfig-generate-include, + # but ucfr is idempotent so it doesn't hurt here anyway. + ucfr request-tracker3.8 /etc/request-tracker3.8/RT_SiteConfig.d/51-dbconfig-common + fi +} + +remove_old_config () { + md5sum_file=/usr/share/request-tracker3.8/debian/old_etc.md5sum + if md5sum --check --status $md5sum_file; then + perl -ane 'unlink $F[1]' $md5sum_file + rmdir /etc/request-tracker3.8/upgrade/* || true + rmdir /etc/request-tracker3.8/upgrade || true + fi +} + +# The actual work starts here +. /usr/share/debconf/confmodule + +# this is used for the SiteConfig.pm file and the possible SQLite database file +db_get request-tracker3.8/handle-siteconfig-permissions +HANDLE_PERMISSIONS="$RET" + +create_debconf_snippet +run_dbconfig $@ + +# the snippets should be ready, update the actual configuration +update-rt-siteconfig-3.8 + +maybe_handle_permissions +ucf_register + +case "$1" in + configure) + alts + if dpkg --compare-versions "$2" le-nl "3.8.2-1~experimental1"; then + remove_old_config + fi + ;; + abort-upgrade) + alts + ;; +esac + + +#DEBHELPER# --- request-tracker3.8-3.8.2.orig/debian/rt3.8-clients.files +++ request-tracker3.8-3.8.2/debian/rt3.8-clients.files @@ -0,0 +1,2 @@ +usr/bin/{rt-mailgate,rt}-3.8 +usr/share/man/man1/{rt-mailgate,rt}-3.8.1 --- request-tracker3.8-3.8.2.orig/debian/watch +++ request-tracker3.8-3.8.2/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://bestpractical.com/rt/download.html .*/rt-(.+)\.tar\.gz --- request-tracker3.8-3.8.2.orig/debian/source.lintian-overrides +++ request-tracker3.8-3.8.2/debian/source.lintian-overrides @@ -0,0 +1,2 @@ +# 3.8.2 upstream ships with config.status +configure-generated-file-in-source config.status --- request-tracker3.8-3.8.2.orig/debian/rt3.8-db-mysql.postinst +++ request-tracker3.8-3.8.2/debian/rt3.8-db-mysql.postinst @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + + +# source debconf library so that the .config is executed anew +. /usr/share/debconf/confmodule + +#DEBHELPER# --- request-tracker3.8-3.8.2.orig/debian/rt3.8-clients.alts +++ request-tracker3.8-3.8.2/debian/rt3.8-clients.alts @@ -0,0 +1,4 @@ +usr/bin/rt +usr/bin/rt-mailgate +usr/share/man/man1/rt-mailgate!.1 +usr/share/man/man1/rt!.1 --- request-tracker3.8-3.8.2.orig/debian/logcheck.ignore.workstation +++ request-tracker3.8-3.8.2/debian/logcheck.ignore.workstation @@ -0,0 +1 @@ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ RT: .* --- request-tracker3.8-3.8.2.orig/debian/rt3.8-db-postgresql.postinst +++ request-tracker3.8-3.8.2/debian/rt3.8-db-postgresql.postinst @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + + +# source debconf library so that the .config is executed anew +. /usr/share/debconf/confmodule + +#DEBHELPER# --- request-tracker3.8-3.8.2.orig/debian/rt3.8-db-sqlite.prerm +++ request-tracker3.8-3.8.2/debian/rt3.8-db-sqlite.prerm @@ -0,0 +1,16 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +# source debconf library +. /usr/share/debconf/confmodule + +db_version 2.0 + +if [ "$1" = "remove" ] +then + db_set rt3.8-db-sqlite/available false || true +fi + --- request-tracker3.8-3.8.2.orig/debian/NEWS +++ request-tracker3.8-3.8.2/debian/NEWS @@ -0,0 +1,8 @@ +request-tracker3.8 (3.8.2-1~experimental1) experimental; urgency=low + + * update-rt-siteconfig now only accepts files in + /etc/request-tracker3.8/RT_SiteConfig.d/ matching '^[a-z0-9][a-z0-9-]+$' + to avoid SCM metadata and other files being included by mistake + + + -- Dominic Hargreaves Tue, 13 Jan 2009 16:57:50 +0000 --- request-tracker3.8-3.8.2.orig/debian/rt3.8-db-sqlite.config +++ request-tracker3.8-3.8.2/debian/rt3.8-db-sqlite.config @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + + +# source debconf library +. /usr/share/debconf/confmodule + +db_version 2.0 + +if [ "$1" = "configure" ] +then + db_set rt3.8-db-sqlite/available true +fi + --- request-tracker3.8-3.8.2.orig/debian/changelog +++ request-tracker3.8-3.8.2/debian/changelog @@ -0,0 +1,129 @@ +request-tracker3.8 (3.8.2-1) unstable; urgency=low + + [ Niko Tyni ] + * Clean a 3.6 leftover in debian/rules + * Remove automatically generated files in the 'build' target so that + building twice in a row doesn't change the .diff.gz. + * Install the default configuration (everything except RT_Site*) into + /usr/share/request-tracker3.8/etc instead of /etc/request-tracker3.8. + These files were never meant to be modified and can be overridden + through /etc. (Closes: #511254) + * Remove the obsolete 41-disable-gnupg configuration snippet. + + [ Dominic Hargreaves ] + * In postinst, remove unmodified obsolete config files for tidiness + * Japanese debconf translation, thanks to Hideki Yamane (Closes: #512855) + * Depend on libipc-run-safehandles-perl (Closes: #512646) + * Fix rt-setup-database to use correct path for upgrade data + (Closes: #518556) + + -- Dominic Hargreaves Mon, 09 Mar 2009 22:31:20 +0000 + +request-tracker3.8 (3.8.2-1~experimental1) experimental; urgency=low + + * New upstream release + * Remove debian/patches/60_uri_self_reference.dpatch (now in upstream) + * Add ${misc:Depends} to packages that were missing it (thanks, lintian) + * Remove note about speedy/GPG breakage, as a workaround has been applied + * debian/scripts/update-rt-siteconfig: + - only look for files directly in /etc/request-tracker3.8/RT_SiteConfig.d/ + matching '^[a-z0-9][a-z0-9-]+$' (closes: #506446) + - general tidying + * Add some more lintian overrides for upstream changes + * Add Swedish debconf translation from #511246 + * debian/rules: Add missing call to debconf-updatepo in clean target + and update translations + * Get dbconfig-common to update the database with content supplied with + new upstream release + * Really fix sqlite RT_SiteConfig.pm generation and flag this before + installing new version (will require intervention on the part of the + administrator) + + -- Dominic Hargreaves Tue, 13 Jan 2009 12:19:28 +0000 + +request-tracker3.8 (3.8.1-1~experimental2) experimental; urgency=low + + * Bump version dependency of libhtml-mason-perl to 1:1.36-1 as + RT depends on this. + * debian/scripts/dbconfig.template: compress special casing for database + name with sqlite onto one line, so the automatic comment addition doesn't + break the syntax when dbconfig-common isn't being used to configure the + database. + * debian/README.Debian: + - update some external URLs + - correct upgrading documentation (rt-setup-database now has a + built-in upgrade function) (closes: #505679) + * debian/control: add alternative depends on libmime-perl to aid backporting + * Re-enabled GnuPG by default but add warnings to NOTES.Debian and speedycgi + handler Apache config referring to the breakage. + * Include upstream documentation on upgrading from earlier instances. + + -- Dominic Hargreaves Wed, 19 Nov 2008 20:01:32 +0000 + +request-tracker3.8 (3.8.1-1~experimental1) experimental; urgency=low + + [ Gerardo Curiel ] + * Initial release. (Closes: #492939) + * Packaging structure taken from the request-tracker3.6 package version + 3.6.7-2 with the important bits altered where needed. + * Added new dependencies: + - libfile-sharedir-perl + - libemail-address-perl + - libperlio-eol-perl + - libmime-types-perl + - libdata-ical-perl + - libtext-quoted-perl (moved from 'Recommended') + * Added new recommended dependencies: + - libgnupg-interface-perl + * Dropped patches: + - patches/13_webmux_path.dpatch + - patches/08_postgres_acls.dpatch + - patches/50_pod.dpatch + * Rebased patches: + - patches/01_layout.dpatch + * New patches + - patches/40_skip_testdeps.dpatch + + [ Andrew Ruthven ] + * Rebased patches + - patches/20_rt_setup_database_debian + - patches/30_no_syslogd_running + + [ Dominic Hargreaves ] + * postinst: lower the update-alternatives priority to not + break existing installs of RT 3.6 during upgrades + * {config,postinst}: remove use of dbc_first_version since this + package is using dbconfig-common from the outset. + * control: add missing dependency on libhtml-rewriteattributes-perl + now it's available in Debian + * add myself to Uploaders + * Don't use debconf as a registry for installed database backend + packages: ignore the debconf settings if the packages are already + installed. (Closes: #503667) + * Fix timezone handling in the default configuration. (Closes: #498124) + * rules: in clean target, don't delete files which are now appearing + in upstream tarball + * Use the correct server name for self referencing URIs. (Closes: #503329) + * New upstream release (3.8.1) + * copyright: update copyright years, add more copyright statements for + third-party code + * scripts/dbconfig.template: only Set once in the sqlite3 case; behaviour + of Set when called multiple times has changed + * rules: create /var/cache/request-tracker3.8/data directory to hold + misc data (including GnuPG data) + * control: + - add missing Depends on libgraphviz-perl + - make libgnupg-interface-perl Depends rather than Recommends; + it needs it. + * Disable GnuPG in default configuration as it breaks speedy CGI + * Don't install scriptaculous or prototype but instead depend on + libjs-scriptaculous and libjs-prototype and install a symlink so + that scriptaculous is where RT expects it + * Lintian cleanups: + - add descriptions to all patches + - FCKeditor in RT is customised, so add an override for the + relevant embedded-javascript-library warning + - fix POD errors + * Generate manpages for new command-line programs + + -- Dominic Hargreaves Wed, 5 Nov 2008 17:20:40 +0000 --- request-tracker3.8-3.8.2.orig/debian/rt3.8-db-postgresql.config +++ request-tracker3.8-3.8.2/debian/rt3.8-db-postgresql.config @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + + +# source debconf library +. /usr/share/debconf/confmodule + +db_version 2.0 + +if [ "$1" = "configure" ] +then + db_set rt3.8-db-postgresql/available true +fi + --- request-tracker3.8-3.8.2.orig/debian/rt3.8-apache2.install +++ request-tracker3.8-3.8.2/debian/rt3.8-apache2.install @@ -0,0 +1 @@ +debian/conf/apache2-*.conf etc/request-tracker3.8/ --- request-tracker3.8-3.8.2.orig/debian/rt3.8-db-postgresql.prerm +++ request-tracker3.8-3.8.2/debian/rt3.8-db-postgresql.prerm @@ -0,0 +1,16 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +# source debconf library +. /usr/share/debconf/confmodule + +db_version 2.0 + +if [ "$1" = "remove" ] +then + db_set rt3.8-db-postgresql/available false || true +fi + --- request-tracker3.8-3.8.2.orig/debian/NOTES.Debian +++ request-tracker3.8-3.8.2/debian/NOTES.Debian @@ -0,0 +1,286 @@ + -*- readme-debian -*- + +Installation notes for the Debian package request-tracker3.8 + +Although the installation procedure should get the RT configuration into +a runnable state, manual configuration is currently still required for +integration with the web server (see the Apache section below) and the +mail transport system (see /usr/share/doc/rt3.8-clients/README.Debian). +There are also quite a lot of things left to tune in the RT configuration +itself; let's start with this. + +BASIC RT CONFIGURATION +---------------------- + +The configuration is done via the /etc/request-tracker3.8/RT_SiteConfig.pm +file. The recommended way is to place configuration snippets into +the directory /etc/request-tracker3.8/RT_SiteConfig.d and run +update-rt-siteconfig afterwards to regenerate RT_SiteConfig.pm. + +Note that the default settings in +/usr/share/request-tracker3.8/etc/RT_Config.pm +are used for any options you do not put into RT_SiteConfig.pm. + +We recommend that you read RT_Config.pm thoroughly and copy/edit the +extra bits you think you need into files in the RT_SiteConfig.d directory. + +Note that the RT_SiteConfig.pm file is a real Perl module and as such +really does need that last line which looks like: + +1; + +Without it things will not work properly so please do not delete +it. If you only update the file via update-rt-siteconfig, this is +of course taken care of automatically. + +As the configuration file is a Perl module you can of course use any +Perl you like to handle the setting of the configuration options. + +DATABASE CREATION AND SCHEMA INSTALLATION +----------------------------------------- + +There are two ways to go about setting up the database: dbconfig-common +and manual setup. The installation procedure should ask you if you want +to use dbconfig-common; in this case everything should happen automatically +provided that the database server can be accessed with the database +administrator password you enter. + +However, if it doesn't work for you or you prefer manual configuration +for some reason, there's still the "old" way: + +1. Create the database user + +As the database administrator (e.g. the postgres or mysql user), or +user with rights to create new users and databases, manually create +the RT user with SQL like: + +(Postgres) + CREATE USER rtuser WITH PASSWORD 'wibble' CREATEDB NOCREATEUSER; + +(MySQL) + GRANT ALL PRIVILEGES ON rtdb.* TO rtuser@localhost IDENTIFIED BY 'wibble'; + +Of course, rtuser and 'wibble' should be replaced with whatever you +have configured the $DatabaseUser and $DatabasePassword variables to +be in the RT_SiteConfig.pm. The database name is also defined there, +by the variable $DatabaseName -- in this file, we use 'rtdb'. + +2. Configure the database access permissions + +Ensure that you can access the database server as the rtuser SQL user. + +For MySQL, you have probably already done this in stage 1. + +You could do this for PostgreSQL with psql: + +psql -d template1 -U rtuser -W + +enter the password at the prompt. + +If this fails (it probably will with the default Debian PostgreSQL +installation) then you probably need to change the access permissions +that you have set for your database server. + +For PostgreSQL, this can be solved by editing the file +/etc/postgresql/pg_hba.conf and adding lines like these: + +host template1 rtuser 127.0.0.1 255.255.255.255 password +local template1 rtuser password +host rtdb rtuser 127.0.0.1 255.255.255.255 password +local rtdb rtuser password + +at the bottom of the file along with the other similar lines - but +above existing entries. + +(rtdb is whatever you have configured the $DatabaseName variable to be +in the RT_SiteConfig.pm.) + +Note that the order of entries in the pg_hba.conf _DOES MATTER_. The +first matching entry will be used and there is no fall through +mechanism if the first one fails. (See section 6.1 of the PostgreSQL +Administrator's manual for full details). The local entries above must +be put above the default local all/all if you want to able to access +the rtdb database as the rtuser from the command line using psql. + +Restart the PostgreSQL server and try again with psql. If the database +server is on a different machine from that of the RT instance you will +need to configure these lines yourself. + +Note that for PostgreSQL the rt-setup-database script needs permission +to connect to the template1 database as well as the RT +database. Giving permission to connect like this does not give out +actual read/write permission so doing this for the rt user can +generally be considered safe on the local system. Once you have +created and initialised your RT database you should remove the +template1 lines as they will not be needed for any other purpose. + +Note: If you have problems with MySQL or know how to solve similar +issues for that server we would love to hear from you so we can extend +this help file. + +3. Create and initialise the database + +Now to populate the database with the schema, do: +# /usr/sbin/rt-setup-database-3.8 --action init --dba rtuser \ + --prompt-for-dba-password + + + +This needs access to /etc/request-tracker3.8/RT_SiteConfig.pm, so the +command usually has to be run as root. + +Note: if anything does go wrong in this procedure, you will probably +need to drop the database 'rtdb' manually. + + +APACHE CONFIGURATION +-------------------- + +Note that support for Apache 1 was removed from this package after the +Etch release, when Apache 1 itself was removed from Debian. If you +want to use something else than Apache 2, you're on your own. + +There are four config files supplied in /etc/request-tracker3.8/ for the +different modes of operation: mod_perl2, speedycgi, fastcgi and fcgid. +These might work straight away; you really should read them before +beginning to use RT3.8. The expectation is that you will need to edit +the applicable file for your RT3.8 site. + +Whichever of the four configuration files you decide to use you will +need to ensure you have the correct apache2 modules installed. You will +also need to edit the RT_SiteConfig.pm to match up these settings: + +Set($WebPath , "/rt"); +Set($WebBaseURL , "http://my.domain.com"); + +with any Apache virtual hosts, locations, aliases or rewrites in the +Include files, such as: + +1) + +Alias /rt /usr/share/request-tracker3.8/html + +2) + +ScriptAlias /rt /usr/share/request-tracker3.8/libexec/mason_handler.scgi + +3) + + + + +4) + +RewriteRule ^/rt$ /rt/ +RewriteRule ^/rt/(.*)$ /usr/share/request-tracker3.8/html/$1 + +You should ensure that you remove any existing lines such as: + + RewriteEngine off + +from the relevant VirtualHost section in your config. + +mod_perl 2 +========= + +Add the following line to the VirtualHost section of Apache from which +you wish to serve RT, (possibly in the file +/etc/apache2/sites-enabled/default). When editing files in the apache2 +sites-enabled and mods-enabled directories you should be very careful +not to leave behind editor backup files (such as *~ for emacs). These +will also be read when the server is restarted and cause general +confusion. + +Include "/etc/request-tracker3.8/apache2-modperl2.conf" + +You will probably need to edit this Include file. + +For Apache2 you will want to look for something like: + +LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so + +If you are using the standard Debian package it is just a case of doing: + +ln -s /etc/apache2/mods-available/perl.load /etc/apache2/mods-enabled/perl.load + +or "a2enmod perl". + +You may also need to, similarly, enable mod_rewrite, mod_actions (and +mod_ssl if you intend to use SSL) + +fast/speedy cgi +=============== + +If you want to use something other than mod_perl, there are Mason +handler scripts in /etc/request-tracker3.8/. These are: + +/etc/request-tracker3.8/apache2-speedycgi.conf +/etc/request-tracker3.8/apache2-fastcgi.conf +/etc/request-tracker3.8/apache2-fcgid.conf + +Again you will probably need to include these into the relevant +section of your Apache config with something like: + +Include "/etc/request-tracker3.8/apache2-fastcgi.conf" + +or a symlink in /etc/apache2/conf.d . + +Most likely they will require some editing before they do exactly what +you want. + + +RT ROOT PASSWORD +---------------- + +Once the web interface is running you need to login as root +IMMEDIATELY and change the default password and general +configuration. The initial root password is 'password' (without the +quotes, of course). Go to 'Configuration' then 'Users', follow the +'root' link. You can then alter the password and other pertinent +information. + +REPEATED LOGIN REQUESTS +----------------------- + +If the web interface repeatedly redirects you to the login prompt even +though you are already logged in, you may have misconfigured settings +in your MySQL database. A workaround is reported to be + + ALTER TABLE sessions CHANGE a_session a_session LONGBLOB; + DELETE FROM sessions; + +and an Apache restart. The right solution is to fix the database +configuration so that UTF8 strings don't get double encoded. See bug +#408405. + +MAIL CONFIGURATION +------------------ + +Instructions on mail configuration can be found inside +the rt3.8-clients package, in README.Debian. + + +LOCAL MODIFICATIONS +------------------- + +Note that we have added another configuration file called +/etc/request-tracker3.8/RT_SiteModules.pm. If you make any local +modifications to the HTML::Mason files you can have any necessary +extra Perl modules loaded at start time by putting the 'use' +statements in this file, e.g.: + +use Net::LDAP; +1; + +This means you do not need to edit webmux.pl which is the normal RT +way to do it. Any changes made to webmux.pl would not be preserved on +upgrading of the Debian package as it is not a Debian conffile. + +If you do intend to change the look and feel of the site by editing +the HTML::Mason files you should, of course, do this in the +/usr/local/share/request-tracker3.8/html/ tree to avoid losing your +precious changes on upgrade of the Debian package. + +This text was originally written by +Stephen Quinney , Thu Sep 15 14:53:16 2005 + --- request-tracker3.8-3.8.2.orig/debian/dirs +++ request-tracker3.8-3.8.2/debian/dirs @@ -0,0 +1,12 @@ +usr/bin +usr/sbin +usr/share/bug/request-tracker3.8 +usr/share/doc/request-tracker3.8 +usr/share/request-tracker3.8/libexec +usr/share/request-tracker3.8/debian +etc/request-tracker3.8/RT_SiteConfig.d +usr/share/lintian/overrides +usr/share/dbconfig-common/scripts/request-tracker3.8/install +usr/share/dbconfig-common/scripts/request-tracker3.8/upgrade/mysql +usr/share/dbconfig-common/scripts/request-tracker3.8/upgrade/pgsql +usr/share/dbconfig-common/scripts/request-tracker3.8/upgrade/sqlite3 --- request-tracker3.8-3.8.2.orig/debian/rt3.8-db-postgresql.templates +++ request-tracker3.8-3.8.2/debian/rt3.8-db-postgresql.templates @@ -0,0 +1,5 @@ +Template: rt3.8-db-postgresql/available +Type: boolean +Description: for internal use only + The package stores information about its availability here for the + interval between the config script is run and the package is unpacked. --- request-tracker3.8-3.8.2.orig/debian/rt3.8-clients.dirs +++ request-tracker3.8-3.8.2/debian/rt3.8-clients.dirs @@ -0,0 +1,4 @@ +usr/share/bug/rt3.8-clients +usr/bin +usr/share/man/man1 +etc/request-tracker3.8 --- request-tracker3.8-3.8.2.orig/debian/README.Debian +++ request-tracker3.8-3.8.2/debian/README.Debian @@ -0,0 +1,202 @@ +request-tracker3.8 for Debian +--------------------------- + +Installation +------------ +Read NOTES.Debian for installation and configuration notes. + +I mean this. + +Yes, you. You've installed the package, right? You need to configure +it before using it. NOTES.Debian is bursting with config-goodness. + +Seriously. You can't install a complex package like this and expect it +to just work. + +RT_SiteConfig.pm permissions +---------------------------- + +If you reject the "Handle RT_SiteConfig.pm permissions" debconf question, +the file is only readable by root after installation because it is going +to contain the database password. You will need to make it readable yourself +to the www-data user or equivalent when setting up the web server, but be +sure to consider the security implications (like local PHP scripts that run +as the same user.) + +standalone_httpd +---------------- + +RT3.8 comes with a script to allow it to be run in a standalone mode +that does not require apache to be installed. In the upstream package +this is called standalone_httpd, we have changed the name to +rt-standalone_httpd to avoid any conflicts with other +packages. Currently I believe this standalone mode is still considered +beta-quality only so you still want to install a separate +webserver. We do not expect to be dropping our dependencies on apache2 +any time soon. + +Note: This script has been moved to the examples directory for now as +it depends on a new package which is not in Debian at the moment. +You will need to install the libhttp-server-simple-perl (>= 0.07) +package and also grab HTTP::Server::Simple::Mason (>= 0.09) from CPAN. + +Upgrading from request-tracker3.6 to request-tracker3.8 +------------------------------------------------------- + +The MOST IMPORTANT thing to note is that if you have more than one of +the request-tracker3, request-tracker3.2, request-tracker3.4, +request-tracker3.6 and request-tracker3.8 packages installed at the same +time then you will have to be careful to use the correct version of commands +such as rt-setup-database, rt-mailgate and rt-crontool, etc.. If in any doubt, +add on the -3.0, -3.2, -3.4, -3.6 or -3.8 extension to the name of the command. +The commands are all managed via the update-alternatives script. + +If you are considering upgrading your system and want to keep your +current data we strongly recommend doing a dump of your current +database and then restoring into a new separate database, for use by +rt3.8. This will allow you to attempt the upgrade and changes required +without destroying your existing data. It will also allow you to run +rt 3.0, rt 3.2, rt 3.4, rt 3.6 and rt 3.8 side-by-side without any chance of +conflicts. + +Currently rt3.8 makes only small changes to the database schema, these +are the addition of the Attributes table and associated indexes and a +sequence. You will also need to update/add some data to a few existing +tables. All these changes can be done via this command: + +# /usr/sbin/rt-setup-database-3.8 \ + --action upgrade \ + --dba rtuser \ + --dba-password wibble + +You will need to specify the correct rt username and password for your +installation. If you are using PostgreSQL, as with the original +install, you will probably need to allow access to the database +template1 for your rtuser, see NOTES.Debian for details. + +Upgrading the request-tracker3.8 package +-------------------------------------- +There are often notes in NEWS.Debian that describe schema changes you +should make to your database, often for performance reasons. + + +Config changes +-------------- + +If you change /etc/request-tracker3.8/RT_SiteConfig.pm and use +Apache's modperl, you have to re-start Apache: '/etc/init.d/apache2 +restart'. Don't use the 'apache2ctl graceful' or 'apache2ctl restart'; +they're not quite enough. + +Upgrading from RT2 +------------------ + +The tools to do this are available at: + +http://search.cpan.org/dist/RT-Extension-RT2toRT3/ + +This really is not the easiest thing in the world but is achievable +with a bit of thought and careful planning. The way to go about it is +to dump the RT2 database using the tool provided (rt-2.0-to-dumpfile) +whilst you still have RT2 installed. Once that is done, and it might +take sometime - we are talking days here for a big database - install +the RT3 Debian package. Go through all the notes in the NOTES.Debian +file then load the old data with the tool provided +(dumpfile-to-rt-3.0) into your nice shiny, newly prepared, RT3 +database - again this can take days for a big database. + +If you are reading this then you have probably already removed your +RT2 Debian package and installed RT3 instead, your best plan is to +download a tarball of RT2. Unpack it somewhere like +/usr/local/share/rt2/ and then edit the rt2-to-rt3 dump script to +point to the correct place. The lines to change are something like: + +use lib "/opt/rt-bps/lib"; +use lib "/opt/rt-bps/etc"; + +replacing the /opt/rt-bps/lib with the path to your RT2 libraries and +/opt/rt-bps/etc with the path to your RT2 configuration files. + +Any problems/questions about upgrading from RT2 to RT3 should be sent +to the rt-users mailing list at rt-users@lists.bestpractical.com + + +Local changes to RT html or library source +------------------------------------------ + +If you want to make local changes to the RT web interface, you should +copy the relevant mason or html files into the +/usr/local/share/request-tracker3.8/html hierarchy, preserving the +directory structure. Any changes you make will immediately have an +effect on the web interface, you do not need to restart the web +server. You should ensure that the correct permissions are set on the +files so that the webserver can access them. + +If you want to make local changes to the RT library code, you can copy +the relevant Perl libraries into the +/usr/local/share/request-tracker3.8/lib hierarchy, preserving the +directory structure. + +A better method is to use RT's Overlay system which allows the +creation and use of Perl modules which just contain the modified, or +new, subroutines. If, for instance, you wanted to alter the Perl +module RT::Templates, you can place the changed subroutines into +RT::Templates_Local (the file name would be +/usr/local/share/request-tracker3.8/lib/RT/Templates_Local.pm). + +You will probably need to reload or restart the web server for Perl +library changes to have effect. + +There are also overlay files which use the words _Vendor and _Overlay. +_Overlay is for a system overlay by the original author, _Vendor is +for 3rd-party vendor add-ons, while _Local is for site-local +customizations. + +These overlay files can contain new subs or subs to replace existing +subs in this module. + +If you will be working with perl 5.6.0 or greater, each of these files +should begin with the line + + no warnings qw(redefine); + +so that perl does not kick and scream when you redefine a subroutine +or variable in your overlay. + +Note that local additions and changes should ALWAYS be put into the +/usr/local directories. Any changes to files that are shipped with +request-tracker3.8 will be lost at the next update unless they are +conffiles (i.e. in /etc/request-tracker3.8). Any files you add into the +/usr/local/share/request-tracker3.8 hierarchy will be preserved if you +decide to remove or purge the package. + + +/usr/local is read-only +----------------------- + +Sometimes systems have a /usr/local/ that is mounted read-only so you +cannot make use of the custom hierarchy of request-tracker3.8 that would +otherwise be there. In this case you can alter the place where the +custom hierarchy is found by overlaying the RT.pm with an RT_Local.pm in +/usr/share/perl5/ which would look something like this: + +########## +$LocalPath = '/path/to/somewhere/else/request-tracker3.8'; +$LocalLexiconPath = $LocalPath . '/po'; + +$MasonLocalComponentRoot = $LocalPath . '/html'; + +unshift @INC, ($LocalPath . '/lib') ; + +1; +########## + +Remember to restart the webserver after creating the overlay file if +you are using mod_perl. + + +This text was originally written by +Stephen Quinney , Thu Sep 15 14:57:05 2005 + + -- Niko Tyni Mon, 21 Aug 2006 00:05:45 +0300 + --- request-tracker3.8-3.8.2.orig/debian/config +++ request-tracker3.8-3.8.2/debian/config @@ -0,0 +1,332 @@ +#!/bin/sh + +set -e + +write_readconfig_script () +{ + # this Perl script is embedded here because the .config + # will be run before the new version is unpacked, so we + # can't ship the script in the .deb + + READ_CONFIG_SCRIPT=$(mktemp -t request-tracker3.8-readconfig.XXXXXXXX) || exit 1 + chmod 755 $READ_CONFIG_SCRIPT + cat > $READ_CONFIG_SCRIPT <<'EOF' +#!/usr/bin/perl -w +use strict; +no strict 'refs'; + +# This script reads in the current RT configuration +# and outputs shell code that sets corresponding shell +# variables. +# +# It is used by the maintainer scripts of request-tracker3.8 +# to get default values for debconf prompts. +# +# When invoked without any options, the script will output +# dbconfig-common related variables for use by dbconfig-load-include(1). +# +# When invoked with the '-s' option, the script will output +# the rest of the variables needed used by the maintainer scripts. + +# Copyright 2007 Niko Tyni +# +# 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. You may also can +# redistribute it and/or modify it under the terms of the Perl +# Artistic License. + +use Getopt::Std; + +my %opts; +getopts('s', \%opts) or die("Usage: $0 [-s]"); +my $dbconfig_mode = not exists $opts{s}; + +# Note the order; if somebody has overridden RT.pm, +# we should honor that +use lib "/usr/local/share/request-tracker3.8/lib"; +use lib "/usr/share/request-tracker3.8/lib"; + +use RT; + +# the correspondence between the RT variables and +# their names in the shell +my %site_names = ( + rtname => "RT_SITE_rtname", + Organization => "RT_SITE_organization", + CorrespondAddress => "RT_SITE_correspondaddress", + CommentAddress => "RT_SITE_commentaddress", + WebPath => "RT_SITE_webpath", + WebBaseURL => "RT_SITE_webbaseurl", +); + +# the special dbconfig-load-include(1) variables +my %db_names = ( + DatabaseType => "dbc_dbtype", + DatabaseHost => "dbc_dbserver", + DatabaseUser => "dbc_dbuser", + DatabasePassword => "dbc_dbpass", + DatabaseName => "dbc_dbname", + DatabasePort => "dbc_dbport", +); + +# map from dbconfig-common database types to their names as known by RT +my %typemap = reverse ( + mysql => 'mysql', + pgsql => 'Pg', + sqlite3 => 'SQLite', +); + +# Read in the configuration +RT::LoadConfig(); + +# and output the relevant parts of it +if ($dbconfig_mode) { + for my $var (keys %db_names) { + my $val = ${"RT::$var"} || ""; + my $varname = $db_names{$var}; + $val = $typemap{$val} || "" if $varname eq "dbc_dbtype"; + print qq($varname="$val"\n); + } +} else { + for my $var (sort keys %site_names) { + my $val = ${"RT::$var"} || ""; + my $varname = $site_names{$var}; + print qq($varname="$val"\n); + } +} + +EOF +# end of the embedded Perl script +} # write_readconfig_script() + +# start of the actual command flow + +# check if there's an existing installation that was never +# configured manually at all +# the md5sum is the same for all versions between Lenny (3.8.0-1) +# and current unstable (3.8.0-1) +if [ -e /etc/request-tracker3.8/RT_SiteConfig.pm ] \ + && md5sum --check --status <&2 + rm $READ_CONFIG_SCRIPT + exit 0 + fi + if [ ! -x "$READ_CONFIG_SCRIPT" ] + then + echo "Creating temporary script for loading old configuration failed." 1>&2 + exit 1 + fi + + # read in the existing configuration for default values + eval $($READ_CONFIG_SCRIPT -s) + + # are we expected to handle the configuration file permissions? + + # if this is an old installation but the permissions aren't what + # we expect, we don't want to handle them + if [ "root:www-data" != \ + $(stat -c %U:%G /etc/request-tracker3.8/RT_SiteConfig.pm) ] \ + || [ "640" != \ + $(stat -c %a /etc/request-tracker3.8/RT_SiteConfig.pm) ] + then + db_set request-tracker3.8/handle-siteconfig-permissions false + fi +fi + +# now, default to handling the configuration file permissions +db_get request-tracker3.8/handle-siteconfig-permissions +if [ -z "$RET" ] +then + db_set request-tracker3.8/handle-siteconfig-permissions true +fi + +# override the debconf database with the existing configuration +for i in rtname organization webpath webbaseurl \ + correspondaddress commentaddress +do + unset value default + eval value=\"$(echo \${RT_SITE_$i})\" + eval default=\"$(echo \${RT_SITE_DEFAULT_$i})\" + if [ -n "$value" ]; then + db_set request-tracker3.8/$i "${value}" + # as the value was set in the configuration file, + # mark the question as seen + db_fset request-tracker3.8/$i seen true + else + db_get request-tracker3.8/$i + if [ -z "$RET" ]; then + db_set request-tracker3.8/$i "${default}" + fi + fi +done + +# ask the questions +STATE=1 +set +e +while true +do + case "$STATE" in + 1) + db_input high request-tracker3.8/rtname + ;; + 2) + db_input medium request-tracker3.8/organization + ;; + 3) + db_input high request-tracker3.8/handle-siteconfig-permissions + ;; + 4) + # This should possibly be in rt3.8-apache2 + db_input medium request-tracker3.8/webbaseurl + ;; + 5) + # This should possibly be in rt3.8-apache2 + db_input medium request-tracker3.8/webpath + ;; + 6) + # This should possibly be in rt3.8-clients + db_input medium request-tracker3.8/correspondaddress + ;; + 7) + db_get request-tracker3.8/commentaddress + if [ -z "$RET" ] + then + # default to the correspond address with -comment appended + db_get request-tracker3.8/correspondaddress + ADDRESS="$(echo "$RET" | sed s/@/-comment@/)" + db_set request-tracker3.8/commentaddress "$ADDRESS" + fi + db_input medium request-tracker3.8/commentaddress + ;; + *) + break # exit the 'while' loop + ;; + esac + if db_go + then + STATE=$(($STATE + 1)) + else + STATE=$(($STATE - 1)) + fi +done +if [ $STATE -eq 0 ] +then + # user backed up from the first question + # leave the package unconfigured + exit 10 +fi +set -e + +# source dbconfig-common library +if [ -f /usr/share/dbconfig-common/dpkg/config ]; then + # supported database types + + # we only take the installed rt3.8-db-* packages into + # account on new installs or upgrades from an unconfigured state + + if [ -z "$2" ] || $IS_UNCONFIGURED + then + dbc_dbtypes="" + for dbtype in sqlite3 pgsql mysql + do + case "$dbtype" in + mysql) + pkg=rt3.8-db-mysql + ;; + pgsql) + pkg=rt3.8-db-postgresql + ;; + sqlite3) + pkg=rt3.8-db-sqlite + ;; + esac + if dpkg-query -W -f='${Status}\n' $pkg 2>/dev/null | \ + grep -q '^install \| installed$' || \ + ( db_get ${pkg}/available && [ "$RET" = "true" ] ); then + dbc_dbtypes="${dbc_dbtypes}, $dbtype" + fi + dbc_dbtypes=$(echo $dbc_dbtypes | sed 's/^, //') + done + else + dbc_dbtypes="sqlite3, pgsql, mysql" + fi + if [ -z "$dbc_dbtypes" ] + then + # no rt3.8-db-* packages preconfigured yet + # + # either apt feeds the list to dpkg-preconfigure in the + # wrong order (unlikely), or dpkg-preconfigure was called + # manually + # + # in either case, the only sane thing to do is to exit now and + # retry when we're re-run from the postinst script + echo "request-tracker3.8.config: no rt3.8-db-* package is being installed? postponing configuration." 1>&2 + rm $READ_CONFIG_SCRIPT + exit 0 + fi + + # we want a password that can be put in the configuration file + dbc_authmethod_user="password" + + # some default values + dbc_dbuser="rtuser" + dbc_dbname="rtdb" + + # this makes dbconfig-common import an existing configuration when + # upgrading from a pre-dbconfig-common version + # + # note that we're calling the same script as the general upgrade logic + # above, but without the '-s' argument, so that the script will + # return the database related configuration + if ! $IS_UNCONFIGURED + then + dbc_load_include=exec:$READ_CONFIG_SCRIPT + fi + + # all ready, let's go + . /usr/share/dbconfig-common/dpkg/config + dbc_go request-tracker3.8 $@ +fi + +rm $READ_CONFIG_SCRIPT + +if [ -e /var/lib/dbconfig-common/sqlite3/request-tracker3.8/_DBC_DBNAME_ ]; then + db_input high request-tracker3.8/warn-sqlite-file || true + db_go +fi --- request-tracker3.8-3.8.2.orig/debian/rt3.8-clients.README.Debian +++ request-tracker3.8-3.8.2/debian/rt3.8-clients.README.Debian @@ -0,0 +1,87 @@ +Notes for the Debian package rt3.8-clients. + +RT COMMAND-LINE TOOL +-------------------- + +The file /etc/request-tracker3.8/rt.conf should be edited to reflect the +server URL. + + +HTTPS +----- + +If you want mailgate or the RT CLI to talk HTTPS to the server rather +than plain HTTP, you need libio-socket-ssl-perl. + + +MAIL CONFIGURATION +------------------ + +Configure the mail gateway. You may need to cause your MTA to run the +aliases. Add the following lines to the mail aliases (/etc/aliases): + +rt: "|/usr/bin/rt-mailgate --queue General --action correspond --url " +rt-comment: "|/usr/bin/rt-mailgate --queue General --action comment --url " + +where is the base URL of your RT system, +e.g. https://rt.example.com/ or http://www.example.com/rt/. + +If you want your URL to be HTTPS, you need to install +libio-socket-ssl-perl too. + +If you are using exim4 you will probably need to manually turn on pipe +support. There are two options + 1- (using exim split config) + 2- (using exim monolithic config) + +(1) Create a file: + + # echo "SYSTEM_ALIASES_PIPE_TRANSPORT = address_pipe" >> /etc/exim4/conf.d/main/90_exim4-config_requesttracker + +(2) Do this: + + Edit the file /etc/exim4/exim4.conf.template and find the line "begin acl" + before this line, add: + +.ifndef SYSTEM_ALIASES_PIPE_TRANSPORT +SYSTEM_ALIASES_PIPE_TRANSPORT = address_pipe +.endif + +After both (1) and (2), you need to update and reload exim4: + + # /usr/sbin/update-exim4.conf + # /etc/init.d/exim4 reload + +If you are using Sendmail you will need to add rt-mailgate into the +/etc/mail/smrsh/ directory. Do something like: + +ln -s /usr/bin/rt-mailgate /etc/mail/smrsh/rt-mailgate + +The smrsh directory contains all the binaries that Sendmail is +permitted to run via the '|program' syntax in order to improve the +over all security of your system. See smrsh(8) for more details. + +Configuration hints for other MTAs are warmly appreciated! (Please +file wishlist bug-reports.) + +DEBUGGING DEFERRED DELIVERIES +----------------------------- + +If your mails are just getting deferred with temporary failures, running +rt-mailgate from the command line may help to pinpoint the problem. An +example where libio-socket-ssl-perl is missing: + + % echo 'From: ' | rt-mailgate --queue general --action correspond --url https://localhost/rt/ + An Error Occurred + ================= + + 501 Protocol scheme 'https' is not supported + (Crypt::SSLeay not installed) + + +This file was originally written by + +Stephen Quinney , Thu Sep 15 15:23:30 2005 + + -- Niko Tyni Mon, 27 Nov 2006 22:57:00 +0200 + --- request-tracker3.8-3.8.2.orig/debian/control +++ request-tracker3.8-3.8.2/debian/control @@ -0,0 +1,123 @@ +Source: request-tracker3.8 +Section: misc +Priority: optional +Maintainer: Debian Request Tracker Group +Uploaders: Niko Tyni , Jacob Helwig , Toni Mueller , Ivan Kohler , Gerardo Curiel , Dominic Hargreaves +Build-Depends: debhelper (>= 5), dpatch (>= 2.0.9) +Build-Depends-Indep: perl (>= 5.8.3), po-debconf +Standards-Version: 3.8.0 +Vcs-Svn: svn://svn.debian.org/svn/pkg-request-tracker/packages/request-tracker3.8/trunk +Vcs-Browser: http://svn.debian.org/wsvn/pkg-request-tracker/packages/request-tracker3.8/trunk + +Package: request-tracker3.8 +Architecture: all +Depends: rt3.8-clients (= ${source:Version}), + rt3.8-apache2 (= ${source:Version}), + rt3.8-db-sqlite (= ${source:Version}) + | rt3.8-db-postgresql (= ${source:Version}) + | rt3.8-db-mysql (= ${source:Version}), + exim4 | mail-transport-agent, + sysklogd | system-log-daemon, ${perl:Depends}, + libhtml-mason-perl (>= 1:1.36-1), libapache-session-perl (>= 1.53), + libregexp-common-perl, libdbi-perl (>= 1.37), + libclass-returnvalue-perl (>= 0.40), libdbix-searchbuilder-perl (>= 1.53), + libcache-simple-timedexpiry-perl, libtext-template-perl (>= 1.44), + liblog-dispatch-perl (>= 2.0), libhtml-parser-perl, + liblocale-maketext-fuzzy-perl, liblocale-maketext-lexicon-perl (>= 0.32), + libmime-tools-perl (>= 5.108) | libmime-perl (>= 5.108), libmime-types-perl, + libmailtools-perl (>= 1.57), libtext-wrapper-perl, + libtime-modules-perl, libtext-autoformat-perl, libtext-wikiformat-perl, + libhtml-scrubber-perl, libmodule-versions-report-perl (>= 1.03), + libtree-simple-perl (>= 1.04), libxml-rss-perl (>= 1.05), libxml-simple-perl, + libcalendar-simple-perl, libgd-graph-perl, libuniversal-require-perl, + libgd-text-perl, libtimedate-perl, dbconfig-common (>= 1.8.38), + ucf (>= 0.28), libcss-squish-perl (>= 0.06), + libdevel-stacktrace-perl (>= 1.19),libfile-sharedir-perl, + libemail-address-perl, libperlio-eol-perl, + libdata-ical-perl, libtext-quoted-perl (>= 2.02), + libhtml-rewriteattributes-perl (>= 0.02), + libgraphviz-perl, libgnupg-interface-perl, + libjs-scriptaculous, libjs-prototype, libipc-run-safehandles-perl + ${misc:Depends} +Recommends: speedy-cgi-perl +Suggests: rt3.8-rtfm +Conflicts: request-tracker, request-tracker3.2 (<< 3.2.2-3) +Replaces: request-tracker +Description: Extensible trouble-ticket tracking system + Request Tracker (RT) is an enterprise-grade ticketing system which + enables a group of people to intelligently and efficiently manage + tasks, issues, and requests submitted by a community of users. It + features a web, email and command-line interfaces (see the package + rt3.8-clients). + . + This is the 3.8 series of RT, it can be installed alongside the 3.4 + and 3.6 series without any problems. + . + Written in object-oriented Perl, RT is a high-level, portable, + platform independent system that eases collaboration within + organizations and makes it easy for them to take care of their + customers. + . + RT manages key tasks such as the identification, prioritization, + assignment, resolution and notification required by + enterprise-critical applications including project management, help + desk, NOC ticketing, CRM and software development. + +Package: rt3.8-clients +Architecture: all +Depends: ${perl:Depends}, exim4 | mail-transport-agent, + libhtml-tree-perl, libhtml-format-perl, libwww-perl, libterm-readkey-perl, + libterm-readline-perl-perl | libterm-readline-gnu-perl, + ${misc:Depends} +Recommends: libio-socket-ssl-perl +Description: Mail gateway and command-line interface to request-tracker3.8 + Install this package onto the mail server so it can inject tickets into + request-tracker3.8 using rt-mailgate. + . + Install it onto any machine on which you want to use the 'rt' + command-line interface. + . + See the 'request-tracker3.8' package for further information. + +Package: rt3.8-apache2 +Architecture: all +Depends: apache2, + libapache2-mod-perl2 (>= 2.0.0) | speedy-cgi-perl | libapache2-mod-fcgid + | libapache2-mod-fastcgi, + libapache2-mod-perl2 (>= 2.0.0) | speedy-cgi-perl | libcgi-fast-perl, + libapache-dbi-perl (>= 0.92) | speedy-cgi-perl | libapache2-mod-fcgid + | libapache2-mod-fastcgi, + ${misc:Depends} +Suggests: libapache2-mod-speedycgi +Description: Apache 2 specific files for request-tracker3.8 + This package provides various configuration files and manages the + necessary dependencies for running request tracker (RT) version 3.8 + on the Apache 2 web server. + . + See the 'request-tracker3.8' package for further information. + +Package: rt3.8-db-postgresql +Architecture: all +Depends: ${misc:Depends}, libdbd-pg-perl (>= 1.41), + postgresql-client-8.3 | postgresql-client (>= 7.4) +Suggests: postgresql-8.3 | postgresql (>= 7.4) +Description: PostgreSQL database backend for request-tracker3.8 + This package provides dependencies and dbconfig-common support for + using Request Tracker version 3.8 with a PostgreSQL database. + +Package: rt3.8-db-mysql +Architecture: all +Depends: ${misc:Depends}, libdbd-mysql-perl (>= 2.1018), + mysql-client-5.0 | mysql-client (>= 4.0.13) +Suggests: mysql-server-5.0 | mysql-server (>= 4.0.13) +Description: MySQL database backend for request-tracker3.8 + This package provides dependencies and dbconfig-common support for + using Request Tracker version 3.8 with a MySQL database. + +Package: rt3.8-db-sqlite +Architecture: all +Depends: ${misc:Depends}, libdbd-sqlite3-perl, sqlite3 +Description: SQLite database backend for request-tracker3.8 + This package provides dependencies and dbconfig-common support for + using Request Tracker version 3.8 with a local SQLite (version 3) database. + --- request-tracker3.8-3.8.2.orig/debian/docs +++ request-tracker3.8-3.8.2/debian/docs @@ -0,0 +1,5 @@ +README +docs/* +debian/NOTES.Debian +UPGRADING +UPGRADING.mysql --- request-tracker3.8-3.8.2.orig/debian/lintian-overrides +++ request-tracker3.8-3.8.2/debian/lintian-overrides @@ -0,0 +1,19 @@ +# Lintian overrides for request-tracker3.8 + +# Allowing world read access on these directories allows bypassing of +# application defined permissions. + +non-standard-dir-perm var/log/request-tracker3.8/ 2755 != 0755 +non-standard-dir-perm var/cache/request-tracker3.8/ 2750 != 0755 +non-standard-dir-perm var/cache/request-tracker3.8/mason_data/ 2750 != 0755 +non-standard-dir-perm var/cache/request-tracker3.8/mason_data/etc/ 2750 != 0755 +non-standard-dir-perm var/cache/request-tracker3.8/mason_data/obj/ 2750 != 0755 +non-standard-dir-perm var/cache/request-tracker3.8/mason_data/cache/ 2750 != 0755 +non-standard-dir-perm var/cache/request-tracker3.8/session_data/ 2750 != 0755 +non-standard-dir-perm var/cache/request-tracker3.8/data/ 2750 != 0755 +non-standard-dir-perm var/cache/request-tracker3.8/data/gpg/ 0700 != 0755 + +# FCKeditor in RT has been modified +embedded-javascript-library usr/share/request-tracker3.8/html/NoAuth/RichText/FCKeditor/fckeditor.js +# And we're not deploying this as a script +script-not-executable ./usr/share/request-tracker3.8/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl --- request-tracker3.8-3.8.2.orig/debian/rt3.8-db-sqlite.templates +++ request-tracker3.8-3.8.2/debian/rt3.8-db-sqlite.templates @@ -0,0 +1,5 @@ +Template: rt3.8-db-sqlite/available +Type: boolean +Description: for internal use only + The package stores information about its availability here for the + interval between the config script is run and the package is unpacked. --- request-tracker3.8-3.8.2.orig/debian/rt3.8-db-mysql.config +++ request-tracker3.8-3.8.2/debian/rt3.8-db-mysql.config @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + + +# source debconf library +. /usr/share/debconf/confmodule + +db_version 2.0 + +if [ "$1" = "configure" ] +then + db_set rt3.8-db-mysql/available true +fi + --- request-tracker3.8-3.8.2.orig/debian/alts +++ request-tracker3.8-3.8.2/debian/alts @@ -0,0 +1,16 @@ +usr/bin/rt-crontool +usr/sbin/rt-dump-database +usr/sbin/rt-setup-database +usr/sbin/rt-email-digest +usr/sbin/rt-email-dashboards +usr/sbin/rt-clean-sessions +usr/sbin/rt-shredder +usr/sbin/rt-email-group-admin +usr/share/man/man1/rt-crontool!.1 +usr/share/man/man8/rt-setup-database!.8 +usr/share/man/man8/rt-dump-database!.8 +usr/share/man/man8/rt-email-digest!.8 +usr/share/man/man8/rt-email-dashboards!.8 +usr/share/man/man8/rt-clean-sessions!.8 +usr/share/man/man8/rt-shredder!.8 +usr/share/man/man8/rt-email-group-admin!.8 --- request-tracker3.8-3.8.2.orig/debian/README.build +++ request-tracker3.8-3.8.2/debian/README.build @@ -0,0 +1,10 @@ +Some oddities about building and patching this package: + +We use dpatch, the pristine-source patch system. Refer to +/usr/share/doc/dpatch/README.gz for further information about this. For +practical purposes, this means that your diff.gz must not contain any +diffs outside the debian/ directory; such things must be created as +patches and put in the debian/patches directory instead. + + + -- Stephen Quinney , Thu, 15 Sep 2005 14:30:16 +0100 --- request-tracker3.8-3.8.2.orig/debian/prerm +++ request-tracker3.8-3.8.2/debian/prerm @@ -0,0 +1,25 @@ +#! /bin/sh + +set -e + +alts() { + for bin in /usr/bin/rt-crontool /usr/sbin/rt-setup-database \ + /usr/sbin/rt-dump-database /usr/sbin/update-rt-siteconfig \ + /usr/sbin/rt-email-digest /usr/sbin/rt-email-dashboards \ + /usr/sbin/rt-clean-sessions /usr/sbin/rt-shredder \ + /usr/sbin/rt-email-group-admin; do + alt=`basename $bin` + update-alternatives --remove $alt $bin-3.8 + done +} + +. /usr/share/debconf/confmodule +. /usr/share/dbconfig-common/dpkg/prerm +dbc_go request-tracker3.8 $@ + +case "$1" in + "remove") alts + ;; +esac + +#DEBHELPER# --- request-tracker3.8-3.8.2.orig/debian/rt3.8-clients.postinst +++ request-tracker3.8-3.8.2/debian/rt3.8-clients.postinst @@ -0,0 +1,31 @@ +#!/bin/sh +set -e + +OLDCONF=/etc/rt.conf +NEWCONF=/etc/request-tracker3.8/rt.conf + +if [ -f "$OLDCONF" ] && [ ! -f "$NEWCONF" ]; then + echo "Found $OLDCONF; moving it to $NEWCONF" + mv "$OLDCONF" "$NEWCONF" +fi + +alts() { + update-alternatives --install /usr/bin/rt rt /usr/bin/rt-3.8 260 \ + --slave /usr/share/man/man1/rt.1.gz rt.1.gz \ + /usr/share/man/man1/rt-3.8.1.gz + update-alternatives --install \ + /usr/bin/rt-mailgate rt-mailgate /usr/bin/rt-mailgate-3.8 260 \ + --slave /usr/share/man/man1/rt-mailgate.1.gz rt-mailgate.1.gz \ + /usr/share/man/man1/rt-mailgate-3.8.1.gz +} + +case "$1" in + configure) + alts + ;; + abort-upgrade) + alts + ;; +esac + +#DEBHELPER# --- request-tracker3.8-3.8.2.orig/debian/whatis +++ request-tracker3.8-3.8.2/debian/whatis @@ -0,0 +1,10 @@ +bin/rt-mailgate(1) Mail gateway for Request Tracker +bin/rt-crontool(1) Command-line interface to Request Tracker +sbin/rt-setup-database(8) Set-up the database for Request Tracker +sbin/rt-dump-database(8) dump the Request Tracker database +bin/rt(1) Command-line interface to Request Tracker +sbin/rt-email-digest(8) dispatches all deferred RT notifications as a per-user digest +sbin/rt-email-dashboards(8) Send email dashboards +sbin/rt-clean-sessions(8) clean old and duplicate RT sessions +sbin/rt-shredder(8) Script which wipes out tickets from RT DB +sbin/rt-email-group-admin(8) Command line tool for administrating NotifyGroup actions --- request-tracker3.8-3.8.2.orig/debian/links +++ request-tracker3.8-3.8.2/debian/links @@ -0,0 +1,6 @@ +/usr/share/dbconfig-common/scripts/request-tracker3.8/install/mysql /usr/share/dbconfig-common/scripts/request-tracker3.8/install/pgsql +/usr/share/dbconfig-common/scripts/request-tracker3.8/install/mysql /usr/share/dbconfig-common/scripts/request-tracker3.8/install/sqlite3 +/usr/share/javascript/scriptaculous /usr/share/request-tracker3.8/html/NoAuth/js/scriptaculous +/usr/share/javascript/prototype /usr/share/request-tracker3.8/html/NoAuth/js/prototype +/usr/share/dbconfig-common/scripts/request-tracker3.8/upgrade/mysql/3.8.2 /usr/share/dbconfig-common/scripts/request-tracker3.8/upgrade/pgsql/3.8.2 +/usr/share/dbconfig-common/scripts/request-tracker3.8/upgrade/mysql/3.8.2 /usr/share/dbconfig-common/scripts/request-tracker3.8/upgrade/sqlite3/3.8.2 --- request-tracker3.8-3.8.2.orig/debian/templates +++ request-tracker3.8-3.8.2/debian/templates @@ -0,0 +1,84 @@ +Template: request-tracker3.8/rtname +Type: string +_Description: Name for this RT instance: + Every installation of Request Tracker must have a unique name. + The domain name or an abbreviation of the name of your organization are + usually good candidates. + . + Please note that once you start using a name, you should probably never + change it. Otherwise, mail for existing tickets won't get put in the right + place. + . + This setting corresponds to the $rtname configuration variable. + +Template: request-tracker3.8/organization +Type: string +_Description: Identifier for this RT instance: + In addition to its name, every installation of Request Tracker must also have + a unique identifier. It is used when linking between RT installations. + . + Using this machine's fully qualified hostname (including the DNS domain name) + is recommended. + . + This setting corresponds to the $Organization configuration variable. + +Template: request-tracker3.8/correspondaddress +Type: string +_Description: Default email address for RT correspondence: + This address will be listed in From: and Reply-To: headers of + emails tracked by RT, unless overridden by a queue-specific + address. + . + This setting corresponds to the $CorrespondAddress configuration variable. + +Template: request-tracker3.8/commentaddress +Type: string +_Description: Default email address for RT comments: + This address will be listed in From: and Reply-To: headers of comment + emails, unless overridden by a queue-specific address. (Comments can be + used for adding ticket information that is not visible to the client.) + . + This setting corresponds to the $CommentAddress configuration variable. + +Template: request-tracker3.8/webbaseurl +Type: string +_Description: Base URL to the web interface: + Please specify the scheme, server and (optionally) port for constructing + URLs to the RT web interface. + . + The value should not have a trailing slash (/). + . + This setting corresponds to the $WebBaseURL configuration variable. + +Template: request-tracker3.8/webpath +Type: string +_Description: Path to the RT web interface: + If the RT web interface is going to be installed somewhere other than at + the root of your server, you should specify the path to it here. + . + The value requires a leading slash (/) but not a trailing one. + . + This setting corresponds to the $WebPath configuration variable. + +Template: request-tracker3.8/handle-siteconfig-permissions +Type: boolean +_Description: Handle RT_SiteConfig.pm permissions? + The RT web interface needs access to the database password, stored in the + main RT configuration file. Because of this, the file is made readable by + the www-data group in normal setups. This may have security implications. + . + If you reject this option, the file will be readable only by root, and + you will have to set up appropriate access controls yourself. + . + Note: with the SQLite backend, your answer will also affect the + permissions of automatically generated local database files. + +Template: request-tracker3.8/warn-sqlite-file +Type: note +_Description: Broken SQLite file found + Due to a bug in earlier versions of this package, your RT database appears + to live in /var/lib/dbconfig-common/sqlite3/request-tracker3.8/_DBC_DBNAME_ + rather than its intended location. After this installation completes, you + will need to manually move the file to its correct location + (see /etc/request-tracker3.8/RT_SiteConfig.d/51-dbconfig-common) before + RT will work again. --- request-tracker3.8-3.8.2.orig/debian/rt3.8-clients.install +++ request-tracker3.8-3.8.2/debian/rt3.8-clients.install @@ -0,0 +1,2 @@ +debian/bug/presubj usr/share/bug/rt3.8-clients +debian/conf/rt.conf etc/request-tracker3.8/ --- request-tracker3.8-3.8.2.orig/debian/rt3.8-clients.prerm +++ request-tracker3.8-3.8.2/debian/rt3.8-clients.prerm @@ -0,0 +1,16 @@ +#! /bin/sh + +set -e + +alts() { + update-alternatives --remove rt /usr/bin/rt-3.8 + update-alternatives --remove rt-mailgate /usr/bin/rt-mailgate-3.8 +} + +case "$1" in + remove) + alts + ;; +esac + +#DEBHELPER# --- request-tracker3.8-3.8.2.orig/debian/rt3.8-db-mysql.prerm +++ request-tracker3.8-3.8.2/debian/rt3.8-db-mysql.prerm @@ -0,0 +1,16 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +# source debconf library +. /usr/share/debconf/confmodule + +db_version 2.0 + +if [ "$1" = "remove" ] +then + db_set rt3.8-db-mysql/available false || true +fi + --- request-tracker3.8-3.8.2.orig/debian/copyright +++ request-tracker3.8-3.8.2/debian/copyright @@ -0,0 +1,118 @@ +This package was debianized by Debian Request Tracker Group + on +Wed, 30 Aug 2006 00:43:38 -0400 + +It was downloaded from http://www.bestpractical.com/ + +Author: Jesse Vincent + +Copyright: + + This software is Copyright (c) 1996-2008 Best Practical Solutions, LLC + + +License: + + This work is made available to you under the terms of Version 2 of + the GNU General Public License. A copy of that license should have + been provided with this software, but in any event can be snarfed + from www.gnu.org. + + This work 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 02110-1301, USA. + +On Debian systems, you can find a copy of the GNU General Public License +Version 2 in /usr/share/common-licenses/GPL-2 . + +The file bin/mason_handler.svc.in has the following copyright and license: + + Copyright 2002 by Autrijus Tang . + + This program is free software; you can redistribute it and/or + modify it under the same terms as Perl itself. + +Perl is distributed under either the GNU General Public License or +the Artistic License. On Debian systems, you can find a copy of +the Artistic License in /usr/share/common-licenses/Artistic and +the license of Perl itself in /usr/share/doc/perl/copyright . + +The files + lib/RT/Template_Overlay.pm + lib/RT/Interface/Web.pm + lib/RT/Action/SendEmail.pm +have the following copyright: + + This software is Copyright (c) 1996-2008 Best Practical Solutions, LLC + + Portions Copyright 2000 Tobias Brox + +The file sbin/extract-message-catalog has the following copyright: + + This software is Copyright (c) 1996-2008 Best Practical Solutions, LLC + + Portions Copyright 2002 Autrijus Tang + +The file share/html/NoAuth/css/web2/yui-fonts.css has the following +copyright and license: + +Copyright (c) 2008, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.net/yui/license.txt + +On Debian systems, you can find a copy of the BSD license in +/usr/share/common-licenses/BSD . + +The files under share/html/NoAuth/RichText/FCKeditor have the following +copyright and licence: + +Copyright (C) 2003-2007 Frederico Caldeira Knabben + +Licensed under the terms of any of the following licenses at your +choice: + + - GNU General Public License Version 2 or later (the "GPL") + http://www.gnu.org/licenses/gpl.html + + - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + http://www.gnu.org/licenses/lgpl.html + + - Mozilla Public License Version 1.1 or later (the "MPL") + http://www.mozilla.org/MPL/MPL-1.1.html + +On Debian systems, you can find a copy of the LGPL license in +/usr/share/common-licenses/LGPL . + +The file share/html/NoAuth/js/ahah.js is in the public domain. +Fetched from http://www.opendarwin.org/~drernie/src/ahah.js + +The files under share/html/NoAuth/js/scriptaculous have the following +copyright and license: + +Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) + +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. + +For details, see the script.aculo.us web site: http://script.aculo.us/ --- request-tracker3.8-3.8.2.orig/debian/postrm +++ request-tracker3.8-3.8.2/debian/postrm @@ -0,0 +1,46 @@ +#! /bin/sh + +set -e + +if [ -f /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule +fi +if [ -f /usr/share/dbconfig-common/dpkg/postrm ]; then + . /usr/share/dbconfig-common/dpkg/postrm + dbc_go request-tracker3.8 $@ +fi + +#DEBHELPER# + +# /var/cache is where we keep cached data +# Also remove /var/log/request-tracker3.8 for tidiness. + +case "$1" in + "purge") rm -rf \ + /var/cache/request-tracker3.8/ \ + /var/log/request-tracker3.8/ + rm -f \ + /etc/request-tracker3.8/RT_SiteConfig.pm \ + /etc/request-tracker3.8/RT_SiteConfig.pm.ucf-* \ + /etc/request-tracker3.8/RT_SiteConfig.d/50-debconf \ + /etc/request-tracker3.8/RT_SiteConfig.d/50-debconf.ucf-* \ + /etc/request-tracker3.8/RT_SiteConfig.d/51-dbconfig-common \ + /etc/request-tracker3.8/RT_SiteConfig.d/51-dbconfig-common.ucf-* + if which ucf >/dev/null 2>&1 + then + # managed by the postinst script + ucf --purge /etc/request-tracker3.8/RT_SiteConfig.d/50-debconf + # managed by dbconfig-generate-include + ucf --purge /etc/request-tracker3.8/RT_SiteConfig.d/51-dbconfig-common + # managed by update-rt-siteconfig + ucf --purge /etc/request-tracker3.8/RT_SiteConfig.pm + fi + # clean up the ucf registry too + if which ucfr >/dev/null 2>&1 + then + ucfr --purge request-tracker3.8 /etc/request-tracker3.8/RT_SiteConfig.d/50-debconf + ucfr --purge request-tracker3.8 /etc/request-tracker3.8/RT_SiteConfig.d/51-dbconfig-common + ucfr --purge request-tracker3.8 /etc/request-tracker3.8/RT_SiteConfig.pm + fi + ;; +esac --- request-tracker3.8-3.8.2.orig/debian/bug/presubj +++ request-tracker3.8-3.8.2/debian/bug/presubj @@ -0,0 +1,9 @@ +Reporting request-tracker3.8 bugs +------------------------------- + +Many bugs reported against RT3.8 are due to an interaction between RT3.8 and +another program. Accordingly, please ensure you put into your bug report: + + * Which web server you run RT3.8 on (apache 2, ...) + * Your backend database server (postgres, mysql, ...) + * The MTA you're using (exim, sendmail, ...) --- request-tracker3.8-3.8.2.orig/debian/bug/script +++ request-tracker3.8-3.8.2/debian/bug/script @@ -0,0 +1,27 @@ +#! /bin/bash + +exec >&3 + +strip_md5sum() { + sed 's/^.* \+//' "$@" +} + +print_changed_files() { + (cd / && + strip_md5sum "$@" | + xargs md5sum 2>/dev/null | sort | + comm -3 - <(sort "$@") + ) | strip_md5sum | sort -u + +} + +files_in_usrlocal() { + [ ! -d /usr/local/share/request-tracker3.8/ ] || [ `find /usr/local/share/request-tracker3.8/ -type f | wc -l` -gt 0 ] && echo -e "\nThere are locally modified files in /usr/local/share/request-tracker3.8/,\n these may (or may not) be the source of the problem.\n" +} + +sumfile=/var/lib/dpkg/info/request-tracker3.8.md5sums + +echo "Changed files:" +print_changed_files "$sumfile" | sed 's/^/ /' + +files_in_usrlocal --- request-tracker3.8-3.8.2.orig/debian/scripts/update-rt-siteconfig +++ request-tracker3.8-3.8.2/debian/scripts/update-rt-siteconfig @@ -0,0 +1,57 @@ +#!/bin/sh + +# This script updates /etc/request-tracker3.8/RT_SiteConfig.pm +# with the contents of the /etc/request-tracker3.8/RT_SiteConfig.d/ +# directory. The result is managed with ucf, so that no user +# changes are accidentally overwritten. + +# Copyright 2007 Niko Tyni +# +# 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. You may also +# redistribute it and/or modify it under the terms of the Perl +# Artistic License. + +CONFBASE="/etc/request-tracker3.8" +SITE_CONFIG_INCLUDE_DIR="$CONFBASE/RT_SiteConfig.d" +SITE_CONFIG="$CONFBASE/RT_SiteConfig.pm" + +myname=$(basename $0) +tfile=$(mktemp -t "$myname".XXXXXXXX) || exit 1 +cat < $tfile +# This file was generated by running "$myname". +# +# While local modifications will not be overwritten without permission, +# it is recommended the they are instead placed in +# $SITE_CONFIG_INCLUDE_DIR +# +# Note that modifications to the RT_SiteConfig.d directory won't +# take effect until the update command mentioned above is run again. + +EOF + +# ignore *.ucf-old and the like +find "$SITE_CONFIG_INCLUDE_DIR" -type f \ + -regex "^$SITE_CONFIG_INCLUDE_DIR/[a-z0-9][a-z0-9-]+$" | sort | \ +while read file +do + echo "# start $file" >> $tfile + cat "$file" >> $tfile + echo "# end $file" >> $tfile +done + +# the result is a Perl module, so it needs to return 1. +echo '1;' >> $tfile + +if [ -f "$SITE_CONFIG" ] +then + # try to honor the existing mode and owner of the file + chown --reference "$SITE_CONFIG" $tfile + chmod --reference "$SITE_CONFIG" $tfile +fi +ucf --sum-file /usr/share/request-tracker3.8/debian/RT_SiteConfig.pm.etch.md5sum \ + --debconf-ok $tfile "$SITE_CONFIG" +rm $tfile + --- request-tracker3.8-3.8.2.orig/debian/scripts/dbconfig.template +++ request-tracker3.8-3.8.2/debian/scripts/dbconfig.template @@ -0,0 +1,20 @@ +# THE DATABASE: +# generated by dbconfig-common + +# map from dbconfig-common database types to their names as known by RT +my %typemap = ( + mysql => 'mysql', + pgsql => 'Pg', + sqlite3 => 'SQLite', +); + +Set($DatabaseType, $typemap{_DBC_DBTYPE_} || "UNKNOWN"); + +Set($DatabaseHost, '_DBC_DBSERVER_'); +Set($DatabasePort, '_DBC_DBPORT_'); + +Set($DatabaseUser , '_DBC_DBUSER_'); +Set($DatabasePassword , '_DBC_DBPASS_'); + +# SQLite needs a special case, since $DatabaseName must be a full pathname +my $dbc_dbname = '_DBC_DBNAME_'; if ( "_DBC_DBTYPE_" eq "sqlite3" ) { Set ($DatabaseName, '_DBC_BASEPATH_' . '/' . $dbc_dbname); } else { Set ($DatabaseName, $dbc_dbname); } --- request-tracker3.8-3.8.2.orig/debian/scripts/fix-whatis +++ request-tracker3.8-3.8.2/debian/scripts/fix-whatis @@ -0,0 +1,116 @@ +#! /usr/bin/perl +# +# add-whatis: Add a short description to POD entry for whatis parsing +# +# -- Andrew Stribblehill 2003-04-10 + +use warnings; +use strict; +use Pod::Man; +use IO::File; + +{ package WhatisPreprocessor; + + # this is needed for Perl 5.10 + use overload '<>' => \&getline, fallback => 1; + + sub new { + my ($self, $filename, $module, $desc) = @_; + my $fh = new IO::File("<$filename") or return 0; + return bless { state => "_pre", input => $fh, + module => $module, desc => $desc}, $self; + } + + sub getline { + my $self = shift; + my $fh = $self->{input}; + + unless ($self->{pause}) { + $_ = $fh->getline; + } else { + $_ = $self->{pause}; + } + + return undef if (!defined $_); + + return $_ if /^\s*$/; + # Terminal states don't begin with _ + #return $_ if ($self->{state} !~ /^_/); + + BLOCK: { + if ($self->{state} eq "_pre") { + if (/^=head1 NAME/) { + $self->{state} = "_pad"; + $self->{pause} = $_; + $_ = "\n"; # Euw + } + } elsif ($self->{state} eq "_pad") { + $self->{pause} = 0; + $self->{state} = "_head1"; + } elsif ($self->{state} eq "_head1") { + if (/(\S+)\s+-+\s+(.*)/) { + $self->{state} = "tidied"; $_="$1 - $2\n"; + $self->{whatis} = chomp; + } + if (/(\S+)$/) {$self->{state} = "_active"; redo;} + } elsif ($self->{state} eq "_active") { + if ($self->{desc}) { + $self->{state} = "overwrote"; + $_ = "$self->{module} - $self->{desc}\n"; + $self->{whatis} = $_; + } else { + $self->{state} = "default"; + $_ = "$self->{module} - Request Tracker internal module\n"; + $self->{whatis} = $_; + } + } + } +# print $_; + return $_; + } + + sub bad_manpage { + return ($_[0]->{state} =~ m/^_/); + } + + sub close { + close $_[0]->{input}; + } +} + +sub file2name { + $_ = shift; + if (s/\.pm$//) { + # Special module code + s(^lib/)(); + s(/)(::)g; + } else { + s(^.*/)(); + } + return $_; +} + +while (<>) { + chomp; + my ($file, $desc) = split /\s+/, $_, 2; + my $mansect = "3pm"; + ($file, $mansect) = ($1, $2) if $file =~ m/^(\S+)\((\w+)\)$/; + my $name = file2name($file); + my $man = "man/$name.$mansect"; + open MAN, ">$man"; + + my $filter = WhatisPreprocessor->new($file, $name, $desc); + my $pod = Pod::Man->new(section => $mansect, + center => "Request Tracker Reference", + name => $name); + $pod->parse_from_filehandle($filter, \*MAN); + print while ($filter->getline); + #print STDERR "$file -> $man: $filter->{state}\n"; + if ($filter->bad_manpage) { + print STDERR " Bad manpage $man: deleting!\n"; + unlink $man; + } else { + print STDERR "$filter->{whatis}"; + } + $filter->close; +} --- request-tracker3.8-3.8.2.orig/debian/scripts/check-deps +++ request-tracker3.8-3.8.2/debian/scripts/check-deps @@ -0,0 +1,119 @@ +#! /usr/bin/perl +# +# check-deps -- verify that debian/deps matches the output from +# rt-test-dependencies + +# Return codes: +# 0 = okay +# 1 = module in debian/deps not required by RT +# 2 = version specified in debian/deps too low or unspecified +# 4 = module required by RT absent from debian/deps +# +# These are ORed together. Suggest aborting package build if check-deps +# returns 2 or more. + +use strict; +use warnings; + +my %test; + +sub packageName { + $_ = shift; + s/^/lib/; + s/$/-perl/; + s/::/-/g; + lc; +} + +sub verHigher { + return $_[0] > $_[1]; +} + +sub check { + my ($pkg, $ver) = @_; + print "Checking $pkg".($ver?" ($ver)":''). " ... "; + if (defined $test{$pkg}) { + $_ = $test{$pkg}; + delete $test{$pkg}; + if (defined $_->{'version'}) { + my $needs = "needs >= $_->{'version'} "; + if (!defined $ver) { + print $needs. "but we don't version !\n"; return 2; + } elsif (verHigher($_->{'version'}, $ver)) { + print $needs. "but we say $ver !\n"; return 2 + } else { + print "okay\n"; return 0; + } + } else { + print "okay\n"; return 0; + } + } else { + print "not required (?)\n"; return 1; + } +} + +sub depline { + my $ret = 0; + $_ = shift; + return 0 if /^\w+:\w+$/; # perllib:Depends etc. + my ($pkg, $ver); + if (/^([^\s#]+)(\s+\((.*)\))?/) { + ($pkg, $ver) = ($1, $3); + $ver =~ s/>=\s+// if defined $ver; + } + if (/#\s+(=)\s+(\S*)(\s+\((.*)\))?\s*/) { + my ($op, $mod, $xver) = ($1, $2, $4); + # print "Override ($op) ($mod) ". ($xver?$xver:'') . "\n"; + $ver = $xver if (defined $xver); + # Overrides (=) and extras (+) + my @mods = split /,/, $mod; + for (@mods) { + $ret |= check(packageName($_), $ver); + } + return 0; + } + return 0 unless $pkg; + $ret |= check($pkg, $ver); + return $ret; +} + +my @components = qw(mysql postgresql modperl1); + +my $cmdline = 'perl sbin/rt-test-dependencies ' . + (join ' ', map({"--with-".$_} @components)) + || die "Can't run rt-test-dependencies"; + +open(TEST, $cmdline."|"); + +while () { + if (/\s+(\S+)\s+([\d.]+)?\.\.\.(\S+)/) { + local %_; + ($_{'module'}, $_{'version'}, $_{'result'}) = ($1, $2, $3); + my $pkg = packageName($_{'module'}); +# print "($pkg) ($module) (" . ($version?$version:'') . ") ($result)\n"; + $test{$pkg} = \%_; + } +} + +close TEST; + +my $ret; + +my @depfiles = qw!debian/deps debian/rt3.8-clients.deps!; +my $depfile; + +foreach $depfile (@depfiles) { + open(DEPS, $depfile) || die "Can't open $depfile"; + while() { + $ret |= depline($_); + + } +} + +while ((my ($k, $ref)) = each %test) { + $ret |= 1; + print "Need $ref->{'module'} -- ". + $k.($ref->{'version'} ? " (>= $ref->{'version'})" : '')." !\n"; +} + +exit $ret; --- request-tracker3.8-3.8.2.orig/debian/scripts/move-alts +++ request-tracker3.8-3.8.2/debian/scripts/move-alts @@ -0,0 +1,15 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +my $ver=shift; + +while (<>) { + chomp; + (my $src=$_) =~ s/!//; + my $dst=$_; + unless ($dst =~ /!/) {$dst .= '!'}; + $dst =~ s/!/-$ver/; + rename $src,$dst or print "rename $src,$dst failed: $!\n"; +} --- request-tracker3.8-3.8.2.orig/debian/scripts/update-rt-siteconfig.man +++ request-tracker3.8-3.8.2/debian/scripts/update-rt-siteconfig.man @@ -0,0 +1,44 @@ +.TH update-rt-siteconfig-3.8 8 +.SH NAME +update-rt-siteconfig-3.8 \- update the Request Tracker configuration file +.SH SYNOPSIS +.B update-rt-siteconfig-3.8 +.SH DESCRIPTION +This program will generate the main Request Tracker configuration +file, \fI/etc/request-tracker3.8/RT_SiteConfig.pm\fR, +by concatenating configuration snippets in the directory +\fI/etc/request-tracker3.8/RT_SiteConfig.d/\fR. + +The resulting file is managed with \fIucf\fR, so that local modifications +are not overwritten without permission from the user. + +The program ignores configuration snippets named *.dpkg-* and *.ucf-*, +which are standard names for special files managed by \fIdpkg\fR and +\fIucf\fR. + +If the resulting file already exists, the program will not modify +its owner or permission bits. If it does not exist yet, it will +be created with permissions 0600. +.SH OPTIONS +No options are currently supported. +.SH FILES +.br +.nf +\fI/etc/request-tracker3.8/RT_SiteConfig.d/\fR \- directory for configuration file snippets +\fI/etc/request-tracker3.8/RT_SiteConfig.pm\fR \- the actual configuration file +.SH BUGS +None known. +.SH "SEE ALSO" +.BR ucf(1) +, +.BR dpkg(1) +.SH AUTHOR +Niko Tyni +.br +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. You may also +redistribute it and/or modify it under the terms of the Perl +Artistic License. + --- request-tracker3.8-3.8.2.orig/debian/scripts/dbconfig-upgrade-3.8.2 +++ request-tracker3.8-3.8.2/debian/scripts/dbconfig-upgrade-3.8.2 @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/sbin/rt-setup-database-3.8 --action insert --datafile /usr/share/request-tracker3.8/etc/upgrade/3.8.2/content --skip-creates --- request-tracker3.8-3.8.2.orig/debian/scripts/siteconfig.template +++ request-tracker3.8-3.8.2/debian/scripts/siteconfig.template @@ -0,0 +1,13 @@ +# THE BASICS: + +Set($rtname, '{$rtname}'); +Set($Organization, '{$organization}'); + +Set($CorrespondAddress , '{$correspondaddress}'); +Set($CommentAddress , '{$commentaddress}'); + +# THE WEBSERVER: + +Set($WebPath , "{$webpath}"); +Set($WebBaseURL , "{$webbaseurl}"); + --- request-tracker3.8-3.8.2.orig/debian/scripts/fix-website-in-database +++ request-tracker3.8-3.8.2/debian/scripts/fix-website-in-database @@ -0,0 +1,45 @@ +#!/usr/bin/perl -w + +use strict; + +use lib "/usr/share/request-tracker3.8/lib"; +use RT; +RT::LoadConfig; +$RT::LogToScreen = 'notice'; +RT::InitLogging; + +$RT::Logger->debug("request-tracker3.8.postinst: running $0 to fix the database (bug #442398)"); + +$RT::Logger->debug("Connecting to the database"); +require RT::Handle; +$RT::Handle = RT::Handle->new(); +$RT::Handle->Connect(); + +my $CurrentUser = new RT::CurrentUser(); + +my $attr = RT::Attribute->new($CurrentUser); + +$RT::Logger->debug("Loading the possibly broken attribute"); +$attr->LoadByCols(Name => "Search - My Tickets"); + +my $format = $attr->SubValue('Format'); +# $RT::Logger->debug("Format value: $format"); + +my @matches = ($format =~ m{href="([^"]*)/Ticket/Display.html}g); + +my $found = 0; + +for my $match (@matches) { + next if $match eq "__WebPath__"; + $found++; + $RT::Logger->notice("Replacing webpath \"$match\" with __WebPath__"); + $format =~ s{href="\Q$match\E/Ticket/Display.html}{href="__WebPath__/Ticket/Display.html}; + $attr->SetSubValues(Format => $format); + $RT::Logger->debug("Format now: $format"); +} +if ($found) { + $RT::Logger->notice("Database fixed succesfully"); +} else { + $RT::Logger->debug("Finished, nothing to do."); +} + --- request-tracker3.8-3.8.2.orig/debian/scripts/write-siteconfig +++ request-tracker3.8-3.8.2/debian/scripts/write-siteconfig @@ -0,0 +1,49 @@ +#!/usr/bin/perl -w +use strict; +use Text::Template; + +# This script reads variable assignments of the form var=value +# on STDIN, fills in a template given as the first argument +# with these values, and outputs the result on STDOUT. + +# It is used by the maintainer scripts of request-tracker3.8 +# to turn debconf variables into a valid RT_SiteConfig.pm +# snippet. + +# Note that Text::Template is already a dependency of +# request-tracker3.8, so it's OK to use it from the postinst. + +# Copyright 2007 Niko Tyni +# +# 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. You may also can +# redistribute it and/or modify it under the terms of the Perl +# Artistic License. + +my $template_file = shift; +die("usage: $0