--- request-tracker3.6-3.6.6.orig/debian/changelog +++ request-tracker3.6-3.6.6/debian/changelog @@ -0,0 +1,204 @@ +request-tracker3.6 (3.6.6-3) unstable; urgency=low + + * Debconf translations: + + German, thanks to Helge Kreutzmann. (Closes: #475414) + + Vietnamese, thanks to Clytie Siddall. (Closes: #477327) + * Don't install empty javascript libraries. (Closes: #475287) + * Remove an extra whitespace from the master debconf templates + and unfuzzy existing translations. (Closes: #475415) + * Depend on dbconfig-common (>= 1.8.38) to pull in various important + fixes and allow symlinks for the upgrade scripts. + * Limit mail gateway access to localhost by default in apache2-*.conf. + Thanks to Arthur de Jong. (Closes: #476269) + + -- Niko Tyni Wed, 23 Apr 2008 21:32:58 +0300 + +request-tracker3.6 (3.6.6-2) unstable; urgency=low + + * Bugfix: only use the default values for debconf settings when + there's nothing already in the configuration file. + * Portuguese debconf translation, thanks to Américo Monteiro. + (Closes: #474435) + * Suggest rt3.6-rtfm, the Debian package of the RTFM addon. + * Upload to unstable. + + -- Niko Tyni Tue, 08 Apr 2008 12:40:08 +0300 + +request-tracker3.6 (3.6.6-2~experimental4) experimental; urgency=low + + * Update the debconf templates as per debconf-l10n-english suggestions. + Thanks to Justin B Rye and Christian Perrier. + + shorten the description of the "Handle RT_SiteConfig.pm permissions?" + question and re-add a paragraph about this in README.Debian. + * Handle the buggy 3.6.1 initialdata fix (#442398) with dbconfig-common + upgrade support. Installations not using dbconfig-common must be fixed + manually. See NEWS.Debian. + + -- Niko Tyni Mon, 31 Mar 2008 23:50:00 +0300 + +request-tracker3.6 (3.6.6-2~experimental3) experimental; urgency=low + + * Drop the libdbd-informix-perl alternate dependency, since + DBD::Informix isn't supported by dbconfig-common. + * Split the database dependencies into separate rt3.6-db-* packages. + See NEWS.Debian for more information. + + limit the list of databases dbconfig-common offers on new installs + to only those with corresponding rt3.6-db-* packages being installed. + * NOTES.Debian: + + fix a long-standing error about the relation of RT_Config.pm + and RT_SiteConfig.pm. Thanks to Matt Zagrabelny. (Closes: #469752) + + remove the entry about incomplete display of ticket contents, as + Text::Quoted works around the Perl bug starting with 2.04. See #400733. + * On upgrades, mark debconf questions for those values read from the RT + configuration file as 'seen' to avoid unnecessary prompting. + * Fixes for some overwritten debconf settings on upgrades. + * Replace debconf dependencies by ${misc:Depends}. + * Explain the debconf question for the 3.6.1 initialdata fix a bit more. + + -- Niko Tyni Sat, 22 Mar 2008 08:35:04 +0200 + +request-tracker3.6 (3.6.6-2~experimental2) experimental; urgency=low + + * Fix a syntax error in RT_SiteConfig.pm when opting out from + dbconfig-common. (Closes: #469695) + * Fix a grammar issue in the debconf templates. (Closes: #469720) + + -- Niko Tyni Thu, 06 Mar 2008 19:11:27 +0200 + +request-tracker3.6 (3.6.6-2~experimental1) experimental; urgency=low + + * Implement debconf-based package configuration (Closes: #237471) + + use dbconfig-common to set up the database parameters + + prompt user for the most important RT_SiteConfig.pm settings + + Apache and mail setup still require manual configuration for now + + handle RT_SiteConfig.pm permissions automatically if required; the + lintian override for the config file permissions is no longer needed + + lots of small packaging tweaks along the way + * Fix traces of a buggy 3.6.1 initialdata file on upgrade. See NEWS.Debian. + (Closes: #442398) + * Drop the libdbd-sqlite2-perl alternate dependency, since SQLite2 isn't + supported by upstream. + * Make SQLite the first database alternative so we get a working + installation by default. + * downgrade the PostgreSQL and MySQL server recommendations to suggestions + accordingly. + * Upgrade the version number of the PostgreSQL dependencies. + * Add a dependency on the database client packages to work around + #353617 in dbconfig-common. + * debian/patches/30_no_syslogd_running.dpatch: don't die if syslogd + isn't running. (See #469155) + * Upload to experimental because of the scope of the changes. + Test reports welcome. + + -- Niko Tyni Tue, 04 Mar 2008 18:30:07 +0200 + +request-tracker3.6 (3.6.6-1) unstable; urgency=low + + * New upstream release + + debian/patches/40_encoding.dpatch: removed, fixed upstream. + + adds a dependency on libcss-squish-perl + + upgrades the libdbix-searchbuilder-perl dependency to >= 1.50 + * Switch to my @debian.org email address. + * Upgrade to Standards-Version 3.7.3. No changes needed. + * Wrap overlong dependency fields in debian/control. + * Add a missing ${perl:Depends} dependency. + * debian/patches: + + 03_help.dpatch: update the rt-setup-database manual page + + 50_pod.dpatch: fix invalid POD syntax. (Closes: #305866) + * Remove the libfcgi-perl dependency, it's only used directly on win32. + * Don't ship docs/Security in the binary package, it's obsolete. + (Closes: #462235) + * Fix debian/fix-whatis to work with Perl 5.10. (Closes: #468127) + + -- Niko Tyni Sun, 02 Mar 2008 20:37:48 +0200 + +request-tracker3.6 (3.6.5-1) unstable; urgency=low + + * New upstream release. + + -- Niko Tyni Thu, 11 Oct 2007 23:30:59 +0300 + +request-tracker3.6 (3.6.4-1) unstable; urgency=low + + * New upstream release. (Closes: #404913) + + fixes display of queue names containing ampersands. (Closes: #416702) + + fixes RFC 2047 header decoding. (Closes: #429560) + + removes several unused dependencies + + adds dependencies on libtimedate-perl + and libterm-readline-(perl|gnu)-perl + * Remove support for Apache 1, recently removed from Debian. + (Closes: #429073) + * debian/patches/*.dpatch: + + 06_devel_deps: removed, no longer needed. + + 20_search_by_requestor: removed, now included upstream. + + 40_encoding: fix double UTF-8 encoding in the web interface. + (Closes: #416474) + * Update SpeedyCGI alternative dependencies. (Closes: #417545) + * Add an alternative FastCGI dependency on libapache2-mod-fcgid + to rt3.6-apache2, and include an example Apache2 configuration file. + * Downgrade libtext-quoted-perl dependency to a recommendation. It's + now an optional runtime dependency, since it can cause Perl segfaults + (see #400733). This is also mentioned in NOTES.Debian. + * Elaborate the comments in all the Apache example configuration files. + * Add a note about RT_SiteConfig being only readable by root after + installation. + * Use the source:Version substitution variables instead of the deprecated + Source-Version. + * Upgrade to debhelper compatibility level 5. + + -- Niko Tyni Mon, 9 Jul 2007 22:45:50 +0300 + +request-tracker3.6 (3.6.1-4) unstable; urgency=low + + * fix the last reference to INSTALL.Debian. (Closes: #406074) + * add an alternative dependency on libcgi-fast-perl to rt3.6-apache2. + (Closes: #408389) + * add a note about a common MySQL misconfiguration causing repeated + logins. (Closes: #408405) + * point to rt3.6-clients instead of rt3-clients for mail configuration. + (Closes: #411856) + + -- Niko Tyni Mon, 26 Feb 2007 00:06:43 +0200 + +request-tracker3.6 (3.6.1-3) unstable; urgency=low + + * Fix searching by requestor email address. Patch taken from upstream + SVN r5782. (Closes: #400655) + * Add a note in rt3.6-clients README.Debian about debugging deferred + deliveries. (See #397783) + + -- Niko Tyni Mon, 27 Nov 2006 23:08:15 +0200 + +request-tracker3.6 (3.6.1-2) unstable; urgency=low + + [ Niko Tyni ] + * Update debian/copyright. + * Rename INSTALL.Debian to NOTES.Debian to avoid the lintian warning. + * Add lintian override for permissions of RT_SiteConfig.pm, which has + a password inside. (See #307633) + + [ Toni Mueller ] + * completed Lintian override file + + -- Niko Tyni Mon, 2 Oct 2006 22:38:44 +0200 + +request-tracker3.6 (3.6.1-1) unstable; urgency=low + + [ Niko Tyni ] + * Initial release. (Closes: #387046) + * Packaging structure taken from the request-tracker3.4 package version + 3.4.5-1 with the important bits altered where needed. + + [ Jacob Helwig ] + * Fixed patches to cleanly apply. + * Fixed version numbers in long descriptions of + rt3.6-(clients|apache|apache2) + * Changed speedy-cgi-perl to suggested. + + [ Toni Mueller ] + * small fix to debian/rules + * added myself as uploader, but Niko and Jacob did all the heavy + lifting + + -- Toni Mueller Sat, 30 Sep 2006 23:13:14 +0200 + --- request-tracker3.6-3.6.6.orig/debian/whatis +++ request-tracker3.6-3.6.6/debian/whatis @@ -0,0 +1,5 @@ +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 --- request-tracker3.6-3.6.6.orig/debian/README.Debian +++ request-tracker3.6-3.6.6/debian/README.Debian @@ -0,0 +1,208 @@ +request-tracker3.6 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.6 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.4 to request-tracker3.6 +------------------------------------------------------- + +The MOST IMPORTANT thing to note is that if you have more than one of +the request-tracker3, request-tracker3.2, request-tracker3.4 and +request-tracker3.6 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 or -3.6 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.6. 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 and rt 3.6 side-by-side without any chance of +conflicts. + +Currently rt3.6 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 (bash) command: + +# for x in /etc/request-tracker3.6/upgrade/*; do \ + for y in schema acl insert; do \ + /usr/sbin/rt-setup-database-3.6 --action $y --datadir $x \ + --dba rtuser --dba-password wibble; \ + done;\ + done; + +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.6 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.6/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. + +Please remember, NEVER EDIT RT_Config.pm EVEN IF YOU THINK IT IS A GOOD IDEA! + + +Upgrading from RT2 +------------------ + +The tools to do this are available at: + +http://www.fsck.com/pub/rt/devel/rt2-to-rt3.tar.gz + +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.fsck.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.6/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.6/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.6/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.6 will be lost at the next update unless they are +conffiles (i.e. in /etc/request-tracker3.6). Any files you add into the +/usr/local/share/request-tracker3.6 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.6 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.6'; +$LocalEtcPath = $LocalPath . '/etc'; +$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.6-3.6.6.orig/debian/rt3.6-clients.files +++ request-tracker3.6-3.6.6/debian/rt3.6-clients.files @@ -0,0 +1,2 @@ +usr/bin/{rt-mailgate,rt}-3.6 +usr/share/man/man1/{rt-mailgate,rt}-3.6.1 --- request-tracker3.6-3.6.6.orig/debian/logcheck.ignore.workstation +++ request-tracker3.6-3.6.6/debian/logcheck.ignore.workstation @@ -0,0 +1 @@ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ RT: .* --- request-tracker3.6-3.6.6.orig/debian/links +++ request-tracker3.6-3.6.6/debian/links @@ -0,0 +1,2 @@ +/usr/share/dbconfig-common/scripts/request-tracker3.6/install/mysql /usr/share/dbconfig-common/scripts/request-tracker3.6/install/pgsql +/usr/share/dbconfig-common/scripts/request-tracker3.6/install/mysql /usr/share/dbconfig-common/scripts/request-tracker3.6/install/sqlite3 --- request-tracker3.6-3.6.6.orig/debian/NOTES.Debian +++ request-tracker3.6-3.6.6/debian/NOTES.Debian @@ -0,0 +1,287 @@ + -*- readme-debian -*- + +Installation notes for the Debian package request-tracker3.6 + +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.6-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.6/RT_SiteConfig.pm +file. The recommended way is to place configuration snippets into +the directory /etc/request-tracker3.6/RT_SiteConfig.d and run +update-rt-siteconfig afterwards to regenerate RT_SiteConfig.pm. + +Note that the default settings in RT_Config.pm are used +for any options you do not put into RT_SiteConfig.pm. You should *NEVER* +edit the RT_Config.pm file directly; always use RT_SiteConfig.pm. + +We recommend that you read /etc/request-tracker3.6/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.6 --action init --dba rtuser \ + --prompt-for-dba-password + + + +This needs access to /etc/request-tracker3.6/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.6/ 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.6. The expectation is that you will need to edit +the applicable file for your RT3.6 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.6/html + +2) + +ScriptAlias /rt /usr/share/request-tracker3.6/libexec/mason_handler.scgi + +3) + + + + +4) + +RewriteRule ^/rt$ /rt/ +RewriteRule ^/rt/(.*)$ /usr/share/request-tracker3.6/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.6/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.6/. These are: + +/etc/request-tracker3.6/apache2-speedycgi.conf +/etc/request-tracker3.6/apache2-fastcgi.conf +/etc/request-tracker3.6/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.6/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.6-clients package, in README.Debian. + + +LOCAL MODIFICATIONS +------------------- + +Note that we have added another configuration file called +/etc/request-tracker3.6/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.6/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.6-3.6.6.orig/debian/rt3.6-db-sqlite.config +++ request-tracker3.6-3.6.6/debian/rt3.6-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.6-db-sqlite/available true +fi + --- request-tracker3.6-3.6.6.orig/debian/compat +++ request-tracker3.6-3.6.6/debian/compat @@ -0,0 +1 @@ +5 --- request-tracker3.6-3.6.6.orig/debian/prerm +++ request-tracker3.6-3.6.6/debian/prerm @@ -0,0 +1,22 @@ +#! /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; do + alt=`basename $bin` + update-alternatives --remove $alt $bin-3.6 + done +} + +. /usr/share/debconf/confmodule +. /usr/share/dbconfig-common/dpkg/prerm +dbc_go request-tracker3.6 $@ + +case "$1" in + "remove") alts + ;; +esac + +#DEBHELPER# --- request-tracker3.6-3.6.6.orig/debian/rt3.6-clients.dirs +++ request-tracker3.6-3.6.6/debian/rt3.6-clients.dirs @@ -0,0 +1,4 @@ +usr/share/bug/rt3.6-clients +usr/bin +usr/share/man/man1 +etc/request-tracker3.6 --- request-tracker3.6-3.6.6.orig/debian/rules +++ request-tracker3.6-3.6.6/debian/rules @@ -0,0 +1,152 @@ +#!/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.6 + +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 + + # 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 + rm -f build-stamp + rm -f config.log config.status config.pld + # Remove automatically generated files + find . -name '*.in' -print | perl -ne 'chomp; s/\.in$$//; unlink' + rm -rf man + dh_clean + +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 + + # all the files inside are zero-sized as of 3.6.6 + # this is designed to get skipped if that ever changes + [ 0 != $$(find $(RT3_PKG)/usr/share/$(RT3)/html/NoAuth/js/scriptaculous \ + -type f -size +0 | wc -l) ] || \ + $(RM) -r $(RT3_PKG)/usr/share/$(RT3)/html/NoAuth/js/scriptaculous + + 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 +# mv $(RT3_PKG)/usr/bin/standalone_httpd \ +# $(RT3_PKG)/usr/bin/rt-standalone_httpd + rm $(RT3_PKG)/usr/bin/standalone_httpd + 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 Changelog + # 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)/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 + + # This is generated by the maintainer scripts + $(RM) $(RT3_PKG)/etc/request-tracker3.6/RT_SiteConfig.pm + + install -m 644 debian/scripts/siteconfig.template $(RT3_PKG)/usr/share/request-tracker3.6/debian/ + install -m 644 debian/scripts/dbconfig.template $(RT3_PKG)/usr/share/request-tracker3.6/debian/ + install -m 755 debian/scripts/write-siteconfig $(RT3_PKG)/usr/share/request-tracker3.6/debian/ + install -m 755 debian/scripts/fix-website-in-database $(RT3_PKG)/usr/share/request-tracker3.6/debian/ + install -m 755 debian/scripts/update-rt-siteconfig $(RT3_PKG)/usr/sbin/update-rt-siteconfig-3.6 + install -m 644 debian/scripts/update-rt-siteconfig.man $(RT3_PKG)/usr/share/man/man8/update-rt-siteconfig-3.6.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.6/install/mysql + + # note that this needs dbconfig-common (>= 1.8.38), see #472944 + for dbtype in mysql pgsql sqlite3; do \ + dh_link usr/share/request-tracker3.6/debian/fix-website-in-database \ + usr/share/dbconfig-common/scripts/request-tracker3.6/upgrade/$${dbtype}/3.6.6-2~experimental1; \ + done + + chmod 755 $(RT3_PKG)/usr/share/bug/$(RT3)/script + 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)/ + 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.6-3.6.6.orig/debian/rt3.6-clients.README.Debian +++ request-tracker3.6-3.6.6/debian/rt3.6-clients.README.Debian @@ -0,0 +1,87 @@ +Notes for the Debian package rt3.6-clients. + +RT COMMAND-LINE TOOL +-------------------- + +The file /etc/request-tracker3.6/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.6-3.6.6.orig/debian/dirs +++ request-tracker3.6-3.6.6/debian/dirs @@ -0,0 +1,10 @@ +usr/bin +usr/sbin +usr/share/bug/request-tracker3.6 +usr/share/doc/request-tracker3.6 +usr/share/request-tracker3.6/libexec +usr/share/request-tracker3.6/debian +etc/request-tracker3.6/upgrade +etc/request-tracker3.6/RT_SiteConfig.d +usr/share/lintian/overrides +usr/share/dbconfig-common/scripts/request-tracker3.6/install --- request-tracker3.6-3.6.6.orig/debian/rt3.6-db-postgresql.prerm +++ request-tracker3.6-3.6.6/debian/rt3.6-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.6-db-postgresql/available false || true +fi + --- request-tracker3.6-3.6.6.orig/debian/NEWS +++ request-tracker3.6-3.6.6/debian/NEWS @@ -0,0 +1,45 @@ +request-tracker3.6 (3.6.6-2~experimental4) experimental; urgency=low + + Starting from this version, upgrades done with dbconfig-common support + enabled will try to compensate for a bug in 3.6.1 versions (including + the one released with Etch.) The initial data for the database in + 3.6.1 had a bug in the "Top 10 tickets I own" predefined search that + breaks the links when $RT::WebPath is changed. See bug #442398. + . + If you want to fix this without using dbconfig-common, just run + /usr/share/request-tracker3.6/debian/fix-website-in-database manually. + + -- Niko Tyni Thu, 27 Mar 2008 15:34:51 +0200 + +request-tracker3.6 (3.6.6-2~experimental3) experimental; urgency=low + + The database dependencies have been split out to separate + rt3.6-db-{mysql,postgresql,sqlite} packages to better ensure + that the right combination of database clients and Perl support + modules (DBD::*) gets installed. + . + While upgrades from previous request-tracker3.6 versions should + work even without installing the correct rt3.6-db-* backend package, + new installations configured with dbconfig-common limit the choice + of available database types to those that have the backend package + installed. + + -- Niko Tyni Sat, 22 Mar 2008 08:02:05 +0200 + +request-tracker3.6 (3.6.6-2~experimental1) experimental; urgency=low + + This version adds maintainer scripts for basic RT setup. The database + integration is done with the dbconfig-common package. The installation + procedure tries its best to import old configuration values on upgrades, + and all the resulting files are managed with ucf(1) so local modifications + are never overwritten without permission. + . + The most visible change is the addition of the + /etc/request-tracker3.6/RT_SiteConfig.d directory. Configuration + snippets in this directory are concatenated together with the + update-rt-siteconfig(8) command. + . + Integration with the web server and the mail system are still + not handled automatically and require manual configuration for now. + + -- Niko Tyni Sun, 02 Mar 2008 22:14:16 +0200 --- request-tracker3.6-3.6.6.orig/debian/rt3.6-clients.alts +++ request-tracker3.6-3.6.6/debian/rt3.6-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.6-3.6.6.orig/debian/rt3.6-db-mysql.prerm +++ request-tracker3.6-3.6.6/debian/rt3.6-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.6-db-mysql/available false || true +fi + --- request-tracker3.6-3.6.6.orig/debian/rt3.6-clients.prerm +++ request-tracker3.6-3.6.6/debian/rt3.6-clients.prerm @@ -0,0 +1,16 @@ +#! /bin/sh + +set -e + +alts() { + update-alternatives --remove rt /usr/bin/rt-3.6 + update-alternatives --remove rt-mailgate /usr/bin/rt-mailgate-3.6 +} + +case "$1" in + remove) + alts + ;; +esac + +#DEBHELPER# --- request-tracker3.6-3.6.6.orig/debian/postrm +++ request-tracker3.6-3.6.6/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.6 $@ +fi + +#DEBHELPER# + +# /var/cache is where we keep cached data +# Also remove /var/log/request-tracker3.6 for tidiness. + +case "$1" in + "purge") rm -rf \ + /var/cache/request-tracker3.6/ \ + /var/log/request-tracker3.6/ + rm -f \ + /etc/request-tracker3.6/RT_SiteConfig.pm \ + /etc/request-tracker3.6/RT_SiteConfig.pm.ucf-* \ + /etc/request-tracker3.6/RT_SiteConfig.d/50-debconf \ + /etc/request-tracker3.6/RT_SiteConfig.d/50-debconf.ucf-* \ + /etc/request-tracker3.6/RT_SiteConfig.d/51-dbconfig-common \ + /etc/request-tracker3.6/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.6/RT_SiteConfig.d/50-debconf + # managed by dbconfig-generate-include + ucf --purge /etc/request-tracker3.6/RT_SiteConfig.d/51-dbconfig-common + # managed by update-rt-siteconfig + ucf --purge /etc/request-tracker3.6/RT_SiteConfig.pm + fi + # clean up the ucf registry too + if which ucfr >/dev/null 2>&1 + then + ucfr --purge request-tracker3.6 /etc/request-tracker3.6/RT_SiteConfig.d/50-debconf + ucfr --purge request-tracker3.6 /etc/request-tracker3.6/RT_SiteConfig.d/51-dbconfig-common + ucfr --purge request-tracker3.6 /etc/request-tracker3.6/RT_SiteConfig.pm + fi + ;; +esac --- request-tracker3.6-3.6.6.orig/debian/README.build +++ request-tracker3.6-3.6.6/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.6-3.6.6.orig/debian/rt3.6-db-sqlite.prerm +++ request-tracker3.6-3.6.6/debian/rt3.6-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.6-db-sqlite/available false || true +fi + --- request-tracker3.6-3.6.6.orig/debian/rt3.6-db-postgresql.config +++ request-tracker3.6-3.6.6/debian/rt3.6-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.6-db-postgresql/available true +fi + --- request-tracker3.6-3.6.6.orig/debian/control +++ request-tracker3.6-3.6.6/debian/control @@ -0,0 +1,112 @@ +Source: request-tracker3.6 +Section: misc +Priority: optional +Maintainer: Debian Request Tracker Group +Uploaders: Niko Tyni , Jacob Helwig , Toni Mueller , Ivan Kohler +Build-Depends: debhelper (>= 5), dpatch (>= 2.0.9) +Build-Depends-Indep: perl (>= 5.8.3), po-debconf +Standards-Version: 3.7.3 + +Package: request-tracker3.6 +Architecture: all +Depends: rt3.6-clients (= ${source:Version}), + rt3.6-apache2 (= ${source:Version}), + rt3.6-db-sqlite (= ${source:Version}) + | rt3.6-db-postgresql (= ${source:Version}) + | rt3.6-db-mysql (= ${source:Version}), + exim4 | mail-transport-agent, + sysklogd | system-log-daemon, ${perl:Depends}, + libhtml-mason-perl (>= 1.31), libapache-session-perl (>= 1.53), + libregexp-common-perl, libdbi-perl (>= 1.37), + libclass-returnvalue-perl (>= 0.40), libdbix-searchbuilder-perl (>= 1.50), + libcache-simple-timedexpiry-perl, libtext-template-perl, + liblog-dispatch-perl (>= 2.0), libhtml-parser-perl, + liblocale-maketext-fuzzy-perl, liblocale-maketext-lexicon-perl (>= 0.32), + libmime-perl (>= 5.108), 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), + ${misc:Depends} +Recommends: libtext-quoted-perl (>= 2.02) +Suggests: rt3.6-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.6-clients). + . + This is the 3.6 series of RT, it can be installed alongside the 3.4 + 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.6-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 +Recommends: libio-socket-ssl-perl +Description: Mail gateway and command-line interface to request-tracker3.6 + Install this package onto the mail server so it can inject tickets into + request-tracker3.6 using rt-mailgate. + . + Install it onto any machine on which you want to use the 'rt' + command-line interface. + . + See the 'request-tracker3.6' package for further information. + +Package: rt3.6-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 +Suggests: libapache2-mod-speedycgi +Description: Apache 2 specific files for request-tracker3.6 + This package provides various configuration files and manages the + necessary dependencies for running request tracker (RT) version 3.6 + on the Apache 2 web server. + . + See the 'request-tracker3.6' package for further information. + +Package: rt3.6-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.6 + This package provides dependencies and dbconfig-common support for + using Request Tracker version 3.6 with a PostgreSQL database. + +Package: rt3.6-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.6 + This package provides dependencies and dbconfig-common support for + using Request Tracker version 3.6 with a MySQL database. + +Package: rt3.6-db-sqlite +Architecture: all +Depends: ${misc:Depends}, libdbd-sqlite3-perl, sqlite3 +Description: SQLite database backend for request-tracker3.6 + This package provides dependencies and dbconfig-common support for + using Request Tracker version 3.6 with a local SQLite (version 3) database. + --- request-tracker3.6-3.6.6.orig/debian/copyright +++ request-tracker3.6-3.6.6/debian/copyright @@ -0,0 +1,62 @@ +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-2006 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-2006 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-2006 Best Practical Solutions, LLC + + Portions Copyright 2002 Autrijus Tang + + +-- Mon, 02 Oct 2006 11:55:34 +0300 Niko Tyni --- request-tracker3.6-3.6.6.orig/debian/rt3.6-clients.postinst +++ request-tracker3.6-3.6.6/debian/rt3.6-clients.postinst @@ -0,0 +1,31 @@ +#!/bin/sh +set -e + +OLDCONF=/etc/rt.conf +NEWCONF=/etc/request-tracker3.6/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.6 260 \ + --slave /usr/share/man/man1/rt.1.gz rt.1.gz \ + /usr/share/man/man1/rt-3.6.1.gz + update-alternatives --install \ + /usr/bin/rt-mailgate rt-mailgate /usr/bin/rt-mailgate-3.6 260 \ + --slave /usr/share/man/man1/rt-mailgate.1.gz rt-mailgate.1.gz \ + /usr/share/man/man1/rt-mailgate-3.6.1.gz +} + +case "$1" in + configure) + alts + ;; + abort-upgrade) + alts + ;; +esac + +#DEBHELPER# --- request-tracker3.6-3.6.6.orig/debian/rt3.6-clients.install +++ request-tracker3.6-3.6.6/debian/rt3.6-clients.install @@ -0,0 +1,2 @@ +debian/bug/presubj usr/share/bug/rt3.6-clients +debian/conf/rt.conf etc/request-tracker3.6/ --- request-tracker3.6-3.6.6.orig/debian/rt3.6-db-sqlite.postinst +++ request-tracker3.6-3.6.6/debian/rt3.6-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.6-3.6.6.orig/debian/rt3.6-db-postgresql.postinst +++ request-tracker3.6-3.6.6/debian/rt3.6-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.6-3.6.6.orig/debian/alts +++ request-tracker3.6-3.6.6/debian/alts @@ -0,0 +1,6 @@ +usr/bin/rt-crontool +usr/sbin/rt-dump-database +usr/sbin/rt-setup-database +usr/share/man/man1/rt-crontool!.1 +usr/share/man/man8/rt-setup-database!.8 +usr/share/man/man8/rt-dump-database!.8 --- request-tracker3.6-3.6.6.orig/debian/install +++ request-tracker3.6-3.6.6/debian/install @@ -0,0 +1,5 @@ +debian/bug/* usr/share/bug/request-tracker3.6/ +debian/conf/RT_SiteModules.pm etc/request-tracker3.6/ +etc/upgrade/* etc/request-tracker3.6/upgrade/ +debian/conf/RT_SiteConfig.pm.etch.md5sum /usr/share/request-tracker3.6/debian/ +debian/conf/40-timezone etc/request-tracker3.6/RT_SiteConfig.d/ --- request-tracker3.6-3.6.6.orig/debian/lintian-overrides +++ request-tracker3.6-3.6.6/debian/lintian-overrides @@ -0,0 +1,13 @@ +# Lintian overrides for request-tracker3.6 + +# Allowing world read access on these directories allows bypassing of +# application defined permissions. + +non-standard-dir-perm var/log/request-tracker3.6/ 2755 != 0755 +non-standard-dir-perm var/cache/request-tracker3.6/ 2750 != 0755 +non-standard-dir-perm var/cache/request-tracker3.6/mason_data/ 2750 != 0755 +non-standard-dir-perm var/cache/request-tracker3.6/mason_data/etc/ 2750 != 0755 +non-standard-dir-perm var/cache/request-tracker3.6/mason_data/obj/ 2750 != 0755 +non-standard-dir-perm var/cache/request-tracker3.6/mason_data/cache/ 2750 != 0755 +non-standard-dir-perm var/cache/request-tracker3.6/session_data/ 2750 != 0755 + --- request-tracker3.6-3.6.6.orig/debian/postinst +++ request-tracker3.6-3.6.6/debian/postinst @@ -0,0 +1,108 @@ +#!/bin/sh +set -e + +branch_version=3.6 +branch_priority=260 + +warn() { + fmt -60 | sed 's/^/**WARNING** /' 1>&2 +} + +warn < $tfile + ucf --debconf-ok $tfile /etc/request-tracker3.6/RT_SiteConfig.d/50-debconf + rm $tfile +} + +run_dbconfig () { + dbc_first_version=3.6.6-2~experimental1 + dbc_generate_include=template:/etc/request-tracker3.6/RT_SiteConfig.d/51-dbconfig-common + dbc_generate_include_args="-o template_infile=/usr/share/request-tracker3.6/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.6 $@ +} + +maybe_handle_permissions () { + if [ "$HANDLE_PERMISSIONS" = "true" ] + then + chown root:www-data /etc/request-tracker3.6/RT_SiteConfig.pm + chmod 640 /etc/request-tracker3.6/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.6 /etc/request-tracker3.6/RT_SiteConfig.d/50-debconf + ucfr request-tracker3.6 /etc/request-tracker3.6/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.6 /etc/request-tracker3.6/RT_SiteConfig.d/51-dbconfig-common + 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.6/handle-siteconfig-permissions +HANDLE_PERMISSIONS="$RET" + +create_debconf_snippet +run_dbconfig $@ + +# the snippets should be ready, update the actual configuration +update-rt-siteconfig-3.6 + +maybe_handle_permissions +ucf_register + +case "$1" in + configure) + alts + ;; + abort-upgrade) + alts + ;; +esac + + +#DEBHELPER# --- request-tracker3.6-3.6.6.orig/debian/rt3.6-db-mysql.templates +++ request-tracker3.6-3.6.6/debian/rt3.6-db-mysql.templates @@ -0,0 +1,5 @@ +Template: rt3.6-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.6-3.6.6.orig/debian/rt3.6-apache2.install +++ request-tracker3.6-3.6.6/debian/rt3.6-apache2.install @@ -0,0 +1 @@ +debian/conf/apache2-*.conf etc/request-tracker3.6/ --- request-tracker3.6-3.6.6.orig/debian/rt3.6-db-mysql.postinst +++ request-tracker3.6-3.6.6/debian/rt3.6-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.6-3.6.6.orig/debian/config +++ request-tracker3.6-3.6.6/debian/config @@ -0,0 +1,328 @@ +#!/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.6-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.6 +# 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.6/lib"; +use lib "/usr/share/request-tracker3.6/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 Etch (3.6.1-4) +# and current unstable (3.6.6-1) +if [ -e /etc/request-tracker3.6/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.6/RT_SiteConfig.pm) ] \ + || [ "640" != \ + $(stat -c %a /etc/request-tracker3.6/RT_SiteConfig.pm) ] + then + db_set request-tracker3.6/handle-siteconfig-permissions false + fi +fi + +# now, default to handling the configuration file permissions +db_get request-tracker3.6/handle-siteconfig-permissions +if [ -z "$RET" ] +then + db_set request-tracker3.6/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.6/$i "${value}" + # as the value was set in the configuration file, + # mark the question as seen + db_fset request-tracker3.6/$i seen true + else + db_get request-tracker3.6/$i + if [ -z "$RET" ]; then + db_set request-tracker3.6/$i "${default}" + fi + fi +done + +# ask the questions +STATE=1 +set +e +while true +do + case "$STATE" in + 1) + db_input high request-tracker3.6/rtname + ;; + 2) + db_input medium request-tracker3.6/organization + ;; + 3) + db_input high request-tracker3.6/handle-siteconfig-permissions + ;; + 4) + # This should possibly be in rt3.6-apache2 + db_input medium request-tracker3.6/webbaseurl + ;; + 5) + # This should possibly be in rt3.6-apache2 + db_input medium request-tracker3.6/webpath + ;; + 6) + # This should possibly be in rt3.6-clients + db_input medium request-tracker3.6/correspondaddress + ;; + 7) + db_get request-tracker3.6/commentaddress + if [ -z "$RET" ] + then + # default to the correspond address with -comment appended + db_get request-tracker3.6/correspondaddress + ADDRESS="$(echo "$RET" | sed s/@/-comment@/)" + db_set request-tracker3.6/commentaddress "$ADDRESS" + fi + db_input medium request-tracker3.6/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.6-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.6-db-mysql + ;; + pgsql) + pkg=rt3.6-db-postgresql + ;; + sqlite3) + pkg=rt3.6-db-sqlite + ;; + esac + db_get ${pkg}/available || true + if [ "$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.6-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.6.config: no rt3.6-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 + dbc_first_version=3.6.6-2~experimental1 + 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.6 $@ +fi + +rm $READ_CONFIG_SCRIPT --- request-tracker3.6-3.6.6.orig/debian/rt3.6-db-mysql.config +++ request-tracker3.6-3.6.6/debian/rt3.6-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.6-db-mysql/available true +fi + --- request-tracker3.6-3.6.6.orig/debian/rt3.6-db-postgresql.templates +++ request-tracker3.6-3.6.6/debian/rt3.6-db-postgresql.templates @@ -0,0 +1,5 @@ +Template: rt3.6-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.6-3.6.6.orig/debian/logcheck.ignore.server +++ request-tracker3.6-3.6.6/debian/logcheck.ignore.server @@ -0,0 +1 @@ +^\w{3} [ :0-9]{11} [._[:alnum:]-]+ RT: .* --- request-tracker3.6-3.6.6.orig/debian/rt3.6-db-sqlite.templates +++ request-tracker3.6-3.6.6/debian/rt3.6-db-sqlite.templates @@ -0,0 +1,5 @@ +Template: rt3.6-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.6-3.6.6.orig/debian/docs +++ request-tracker3.6-3.6.6/debian/docs @@ -0,0 +1,3 @@ +README +docs/* +debian/NOTES.Debian --- request-tracker3.6-3.6.6.orig/debian/templates +++ request-tracker3.6-3.6.6/debian/templates @@ -0,0 +1,74 @@ +Template: request-tracker3.6/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.6/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.6/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.6/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.6/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.6/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.6/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. --- request-tracker3.6-3.6.6.orig/debian/bug/script +++ request-tracker3.6-3.6.6/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.6/ ] || [ `find /usr/local/share/request-tracker3.6/ -type f | wc -l` -gt 0 ] && echo -e "\nThere are locally modified files in /usr/local/share/request-tracker3.6/,\n these may (or may not) be the source of the problem.\n" +} + +sumfile=/var/lib/dpkg/info/request-tracker3.6.md5sums + +echo "Changed files:" +print_changed_files "$sumfile" | sed 's/^/ /' + +files_in_usrlocal --- request-tracker3.6-3.6.6.orig/debian/bug/presubj +++ request-tracker3.6-3.6.6/debian/bug/presubj @@ -0,0 +1,9 @@ +Reporting request-tracker3.6 bugs +------------------------------- + +Many bugs reported against RT3.6 are due to an interaction between RT3.6 and +another program. Accordingly, please ensure you put into your bug report: + + * Which web server you run RT3.6 on (apache 2, ...) + * Your backend database server (postgres, mysql, ...) + * The MTA you're using (exim, sendmail, ...) --- request-tracker3.6-3.6.6.orig/debian/scripts/fix-website-in-database +++ request-tracker3.6-3.6.6/debian/scripts/fix-website-in-database @@ -0,0 +1,45 @@ +#!/usr/bin/perl -w + +use strict; + +use lib "/usr/share/request-tracker3.6/lib"; +use RT; +RT::LoadConfig; +$RT::LogToScreen = 'notice'; +RT::InitLogging; + +$RT::Logger->debug("request-tracker3.6.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.6-3.6.6.orig/debian/scripts/siteconfig.template +++ request-tracker3.6-3.6.6/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.6-3.6.6.orig/debian/scripts/fix-whatis +++ request-tracker3.6-3.6.6/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.6-3.6.6.orig/debian/scripts/dbconfig.template +++ request-tracker3.6-3.6.6/debian/scripts/dbconfig.template @@ -0,0 +1,22 @@ +# 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_'); + +Set ($DatabaseName, '_DBC_DBNAME_'); + +# SQLite needs a special case, since $DatabaseName must be a full pathname +Set ($DatabaseName, '_DBC_BASEPATH_/_DBC_DBNAME_') if "_DBC_DBTYPE_" eq "sqlite3"; --- request-tracker3.6-3.6.6.orig/debian/scripts/update-rt-siteconfig +++ request-tracker3.6-3.6.6/debian/scripts/update-rt-siteconfig @@ -0,0 +1,54 @@ +#!/bin/sh + +# This script updates /etc/request-tracker3.6/RT_SiteConfig.pm +# with the contents of the /etc/request-tracker3.6/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. + +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 +# /etc/request-tracker3.6/RT_SiteConfig.d/ +# +# 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 /etc/request-tracker3.6/RT_SiteConfig.d/ -type f \ + ! -name '*.ucf-*' -a \ + ! -name '*.dpkg-*' | 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 /etc/request-tracker3.6/RT_SiteConfig.pm ] +then + # try to honor the existing mode and owner of the file + chown --reference /etc/request-tracker3.6/RT_SiteConfig.pm $tfile + chmod --reference /etc/request-tracker3.6/RT_SiteConfig.pm $tfile +fi +ucf --sum-file /usr/share/request-tracker3.6/debian/RT_SiteConfig.pm.etch.md5sum \ + --debconf-ok $tfile /etc/request-tracker3.6/RT_SiteConfig.pm +rm $tfile + --- request-tracker3.6-3.6.6.orig/debian/scripts/move-alts +++ request-tracker3.6-3.6.6/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.6-3.6.6.orig/debian/scripts/write-siteconfig +++ request-tracker3.6-3.6.6/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.6 +# to turn debconf variables into a valid RT_SiteConfig.pm +# snippet. + +# Note that Text::Template is already a dependency of +# request-tracker3.6, 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